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
}
enum
IPv6 주소 원본.
anonymous enum{
  OT_ECN_NOT_CAPABLE = 0x0,
  OT_ECN_CAPABLE_0 = 0x2,
  OT_ECN_CAPABLE_1 = 0x1,
  OT_ECN_MARKED = 0x3
}
enum
IPN 상태로 표시되는 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
}
enum
인터넷 프로토콜 번호

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의 결과와 함께 호출됩니다.
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
bool(*
이 함수 포인터를 사용하면 사용자가 프리픽스를 필터링하고 프리픽스를 기반으로 한 SLAAC 주소를 추가할 수 없습니다.
otMessageInfo typedef
struct otMessageInfo
이 구조는 로컬 및 피어 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 주소 문자열을 바이너리 표현으로 변환합니다.
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)
const otNetifAddress *
스레드 인터페이스에 할당된 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 주소 2개의 프리픽스 일치 길이 (비트)를 반환합니다.
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)
이 함수는 멀티캐스트 리스너를 기본 백본 라우터에 등록합니다.
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)
이 함수는 테스트용 메시 로컬 IID를 설정합니다.
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 모듈 필터 핸들러를 설정합니다.
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
이 함수는 지정된 IPv6 소켓 주소를 사람이 읽을 수 있는 문자열로 변환합니다.
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

열거

익명 enum

 anonymous enum

IPv6 주소 원본.

속성
OT_ADDRESS_ORIGIN_DHCPV6

DHCPv6 할당 주소

OT_ADDRESS_ORIGIN_MANUAL

수동으로 할당된 주소입니다.

OT_ADDRESS_ORIGIN_SLAAC

SLAAC 할당 주소입니다.

OT_ADDRESS_ORIGIN_THREAD

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

익명 enum

 anonymous enum

IPN 상태로 표시되는 ECN 상태

속성
OT_ECN_CAPABLE_0

ECT(0)

OT_ECN_CAPABLE_1

ECT(1개)

OT_ECN_MARKED

정체 발생 (CE)

OT_ECN_NOT_CAPABLE

ECT가 아닙니다.

익명 enum

 anonymous enum

인터넷 프로토콜 번호

속성
OT_IP6_PROTO_DST_OPTS

IPv6의 대상 옵션.

OT_IP6_PROTO_FRAGMENT

IPv6용 프래그먼트 헤더.

OT_IP6_PROTO_HOP_OPTS

IPv6 Hop-by-Hop 옵션

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

사용자 데이터그램입니다.

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의 결과와 함께 호출됩니다.

