Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

IPv6

이 모듈에는 IPv6 통신을 제어하는 ​​기능이 포함되어 있습니다.

요약

열거

anonymous enum {
OT_ADDRESS_ORIGIN_THREAD = 0,
OT_ADDRESS_ORIGIN_SLAAC = 1,
OT_ADDRESS_ORIGIN_DHCPV6 = 2,
OT_ADDRESS_ORIGIN_MANUAL = 3
}
열거
IPv6 주소 출처.
anonymous enum {
OT_ECN_NOT_CAPABLE = 0x0,
OT_ECN_CAPABLE_0 = 0x2,
OT_ECN_CAPABLE_1 = 0x1,
OT_ECN_MARKED = 0x3
}
열거
IP 헤더에서와 같이 표시되는 ECN 상태입니다.
anonymous enum {
OT_IP6_PROTO_HOP_OPTS = 0,
OT_IP6_PROTO_TCP = 6,
OT_IP6_PROTO_UDP = 17,
OT_IP6_PROTO_IP6 = 41,
OT_IP6_PROTO_ROUTING = 43,
OT_IP6_PROTO_FRAGMENT = 44,
OT_IP6_PROTO_ICMP6 = 58,
OT_IP6_PROTO_NONE = 59,
OT_IP6_PROTO_DST_OPTS = 60
}
열거
인터넷 프로토콜 번호.

형식 정의

