IPv6
Ten moduł obejmuje funkcje sterujące komunikacją IPv6.
Podsumowanie
Wyliczenia |
|
---|---|
anonymous enum{
|
enum | typ wyliczeniowy numerów protokołów internetowych. |
anonymous enum{
|
enum | typ wyliczeniowy Punkty początkowe adresów IPv6. |
anonymous enum{
|
enum | typ wyliczeniowy Stany ECN reprezentowane w nagłówku IP. |
Definicje typów |
|
---|---|
otBorderRoutingCounters
|
typedefstruct otBorderRoutingCounters
Reprezentuje liczniki pakietów przekierowanych przez Border Routing. |
otIp6Address
|
typedefstruct otIp6Address
Reprezentuje adres IPv6. |
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
|
typedefvoid(*
Wskaźnik jest wywoływany po dodaniu lub usunięciu wewnętrznego adresu IPv6. |
otIp6AddressComponents
|
typedefstruct otIp6AddressComponents
Reprezentuje komponenty adresu IPv6. |
otIp6AddressInfo
|
typedefstruct otIp6AddressInfo
Reprezentuje informacje o adresie IPv6. |
otIp6InterfaceIdentifier
|
typedefstruct otIp6InterfaceIdentifier
Reprezentuje identyfikator interfejsu adresu IPv6. |
otIp6NetworkPrefix
|
typedefstruct otIp6NetworkPrefix
Reprezentuje prefiks sieci adresu IPv6 (najważniejsze 64-bitowe fragmenty adresu). |
otIp6Prefix
|
typedefstruct otIp6Prefix
Reprezentuje prefiks IPv6. |
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
|
typedefvoid(*
Wskaźnik jest wywoływany po odebraniu datagramu IPv6. |
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
|
typedefvoid(*
Wskaźnik jest wywoływany z wynikami otIp6RegisterMulticastListeners . |
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
typedefbool(*
Wskaźnik umożliwia filtrowanie prefiksów i uniemożliwia dodanie adresu SLAAC na podstawie prefiksu. |
otMessageInfo
|
typedefstruct otMessageInfo
Reprezentuje lokalne adresy IPv6 i adresy IPv6 połączenia równorzędnego. |
otNetifAddress
|
typedefstruct otNetifAddress
Reprezentuje adres unicast interfejsu sieci IPv6. |
otNetifMulticastAddress
|
typedefstruct otNetifMulticastAddress
Reprezentuje adres multiemisji interfejsu sieci IPv6. |
otPacketsAndBytes
|
typedefstruct otPacketsAndBytes
Reprezentuje liczniki pakietów i bajtów. |
otSockAddr
|
typedefstruct otSockAddr
Reprezentuje adres gniazda IPv6. |
Zmienne |
|
---|---|
OT_TOOL_PACKED_END
|
Funkcje |
|
---|---|
otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
|
Dodaje adres interfejsu sieciowego do interfejsu Thread.
|
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Dodaje port do listy dozwolonych niezabezpieczonych portów.
|
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
|
Konwertuje zrozumiały dla człowieka ciąg adresu IPv6 na binarną reprezentację.
|
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
|
void
Konwertuje adres IPv6 na ciąg zrozumiały dla człowieka.
|
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
|
bool
Sprawdź, czy 2 prefiksy IPv6 są takie same.
|
otIp6GetBorderRoutingCounters(otInstance *aInstance)
|
const otBorderRoutingCounters *
Pobiera liczniki routingu granic.
|
otIp6GetMulticastAddresses(otInstance *aInstance)
|
const otNetifMulticastAddress *
Pobiera listę adresów multiemisji IPv6 subskrybowanych w interfejsie wątku.
|
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
|
void
Pobiera prefiks z wartością
aLength z tabeli aAddress . |
otIp6GetUnicastAddresses(otInstance *aInstance)
|
const otNetifAddress *
Pobiera listę adresów IPv6 przypisanych do interfejsu Thread.
|
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
|
const uint16_t *
Zwraca wskaźnik do listy niezabezpieczonych portów.
|
otIp6HasUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
bool
Wskazuje, czy do interfejsu Thread jest przypisany adres IPv6 typu unicast.
|
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
bool
Sprawdź, czy 2 adresy IPv6 są takie same.
|
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
|
bool
Wskazuje, czy dany adres IPv6 jest nieokreślonym adresem.
|
otIp6IsEnabled(otInstance *aInstance)
|
bool
Wskazuje, czy interfejs IPv6 jest aktywny.
|
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
|
bool
Sprawdza, czy w interfejsie Thread jest włączony tryb promensji grupowej.
|
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
|
bool
Wskazuje, czy ruch kontroli wątku jest odfiltrowywany podczas dostarczania datagramów IPv6 przez wywołanie zwrotne określone w funkcji otIp6SetReceiveCallback().
|
otIp6IsSlaacEnabled(otInstance *aInstance)
|
bool
Wskazuje, czy moduł SLAAC jest włączony.
|
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
|
Przydziel nowy bufor wiadomości do wysyłania wiadomości IPv6.
|
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
|
Przydziel nowy bufor wiadomości i zapisz w nim datagram IPv6, aby wysłać wiadomość IPv6.
|
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
|
Konwertuje zrozumiały dla człowieka ciąg prefiksu IPv6 na binarną reprezentację.
|
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
uint8_t
Zwraca długość dopasowania prefiksu (w bitach) dla dwóch adresów IPv6.
|
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
|
void
Konwertuje dany prefiks IPv6 na ciąg zrozumiały dla człowieka.
|
otIp6ProtoToString(uint8_t aIpProto)
|
const char *
Konwertuje dany numer protokołu IP na ciąg zrozumiały dla człowieka.
|
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
|
Rejestrowanie detektorów multiemisji w głównym routerze szkieletowym.
|
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
|
void
Usuwa wszystkie porty z listy dozwolonych niezabezpieczonych portów.
|
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Usuwa adres sieciowy z interfejsu Thread.
|
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Usuwa port z listy dozwolonych niezabezpieczonych portów.
|
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
|
void
Resetuje liczniki wyznaczania tras granicznych.
|
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
|
Wybierz adres źródłowy OpenThread.
|
otIp6Send(otInstance *aInstance, otMessage *aMessage)
|
Wysyła datagram IPv6 przez interfejs Thread.
|
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
|
void
Rejestruje wywołanie zwrotne w celu powiadamiania o zmianach wewnętrznych adresów IPv6.
|
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
|
Przełącza interfejs IPv6 w górę lub w dół.
|
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
|
Ustawia lokalny identyfikator IID sieci (do celów testowych).
|
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
|
void
Włącza lub wyłącza tryb komunikacji multiemisji w interfejsie Thread.
|
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
|
void
Rejestruje wywołanie zwrotne w celu dostarczenia odebranych datagramów IPv6.
|
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
|
void
Określa, czy ruch kontroli Thread jest odfiltrowywany podczas dostarczania datagramów IPv6 przez wywołanie zwrotne określone w otIp6SetReceiveCallback().
|
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
|
void
Włącza lub wyłącza moduł SLAAC.
|
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
|
void
Konfiguruje moduł obsługi filtra modułu SLAAC.
|
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
|
void
Konwertuje podany adres gniazda IPv6 na ciąg zrozumiały dla człowieka.
|
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Subskrybuje interfejs Thread na adres multiemisji interfejsu Network Interface.
|
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Anuluje subskrypcję interfejsu Thread na adres multiemisji interfejsu sieciowego.
|
Konstrukcja |
|
---|---|
otBorderRoutingCounters |
Reprezentuje liczniki pakietów przekierowanych przez Border Routing. |
otIp6Address |
Reprezentuje adres IPv6. |
otIp6AddressComponents |
Reprezentuje komponenty adresu IPv6. |
otIp6AddressInfo |
Reprezentuje informacje o adresie IPv6. |
otIp6InterfaceIdentifier |
Reprezentuje identyfikator interfejsu adresu IPv6. |
otIp6NetworkPrefix |
Reprezentuje prefiks sieci adresu IPv6 (najważniejsze 64-bitowe fragmenty adresu). |
otIp6Prefix |
Reprezentuje prefiks IPv6. |
otMessageInfo |
Reprezentuje lokalne adresy IPv6 i adresy IPv6 połączenia równorzędnego. |
otNetifAddress |
Reprezentuje adres unicast interfejsu sieci IPv6. |
otNetifMulticastAddress |
Reprezentuje adres multiemisji interfejsu sieci IPv6. |
otPacketsAndBytes |
Reprezentuje liczniki pakietów i bajtów. |
otSockAddr |
Reprezentuje adres gniazda IPv6. |
Związki |
|
---|---|
otIp6InterfaceIdentifier:: |
Wyliczenia
anonimowe wyliczenie
anonymous enum
numerów protokołów internetowych.
Właściwości | |
---|---|
OT_IP6_PROTO_DST_OPTS
|
Opcje miejsca docelowego IPv6. |
OT_IP6_PROTO_FRAGMENT
|
Nagłówek fragmentu kodu IPv6. |
OT_IP6_PROTO_HOP_OPTS
|
Opcja przeskoku IPv6. |
OT_IP6_PROTO_ICMP6
|
ICMP dla IPv6. |
OT_IP6_PROTO_IP6
|
Herbatka IPv6. |
OT_IP6_PROTO_NONE
|
Brak następnego nagłówka dla protokołu IPv6. |
OT_IP6_PROTO_ROUTING
|
Nagłówek routingu dla IPv6. |
OT_IP6_PROTO_TCP
|
Transmission Control Protocol. |
OT_IP6_PROTO_UDP
|
Datagram użytkownika. |
anonimowe wyliczenie
anonymous enum
Punkty początkowe adresów IPv6.
Właściwości | |
---|---|
OT_ADDRESS_ORIGIN_DHCPV6
|
Przypisano adres DHCPv6. |
OT_ADDRESS_ORIGIN_MANUAL
|
Adres przypisany ręcznie. |
OT_ADDRESS_ORIGIN_SLAAC
|
Adres przypisany do SLAAC. |
OT_ADDRESS_ORIGIN_THREAD
|
Adres przypisany do wątku (ALOC, RLOC, MLEID itp.) |
anonimowe wyliczenie
anonymous enum
Stany ECN reprezentowane w nagłówku IP.
Właściwości | |
---|---|
OT_ECN_CAPABLE_0
|
ECT(0) |
OT_ECN_CAPABLE_1
|
ECT(1) |
OT_ECN_MARKED
|
Napotkano zator |
OT_ECN_NOT_CAPABLE
|
Inne niż ECT. |
Definicje typów
otBorderRoutingCounters
struct otBorderRoutingCounters otBorderRoutingCounters
Reprezentuje liczniki pakietów przekierowanych przez Border Routing.
otIp6AddressCallback
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
Wskaźnik jest wywoływany po dodaniu lub usunięciu wewnętrznego adresu IPv6.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
otIp6AddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Reprezentuje komponenty adresu IPv6.
otIp6InterfaceIdentifier
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
Reprezentuje identyfikator interfejsu adresu IPv6.
otIp6NetworkPrefix
struct otIp6NetworkPrefix otIp6NetworkPrefix
Reprezentuje prefiks sieci adresu IPv6 (najważniejsze 64-bitowe fragmenty adresu).
otIp6ReceiveCallback
void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
Wskaźnik jest wywoływany po odebraniu datagramu IPv6.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otIp6RegisterMulticastListenersCallback
void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
Wskaźnik jest wywoływany z wynikami otIp6RegisterMulticastListeners
.
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
otIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter
bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
Wskaźnik umożliwia filtrowanie prefiksów i uniemożliwia dodanie adresu SLAAC na podstawie prefiksu.
otIp6SetSlaacPrefixFilter()
może służyć do konfigurowania modułu obsługi filtrów. Moduł obsługi filtra jest wywoływany przez moduł SLAAC, gdy ma zostać dodany adres SLAAC na podstawie prefiksu. Jej wartość logiczna określa, czy adres jest filtrowany (nie dodano).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otMessageInfo
struct otMessageInfo otMessageInfo
Reprezentuje lokalne adresy IPv6 i adresy IPv6 połączenia równorzędnego.
otNetifAddress
struct otNetifAddress otNetifAddress
Reprezentuje adres unicast interfejsu sieci IPv6.
otNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
Reprezentuje adres multiemisji interfejsu sieci IPv6.
otPacketsAndBytes
struct otPacketsAndBytes otPacketsAndBytes
Reprezentuje liczniki pakietów i bajtów.
Zmienne
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END
Funkcje
otIp6AddUnicastAddress
otError otIp6AddUnicastAddress( otInstance *aInstance, const otNetifAddress *aAddress )
Dodaje adres interfejsu sieciowego do interfejsu Thread.
Przekazana instancja aAddress
jest kopiowana przez interfejs Thread. Interfejs Thread obsługuje tylko stałą liczbę dodanych zewnętrznie adresów pojedynczych. Zobacz OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS
.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
otIp6AddUnsecurePort
otError otIp6AddUnsecurePort( otInstance *aInstance, uint16_t aPort )
Dodaje port do listy dozwolonych niezabezpieczonych portów.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
otIp6AddressFromString
otError otIp6AddressFromString( const char *aString, otIp6Address *aAddress )
Konwertuje zrozumiały dla człowieka ciąg adresu IPv6 na binarną reprezentację.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otIp6AddressToString
void otIp6AddressToString( const otIp6Address *aAddress, char *aBuffer, uint16_t aSize )
Konwertuje adres IPv6 na ciąg zrozumiały dla człowieka.
Ciąg adresu IPv6 ma format 16 wartości szesnastkowych rozdzielonych znakiem „:” (czyli "%x:%x:%x:...:%x").
Jeśli powstały ciąg znaków nie mieści się w polu aBuffer
(łącznie ze znakami aSize
), zostanie on obcięty, ale wyjściowy ciąg będzie zawsze miał wartość null.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
otIp6ArePrefixesEqual
bool otIp6ArePrefixesEqual( const otIp6Prefix *aFirst, const otIp6Prefix *aSecond )
Sprawdź, czy 2 prefiksy IPv6 są takie same.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otIp6GetBorderRoutingCounters
const otBorderRoutingCounters * otIp6GetBorderRoutingCounters( otInstance *aInstance )
Pobiera liczniki routingu granic.
Funkcja czasu kompilacji OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE
musi być włączona.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik do liczników tras granicznych.
|
otIp6GetMulticastAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Pobiera listę adresów multiemisji IPv6 subskrybowanych w interfejsie wątku.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik do pierwszego adresu multiemisji interfejsu sieciowego.
|
otIp6GetPrefix
void otIp6GetPrefix( const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix )
Pobiera prefiks z wartością aLength
z tabeli aAddress
.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
otIp6GetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Pobiera listę adresów IPv6 przypisanych do interfejsu Thread.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wskaźnik do pierwszego adresu interfejsu sieciowego.
|
otIp6GetUnsecurePorts
const uint16_t * otIp6GetUnsecurePorts( otInstance *aInstance, uint8_t *aNumEntries )
Zwraca wskaźnik do listy niezabezpieczonych portów.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik do listy niezabezpieczonych portów.
|
otIp6HasUnicastAddress
bool otIp6HasUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Wskazuje, czy do interfejsu Thread jest przypisany adres IPv6 typu unicast.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otIp6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
Sprawdź, czy 2 adresy IPv6 są takie same.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otIp6IsAddressUnspecified
bool otIp6IsAddressUnspecified( const otIp6Address *aAddress )
Wskazuje, czy dany adres IPv6 jest nieokreślonym adresem.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otIp6IsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
Wskazuje, czy interfejs IPv6 jest aktywny.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otIp6IsMulticastPromiscuousEnabled
bool otIp6IsMulticastPromiscuousEnabled( otInstance *aInstance )
Sprawdza, czy w interfejsie Thread jest włączony tryb promensji grupowej.
Szczegóły | |||
---|---|---|---|
Parametry |
|
otIp6SetMulticastPromiscuousEnabled
otIp6IsReceiveFilterEnabled
bool otIp6IsReceiveFilterEnabled( otInstance *aInstance )
Wskazuje, czy ruch kontroli wątku jest odfiltrowywany podczas dostarczania datagramów IPv6 przez wywołanie zwrotne określone w funkcji otIp6SetReceiveCallback().
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Wartość TRUE, jeśli ruch kontroli wątku jest odfiltrowywany, lub wartość FALSE w przeciwnym razie.
|
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled
otIp6IsSlaacEnabled
bool otIp6IsSlaacEnabled( otInstance *aInstance )
Wskazuje, czy moduł SLAAC jest włączony.
Funkcja czasu kompilacji OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
musi być włączona.
Szczegóły | |||||
---|---|---|---|---|---|
Zwracane wartości |
|
otIp6NewMessage
otMessage * otIp6NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
Przydziel nowy bufor wiadomości do wysyłania wiadomości IPv6.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik do bufora wiadomości lub wartość NULL, jeśli nie są dostępne żadne bufory wiadomości lub parametry są nieprawidłowe.
|
otMessageFree
otIp6NewMessageFromBuffer
otMessage * otIp6NewMessageFromBuffer( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings )
Przydziel nowy bufor wiadomości i zapisz w nim datagram IPv6, aby wysłać wiadomość IPv6.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwroty |
Wskaźnik do wiadomości lub wartość NULL, jeśli nagłówek IPv6 ma nieprawidłowy format lub jest dostępna niewystarczająca liczba buforów wiadomości.
|
otMessageFree
otIp6PrefixFromString
otError otIp6PrefixFromString( const char *aString, otIp6Prefix *aPrefix )
Konwertuje zrozumiały dla człowieka ciąg prefiksu IPv6 na binarną reprezentację.
Parametr aString
powinien być ciągiem znaków w formacie „
to adres IPv6, a
to długość prefiksu.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otIp6PrefixMatch
uint8_t otIp6PrefixMatch( const otIp6Address *aFirst, const otIp6Address *aSecond )
Zwraca długość dopasowania prefiksu (w bitach) dla dwóch adresów IPv6.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Długość dopasowania prefiksu w bitach.
|
otIp6PrefixToString
void otIp6PrefixToString( const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize )
Konwertuje dany prefiks IPv6 na ciąg zrozumiały dla człowieka.
Ciąg adresu IPv6 ma format „%x:%x:%x:...[::]/plen”.
Jeśli powstały ciąg znaków nie mieści się w polu aBuffer
(łącznie ze znakami aSize
), zostanie on obcięty, ale wyjściowy ciąg będzie zawsze miał wartość null.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
otIp6ProtoToString
const char * otIp6ProtoToString( uint8_t aIpProto )
Konwertuje dany numer protokołu IP na ciąg zrozumiały dla człowieka.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
Ciąg reprezentujący nazwę
aIpProto . |
otIp6RegisterMulticastListeners
otError otIp6RegisterMulticastListeners( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext )
Rejestrowanie detektorów multiemisji w głównym routerze szkieletowym.
Aplikacje OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
i OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
muszą być włączone.
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwracane wartości |
|
otIp6RegisterMulticastListenersCallback
otIp6RemoveAllUnsecurePorts
void otIp6RemoveAllUnsecurePorts( otInstance *aInstance )
Usuwa wszystkie porty z listy dozwolonych niezabezpieczonych portów.
Szczegóły | |||
---|---|---|---|
Parametry |
|
otIp6RemoveUnicastAddress
otError otIp6RemoveUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Usuwa adres sieciowy z interfejsu Thread.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
otIp6RemoveUnsecurePort
otError otIp6RemoveUnsecurePort( otInstance *aInstance, uint16_t aPort )
Usuwa port z listy dozwolonych niezabezpieczonych portów.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
otIp6ResetBorderRoutingCounters
void otIp6ResetBorderRoutingCounters( otInstance *aInstance )
Resetuje liczniki wyznaczania tras granicznych.
Szczegóły | |||
---|---|---|---|
Parametry |
|
otIp6SelectSourceAddress
otError otIp6SelectSourceAddress( otInstance *aInstance, otMessageInfo *aMessageInfo )
Wybierz adres źródłowy OpenThread.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otIp6Send
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
Wysyła datagram IPv6 przez interfejs Thread.
Podczas nawiązywania połączenia rozmówca przenosi własność konta aMessage
. Po zakończeniu przetwarzania OpenThread zwolni aMessage
, nawet jeśli zostanie zwrócona wartość inna niż OT_ERROR_NONE
.
Szczegóły | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||
Zwracane wartości |
|
otIp6SetAddressCallback
void otIp6SetAddressCallback( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext )
Rejestruje wywołanie zwrotne w celu powiadamiania o zmianach wewnętrznych adresów IPv6.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
otIp6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
Przełącza interfejs IPv6 w górę lub w dół.
Wywołaj tę metodę, aby włączyć lub wyłączyć komunikację IPv6.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
OTIp6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Ustawia lokalny identyfikator IID sieci (do celów testowych).
Wymagana jest subskrypcja OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
otIp6SetMulticastPromiscuousEnabled
void otIp6SetMulticastPromiscuousEnabled( otInstance *aInstance, bool aEnabled )
Włącza lub wyłącza tryb komunikacji multiemisji w interfejsie Thread.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otIp6IsMulticastPromiscuousEnabled
otIp6SetReceiveCallback
void otIp6SetReceiveCallback( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext )
Rejestruje wywołanie zwrotne w celu dostarczenia odebranych datagramów IPv6.
Domyślnie to wywołanie zwrotne nie przekazuje ruchu kontrolnego Thread. Aby zmienić ustawienie filtra ruchu kontroli wątków, zobacz otIp6SetReceiveFilterEnabled().
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled( otInstance *aInstance, bool aEnabled )
Określa, czy ruch kontroli Thread jest odfiltrowywany podczas dostarczania datagramów IPv6 przez wywołanie zwrotne określone w otIp6SetReceiveCallback().
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otIp6SetReceiveCallback
otIsReceivedIp6FilterEnabled
otIp6SetSlaacEnabled
void otIp6SetSlaacEnabled( otInstance *aInstance, bool aEnabled )
Włącza lub wyłącza moduł SLAAC.
Funkcja czasu kompilacji OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
musi być włączona.
Gdy moduł SLAAC jest włączony, adresy SLAAC (na podstawie prefiksów w sieci typu mesh w danych sieci) są dodawane do interfejsu. Gdy moduł SLAAC jest wyłączony, wszystkie wcześniej dodane adresy SLAAC są usuwane.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otIp6SetSlaacPrefixFilter
void otIp6SetSlaacPrefixFilter( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter )
Konfiguruje moduł obsługi filtra modułu SLAAC.
Funkcja czasu kompilacji OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
musi być włączona.
Moduł obsługi filtra jest wywoływany przez moduł SLAAC, gdy ma zostać dodany adres SLAAC na podstawie prefiksu, aby określić, czy adres należy dodać.
Moduł obsługi filtra z wartością NULL wyłącza filtrowanie i umożliwia dodanie wszystkich adresów SLAAC.
Jeśli ta funkcja nie zostanie wywołana, domyślnym filtrem używanym przez moduł SLAAC będzie wartość NULL (filtrowanie jest wyłączone).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
otIp6SockAddrToString
void otIp6SockAddrToString( const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize )
Konwertuje podany adres gniazda IPv6 na ciąg zrozumiały dla człowieka.
Ciąg adresu IPv6 ma format [address
]:port
, gdzie address
jest wyświetlany jako 16 wartości szesnastkowych rozdzielonych znakiem :
, a port
to numer portu w formacie dziesiętnym, na przykład „[%x:%x:...:%x]:%u”.
Jeśli powstały ciąg znaków nie mieści się w polu aBuffer
(łącznie ze znakami aSize
), zostanie on obcięty, ale wyjściowy ciąg będzie zawsze miał wartość null.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
otIp6SubscribeMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Subskrybuje interfejs Thread na adres multiemisji interfejsu Network Interface.
Przekazana w instancji aAddress
zostanie skopiowana przez interfejs Thread. Interfejs Thread obsługuje tylko stałą liczbę dodanych zewnętrznie adresów multiemisji. Zobacz OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS
.
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||
Zwracane wartości |
|
otIp6UnsubscribeMulticastAddress
otError otIp6UnsubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Anuluje subskrypcję interfejsu Thread na adres multiemisji interfejsu sieciowego.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
Makra
OT_IP6_ADDRESS_SIZE
OT_IP6_ADDRESS_SIZE 16
Rozmiar adresu IPv6 (bajty)
OT_IP6_ADDRESS_STRING_SIZE
OT_IP6_ADDRESS_STRING_SIZE 40
Zalecany rozmiar adresu IPv6 w postaci ciągu znaków.
OT_IP6_HEADER_PROTO_OFFSET
OT_IP6_HEADER_PROTO_OFFSET 6
Przesunięcie pola proto w nagłówku IPv6 (bajty)
OT_IP6_HEADER_SIZE
OT_IP6_HEADER_SIZE 40
Rozmiar nagłówka IPv6 (bajty)
OT_IP6_IID_SIZE
OT_IP6_IID_SIZE 8
Rozmiar identyfikatora interfejsu IPv6 (bajty)
OT_IP6_MAX_MLR_ADDRESSES
OT_IP6_MAX_MLR_ADDRESSES 15
Maksymalna liczba adresów IPv6 obsługiwanych przez rejestrację detektora multiemisji.
OT_IP6_PREFIX_BITSIZE
OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)
Rozmiar prefiksu IPv6 (bity)
OT_IP6_PREFIX_SIZE
OT_IP6_PREFIX_SIZE 8
Rozmiar prefiksu IPv6 (bajty)
OT_IP6_PREFIX_STRING_SIZE
OT_IP6_PREFIX_STRING_SIZE 45
Zalecany rozmiar prefiksu IPv6 w postaci ciągu znaków.
OT_IP6_SOCK_ADDR_STRING_SIZE
OT_IP6_SOCK_ADDR_STRING_SIZE 48
Zalecany rozmiar adresu gniazda IPv6 w postaci ciągu znaków.
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.