ICMPv6

Ten moduł zawiera funkcje sterujące komunikacją ICMPv6.

Podsumowanie

Wyliczenia

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
enum | typ wyliczeniowy
Kody wiadomości 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 | typ wyliczeniowy
ICMPv6 – tryby odpowiedzi echo.
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 | typ wyliczeniowy
Typy wiadomości ICMPv6.

Definicje typów

otIcmp6Code typedef
Kody wiadomości ICMPv6.
otIcmp6EchoMode typedef
ICMPv6 – tryby odpowiedzi echo.
otIcmp6Handler typedef
Implementuje moduł obsługi wiadomości ICMP w wersji 6.
otIcmp6Header typedef
struct otIcmp6Header
Reprezentuje nagłówek ICMPv6.
otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
To wywołanie zwrotne pozwala OpenThread przekazać aplikacji o odebranej wiadomości ICMPv6.
otIcmp6Type typedef
Typy wiadomości ICMPv6.

Zmienne

OT_TOOL_PACKED_END

Funkcje

otIcmp6GetEchoMode(otInstance *aInstance)
Wskazuje, czy przetwarzanie echa ICMPv6 jest włączone.
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
Rejestruje moduł obsługi do dostarczania otrzymanych wiadomości ICMPv6.
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
Wysyła żądanie echa ICMPv6 przez interfejs Thread.
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
Określa, czy ma być włączone przetwarzanie echa ICMPv6.

Konstrukcja

otIcmp6Handler

Implementuje moduł obsługi wiadomości ICMP w wersji 6.

otIcmp6Header

Reprezentuje nagłówek ICMPv6.

Związki

otIcmp6Header::OT_TOOL_PACKED_FIELD

Wyliczenia

otIcmp6Code

 otIcmp6Code

Kody wiadomości ICMPv6.

Właściwości
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

Cel nieosiągalny brak trasy.

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

Przekroczono czas ponownego złożenia fragmentu.

otIcmp6EchoMode

 otIcmp6EchoMode

ICMPv6 – tryby odpowiedzi echo.

Właściwości
OT_ICMP6_ECHO_HANDLER_ALL

Przetwarzanie echa ICMPv6 zostało włączone w przypadku żądań pojedynczej i multiemisji.

OT_ICMP6_ECHO_HANDLER_DISABLED

Przetwarzanie echa ICMPv6 zostało wyłączone.

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

Przetwarzanie echa ICMPv6 jest włączone tylko w przypadku żądań multicast.

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

Przetwarzanie echa ICMPv6 jest włączone tylko w przypadku żądań pojedynczych.

otIcmp6Type

 otIcmp6Type

Typy wiadomości ICMPv6.

Właściwości
OT_ICMP6_TYPE_DST_UNREACH

Nieosiągalne miejsce docelowe.

OT_ICMP6_TYPE_ECHO_REPLY

Odpowiedź echo.

OT_ICMP6_TYPE_ECHO_REQUEST

Żądanie echo.

OT_ICMP6_TYPE_NEIGHBOR_ADVERT

Reklama sąsiada.

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

Nagabywanie sąsiadów.

OT_ICMP6_TYPE_PACKET_TO_BIG

Pakiet do „wielkiego pakietu”.

OT_ICMP6_TYPE_PARAMETER_PROBLEM

Problem z parametrem.

OT_ICMP6_TYPE_ROUTER_ADVERT

Reklama routerów.

OT_ICMP6_TYPE_ROUTER_SOLICIT

Nagabywanie routerów.

OT_ICMP6_TYPE_TIME_EXCEEDED

Przekroczono czas.

Definicje typów

otIcmp6Code

enum otIcmp6Code otIcmp6Code

Kody wiadomości ICMPv6.

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

ICMPv6 – tryby odpowiedzi echo.

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

Implementuje moduł obsługi wiadomości ICMP w wersji 6.

otIcmp6Header

struct otIcmp6Header otIcmp6Header

Reprezentuje nagłówek ICMPv6.

otIcmp6ReceiveCallback

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

To wywołanie zwrotne pozwala OpenThread przekazać aplikacji o odebranej wiadomości ICMPv6.

Szczegóły
Parametry
[in] aContext
Wskaźnik do dowolnych informacji kontekstowych.
[in] aMessage
Wskaźnik odebranej wiadomości.
[in] aMessageInfo
Wskaźnik do informacji o wiadomości powiązanej z zasobnikiem aMessage.
[in] aIcmpHeader
Wskaźnik do odebranego nagłówka ICMPv6.

otIcmp6Type

enum otIcmp6Type otIcmp6Type

Typy wiadomości ICMPv6.

Zmienne

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

Funkcje

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

Wskazuje, czy przetwarzanie echa ICMPv6 jest włączone.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwracane wartości
OT_ICMP6_ECHO_HANDLER_DISABLED
Przetwarzanie echa ICMPv6 jest wyłączone.
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
Przetwarzanie echa ICMPv6 włączone tylko w przypadku żądań pojedynczych
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
Przetwarzanie echa ICMPv6 włączone tylko dla żądań multicast
OT_ICMP6_ECHO_HANDLER_ALL
Przetwarzanie echa ICMPv6 włączone w przypadku żądań pojedynczej i multiemisji

otIcmp6RegisterHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

Rejestruje moduł obsługi do dostarczania otrzymanych wiadomości ICMPv6.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aHandler
Wskaźnik do modułu obsługi zawierającego wywołanie zwrotne, które jest wywoływane po odebraniu komunikatu ICMPv6.

otIcmp6SendEchoRequest

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

Wysyła żądanie echa ICMPv6 przez interfejs Thread.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMessage
Wskaźnik do bufora wiadomości zawierającego ładunek ICMPv6.
[in] aMessageInfo
Odwołanie do informacji o wiadomościach powiązanych z aMessage.
[in] aIdentifier
Identyfikator, który ułatwia dopasowanie odpowiedzi echo do tego żądania echo. Może wynosić 0.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

Określa, czy ma być włączone przetwarzanie echa ICMPv6.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMode
Tryb przetwarzania echa ICMPv6.

Makra

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

Rozmiar nagłówka ICMPv6.

OT_ICMP6_ROUTER_ADVERT_MIN_SIZE

 OT_ICMP6_ROUTER_ADVERT_MIN_SIZE 16

Rozmiar wiadomości reklamy routera bez żadnych opcji.

Zasoby

Tematy referencyjne interfejsu OpenThread API pochodzą z kodu źródłowego dostępnego w GitHub. Aby dowiedzieć się więcej lub dołączyć do naszej dokumentacji, skorzystaj z sekcji Zasoby.