세부정보
매개변수
[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일 때 실패한 IPv6 주소에 대한 포인터.
[in] aFailedAddressNum
aError가 OT_ERROR_NONE일 때 실패한 IPv6 주소 수입니다.
참고 항목:
otIp6RegisterMulticastListeners

otIp6SlaacPrefixFilter

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

이 함수 포인터를 사용하면 사용자가 프리픽스를 필터링하고 프리픽스를 기반으로 한 SLAAC 주소를 추가할 수 없습니다.

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

세부정보
매개변수
[in] aInstance
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_도구_패킹_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

함수

otIp6AddUnicastAddress:

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
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
안전하지 않은 포트 목록이 가득 list습니다.

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 주소 문자열은 ':'로 구분된 16진수 값(예: '%x:%x:%x:...:%x').

결과 문자열이 aSize 문자 내의 aBuffer에 맞지 않으면 문자열이 잘리지만 출력 문자열은 항상 null로 끝납니다.

세부정보
매개변수
[in] aAddress
IPv6 주소에 대한 포인터입니다 (NULL이 아니어야 함).
[out] aBuffer
문자열을 출력하기 위한 문자 배열에 대한 포인터입니다 (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 주소는 동일하지 않습니다.

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 주소 2개의 프리픽스 일치 길이 (비트)를 반환합니다.

세부정보
매개변수
[in] aFirst
첫 번째 IPv6 주소를 가리키는 포인터입니다.
[in] aSecond
두 번째 IPv6 주소에 대한 포인터입니다.
반환
프리픽스 일치 길이(비트)입니다.

otIp6PrefixToString

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

이 함수는 지정된 IPv6 프리픽스를 사람이 읽을 수 있는 문자열로 변환합니다.

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

결과 문자열이 aSize 문자 내의 aBuffer에 맞지 않으면 문자열이 잘리지만 출력 문자열은 항상 null로 끝납니다.

세부정보
매개변수
[in] aPrefix
IPv6 프리픽스에 대한 포인터입니다 (NULL이 아니어야 함).
[out] aBuffer
문자열을 출력하기 위한 문자 배열에 대한 포인터입니다 (NULL이면 안 됨).
[in] aSize
aBuffer의 크기 (바이트)입니다. OT_IP6_PREFIX_STRING_SIZE 사용 권장.

otIp6ProtoToString

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

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

세부정보
매개변수
[in] aIpProto
IP 프로토콜 번호 (OT_IP6_PROTO_* 열거형)
반환
aIpProto를 나타내는 문자열입니다.

otIp6RegisterMulticastListeners

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

이 함수는 멀티캐스트 리스너를 기본 백본 라우터에 등록합니다.

참고: 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에 시간 제한 Tlv가 없습니다.
[in] aCallback
콜백 함수에 대한 포인터입니다.
[in] aContext
사용자 컨텍스트 포인터
반환 값
OT_ERROR_NONE
MLR.req를 전송했습니다. 이 메서드가 OT_ERROR_NONE을 반환하면 aCallback가 호출됩니다.
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의 소유권을 이전합니다. OT_ERROR_NONE가 아닌 값이 반환된 경우를 포함하여 처리가 완료되면 OpenThread가 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
소스 주소가 잘못되었습니다(예: Anycast 주소 또는 멀티캐스트 주소).
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
기기가 원시 링크 모드에서 작동하므로 IPv6 인터페이스를 사용할 수 없습니다 (OPENTHREAD_CONFIG_LINK_RAW_ENABLE 기능이 사용 설정된 경우에만 적용).

otIp6SetMeshLocalIid

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

이 함수는 테스트용 메시 로컬 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
)

이 함수는 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

otIp6SockAddrToString

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

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

IPv6 소켓 주소 문자열은 '[

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

결과 문자열이 aSize 문자 내의 aBuffer에 맞지 않으면 문자열이 잘리지만 출력 문자열은 항상 null로 끝납니다.

세부정보
매개변수
[in] aSockAddr
IPv6 소켓 주소 포인터입니다 (NULL이 아니어야 함).
[out] aBuffer
문자열을 출력하기 위한 문자 배열에 대한 포인터입니다 (NULL이면 안 됨).
[in] aSize
aBuffer의 크기 (바이트)입니다. OT_IP6_SOCK_ADDR_STRING_SIZE 사용 권장.

otIp6SubscriptionMulticastAddress

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
aAddress에 표시된 IP 주소가 잘못된 멀티캐스트 주소입니다.
OT_ERROR_REJECTED
aAddress으로 표시된 IP 주소는 내부 멀티캐스트 주소입니다.
OT_ERROR_NO_BUFS
네트워크 인터페이스에 이미 허용되는 최대 외부 멀티캐스트 주소가 저장되어 있습니다.

otIp6unsubscribeMulticastAddress

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

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

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 포인터.
[in] aAddress
IP 주소를 가리키는 포인터입니다.
반환 값
OT_ERROR_NONE
네트워크 인터페이스 멀티캐스트 주소를 수신 거부했습니다.
OT_ERROR_REJECTED
aAddress으로 표시된 IP 주소는 내부 주소입니다.
OT_ERROR_NOT_FOUND
aAddress에 표시된 IP 주소를 찾을 수 없습니다.

매크로

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 소켓 주소의 문자열 표현에 권장되는 크기입니다.

리소스

OpenThread API 참조 주제는 GitHub에서 제공되는 소스 코드에서 시작됩니다. 자세한 내용을 알아보거나 문서에 기여하려면 리소스를 참조하세요.