ICMPv6

이 모듈에는 ICMPv6 통신을 제어하는 함수가 포함되어 있습니다.

요약

열거

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
enum
ICMPv6 메시지 코드.
otIcmp6EchoMode{
  OT_ICMP6_ECHO_HANDLER_DISABLED = 0,
  OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY = 1,
  OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY = 2,
  OT_ICMP6_ECHO_HANDLER_ALL = 3
}
enum
ICMPv6 에코 응답 모드.
otIcmp6Type{
  OT_ICMP6_TYPE_DST_UNREACH = 1,
  OT_ICMP6_TYPE_PACKET_TO_BIG = 2,
  OT_ICMP6_TYPE_TIME_EXCEEDED = 3,
  OT_ICMP6_TYPE_PARAMETER_PROBLEM = 4,
  OT_ICMP6_TYPE_ECHO_REQUEST = 128,
  OT_ICMP6_TYPE_ECHO_REPLY = 129,
  OT_ICMP6_TYPE_ROUTER_SOLICIT = 133,
  OT_ICMP6_TYPE_ROUTER_ADVERT = 134,
  OT_ICMP6_TYPE_NEIGHBOR_SOLICIT = 135,
  OT_ICMP6_TYPE_NEIGHBOR_ADVERT = 136
}
enum
ICMPv6 메시지 유형.

Typedef

otIcmp6Code typedef
ICMPv6 메시지 코드.
otIcmp6EchoMode typedef
ICMPv6 에코 응답 모드.
otIcmp6Handler typedef
ICMPv6 메시지 핸들러를 구현합니다.
otIcmp6Header typedef
struct otIcmp6Header
ICMPv6 헤더를 나타냅니다.
otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
이 콜백을 통해 OpenThread가 수신된 ICMPv6 메시지를 애플리케이션에 알릴 수 있습니다.
otIcmp6Type typedef
ICMPv6 메시지 유형.

변수

OT_TOOL_PACKED_END

함수

otIcmp6GetEchoMode(otInstance *aInstance)
ICMPv6 에코 처리의 사용 설정 여부를 나타냅니다.
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
핸들러를 등록하여 수신된 ICMPv6 메시지를 제공합니다.
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
스레드 인터페이스를 통해 ICMPv6 에코 요청을 전송합니다.
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
ICMPv6 에코 처리의 사용 설정 여부를 설정합니다.

구조체

otIcmp6Handler

ICMPv6 메시지 핸들러를 구현합니다.

otIcmp6Header

ICMPv6 헤더를 나타냅니다.

Union

otIcmp6Header::OT_TOOL_PACKED_FIELD

열거형

otIcmp6Code

 otIcmp6Code

ICMPv6 메시지 코드.

속성
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

목적지에 연결할 수 없음 경로가 없습니다.

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

프래그먼트 재조립 시간을 초과했습니다.

otIcmp6EchoMode

 otIcmp6EchoMode

ICMPv6 에코 응답 모드.

속성
OT_ICMP6_ECHO_HANDLER_ALL

유니캐스트 및 멀티캐스트 요청에 대해 ICMPv6 에코 처리가 사용 설정되었습니다.

OT_ICMP6_ECHO_HANDLER_DISABLED

ICMPv6 에코 처리가 사용 중지되었습니다.

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

ICMPv6 에코 처리는 멀티캐스트 요청에서만 사용 설정되었습니다.

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

ICMPv6 에코 처리는 유니캐스트 요청에만 사용 설정됩니다.

otIcmp6Type

 otIcmp6Type

ICMPv6 메시지 유형.

속성
OT_ICMP6_TYPE_DST_UNREACH

도착 페이지에 연결할 수 없습니다.

OT_ICMP6_TYPE_ECHO_REPLY

에코응답

OT_ICMP6_TYPE_ECHO_REQUEST

에코요청.

OT_ICMP6_TYPE_NEIGHBOR_ADVERT

이웃 광고.

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

이웃 요청.

OT_ICMP6_TYPE_PACKET_TO_BIG

큰 패킷.

OT_ICMP6_TYPE_PARAMETER_PROBLEM

매개변수 문제입니다.

OT_ICMP6_TYPE_ROUTER_ADVERT

라우터 광고.

OT_ICMP6_TYPE_ROUTER_SOLICIT

라우터 요청.

OT_ICMP6_TYPE_TIME_EXCEEDED

시간이 초과되었습니다.

Typedef

otIcmp6Code

enum otIcmp6Code otIcmp6Code

ICMPv6 메시지 코드.

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

ICMPv6 에코 응답 모드.

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

ICMPv6 메시지 핸들러를 구현합니다.

otIcmp6Header

struct otIcmp6Header otIcmp6Header

ICMPv6 헤더를 나타냅니다.

otIcmp6ReceiveCallback

void(* otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader)

이 콜백을 통해 OpenThread가 수신된 ICMPv6 메시지를 애플리케이션에 알릴 수 있습니다.

세부정보
매개변수
[in] aContext
임의의 컨텍스트 정보에 대한 포인터입니다.
[in] aMessage
수신된 메시지에 대한 포인터입니다.
[in] aMessageInfo
aMessage와 연결된 메시지 정보를 가리키는 포인터입니다.
[in] aIcmpHeader
수신된 ICMPv6 헤더에 대한 포인터입니다.

otIcmp6Type

enum otIcmp6Type otIcmp6Type

ICMPv6 메시지 유형.

변수

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

함수

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

ICMPv6 에코 처리의 사용 설정 여부를 나타냅니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
반환 값
OT_ICMP6_ECHO_HANDLER_DISABLED
ICMPv6 에코 처리가 사용 중지되었습니다.
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
유니캐스트 요청에만 사용 설정된 ICMPv6 에코 처리
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
멀티캐스트 요청에만 사용 설정된 ICMPv6 에코 처리
OT_ICMP6_ECHO_HANDLER_ALL
유니캐스트 및 멀티캐스트 요청에 사용 설정된 ICMPv6 에코 처리

otIcmp6RegisterHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

핸들러를 등록하여 수신된 ICMPv6 메시지를 제공합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aHandler
ICMPv6 메시지가 수신될 때 호출되는 콜백이 포함된 핸들러에 대한 포인터입니다.

otIcmp6SendEchoRequest

otError otIcmp6SendEchoRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  uint16_t aIdentifier
)

스레드 인터페이스를 통해 ICMPv6 에코 요청을 전송합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aMessage
ICMPv6 페이로드가 포함된 메시지 버퍼를 가리키는 포인터입니다.
[in] aMessageInfo
aMessage에 연결된 메시지 정보에 대한 참조입니다.
[in] aIdentifier
이 에코 요청에 에코 답장을 매칭하는 데 도움이 되는 식별자입니다. 0일 수 있습니다.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

ICMPv6 에코 처리의 사용 설정 여부를 설정합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aMode
ICMPv6 에코 처리 모드입니다.

매크로

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

ICMPv6 헤더의 크기입니다.

OT_ICMP6_ROUTER_ADVERT_MIN_SIZE

 OT_ICMP6_ROUTER_ADVERT_MIN_SIZE 16

옵션이 없는 라우터 광고 메시지의 크기입니다.

자료

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