IPv6
Dieses Modul enthält Funktionen, die die IPv6-Kommunikation steuern.
Zusammenfassung
Aufzählungen |
|
---|---|
anonymous enum{
|
enum Internet Protocol-Nummern. |
anonymous enum{
|
enum IPv6-Adressursprünge. |
anonymous enum{
|
enum ECN-Status, dargestellt wie im IP-Header |
Typedefs |
|
---|---|
otBorderRoutingCounters
|
typedefstruct otBorderRoutingCounters
Stellt die Zähler von Paketen dar, die über Border Routing weitergeleitet werden. |
otIp6Address
|
typedefstruct otIp6Address
Stellt eine IPv6-Adresse dar. |
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
|
typedefvoid(*
Pointer wird aufgerufen, wenn eine interne IPv6-Adresse hinzugefügt oder entfernt wird. |
otIp6AddressComponents
|
typedefstruct otIp6AddressComponents
Stellt die Komponenten einer IPv6-Adresse dar. |
otIp6AddressInfo
|
typedefstruct otIp6AddressInfo
Stellt IPv6-Adressinformationen dar. |
otIp6InterfaceIdentifier
|
typedefstruct otIp6InterfaceIdentifier
Stellt die Schnittstellen-ID einer IPv6-Adresse dar. |
otIp6NetworkPrefix
|
typedefstruct otIp6NetworkPrefix
Stellt das Netzwerkpräfix einer IPv6-Adresse dar (die wichtigsten 64 Bit der Adresse). |
otIp6Prefix
|
typedefstruct otIp6Prefix
Stellt ein IPv6-Präfix dar. |
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
|
typedefvoid(*
Pointer wird aufgerufen, wenn ein IPv6-Datagramm empfangen wird. |
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
|
typedefvoid(*
Pointer wird mit den Ergebnissen otIp6RegisterMulticastListeners aufgerufen. |
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
typedefbool(*
Zeiger ermöglicht dem Nutzer, Präfixe zu filtern, und lässt nicht zu, dass eine SLAAC-Adresse basierend auf einem Präfix hinzugefügt wird. |
otMessageInfo
|
typedefstruct otMessageInfo
Stellt die lokalen und Peer-IPv6-Socket-Adressen dar. |
otNetifAddress
|
typedefstruct otNetifAddress
Stellt eine Unicast-Adresse einer IPv6-Netzwerkschnittstelle dar. |
otNetifMulticastAddress
|
typedefstruct otNetifMulticastAddress
Stellt eine Multicast-Adresse einer IPv6-Netzwerkschnittstelle dar. |
otPacketsAndBytes
|
typedefstruct otPacketsAndBytes
Stellt die Zähler für Pakete und Byte dar. |
otSockAddr
|
typedefstruct otSockAddr
Stellt eine IPv6-Socket-Adresse dar. |
Variablen |
|
---|---|
OT_TOOL_PACKED_END
|
Funktionen |
|
---|---|
otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
|
Fügt der Thread-Schnittstelle eine Adresse der Netzwerkschnittstelle hinzu.
|
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Fügt der Liste der zulässigen ungesicherten Ports einen Port hinzu.
|
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
|
Wandelt einen menschenlesbaren IPv6-Adressstring in eine binäre Darstellung um.
|
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
|
void
Wandelt eine bestimmte IPv6-Adresse in einen menschenlesbaren String um.
|
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
|
bool
Testen Sie, ob zwei IPv6-Präfixe identisch sind.
|
otIp6GetBorderRoutingCounters(otInstance *aInstance)
|
const otBorderRoutingCounters *
Ruft die Border-Routing-Zähler ab.
|
otIp6GetMulticastAddresses(otInstance *aInstance)
|
const otNetifMulticastAddress *
Ruft die Liste der IPv6-Multicast-Adressen ab, die die Thread-Schnittstelle abonniert haben.
|
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
|
void
Ruft ein Präfix mit
aLength aus aAddress ab. |
otIp6GetUnicastAddresses(otInstance *aInstance)
|
const otNetifAddress *
Ruft die Liste der IPv6-Adressen ab, die der Thread-Schnittstelle zugewiesen sind.
|
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
|
const uint16_t *
Gibt einen Zeiger auf die Liste der unsicheren Ports zurück.
|
otIp6HasUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
bool
Gibt an, ob der Thread-Schnittstelle eine Unicast-IPv6-Adresse zugewiesen ist.
|
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
bool
Testen Sie, ob zwei IPv6-Adressen identisch sind.
|
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
|
bool
Gibt an, ob eine bestimmte IPv6-Adresse die nicht angegebene Adresse ist.
|
otIp6IsEnabled(otInstance *aInstance)
|
bool
Gibt an, ob die IPv6-Schnittstelle aktiv ist.
|
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
|
bool
Überprüft, ob der promiskuitive Multicast-Modus auf der Thread-Schnittstelle aktiviert ist.
|
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
|
bool
Gibt an, ob Traffic von Thread-Steuerungen herausgefiltert wird, wenn IPv6-Datagramme über den in otIp6SetReceiveCallback() angegebenen Callback gesendet werden.
|
otIp6IsSlaacEnabled(otInstance *aInstance)
|
bool
Gibt an, ob das SLAAC-Modul aktiviert ist oder nicht.
|
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
|
Weisen Sie einen neuen Nachrichtenpuffer zum Senden einer IPv6-Nachricht zu.
|
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
|
Weisen Sie einen neuen Nachrichtenpuffer zu und schreiben Sie das IPv6-Datagramm in den Nachrichtenpuffer, um eine IPv6-Nachricht zu senden.
|
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
|
Wandelt einen menschenlesbaren IPv6-Präfixstring in eine binäre Darstellung um.
|
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
uint8_t
Gibt die Präfixübereinstimmungslänge (Bits) für zwei IPv6-Adressen zurück.
|
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
|
void
Wandelt ein bestimmtes IPv6-Präfix in einen menschenlesbaren String um.
|
otIp6ProtoToString(uint8_t aIpProto)
|
const char *
Wandelt eine bestimmte IP-Protokollnummer in einen menschenlesbaren String um.
|
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
|
Registriert Multicast-Listener beim primären Backbone-Router.
|
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
|
void
Entfernt alle Ports aus der Liste der zulässigen unsicheren Ports.
|
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Entfernt die Adresse einer Netzwerkschnittstelle aus der Thread-Schnittstelle.
|
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Entfernt einen Port aus der Liste der zulässigen unsicheren Ports.
|
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
|
void
Setzt die Border-Routing-Zähler zurück.
|
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
|
Führt eine OpenThread-Quelladressauswahl durch.
|
otIp6Send(otInstance *aInstance, otMessage *aMessage)
|
Sendet ein IPv6-Datagramm über die Thread-Schnittstelle.
|
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
|
void
Registriert einen Callback, um interne IPv6-Adressänderungen zu benachrichtigen.
|
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
|
Bringt die IPv6-Schnittstelle nach oben oder unten.
|
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
|
Legt die lokale Mesh-IID (zu Testzwecken) fest.
|
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
|
void
Aktiviert oder deaktiviert den promiskuitiven Multicast-Modus auf der Thread-Oberfläche.
|
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
|
void
Registriert einen Callback, um empfangene IPv6-Datagramme bereitzustellen.
|
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
|
void
Legt fest, ob Traffic von Thread-Steuerung herausgefiltert wird, wenn IPv6-Datagramme über den in otIp6SetReceiveCallback() angegebenen Callback gesendet werden.
|
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
|
void
Aktiviert/deaktiviert das SLAAC-Modul.
|
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
|
void
Legt den SLAAC-Modulfilter-Handler fest.
|
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
|
void
Wandelt eine bestimmte IPv6-Socket-Adresse in einen menschenlesbaren String um.
|
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Abonnieren der Thread-Schnittstelle eine Multicast-Adresse der Netzwerkschnittstelle.
|
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Meldet die Thread-Schnittstelle von einer Netzwerkschnittstellen-Multicast-Adresse ab.
|
Strukturen |
|
---|---|
otBorderRoutingCounters |
Stellt die Zähler von Paketen dar, die über Border Routing weitergeleitet werden. |
otIp6Address |
Stellt eine IPv6-Adresse dar. |
otIp6AddressComponents |
Stellt die Komponenten einer IPv6-Adresse dar. |
otIp6AddressInfo |
Stellt IPv6-Adressinformationen dar. |
otIp6InterfaceIdentifier |
Stellt die Schnittstellen-ID einer IPv6-Adresse dar. |
otIp6NetworkPrefix |
Stellt das Netzwerkpräfix einer IPv6-Adresse dar (die wichtigsten 64 Bit der Adresse). |
otIp6Prefix |
Stellt ein IPv6-Präfix dar. |
otMessageInfo |
Stellt die lokalen und Peer-IPv6-Socket-Adressen dar. |
otNetifAddress |
Stellt eine Unicast-Adresse einer IPv6-Netzwerkschnittstelle dar. |
otNetifMulticastAddress |
Stellt eine Multicast-Adresse einer IPv6-Netzwerkschnittstelle dar. |
otPacketsAndBytes |
Stellt die Zähler für Pakete und Byte dar. |
otSockAddr |
Stellt eine IPv6-Socket-Adresse dar. |
Gewerkschaften |
|
---|---|
otIp6InterfaceIdentifier:: |
Aufzählungen
Anonyme Aufzählung
anonymous enum
Internet Protocol-Nummern.
Attribute | |
---|---|
OT_IP6_PROTO_DST_OPTS
|
Zieloptionen für IPv6 |
OT_IP6_PROTO_FRAGMENT
|
Fragment-Header für IPv6. |
OT_IP6_PROTO_HOP_OPTS
|
IPv6-Hop-für-Hop-Option. |
OT_IP6_PROTO_ICMP6
|
ICMP für IPv6 |
OT_IP6_PROTO_IP6
|
IPv6-Kapselung. |
OT_IP6_PROTO_NONE
|
Kein nächster Header für IPv6. |
OT_IP6_PROTO_ROUTING
|
Routing-Header für IPv6. |
OT_IP6_PROTO_TCP
|
Transmission Control Protocol. |
OT_IP6_PROTO_UDP
|
User Datagramm. |
Anonyme Aufzählung
anonymous enum
IPv6-Adressursprünge.
Attribute | |
---|---|
OT_ADDRESS_ORIGIN_DHCPV6
|
DHCPv6 zugewiesene Adresse. |
OT_ADDRESS_ORIGIN_MANUAL
|
Manuell zugewiesene Adresse. |
OT_ADDRESS_ORIGIN_SLAAC
|
Vom SLAAC zugewiesene Adresse. |
OT_ADDRESS_ORIGIN_THREAD
|
Dem Thread zugewiesene Adresse (ALOC, RLOC, MLEID usw.) |
Anonyme Aufzählung
anonymous enum
ECN-Status, dargestellt wie im IP-Header
Attribute | |
---|---|
OT_ECN_CAPABLE_0
|
ECT(0) |
OT_ECN_CAPABLE_1
|
ECT(1) |
OT_ECN_MARKED
|
Überlastung aufgetreten (CE) |
OT_ECN_NOT_CAPABLE
|
Kein ECT. |
Typedefs
otBorderRoutingCounters
struct otBorderRoutingCounters otBorderRoutingCounters
Stellt die Zähler von Paketen dar, die über Border Routing weitergeleitet werden.
otIp6AddressCallback
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
Pointer wird aufgerufen, wenn eine interne IPv6-Adresse hinzugefügt oder entfernt wird.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otIp6AddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Stellt die Komponenten einer IPv6-Adresse dar.
otIp6InterfaceIdentifier
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
Stellt die Schnittstellen-ID einer IPv6-Adresse dar.
otIp6NetworkPrefix
struct otIp6NetworkPrefix otIp6NetworkPrefix
Stellt das Netzwerkpräfix einer IPv6-Adresse dar (die wichtigsten 64 Bit der Adresse).
otIp6ReceiveCallback
void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
Pointer wird aufgerufen, wenn ein IPv6-Datagramm empfangen wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otIp6RegisterMulticastListenersCallback
void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
Pointer wird mit den Ergebnissen otIp6RegisterMulticastListeners
aufgerufen.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
otIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter
bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
Zeiger ermöglicht dem Nutzer, Präfixe zu filtern, und lässt nicht zu, dass eine SLAAC-Adresse basierend auf einem Präfix hinzugefügt wird.
Mit otIp6SetSlaacPrefixFilter()
kann der Filter-Handler festgelegt werden. Der Filter-Handler wird vom SLAAC-Modul aufgerufen, wenn eine SLAAC-Adresse anhand eines Präfixes hinzugefügt werden soll. Der boolesche Rückgabewert bestimmt, ob die Adresse gefiltert (nicht hinzugefügt) wird oder nicht.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otMessageInfo
struct otMessageInfo otMessageInfo
Stellt die lokalen und Peer-IPv6-Socket-Adressen dar.
otNetifAddress
struct otNetifAddress otNetifAddress
Stellt eine Unicast-Adresse einer IPv6-Netzwerkschnittstelle dar.
otNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
Stellt eine Multicast-Adresse einer IPv6-Netzwerkschnittstelle dar.
otPacketsAndBytes
struct otPacketsAndBytes otPacketsAndBytes
Stellt die Zähler für Pakete und Byte dar.
Variablen
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END
Funktionen
otIp6AddUnicastAddress
otError otIp6AddUnicastAddress( otInstance *aInstance, const otNetifAddress *aAddress )
Fügt der Thread-Schnittstelle eine Adresse der Netzwerkschnittstelle hinzu.
Die übergebene Instanz aAddress
wird von der Thread-Schnittstelle kopiert. Die Thread-Schnittstelle unterstützt nur eine feste Anzahl von extern hinzugefügten Unicast-Adressen. OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS
ansehen.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otIp6AddUnsecurePort
otError otIp6AddUnsecurePort( otInstance *aInstance, uint16_t aPort )
Fügt der Liste der zulässigen ungesicherten Ports einen Port hinzu.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otIp6AddressFromString
otError otIp6AddressFromString( const char *aString, otIp6Address *aAddress )
Wandelt einen menschenlesbaren IPv6-Adressstring in eine binäre Darstellung um.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6AddressToString
void otIp6AddressToString( const otIp6Address *aAddress, char *aBuffer, uint16_t aSize )
Wandelt eine bestimmte IPv6-Adresse in einen menschenlesbaren String um.
Der IPv6-Adressstring ist als 16 Hexadezimalwerte formatiert, die durch „:“ getrennt sind (d.h. "%x:%x:%x:...:%x").
Wenn der resultierende String nicht in aBuffer
(innerhalb seiner aSize
-Zeichen) passt, wird der String abgeschnitten, aber der ausgegebene String wird immer mit Null beendet.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otIp6ArePrefixesEqual
bool otIp6ArePrefixesEqual( const otIp6Prefix *aFirst, const otIp6Prefix *aSecond )
Testen Sie, ob zwei IPv6-Präfixe identisch sind.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6GetBorderRoutingCounters
const otBorderRoutingCounters * otIp6GetBorderRoutingCounters( otInstance *aInstance )
Ruft die Border-Routing-Zähler ab.
Das OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE
-Feature für die Build-Erstellung muss aktiviert sein.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf die Border-Routing-Zähler.
|
otIp6GetMulticastAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Ruft die Liste der IPv6-Multicast-Adressen ab, die die Thread-Schnittstelle abonniert haben.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf die erste Multicast-Adresse der Netzwerkschnittstelle.
|
otIp6GetPrefix
void otIp6GetPrefix( const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix )
Ruft ein Präfix mit aLength
aus aAddress
ab.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otIp6GetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Ruft die Liste der IPv6-Adressen ab, die der Thread-Schnittstelle zugewiesen sind.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein Zeiger auf die erste Adresse der Netzwerkschnittstelle.
|
otIp6GetUnsecurePorts
const uint16_t * otIp6GetUnsecurePorts( otInstance *aInstance, uint8_t *aNumEntries )
Gibt einen Zeiger auf die Liste der unsicheren Ports zurück.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf die Liste der unsicheren Ports.
|
otIp6HasUnicastAddress
bool otIp6HasUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Gibt an, ob der Thread-Schnittstelle eine Unicast-IPv6-Adresse zugewiesen ist.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
Testen Sie, ob zwei IPv6-Adressen identisch sind.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6IsAddressUnspecified
bool otIp6IsAddressUnspecified( const otIp6Address *aAddress )
Gibt an, ob eine bestimmte IPv6-Adresse die nicht angegebene Adresse ist.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6IsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
Gibt an, ob die IPv6-Schnittstelle aktiv ist.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6IsMulticastPromiscuousEnabled
bool otIp6IsMulticastPromiscuousEnabled( otInstance *aInstance )
Überprüft, ob der promiskuitive Multicast-Modus auf der Thread-Schnittstelle aktiviert ist.
Details | |||
---|---|---|---|
Parameter |
|
otIp6SetMulticastPromiscuousEnabled
otIp6IsReceiveFilterEnabled
bool otIp6IsReceiveFilterEnabled( otInstance *aInstance )
Gibt an, ob Traffic von Thread-Steuerungen herausgefiltert wird, wenn IPv6-Datagramme über den in otIp6SetReceiveCallback() angegebenen Callback gesendet werden.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
TRUE, wenn Thread-Steuerungstraffic herausgefiltert wird, andernfalls FALSE.
|
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled
otIp6IsSlaacEnabled
bool otIp6IsSlaacEnabled( otInstance *aInstance )
Gibt an, ob das SLAAC-Modul aktiviert ist oder nicht.
Das OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
-Feature für die Build-Erstellung muss aktiviert sein.
Details | |||||
---|---|---|---|---|---|
Rückgabewerte |
|
otIp6NewMessage
otMessage * otIp6NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
Weisen Sie einen neuen Nachrichtenpuffer zum Senden einer IPv6-Nachricht zu.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Ein Zeiger auf den Nachrichtenpuffer oder NULL, wenn keine Nachrichtenpuffer verfügbar sind oder Parameter ungültig sind.
|
otMessageFree
otIp6NewMessageFromBuffer
otMessage * otIp6NewMessageFromBuffer( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings )
Weisen Sie einen neuen Nachrichtenpuffer zu und schreiben Sie das IPv6-Datagramm in den Nachrichtenpuffer, um eine IPv6-Nachricht zu senden.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabe |
Ein Zeiger auf die Nachricht oder NULL, wenn ein falscher IPv6-Header oder nicht genügend Nachrichtenpuffer verfügbar sind.
|
otMessageFree
otIp6PrefixFromString
otError otIp6PrefixFromString( const char *aString, otIp6Prefix *aPrefix )
Wandelt einen menschenlesbaren IPv6-Präfixstring in eine binäre Darstellung um.
Der aString
-Parameter muss ein String im Format "
ist eine IPv6-Adresse und
ist eine Präfixlänge.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6PrefixMatch
uint8_t otIp6PrefixMatch( const otIp6Address *aFirst, const otIp6Address *aSecond )
Gibt die Präfixübereinstimmungslänge (Bits) für zwei IPv6-Adressen zurück.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
Die Länge der Präfixübereinstimmung in Bit.
|
otIp6PrefixToString
void otIp6PrefixToString( const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize )
Wandelt ein bestimmtes IPv6-Präfix in einen menschenlesbaren String um.
Der IPv6-Adressstring hat das Format „%x:%x:%x:...[::]/plen“.
Wenn der resultierende String nicht in aBuffer
(innerhalb seiner aSize
-Zeichen) passt, wird der String abgeschnitten, aber der ausgegebene String wird immer mit Null beendet.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otIp6ProtoToString
const char * otIp6ProtoToString( uint8_t aIpProto )
Wandelt eine bestimmte IP-Protokollnummer in einen menschenlesbaren String um.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Ein String, der
aIpProto darstellt. |
otIp6RegisterMulticastListeners
otError otIp6RegisterMulticastListeners( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext )
Registriert Multicast-Listener beim primären Backbone-Router.
OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
und OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
müssen aktiviert sein.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|
otIp6RegisterMulticastListenersCallback
otIp6RemoveAllUnsecurePorts
void otIp6RemoveAllUnsecurePorts( otInstance *aInstance )
Entfernt alle Ports aus der Liste der zulässigen unsicheren Ports.
Details | |||
---|---|---|---|
Parameter |
|
otIp6RemoveUnicastAddress
otError otIp6RemoveUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Entfernt die Adresse einer Netzwerkschnittstelle aus der Thread-Schnittstelle.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otIp6RemoveUnsecurePort
otError otIp6RemoveUnsecurePort( otInstance *aInstance, uint16_t aPort )
Entfernt einen Port aus der Liste der zulässigen unsicheren Ports.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
otIp6ResetBorderRoutingCounters
void otIp6ResetBorderRoutingCounters( otInstance *aInstance )
Setzt die Border-Routing-Zähler zurück.
Details | |||
---|---|---|---|
Parameter |
|
otIp6SelectSourceAddress
otError otIp6SelectSourceAddress( otInstance *aInstance, otMessageInfo *aMessageInfo )
Führt eine OpenThread-Quelladressauswahl durch.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6Send
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
Sendet ein IPv6-Datagramm über die Thread-Schnittstelle.
Der Anrufer überträgt bei diesem Anruf die Inhaberschaft von aMessage
. OpenThread gibt aMessage
kostenlos, wenn die Verarbeitung abgeschlossen ist, auch wenn ein anderer Wert als OT_ERROR_NONE
zurückgegeben wird.
Details | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||
Rückgabewerte |
|
otIp6SetAddressCallback
void otIp6SetAddressCallback( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext )
Registriert einen Callback, um interne IPv6-Adressänderungen zu benachrichtigen.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otIp6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
Bringt die IPv6-Schnittstelle nach oben oder unten.
Rufen Sie diese Option auf, um die IPv6-Kommunikation zu aktivieren oder zu deaktivieren.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Legt die lokale Mesh-IID (zu Testzwecken) fest.
Erfordert OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
otIp6SetMulticastPromiscuousEnabled
void otIp6SetMulticastPromiscuousEnabled( otInstance *aInstance, bool aEnabled )
Aktiviert oder deaktiviert den promiskuitiven Multicast-Modus auf der Thread-Oberfläche.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otIp6IsMulticastPromiscuousEnabled
otIp6SetReceiveCallback
void otIp6SetReceiveCallback( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext )
Registriert einen Callback, um empfangene IPv6-Datagramme bereitzustellen.
Standardmäßig gibt dieser Callback keinen Thread-Steuertraffic weiter. Informationen zum Ändern der Traffic-Filtereinstellung für die Threadsteuerung finden Sie unter otIp6SetReceiveFilterEnabled().
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled( otInstance *aInstance, bool aEnabled )
Legt fest, ob Traffic von Thread-Steuerung herausgefiltert wird, wenn IPv6-Datagramme über den in otIp6SetReceiveCallback() angegebenen Callback gesendet werden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled
otIp6SetSlaacEnabled
void otIp6SetSlaacEnabled( otInstance *aInstance, bool aEnabled )
Aktiviert/deaktiviert das SLAAC-Modul.
Das OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
-Feature für die Build-Erstellung muss aktiviert sein.
Wenn das SLAAC-Modul aktiviert ist, werden SLAAC-Adressen (basierend auf On-Mesh-Präfixen in Netzwerkdaten) der Schnittstelle hinzugefügt. Wenn das SLAAC-Modul deaktiviert ist, werden alle zuvor hinzugefügten SLAAC-Adressen entfernt.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otIp6SetSlaacPrefixFilter
void otIp6SetSlaacPrefixFilter( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter )
Legt den SLAAC-Modulfilter-Handler fest.
Das OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
-Feature für die Build-Erstellung muss aktiviert sein.
Der Filter-Handler wird vom SLAAC-Modul aufgerufen, wenn eine SLAAC-Adresse basierend auf einem Präfix hinzugefügt werden soll, um zu entscheiden, ob die Adresse hinzugefügt werden soll oder nicht.
Ein NULL-Filter-Handler deaktiviert die Filterung und ermöglicht das Hinzufügen aller SLAAC-Adressen.
Wird diese Funktion nicht aufgerufen, ist der vom SLAAC-Modul verwendete Standardfilter NULL (Filterung ist deaktiviert).
Details | |||||
---|---|---|---|---|---|
Parameter |
|
otIp6SockAddrToString
void otIp6SockAddrToString( const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize )
Wandelt eine bestimmte IPv6-Socket-Adresse in einen menschenlesbaren String um.
Der String der IPv6-Socket-Adresse hat das Format [address
]:port
, wobei address
als 16 Hexadezimalwerte angezeigt wird, getrennt durch :
, und port
ist die Portnummer im Dezimalformat, z. B. „[%x:%x:...:%x]:%u“.
Wenn der resultierende String nicht in aBuffer
(innerhalb seiner aSize
-Zeichen) passt, wird der String abgeschnitten, aber der ausgegebene String wird immer mit Null beendet.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
otIp6SubscribeMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Abonnieren der Thread-Schnittstelle eine Multicast-Adresse der Netzwerkschnittstelle.
Die in der Instanz übergebenen aAddress
werden von der Thread-Schnittstelle kopiert. Die Thread-Schnittstelle unterstützt nur eine feste Anzahl von extern hinzugefügten Multicast-Adressen. OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS
ansehen.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
otIp6UnsubscribeMulticastAddress
otError otIp6UnsubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Meldet die Thread-Schnittstelle von einer Netzwerkschnittstellen-Multicast-Adresse ab.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
Makros
OT_IP6_ADDRESS_SIZE
OT_IP6_ADDRESS_SIZE 16
Größe einer IPv6-Adresse (Byte)
OT_IP6_ADDRESS_STRING_SIZE
OT_IP6_ADDRESS_STRING_SIZE 40
Empfohlene Größe für die Stringdarstellung einer IPv6-Adresse.
OT_IP6_HEADER_PROTO_OFFSET
OT_IP6_HEADER_PROTO_OFFSET 6
Offset des Proto-Felds im IPv6-Header (Byte)
OT_IP6_HEADER_SIZE
OT_IP6_HEADER_SIZE 40
Größe eines IPv6-Headers (Byte)
OT_IP6_IID_SIZE
OT_IP6_IID_SIZE 8
Größe einer IPv6-Schnittstellenkennung (Byte)
OT_IP6_MAX_MLR_ADDRESSES
OT_IP6_MAX_MLR_ADDRESSES 15
Maximale Anzahl von IPv6-Adressen, die von der Multicast-Listener-Registrierung unterstützt werden.
OT_IP6_PREFIX_BITSIZE
OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)
Größe eines IPv6-Präfixes (Bits)
OT_IP6_PREFIX_SIZE
OT_IP6_PREFIX_SIZE 8
Größe eines IPv6-Präfixes (Byte)
OT_IP6_PREFIX_STRING_SIZE
OT_IP6_PREFIX_STRING_SIZE 45
Empfohlene Größe für die Stringdarstellung eines IPv6-Präfixes.
OT_IP6_SOCK_ADDR_STRING_SIZE
OT_IP6_SOCK_ADDR_STRING_SIZE 48
Empfohlene Größe für die Stringdarstellung einer IPv6-Socket-Adresse.
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.