otIp6Address 형식 정의
struct otIp6Address
이 구조는 IPv6 주소를 나타냅니다.
otIp6AddressCallback )(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) 형식 정의
void(*
이 함수 포인터는 내부 IPv6 주소가 추가되거나 제거될 때 호출됩니다.
otIp6AddressComponents 형식 정의
이 구조는 IPv6 주소의 구성 요소를 나타냅니다.
otIp6AddressInfo 형식 정의
otIp6InterfaceIdentifier 형식 정의
이 구조는 IPv6 주소의 인터페이스 식별자를 나타냅니다.
otIp6NetworkPrefix 형식 정의
이 구조는 IPv6 주소의 네트워크 접두사(주소의 최상위 64비트)를 나타냅니다.
otIp6Prefix 형식 정의
struct otIp6Prefix
이 구조는 IPv6 접두사를 나타냅니다.
otIp6ReceiveCallback )(otMessage *aMessage, void *aContext) 형식 정의
void(*
이 함수 포인터는 IPv6 데이터그램이 수신될 때 호출됩니다.
otIp6RegisterMulticastListenersCallback )(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) 형식 정의
void(*
이 함수 포인터의 결과라고 otIp6RegisterMulticastListeners .
otIp6SlaacPrefixFilter )(otInstance *aInstance, const otIp6Prefix *aPrefix) 형식 정의
bool(*
이 함수 포인터를 사용하면 접두사를 필터링하고 접두사를 기반으로 하는 SLAAC 주소를 추가할 수 없습니다.
otMessageInfo 형식 정의
이 구조는 로컬 및 피어 IPv6 소켓 주소를 나타냅니다.
otNetifAddress 형식 정의
이 구조는 IPv6 네트워크 인터페이스 유니캐스트 주소를 나타냅니다.
otNetifMulticastAddress 형식 정의
이 구조는 IPv6 네트워크 인터페이스 멀티캐스트 주소를 나타냅니다.
otSockAddr 형식 정의
struct otSockAddr
이 구조는 IPv6 소켓 주소를 나타냅니다.

변수

OT_TOOL_PACKED_END

기능

otIp6AddUnicastAddress ( otInstance *aInstance, const otNetifAddress *aAddress)
스레드 인터페이스에 네트워크 인터페이스 주소를 추가합니다.
otIp6AddUnsecurePort ( otInstance *aInstance, uint16_t aPort)
이 기능은 허용된 보안되지 않은 포트 목록에 포트를 추가합니다.
otIp6AddressFromString (const char *aString, otIp6Address *aAddress)
이 함수는 사람이 읽을 수 있는 IPv6 주소 문자열을 이진 표현으로 변환합니다.
otIp6AddressToString (const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
void
이 함수는 주어진 IPv6 주소를 사람이 읽을 수 있는 문자열로 변환합니다.
otIp6ArePrefixesEqual (const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
bool
두 IPv6 접두사가 동일한지 테스트합니다.
otIp6GetMulticastAddresses ( otInstance *aInstance)
스레드 인터페이스에 등록된 IPv6 멀티캐스트 주소 목록을 가져옵니다.
otIp6GetUnicastAddresses ( otInstance *aInstance)
스레드 인터페이스에 할당된 IPv6 주소 목록을 가져옵니다.
otIp6GetUnsecurePorts ( otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
이 함수는 안전하지 않은 포트 목록에 대한 포인터를 반환합니다.
otIp6IsAddressEqual (const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
두 IPv6 주소가 동일한지 테스트합니다.
otIp6IsAddressUnspecified (const otIp6Address *aAddress)
bool
이 기능은 주어진 IPv6 주소가 미지정 주소인지 여부를 나타냅니다.
otIp6IsEnabled ( otInstance *aInstance)
bool
이 기능은 IPv6 인터페이스가 작동 중인지 여부를 나타냅니다.
otIp6IsMulticastPromiscuousEnabled ( otInstance *aInstance)
bool
스레드 인터페이스에서 멀티캐스트 무차별 모드가 활성화되어 있는지 확인하십시오.
otIp6IsReceiveFilterEnabled ( otInstance *aInstance)
bool
이 함수는 지정된 통해 콜백의 IPv6 데이터 그램을 전달하는 경우에 제어 트래픽 필터링되는지 여부를 나타내는 스레드 otIp6SetReceiveCallback () .
otIp6IsSlaacEnabled ( otInstance *aInstance)
bool
이 기능은 SLAAC 모듈이 활성화되었는지 여부를 나타냅니다.
otIp6NewMessage ( otInstance *aInstance, const otMessageSettings *aSettings)
IPv6 메시지를 보내기 위한 새 메시지 버퍼를 할당합니다.
otIp6NewMessageFromBuffer ( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
새 메시지 버퍼를 할당하고 IPv6 메시지를 보내기 위해 메시지 버퍼에 IPv6 데이터그램을 씁니다.
otIp6PrefixMatch (const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
이 함수는 두 IPv6 주소에 대한 접두사 일치 길이(비트)를 반환합니다.
otIp6PrefixToString (const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
void
이 함수는 주어진 IPv6 접두사를 사람이 읽을 수 있는 문자열로 변환합니다.
otIp6ProtoToString (uint8_t aIpProto)
const char *
이 함수는 주어진 IP 프로토콜 번호를 사람이 읽을 수 있는 문자열로 변환합니다.
otIp6RegisterMulticastListeners ( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
Multicast Listener를 Primary Backbone Router에 등록하는 기능입니다.
otIp6RemoveAllUnsecurePorts ( otInstance *aInstance)
void
이 기능은 허용된 비보안 포트 목록에서 모든 포트를 제거합니다.
otIp6RemoveUnicastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
스레드 인터페이스에서 네트워크 인터페이스 주소를 제거합니다.
otIp6RemoveUnsecurePort ( otInstance *aInstance, uint16_t aPort)
이 기능은 허용된 비보안 포트 목록에서 포트를 제거합니다.
otIp6SelectSourceAddress ( otInstance *aInstance, otMessageInfo *aMessageInfo)
이 함수는 OpenThread 소스 주소 선택을 수행합니다.
otIp6Send ( otInstance *aInstance, otMessage *aMessage)
이 함수는 스레드 인터페이스를 통해 IPv6 데이터그램을 보냅니다.
otIp6SetAddressCallback ( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
이 함수는 내부 IPv6 주소 변경을 알리는 콜백을 등록합니다.
otIp6SetEnabled ( otInstance *aInstance, bool aEnabled)
이 기능은 IPv6 인터페이스를 위/아래로 가져옵니다.
otIp6SetMeshLocalIid ( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
이 기능은 Mesh Local IID를 설정합니다(테스트용).
otIp6SetMulticastPromiscuousEnabled ( otInstance *aInstance, bool aEnabled)
void
스레드 인터페이스에서 멀티캐스트 무차별 모드를 활성화합니다.
otIp6SetReceiveCallback ( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
이 함수는 수신된 IPv6 데이터그램을 제공하기 위해 콜백을 등록합니다.
otIp6SetReceiveFilterEnabled ( otInstance *aInstance, bool aEnabled)
void
지정된 통해 콜백의 IPv6 데이터 그램을 전달시 트래픽 제어 스레드 여부이 함수 세트는 여과되어 otIp6SetReceiveCallback () .
otIp6SetSlaacEnabled ( otInstance *aInstance, bool aEnabled)
void
이 기능은 SLAAC 모듈을 활성화/비활성화합니다.
otIp6SetSlaacPrefixFilter ( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
이 함수는 SLAAC 모듈 필터 처리기를 설정합니다.
otIp6SockAddrToString (const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
이 함수는 주어진 IPv6 소켓 주소를 사람이 읽을 수 있는 문자열로 변환합니다.
otIp6SubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
스레드 인터페이스를 네트워크 인터페이스 멀티캐스트 주소에 등록합니다.
otIp6UnsubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
네트워크 인터페이스 멀티캐스트 주소에 대한 스레드 인터페이스의 구독을 취소합니다.

구조체

otIp6주소

이 구조는 IPv6 주소를 나타냅니다.

otIp6Address 구성 요소

이 구조는 IPv6 주소의 구성 요소를 나타냅니다.

otIp6주소 정보

이 구조는 IPv6 주소 정보를 나타냅니다.

otIp6InterfaceIdentifier

이 구조는 IPv6 주소의 인터페이스 식별자를 나타냅니다.

otIp6네트워크 접두사

이 구조는 IPv6 주소의 네트워크 접두사(주소의 최상위 64비트)를 나타냅니다.

otIp6접두사

이 구조는 IPv6 접두사를 나타냅니다.

otMessageInfo

이 구조는 로컬 및 피어 IPv6 소켓 주소를 나타냅니다.

otNetif주소

이 구조는 IPv6 네트워크 인터페이스 유니캐스트 주소를 나타냅니다.

otNetif멀티캐스트 주소

이 구조는 IPv6 네트워크 인터페이스 멀티캐스트 주소를 나타냅니다.

otSockAddr

이 구조는 IPv6 소켓 주소를 나타냅니다.

노동조합

otIp6InterfaceIdentifier :: OT_TOOL_PACKED_FIELD

열거

익명의 열거형

 anonymous enum

IPv6 주소 출처.

속성
OT_ADDRESS_ORIGIN_DHCPV6

DHCPv6 할당 주소.

OT_ADDRESS_ORIGIN_MANUAL

수동으로 할당된 주소.

OT_ADDRESS_ORIGIN_SLAAC

SLAAC 할당 주소.

OT_ADDRESS_ORIGIN_THREAD

스레드 할당 주소(ALOC, RLOC, MLEID 등)

익명의 열거형

 anonymous enum

IP 헤더에서와 같이 표시되는 ECN 상태입니다.

속성
OT_ECN_CAPABLE_0

ECT(0)

OT_ECN_CAPABLE_1

ECT(1)

OT_ECN_MARKED

혼잡 발생(CE)

OT_ECN_NOT_CAPABLE

비 ECT.

익명의 열거형

 anonymous enum

인터넷 프로토콜 번호.

속성
OT_IP6_PROTO_DST_OPTS

IPv6의 대상 옵션.

OT_IP6_PROTO_FRAGMENT

IPv6용 프래그먼트 헤더.

OT_IP6_PROTO_HOP_OPTS

IPv6 홉별 옵션.

OT_IP6_PROTO_ICMP6

IPv6용 ICMP.

OT_IP6_PROTO_IP6

IPv6 캡슐화.

OT_IP6_PROTO_NONE

IPv6에 대한 다음 헤더가 없습니다.

OT_IP6_PROTO_ROUTING

IPv6용 라우팅 헤더.

OT_IP6_PROTO_TCP

전송 제어 프로토콜.

OT_IP6_PROTO_UDP

사용자 데이터그램.

형식 정의

otIp6주소

struct otIp6Address otIp6Address

이 구조는 IPv6 주소를 나타냅니다.

otIp6주소콜백

void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)

이 함수 포인터는 내부 IPv6 주소가 추가되거나 제거될 때 호출됩니다.

세부
매개변수
[in] aAddressInfo
IPv6 주소 정보에 대한 포인터입니다.
[in] aIsAdded
경우 TRUE aAddress 추가 된, FALSE 경우 aAddress 제거되었습니다.
[in] aContext
애플리케이션별 컨텍스트에 대한 포인터입니다.

otIp6Address 구성 요소

struct otIp6AddressComponents otIp6AddressComponents

이 구조는 IPv6 주소의 구성 요소를 나타냅니다.

otIp6주소 정보

struct otIp6AddressInfo otIp6AddressInfo

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

이 구조는 IPv6 주소의 인터페이스 식별자를 나타냅니다.

otIp6네트워크 접두사

struct otIp6NetworkPrefix otIp6NetworkPrefix

이 구조는 IPv6 주소의 네트워크 접두사(주소의 최상위 64비트)를 나타냅니다.

otIp6접두사

struct otIp6Prefix otIp6Prefix

이 구조는 IPv6 접두사를 나타냅니다.

otIp6ReceiveCallback

void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)

이 함수 포인터는 IPv6 데이터그램이 수신될 때 호출됩니다.

세부
매개변수
[in] aMessage
수신된 IPv6 데이터그램을 포함하는 메시지 버퍼에 대한 포인터입니다. 이 기능은의 소유권 전송 aMessage 콜백의 수신기를. 이 처리 후, 메시지는 콜백의 수신기에 의해 해방한다 (참조 otMessageFree을 () ).
[in] aContext
애플리케이션별 컨텍스트에 대한 포인터입니다.

otIp6RegisterMulticastListeners콜백

void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)

이 함수 포인터의 결과라고 otIp6RegisterMulticastListeners .

세부
매개변수
[in] aContext
사용자 컨텍스트에 대한 포인터입니다.
[in] aError
MLR.req를 성공적으로 전송하고 MLR.rsp를 수신하면 OT_ERROR_NONE, MLR.rsp 수신에 실패하면 OT_ERROR_RESPONSE_TIMEOUT, MLR.rsp 구문 분석에 실패하면 OT_ERROR_PARSE.
[in] aMlrStatus
멀티 캐스트 리스너 등록 현황 때 aError OT_ERROR_NONE입니다.
[in] aFailedAddresses
실패한 IPv6 주소에 대한 포인터 때 aError OT_ERROR_NONE입니다.
[in] aFailedAddressNum
실패한 IPv6 주소의 수는 때 aError OT_ERROR_NONE입니다.
또한보십시오:
otIp6Register멀티캐스트 리스너

otIp6SlaacPrefixFilter

bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)

이 함수 포인터를 사용하면 접두사를 필터링하고 접두사를 기반으로 하는 SLAAC 주소를 추가할 수 없습니다.

otIp6SetSlaacPrefixFilter() 필터 핸들러를 설정하는데 사용될 수있다. 필터 처리기는 접두사를 기반으로 SLAAC 주소를 추가하려고 할 때 SLAAC 모듈에 의해 호출됩니다. 부울 반환 값은 주소가 필터링되었는지(추가되지 않았는지) 여부를 결정합니다.

세부
매개변수
[in] aInstacne
OpenThread 인스턴스에 대한 포인터입니다.
[in] aPrefix
SLAAC 주소가 추가될 접두사에 대한 포인터입니다.
반환 값
TRUE
접두사를 기반으로 하는 SLAAC 주소를 필터링하고 추가하지 않아야 함을 나타냅니다.
FALSE
접두사를 기반으로 하는 SLAAC 주소를 추가해야 함을 나타냅니다.

otMessageInfo

struct otMessageInfo otMessageInfo

이 구조는 로컬 및 피어 IPv6 소켓 주소를 나타냅니다.

otNetif주소

struct otNetifAddress otNetifAddress

이 구조는 IPv6 네트워크 인터페이스 유니캐스트 주소를 나타냅니다.

otNetif멀티캐스트 주소

struct otNetifMulticastAddress otNetifMulticastAddress

이 구조는 IPv6 네트워크 인터페이스 멀티캐스트 주소를 나타냅니다.

otSockAddr

struct otSockAddr otSockAddr

이 구조는 IPv6 소켓 주소를 나타냅니다.

변수

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

기능

otIp6유니캐스트 주소 추가

otError otIp6AddUnicastAddress(
  otInstance *aInstance,
  const otNetifAddress *aAddress
)

스레드 인터페이스에 네트워크 인터페이스 주소를 추가합니다.

는-전달 인스턴스 aAddress 스레드 인터페이스에 의해 복사됩니다. 스레드 인터페이스는 외부에서 추가된 고정된 수의 유니캐스트 주소만 지원합니다. OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS를 참조하십시오.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aAddress
네트워크 인터페이스 주소에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
네트워크 인터페이스 주소를 성공적으로 추가(또는 업데이트)했습니다.
OT_ERROR_INVALID_ARGS
로 표시된 IP 주소 aAddress 내부 주소입니다.
OT_ERROR_NO_BUFS
네트워크 인터페이스가 이미 최대 허용 외부 주소를 저장하고 있습니다.

otIp6AddUnsecurePort

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

이 기능은 허용된 보안되지 않은 포트 목록에 포트를 추가합니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aPort
포트 값입니다.
반환 값
OT_ERROR_NONE
포트가 허용된 비보안 포트 목록에 성공적으로 추가되었습니다.
OT_ERROR_INVALID_ARGS
포트가 잘못되었습니다(값 0은 내부용으로 예약됨).
OT_ERROR_NO_BUFS
안전하지 않은 포트 목록이 가득 찼습니다.

otIp6AddressFromString

otError otIp6AddressFromString(
  const char *aString,
  otIp6Address *aAddress
)

이 함수는 사람이 읽을 수 있는 IPv6 주소 문자열을 이진 표현으로 변환합니다.

세부
매개변수
[in] aString
NULL로 끝나는 문자열에 대한 포인터입니다.
[out] aAddress
IPv6 주소에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
문자열을 성공적으로 구문 분석했습니다.
OT_ERROR_INVALID_ARGS
문자열을 구문 분석하지 못했습니다.

otIp6AddressToString

void otIp6AddressToString(
  const otIp6Address *aAddress,
  char *aBuffer,
  uint16_t aSize
)

이 함수는 주어진 IPv6 주소를 사람이 읽을 수 있는 문자열로 변환합니다.

IPv6 주소 문자열은 ':'(즉, "%x:%x:%x:...:%x")로 구분된 16개의 16진수 값으로 형식이 지정됩니다.

결과 문자열에 맞지 않는 경우 aBuffer (자사 내에서 aSize 문자) 문자열이 잘립니다하지만 출력 된 문자열은 항상 널 종료입니다됩니다.

세부
매개변수
[in] aAddress
IPv6 주소에 대한 포인터(NULL이 아니어야 함).
[out] aBuffer
문자열을 출력할 char 배열에 대한 포인터입니다(NULL이 아니어야 함).
[in] aSize
의 크기 aBuffer (바이트). 사용하는 것이 좋습니다 OT_IP6_ADDRESS_STRING_SIZE .

otIp6ArePrefixesEqual

bool otIp6ArePrefixesEqual(
  const otIp6Prefix *aFirst,
  const otIp6Prefix *aSecond
)

두 IPv6 접두사가 동일한지 테스트합니다.

세부
매개변수
[in] aFirst
비교할 첫 번째 IPv6 접두사에 대한 포인터입니다.
[in] aSecond
비교할 두 번째 IPv6 접두사에 대한 포인터입니다.
반환 값
TRUE
두 IPv6 접두사는 동일합니다.
FALSE
두 IPv6 접두사는 동일하지 않습니다.

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

스레드 인터페이스에 등록된 IPv6 멀티캐스트 주소 목록을 가져옵니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
보고
첫 번째 네트워크 인터페이스 멀티캐스트 주소에 대한 포인터입니다.

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

스레드 인터페이스에 할당된 IPv6 주소 목록을 가져옵니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
보고
첫 번째 네트워크 인터페이스 주소에 대한 포인터입니다.

otIp6GetUnsecurePorts

const uint16_t * otIp6GetUnsecurePorts(
  otInstance *aInstance,
  uint8_t *aNumEntries
)

이 함수는 안전하지 않은 포트 목록에 대한 포인터를 반환합니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[out] aNumEntries
목록의 항목 수입니다.
보고
안전하지 않은 포트 목록에 대한 포인터입니다.

otIp6IsAddressEqual

bool otIp6IsAddressEqual(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

두 IPv6 주소가 동일한지 테스트합니다.

세부
매개변수
[in] aFirst
비교할 첫 번째 IPv6 주소에 대한 포인터입니다.
[in] aSecond
비교할 두 번째 IPv6 주소에 대한 포인터입니다.
반환 값
TRUE
두 IPv6 주소는 동일합니다.
FALSE
두 IPv6 주소는 동일하지 않습니다.

otIp6IsAddress 지정되지 않음

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

이 기능은 주어진 IPv6 주소가 미지정 주소인지 여부를 나타냅니다.

세부
매개변수
[in] aAddress
IPv6 주소에 대한 포인터입니다.
반환 값
TRUE
IPv6 주소가 미지정 주소인 경우.
FALSE
IPv6 주소가 미지정 주소가 아닌 경우.

otIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

이 기능은 IPv6 인터페이스가 작동 중인지 여부를 나타냅니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
반환 값
TRUE
IPv6 인터페이스가 활성화되었습니다.
FALSE
IPv6 인터페이스가 비활성화되었습니다.

otIp6IsMulticastPromiscuousEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

스레드 인터페이스에서 멀티캐스트 무차별 모드가 활성화되어 있는지 확인하십시오.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
또한보십시오:
otIp6SetMulticastPromiscuousEnabled

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

이 함수는 지정된 통해 콜백의 IPv6 데이터 그램을 전달하는 경우에 제어 트래픽 필터링되는지 여부를 나타내는 스레드 otIp6SetReceiveCallback () .

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
보고
스레드 제어 트래픽이 필터링되면 TRUE이고 그렇지 않으면 FALSE입니다.
또한보십시오:
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

otIp6IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

이 기능은 SLAAC 모듈이 활성화되었는지 여부를 나타냅니다.

이 기능은 빌드 타임 기능이 필요 OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 활성화 될 수 있습니다.

세부
반환 값
TRUE
SLAAC 모듈이 활성화되었습니다.
FALSE
SLAAC 모듈이 비활성화되었습니다.

otIp6NewMessage

otMessage * otIp6NewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

IPv6 메시지를 보내기 위한 새 메시지 버퍼를 할당합니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aSettings
메시지 설정에 대한 포인터 또는 기본 설정을 지정하려면 NULL입니다.
보고
메시지 버퍼에 대한 포인터 또는 사용 가능한 메시지 버퍼가 없거나 매개변수가 유효하지 않은 경우 NULL입니다.
또한보십시오:
otMessageFree

otIp6NewMessageFromBuffer

otMessage * otIp6NewMessageFromBuffer(
  otInstance *aInstance,
  const uint8_t *aData,
  uint16_t aDataLength,
  const otMessageSettings *aSettings
)

새 메시지 버퍼를 할당하고 IPv6 메시지를 보내기 위해 메시지 버퍼에 IPv6 데이터그램을 씁니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aData
IPv6 데이터그램 버퍼에 대한 포인터입니다.
[in] aDataLength
는 IPv6 데이터 그램의 크기에 의해 지적 된 버퍼 aData .
[in] aSettings
메시지 설정에 대한 포인터 또는 기본 설정을 지정하려면 NULL입니다.
보고
잘못된 형식의 IPv6 헤더 또는 사용 가능한 메시지 버퍼가 부족한 경우 메시지에 대한 포인터 또는 NULL입니다.
또한보십시오:
otMessageFree

otIp6PrefixMatch

uint8_t otIp6PrefixMatch(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

이 함수는 두 IPv6 주소에 대한 접두사 일치 길이(비트)를 반환합니다.

세부
매개변수
[in] aFirst
첫 번째 IPv6 주소에 대한 포인터입니다.
[in] aSecond
두 번째 IPv6 주소에 대한 포인터입니다.
보고
접두사 일치 길이(비트)입니다.

otIp6PrefixToString

void otIp6PrefixToString(
  const otIp6Prefix *aPrefix,
  char *aBuffer,
  uint16_t aSize
)

이 함수는 주어진 IPv6 접두사를 사람이 읽을 수 있는 문자열로 변환합니다.

IPv6 주소 문자열의 형식은 "%x:%x:%x:...[::]/plen"입니다.

결과 문자열에 맞지 않는 경우 aBuffer (자사 내에서 aSize 문자) 문자열이 잘립니다하지만 출력 된 문자열은 항상 널 종료입니다됩니다.

세부
매개변수
[in] aPrefix
IPv6 접두사에 대한 포인터(NULL이 아니어야 함).
[out] aBuffer
문자열을 출력할 char 배열에 대한 포인터입니다(NULL이 아니어야 함).
[in] aSize
의 크기 aBuffer (바이트). 사용하는 것이 좋습니다 OT_IP6_PREFIX_STRING_SIZE .

otIp6ProtoToString

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

이 함수는 주어진 IP 프로토콜 번호를 사람이 읽을 수 있는 문자열로 변환합니다.

세부
매개변수
[in] aIpProto
되는 IP 프로토콜 번호 ( OT_IP6_PROTO_* 열거).
보고
나타내는 문자열 aIpProto .

otIp6Register멀티캐스트 리스너

otError otIp6RegisterMulticastListeners(
  otInstance *aInstance,
  const otIp6Address *aAddresses,
  uint8_t aAddressNum,
  const uint32_t *aTimeout,
  otIp6RegisterMulticastListenersCallback aCallback,
  void *aContext
)

Multicast Listener를 Primary Backbone Router에 등록하는 기능입니다.

참고 : 두 경우에만 사용할 OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLEOPENTHREAD_CONFIG_COMMISSIONER_ENABLE 사용 가능)

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aAddresses
등록할 멀티캐스트 주소 배열입니다.
[in] aAddressNum
(경우 0을 멀티 캐스트 주소의 수는 등록 aAddresses NULL입니다).
[in] aTimeout
MLR.req에 포함될 시간 초과 값(초)에 대한 포인터입니다. 시간 초과 값이 0이면 해당 멀티캐스트 수신기가 제거됩니다. NULL인 경우 MLR.req에는 기본적으로 Timeout Tlv가 없습니다.
[in] aCallback
콜백 함수에 대한 포인터입니다.
[in] aContext
사용자 컨텍스트에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
MLR.req를 성공적으로 보냈습니다. aCallback 이 방법을 반환 OT_ERROR_NONE IFF에 호출됩니다.
OT_ERROR_BUSY
이전 등록이 진행 중인 경우.
OT_ERROR_INVALID_ARGS
하나 이상의 인수가 유효하지 않은 경우.
OT_ERROR_INVALID_STATE
장치가 MLR.req를 보낼 수 있는 유효한 상태가 아닌 경우(예: 커미셔너가 시작되지 않음, 기본 백본 라우터를 찾을 수 없음).
OT_ERROR_NO_BUFS
사용 가능한 메시지 버퍼가 부족한 경우.
또한보십시오:
otIp6RegisterMulticastListeners콜백

otIp6모든 비보안 포트 제거

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

이 기능은 허용된 비보안 포트 목록에서 모든 포트를 제거합니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.

otIp6UnicastAddress 제거

otError otIp6RemoveUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

스레드 인터페이스에서 네트워크 인터페이스 주소를 제거합니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aAddress
IP 주소에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
네트워크 인터페이스 주소를 성공적으로 제거했습니다.
OT_ERROR_INVALID_ARGS
로 표시된 IP 주소 aAddress 내부 주소입니다.
OT_ERROR_NOT_FOUND
로 표시된 IP 주소 aAddress 찾을 수 없습니다.

otIp6UnsecurePort 제거

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

이 기능은 허용된 비보안 포트 목록에서 포트를 제거합니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aPort
포트 값입니다.
반환 값
OT_ERROR_NONE
포트가 허용된 비보안 포트 목록에서 성공적으로 제거되었습니다.
OT_ERROR_INVALID_ARGS
포트가 잘못되었습니다(값 0은 내부용으로 예약됨).
OT_ERROR_NOT_FOUND
보안되지 않은 포트 목록에서 포트를 찾을 수 없습니다.

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

이 함수는 OpenThread 소스 주소 선택을 수행합니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in,out] aMessageInfo
메시지 정보에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
소스 주소를 찾을 수와의 mSockAddr에 충전 aMessageInfo .
OT_ERROR_NOT_FOUND
어떤 소스 주소를 찾을 수 없습니다 및 aMessageInfo 변경되지 않습니다.

otIp6Send

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

이 함수는 스레드 인터페이스를 통해 IPv6 데이터그램을 보냅니다.

의 호출 전송 소유권 aMessage 이 전화를 걸 때. OpenThread 자유 의지 aMessage 처리 이외의 값 때를 포함, 완료되면 OT_ERROR_NONE 반환됩니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aMessage
IPv6 데이터그램을 포함하는 메시지 버퍼에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
메시지를 성공적으로 처리했습니다.
OT_ERROR_DROP
메시지가 잘 구성되었지만 패킷 처리 규칙으로 인해 완전히 처리되지 않았습니다.
OT_ERROR_NO_BUFS
데이터그램을 처리할 때 필요한 메시지 버퍼를 할당할 수 없습니다.
OT_ERROR_NO_ROUTE
호스트 경로가 없습니다.
OT_ERROR_INVALID_SOURCE_ADDRESS
원본 주소가 유효하지 않습니다(예: 애니캐스트 주소 또는 멀티캐스트 주소).
OT_ERROR_PARSE
메시지를 처리할 때 형식이 잘못된 헤더가 발생했습니다.

otIp6SetAddress콜백

void otIp6SetAddressCallback(
  otInstance *aInstance,
  otIp6AddressCallback aCallback,
  void *aCallbackContext
)

이 함수는 내부 IPv6 주소 변경을 알리는 콜백을 등록합니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aCallback
내부 IPv6 주소가 추가되거나 제거될 때 호출되는 함수에 대한 포인터입니다. 콜백을 비활성화하려면 NULL입니다.
[in] aCallbackContext
애플리케이션별 컨텍스트에 대한 포인터입니다.

otIp6Set활성화됨

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

이 기능은 IPv6 인터페이스를 업/다운합니다.

이 함수를 호출하여 IPv6 통신을 활성화/비활성화합니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aEnabled
IPv6을 활성화하려면 TRUE, 그렇지 않으면 FALSE입니다.
반환 값
OT_ERROR_NONE
IPv6 인터페이스를 성공적으로 가동/중단했습니다.
OT_ERROR_INVALID_STATE
장치 (해당하는 경우에만 원시 링크 모드에서 작동하기 때문에 IPv6 인터페이스를 사용할 수 없습니다 OPENTHREAD_CONFIG_LINK_RAW_ENABLE 기능을 사용할 수있는이).

otIp6SetMeshLocalId

otError otIp6SetMeshLocalIid(
  otInstance *aInstance,
  const otIp6InterfaceIdentifier *aIid
)

이 기능은 Mesh Local IID를 설정합니다(테스트용).

에서만 사용할 때 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 활성화됩니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aIid
설정할 메시 로컬 IID에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
메시 로컬 IID를 성공적으로 설정했습니다.
OT_ERROR_INVALID_STATE
스레드 프로토콜이 활성화됩니다.

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

스레드 인터페이스에서 멀티캐스트 무차별 모드를 활성화합니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aEnabled
멀티캐스트 무차별 모드를 활성화하려면 TRUE이고 그렇지 않으면 FALSE입니다.
또한보십시오:
otIp6IsMulticastPromiscuousEnabled

otIp6SetReceiveCallback

void otIp6SetReceiveCallback(
  otInstance *aInstance,
  otIp6ReceiveCallback aCallback,
  void *aCallbackContext
)

이 함수는 수신된 IPv6 데이터그램을 제공하기 위해 콜백을 등록합니다.

기본적으로 이 콜백은 스레드 제어 트래픽을 전달하지 않습니다. 참조 otIp6SetReceiveFilterEnabled ()는 스레드 제어 트래픽 필터 설정을 변경할 수 있습니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aCallback
IPv6 데이터그램이 수신될 때 호출되는 함수에 대한 포인터이거나 콜백을 비활성화하려면 NULL입니다.
[in] aCallbackContext
애플리케이션별 컨텍스트에 대한 포인터입니다.
또한보십시오:
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled

otIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

지정된 통해 콜백의 IPv6 데이터 그램을 전달시 트래픽 제어 스레드 여부이 함수 세트는 여과되어 otIp6SetReceiveCallback () .

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aEnabled
스레드 제어 트래픽이 필터링되면 TRUE이고 그렇지 않으면 FALSE입니다.
또한보십시오:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

otIp6SetSlaac활성화됨

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

이 기능은 SLAAC 모듈을 활성화/비활성화합니다.

이 기능은 빌드 타임 기능이 필요 OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 활성화 될 수 있습니다.

SLAAC 모듈이 활성화되면 SLAAC 주소(네트워크 데이터의 메시 접두사 기반)가 인터페이스에 추가됩니다. SLAAC 모듈이 비활성화되면 이전에 추가된 모든 SLAAC 주소가 제거됩니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aEnabled
활성화하려면 TRUE, 비활성화하려면 FALSE입니다.

otIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

이 함수는 SLAAC 모듈 필터 처리기를 설정합니다.

이 기능은 빌드 타임 기능이 필요 OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 활성화 될 수 있습니다.

필터 핸들러는 주소 추가 여부를 결정하기 위해 접두사를 기반으로 SLAAC 주소를 추가하려고 할 때 SLAAC 모듈에 의해 호출됩니다.

NULL 필터 처리기는 필터링을 비활성화하고 모든 SLAAC 주소를 추가할 수 있도록 합니다.

이 함수가 호출되지 않으면 SLAAC 모듈에서 사용하는 기본 필터는 NULL이 됩니다(필터링이 비활성화됨).

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aFilter
SLAAC 접두사 필터 처리기에 대한 포인터이거나 필터링을 비활성화하려면 NULL입니다.

otIp6SockAddrToString

void otIp6SockAddrToString(
  const otSockAddr *aSockAddr,
  char *aBuffer,
  uint16_t aSize
)

이 함수는 주어진 IPv6 소켓 주소를 사람이 읽을 수 있는 문자열로 변환합니다.

IPv6 소켓 주소 문자열은 "[

]: " 어디서 `
':'로 구분된 16개의 16진수 값으로 표시되며 10진수 형식의 포트 번호입니다(예: "[%x:%x:...:%x]:%u").

결과 문자열에 맞지 않는 경우 aBuffer (자사 내에서 aSize 문자) 문자열이 잘립니다하지만 출력 된 문자열은 항상 널 종료입니다됩니다.

세부
매개변수
[in] aSockAddr
IPv6 소켓 주소에 대한 포인터(NULL이 아니어야 함).
[out] aBuffer
문자열을 출력할 char 배열에 대한 포인터입니다(NULL이 아니어야 함).
[in] aSize
의 크기 aBuffer (바이트). 사용하는 것이 좋습니다 OT_IP6_SOCK_ADDR_STRING_SIZE .

otIp6구독멀티캐스트 주소

otError otIp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

스레드 인터페이스를 네트워크 인터페이스 멀티캐스트 주소에 등록합니다.

인스턴스에 전달 된 aAddress 스레드 인터페이스에 의해 복사됩니다. 스레드 인터페이스는 외부에서 추가된 고정된 수의 멀티캐스트 주소만 지원합니다. OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS를 참조하십시오.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aAddress
IP 주소에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
네트워크 인터페이스 멀티캐스트 주소에 성공적으로 가입했습니다.
OT_ERROR_ALREADY
멀티캐스트 주소는 이미 가입되어 있습니다.
OT_ERROR_INVALID_ARGS
로 표시된 IP 주소 aAddress 잘못된 주소입니다.
OT_ERROR_INVALID_STATE
네트워크 인터페이스가 작동하지 않습니다.
OT_ERROR_NO_BUFS
네트워크 인터페이스가 이미 최대 허용 외부 멀티캐스트 주소를 저장하고 있습니다.

otIp6UnsubscribeMulticastAddress

otError otIp6UnsubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

네트워크 인터페이스 멀티캐스트 주소에 대한 스레드 인터페이스의 구독을 취소합니다.

세부
매개변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aAddress
IP 주소에 대한 포인터입니다.
반환 값
OT_ERROR_NONE
네트워크 인터페이스 멀티캐스트 주소를 성공적으로 구독 취소했습니다.
OT_ERROR_INVALID_ARGS
로 표시된 IP 주소 aAddress 내부 주소입니다.
OT_ERROR_NOT_FOUND
로 표시된 IP 주소 aAddress 찾을 수 없습니다.

매크로

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

IPv6 주소 크기(바이트)

OT_IP6_ADDRESS_STRING_SIZE

 OT_IP6_ADDRESS_STRING_SIZE 40

IPv6 주소의 문자열 표현에 권장되는 크기입니다.

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

IPv6 인터페이스 식별자의 크기(바이트)

OT_IP6_PREFIX_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

IPv6 접두사 크기(비트)

OT_IP6_PREFIX_SIZE

 OT_IP6_PREFIX_SIZE 8

IPv6 접두사 크기(바이트)

OT_IP6_PREFIX_STRING_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

IPv6 접두사의 문자열 표현에 권장되는 크기입니다.

OT_IP6_SOCK_ADDR_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

IPv6 소켓 주소의 문자열 표현에 권장되는 크기입니다.