Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기
이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

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 주소 출처.

Typedef

otIp6Address typedef
struct otIp6Address
이 구조는 IPv6 주소를 나타냅니다.
otIp6AddressCallback )(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
이 함수 포인터는 내부 IPv6 주소가 추가되거나 제거 될 때 호출됩니다.
otIp6AddressComponents typedef
이 구조는 IPv6 주소의 구성 요소를 나타냅니다.
otIp6AddressInfo typedef
otIp6InterfaceIdentifier typedef
이 구조는 IPv6 주소의 인터페이스 식별자를 나타냅니다.
otIp6NetworkPrefix typedef
이 구조는 IPv6 주소의 네트워크 접두사 (주소의 최상위 64 비트)를 나타냅니다.
otIp6Prefix typedef
struct otIp6Prefix
이 구조는 IPv6 접두사를 나타냅니다.
otIp6ReceiveCallback )(otMessage *aMessage, void *aContext) typedef
void(*
이 함수 포인터는 IPv6 데이터 그램이 수신 될 때 호출됩니다.
otIp6RegisterMulticastListenersCallback )(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) typedef
void(*
이 함수 포인터는 otIp6RegisterMulticastListeners 결과로 otIp6RegisterMulticastListeners 됩니다.
otIp6SlaacPrefixFilter )(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
bool(*
이 함수 포인터를 사용하면 접두사를 필터링하고 접두사를 기반으로 SLAAC 주소를 추가 할 수 없습니다.
otMessageInfo typedef
이 구조는 로컬 및 피어 IPv6 소켓 주소를 나타냅니다.
otNetifAddress typedef
이 구조는 IPv6 네트워크 인터페이스 유니 캐스트 주소를 나타냅니다.
otNetifMulticastAddress typedef
이 구조는 IPv6 네트워크 인터페이스 멀티 캐스트 주소를 나타냅니다.
otSockAddr typedef
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 주소 문자열을 이진 표현으로 변환합니다.
otIp6GetMulticastAddresses ( otInstance *aInstance)
Thread 인터페이스에 가입 된 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
이 함수는 otIp6SetReceiveCallback ()에 지정된 콜백을 통해 IPv6 데이터 그램을 전달할 때 스레드 제어 트래픽이 필터링되는지 여부를 나타냅니다.
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 주소에 대한 접두사 일치 길이 (비트)를 반환합니다.
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 인터페이스를 업 / 다운합니다.
otIp6SetMulticastPromiscuousEnabled ( otInstance *aInstance, bool aEnabled)
void
스레드 인터페이스에서 멀티 캐스트 무차별 모드를 활성화합니다.
otIp6SetReceiveCallback ( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
이 함수는 수신 된 IPv6 데이터 그램을 제공하는 콜백을 등록합니다.
otIp6SetReceiveFilterEnabled ( otInstance *aInstance, bool aEnabled)
void
이 함수는 otIp6SetReceiveCallback ()에 지정된 콜백을 통해 IPv6 데이터 그램을 전달할 때 스레드 제어 트래픽을 필터링할지 여부를 설정합니다.
otIp6SetSlaacEnabled ( otInstance *aInstance, bool aEnabled)
void
이 기능은 SLAAC 모듈을 활성화 / 비활성화합니다.
otIp6SetSlaacPrefixFilter ( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
이 함수는 SLAAC 모듈 필터 처리기를 설정합니다.
otIp6SubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
스레드 인터페이스를 네트워크 인터페이스 멀티 캐스트 주소에 등록합니다.
otIp6UnsubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
스레드 인터페이스를 네트워크 인터페이스 멀티 캐스트 주소에 등록 취소합니다.

구조체

otIp6Address

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

otIp6AddressComponents

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

otIp6AddressInfo

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

otIp6InterfaceIdentifier

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

otIp6NetworkPrefix

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

otIp6Prefix

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

otMessageInfo

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

otNetifAddress

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

otNetifMulticastAddress

이 구조는 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 등)

Typedef

otIp6Address

struct otIp6Address otIp6Address

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

otIp6AddressCallback

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

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

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

otIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

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

otIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

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

otIp6NetworkPrefix

struct otIp6NetworkPrefix otIp6NetworkPrefix

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

otIp6Prefix

struct otIp6Prefix otIp6Prefix

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

otIp6ReceiveCallback

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

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

세부
매개 변수
[in] aMessage
수신 된 IPv6 데이터 그램을 포함하는 메시지 버퍼에 대한 포인터. 이 함수는 aMessage 의 소유권을 콜백 수신자에게 전송합니다. 메시지는 처리 된 후 콜백 수신자가 해제해야합니다 ( otMessageFree () 참조).
[in] aContext
애플리케이션 특정 컨텍스트에 대한 포인터.

otIp6RegisterMulticastListenersCallback

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

이 함수 포인터는 otIp6RegisterMulticastListeners 결과로 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
aError 가 OT_ERROR_NONE 일 때 실패한 Ip6 주소에 대한 포인터.
[in] aFailedAddressNum
aError 가 OT_ERROR_NONE 일 때 실패한 Ip6 주소의 수입니다.
또한보십시오:
otIp6RegisterMulticastListeners

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 소켓 주소를 나타냅니다.

otNetifAddress

struct otNetifAddress otNetifAddress

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

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

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

otSockAddr

struct otSockAddr otSockAddr

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

변수

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

기능

otIp6AddUnicastAddress

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

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

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

세부
매개 변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aAddress
네트워크 인터페이스 주소에 대한 포인터.
반환 값
OT_ERROR_NONE
네트워크 인터페이스 주소를 성공적으로 추가 (또는 업데이트)했습니다.
OT_ERROR_INVALID_ARGS
aAddress 로 표시된 IP 주소는 내부 주소입니다.
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
문자열을 구문 분석하지 못했습니다.

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

Thread 인터페이스에 가입 된 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 주소가 동일하지 않습니다.

otIp6IsAddressUnspecified

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
)

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

세부
매개 변수
[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
aData 가리키는 IPv6 데이터 그램 버퍼의 크기입니다.
[in] aSettings
메시지 설정에 대한 포인터 또는 기본 설정을 설정하는 NULL입니다.
보고
메시지에 대한 포인터 또는 잘못된 IPv6 헤더 또는 충분하지 않은 메시지 버퍼를 사용할 수있는 경우 NULL입니다.
또한보십시오:
otMessageFree

otIp6PrefixMatch

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

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

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

otIp6RegisterMulticastListeners

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

이 기능은 멀티 캐스트 리스너를 Primary Backbone Router에 등록합니다.

참고 : OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLEOPENTHREAD_CONFIG_COMMISSIONER_ENABLE 이 모두 활성화 된 경우에만 사용 가능)

세부
매개 변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aAddresses
등록 할 멀티 캐스트 주소 배열입니다.
[in] aAddressNum
등록 할 멀티 캐스트 주소 수 ( aAddresses 가 NULL 인 경우 0).
[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
사용 가능한 메시지 버퍼가 충분하지 않은 경우.
또한보십시오:
otIp6RegisterMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

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

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

otIp6RemoveUnicastAddress

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

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

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

otIp6RemoveUnsecurePort

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
소스 주소를 찾았고 aMessageInfo mSockAddr에 채워집니다.
OT_ERROR_NOT_FOUND
소스 주소가없고 aMessageInfo 가 변경되지 않았습니다.

otIp6Send

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

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

호출자는이 호출을 할 때 aMessage 소유권을 이전합니다. OpenThread는 OT_ERROR_NONE 이외의 값이 반환되는 경우를 포함하여 처리가 완료되면 aMessage 를 해제합니다.

세부
매개 변수
[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
메시지를 처리 ​​할 때 잘못된 헤더가 발생했습니다.

otIp6SetAddressCallback

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

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

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

otIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

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

이 기능을 호출하여 IPv6 통신을 활성화 / 비활성화합니다.

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

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
)

이 함수는 otIp6SetReceiveCallback ()에 지정된 콜백을 통해 IPv6 데이터 그램을 전달할 때 스레드 제어 트래픽을 필터링할지 여부를 설정합니다.

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

otIp6SetSlaacEnabled

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입니다.

otIp6SubscribeMulticastAddress

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

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

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

세부
매개 변수
[in] aInstance
OpenThread 인스턴스에 대한 포인터입니다.
[in] aAddress
IP 주소에 대한 포인터.
반환 값
OT_ERROR_NONE
네트워크 인터페이스 멀티 캐스트 주소에 성공적으로 가입했습니다.
OT_ERROR_ALREADY
멀티 캐스트 주소가 이미 등록되었습니다.
OT_ERROR_INVALID_ARGS
aAddress 로 표시된 IP 주소는 잘못된 주소입니다.
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
aAddress 로 표시된 IP 주소는 내부 주소입니다.
OT_ERROR_NOT_FOUND
aAddress 로 표시된 IP 주소를 찾을 수 없습니다.

매크로

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

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 접두사의 크기 (바이트)