ICMPv6

Dieses Modul enthält Funktionen zur Steuerung der ICMPv6-Kommunikation.

Zusammenfassung

Aufzählungen

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
enum
ICMPv6-Nachrichtencodes.
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 Echo-Antwortmodi.
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-Nachrichtentypen.

Typedefs

otIcmp6Code typedef
ICMPv6-Nachrichtencodes.
otIcmp6EchoMode typedef
ICMPv6 Echo-Antwortmodi.
otIcmp6Handler typedef
Implementiert den ICMPv6-Nachrichten-Handler.
otIcmp6Header typedef
struct otIcmp6Header
Stellt einen ICMPv6-Header dar.
otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
Dieser Callback ermöglicht OpenThread, die Anwendung über eine empfangene ICMPv6-Nachricht zu informieren.
otIcmp6Type typedef
ICMPv6-Nachrichtentypen.

Variablen

OT_TOOL_PACKED_END

Funktionen

otIcmp6GetEchoMode(otInstance *aInstance)
Gibt an, ob die ICMPv6-Echoverarbeitung aktiviert ist.
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
Registriert einen Handler, um empfangene ICMPv6-Nachrichten bereitzustellen.
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
Sendet eine ICMPv6-Echo-Anfrage über die Thread-Schnittstelle.
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
Legt fest, ob die ICMPv6-Echoverarbeitung aktiviert ist.

Strukturen

otIcmp6Handler

Implementiert den ICMPv6-Nachrichten-Handler.

otIcmp6Header

Stellt einen ICMPv6-Header dar.

Gewerkschaften

otIcmp6Header::OT_TOOL_PACKED_FIELD

Aufzählungen

otIcmp6Code

 otIcmp6Code

ICMPv6-Nachrichtencodes.

Attribute
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

Ziel nicht erreichbar, keine Route.

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

Zeit zum Zusammenbauen des Fragments überschritten.

otIcmp6EchoMode

 otIcmp6EchoMode

ICMPv6 Echo-Antwortmodi.

Attribute
OT_ICMP6_ECHO_HANDLER_ALL

ICMPv6-Echo-Verarbeitung für Unicast- und Multicast-Anfragen aktiviert.

OT_ICMP6_ECHO_HANDLER_DISABLED

ICMPv6-Echo-Verarbeitung deaktiviert.

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

ICMPv6-Echo-Verarbeitung nur für Multicast-Anfragen aktiviert.

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

ICMPv6-Echo-Verarbeitung nur für Unicast-Anfragen aktiviert.

otIcmp6Type

 otIcmp6Type

ICMPv6-Nachrichtentypen.

Attribute
OT_ICMP6_TYPE_DST_UNREACH

Ziel nicht erreichbar.

OT_ICMP6_TYPE_ECHO_REPLY

Echo-Antwort.

OT_ICMP6_TYPE_ECHO_REQUEST

Echo-Anfrage.

OT_ICMP6_TYPE_NEIGHBOR_ADVERT

Anzeige in der Nachbarschaft.

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

Anwerbung von Nachbarn.

OT_ICMP6_TYPE_PACKET_TO_BIG

Paket zu groß.

OT_ICMP6_TYPE_PARAMETER_PROBLEM

Parameterproblem.

OT_ICMP6_TYPE_ROUTER_ADVERT

Router-Advertising.

OT_ICMP6_TYPE_ROUTER_SOLICIT

Router-Bewerbung.

OT_ICMP6_TYPE_TIME_EXCEEDED

Zeit überschritten.

Typedefs

otIcmp6Code

enum otIcmp6Code otIcmp6Code

ICMPv6-Nachrichtencodes.

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

ICMPv6 Echo-Antwortmodi.

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

Implementiert den ICMPv6-Nachrichten-Handler.

otIcmp6Header

struct otIcmp6Header otIcmp6Header

Stellt einen ICMPv6-Header dar.

otIcmp6ReceiveCallback

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

Dieser Callback ermöglicht OpenThread, die Anwendung über eine empfangene ICMPv6-Nachricht zu informieren.

Details
Parameter
[in] aContext
Ein Zeiger auf beliebige Kontextinformationen.
[in] aMessage
Ein Zeiger auf die empfangene Nachricht.
[in] aMessageInfo
Ein Verweis auf Nachrichteninformationen, die mit aMessage verknüpft sind.
[in] aIcmpHeader
Ein Zeiger auf den empfangenen ICMPv6-Header.

otIcmp6Type

enum otIcmp6Type otIcmp6Type

ICMPv6-Nachrichtentypen.

Variablen

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

Funktionen

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

Gibt an, ob die ICMPv6-Echoverarbeitung aktiviert ist.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
Rückgabewerte
OT_ICMP6_ECHO_HANDLER_DISABLED
ICMPv6-Echo-Verarbeitung ist deaktiviert.
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
ICMPv6-Echo-Verarbeitung nur für Unicast-Anfragen aktiviert
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
ICMPv6-Echo-Verarbeitung nur für Multicast-Anfragen aktiviert
OT_ICMP6_ECHO_HANDLER_ALL
ICMPv6-Echo-Verarbeitung für Unicast- und Multicast-Anfragen aktiviert

otIcmp6RegisterHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

Registriert einen Handler, um empfangene ICMPv6-Nachrichten bereitzustellen.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aHandler
Ein Zeiger auf einen Handler, der einen Callback enthält, der beim Empfang einer ICMPv6-Nachricht aufgerufen wird.

otIcmp6SendEchoRequest

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

Sendet eine ICMPv6-Echo-Anfrage über die Thread-Schnittstelle.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aMessage
Ein Zeiger auf den Nachrichtenpuffer, der die ICMPv6-Nutzlast enthält.
[in] aMessageInfo
Ein Verweis auf Nachrichteninformationen, die mit aMessage verknüpft sind.
[in] aIdentifier
Eine Kennung, mit der Echo-Antworten auf diese Echo-Anfrage abgeglichen werden können. Kann null sein.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

Legt fest, ob die ICMPv6-Echoverarbeitung aktiviert ist.

Details
Parameter
[in] aInstance
Ein Zeiger auf eine OpenThread-Instanz.
[in] aMode
Der ICMPv6-Echo-Verarbeitungsmodus.

Makros

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

Größe des ICMPv6-Headers.

OT_ICMP6_ROUTER_ADVERT_MIN_SIZE

 OT_ICMP6_ROUTER_ADVERT_MIN_SIZE 16

Größe einer Router Advertisement-Nachricht ohne Optionen.

Ressourcen

OpenThread API-Referenzthemen stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen finden Sie unter Ressourcen. Dort können Sie auch einen Beitrag zu unserer Dokumentation leisten.