IPv6

Ten moduł zawiera funkcje, które kontrolują komunikację IPv6.

Podsumowanie

Wyliczenia

anonymous enum{
  OT_ADDRESS_ORIGIN_THREAD = 0,
  OT_ADDRESS_ORIGIN_SLAAC = 1,
  OT_ADDRESS_ORIGIN_DHCPV6 = 2,
  OT_ADDRESS_ORIGIN_MANUAL = 3
}
enum | typ wyliczeniowy
Źródła adresów IPv6.
anonymous enum{
  OT_ECN_NOT_CAPABLE = 0x0,
  OT_ECN_CAPABLE_0 = 0x2,
  OT_ECN_CAPABLE_1 = 0x1,
  OT_ECN_MARKED = 0x3
}
enum | typ wyliczeniowy
Stany ECN reprezentowane w nagłówku IP.
anonymous enum{
  OT_IP6_PROTO_HOP_OPTS = 0,
  OT_IP6_PROTO_TCP = 6,
  OT_IP6_PROTO_UDP = 17,
  OT_IP6_PROTO_IP6 = 41,
  OT_IP6_PROTO_ROUTING = 43,
  OT_IP6_PROTO_FRAGMENT = 44,
  OT_IP6_PROTO_ICMP6 = 58,
  OT_IP6_PROTO_NONE = 59,
  OT_IP6_PROTO_DST_OPTS = 60
}
enum | typ wyliczeniowy
Numery protokołu internetowego.

Typy

otIp6Address typedef
struct otIp6Address
Ta struktura reprezentuje adres IPv6.
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
Ten wskaźnik funkcji jest wywoływany po dodaniu lub usunięciu wewnętrznego adresu IPv6.
otIp6AddressComponents typedef
Taka struktura reprezentuje komponenty adresu IPv6.
otIp6AddressInfo typedef
otIp6InterfaceIdentifier typedef
Ta struktura reprezentuje identyfikator interfejsu IPv6.
otIp6NetworkPrefix typedef
Ta struktura reprezentuje prefiks sieci adresu IPv6 (największy 64-bitowy adres adresu).
otIp6Prefix typedef
struct otIp6Prefix
Ta struktura reprezentuje prefiks IPv6.
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext) typedef
void(*
Ten wskaźnik funkcji jest wywoływany po odebraniu gramatyki IPv6.
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) typedef
void(*
Ten wskaźnik funkcji jest wywoływany z wynikami otIp6RegisterMulticastListeners.
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
bool(*
Ten wskaźnik funkcji umożliwia użytkownikowi filtrowanie prefiksów i nie pozwala na dodawanie adresu SLAAC na podstawie prefiksu.
otMessageInfo typedef
struct otMessageInfo
Ta struktura reprezentuje adresy lokalnego i równorzędnego protokołu IPv6.
otNetifAddress typedef
Ta struktura reprezentuje adres unicastu sieci IPv6.
otNetifMulticastAddress typedef
Ta struktura reprezentuje adres multiemisji interfejsu IPv6.
otSockAddr typedef
struct otSockAddr
Ta struktura reprezentuje adres gniazda IPv6.

Zmienne

OT_TOOL_PACKED_END

Funkcje

otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
Dodaj adres interfejsu sieciowego do interfejsu Thread.
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
Ta funkcja dodaje port do listy dozwolonych niezabezpieczonych portów.
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
Ta funkcja konwertuje czytelny dla człowieka ciąg adresu IPv6 na binarną reprezentację.
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
void
Ta funkcja konwertuje podany adres IPv6 na ciąg zrozumiały dla człowieka.
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
bool
Sprawdź, czy prefiksy IPv6 są takie same.
otIp6GetMulticastAddresses(otInstance *aInstance)
Pobierz listę adresów multiemisji IPv6 subskrybowanych w wątku.
otIp6GetUnicastAddresses(otInstance *aInstance)
const otNetifAddress *
Pobierz listę adresów IPv6 przypisanych do interfejsu Thread.
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
Ta funkcja zwraca wskaźnik do niezabezpieczonej listy portów.
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
Sprawdź, czy dwa adresy IPv6 są takie same.
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
bool
Ta funkcja wskazuje, czy dany adres IPv6 jest nieokreślony.
otIp6IsEnabled(otInstance *aInstance)
bool
Ta funkcja wskazuje, czy interfejs IPv6 działa.
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
bool
Sprawdź, czy w trybie wątku jest włączony tryb wysyłania zbiorczego.
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
bool
Ta funkcja wskazuje, czy ruch kontrolny związany z wątkami jest filtrowany, gdy są one wyświetlane przy odwołaniu do IPv6 przy użyciu wywołania zwrotnego podanego w funkcji otIp6SetReceiveCallback().
otIp6IsSlaacEnabled(otInstance *aInstance)
bool
Ta funkcja 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 dane w formacie IPv6 w buforze wiadomości, aby wysłać wiadomość IPv6.
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
Ta funkcja zwraca długość dopasowania prefiksu (bity) dla dwóch adresów IPv6.
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
void
Ta funkcja konwertuje dany prefiks IPv6 na zrozumiały dla człowieka ciąg znaków.
otIp6ProtoToString(uint8_t aIpProto)
const char *
Ta funkcja konwertuje określony 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)
Ta funkcja rejestruje detektory multiemisji na główny router szkieletowy.
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
void
Ta funkcja usuwa wszystkie porty z listy dozwolonych niezabezpieczonych portów.
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Usuń adres interfejsu sieciowego z interfejsu wątku.
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
Ta funkcja usuwa port z listy dozwolonych niezabezpieczonych portów.
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
Ta funkcja przeprowadza wybór adresu źródłowego OpenThread.
otIp6Send(otInstance *aInstance, otMessage *aMessage)
Ta funkcja wysyła gramofon IPv6 przez interfejs Thread.
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
Ta funkcja rejestruje wywołanie zwrotne, by powiadomić Cię o zmianie adresu IPv6.
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
Ta funkcja powoduje wyświetlenie lub wyłączenie interfejsu IPv6.
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
Ta funkcja ustawia lokalny identyfikator sieci typu mesh (do celów testowych).
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
void
Włącz tryb wyróżniania multiemisji w wątku.
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
Ta funkcja rejestruje wywołanie zwrotne, aby dostarczyć otrzymane gramy danych IPv6.
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
void
Ta funkcja określa, czy ruch związany z kontrolą wątku jest filtrowany, gdy są one wyświetlane przy odwołaniu do IPv6 przy użyciu wywołania zwrotnego podanego w otIp6SetReceiveCallback().
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
void
Ta funkcja włącza lub wyłącza moduł SLAAC.
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
Ta funkcja ustawia moduł obsługi filtrów modułu SLAAC.
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
Ta funkcja konwertuje podany adres gniazda protokołu IPv6 na ciąg zrozumiały dla człowieka.
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Zasubskrybuj interfejs wątku do adresu multiemisji interfejsu sieciowego.
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Anuluj subskrypcję interfejsu wątku na adres multiemisji interfejsu sieciowego.

Struktury

otIp6Address

Ta struktura reprezentuje adres IPv6.

otIp6AddressComponents

Taka struktura reprezentuje komponenty adresu IPv6.

otIp6AddressInfo

Ta struktura przedstawia informacje adresowe IPv6.

otIp6InterfaceIdentifier

Ta struktura reprezentuje identyfikator interfejsu IPv6.

otIp6NetworkPrefix

Ta struktura reprezentuje prefiks sieci adresu IPv6 (największy 64-bitowy adres adresu).

PrefiksIp66

Ta struktura reprezentuje prefiks IPv6.

otMessageInfo

Ta struktura reprezentuje adresy lokalnego i równorzędnego protokołu IPv6.

otNetifAddress

Ta struktura reprezentuje adres unicastu sieci IPv6.

otNetifMulticastAddress

Ta struktura reprezentuje adres multiemisji interfejsu IPv6.

otSockAddr

Ta struktura reprezentuje adres gniazda IPv6.

Związki

otIp6InterfaceIdentifier::OT_TOOL_PACKED_FIELD

Wyliczenia

anonimowa enum

 anonymous enum

Źródła adresów IPv6.

Właściwości
OT_ADDRESS_ORIGIN_DHCPV6

Przypisany adres DHCPv6.

OT_ADDRESS_ORIGIN_MANUAL

Ręcznie przypisany adres.

OT_ADDRESS_ORIGIN_SLAAC

Adres przypisany do SLAAC.

OT_ADDRESS_ORIGIN_THREAD

Przypisany wątek (ALOC, RLOC, MLEID itp.)

anonimowa enum

 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

Wykryto zator

OT_ECN_NOT_CAPABLE

Bez EEC.

anonimowa enum

 anonymous enum

Numery protokołu internetowego.

Właściwości
OT_IP6_PROTO_DST_OPTS

Opcje miejsca docelowego IPv6.

OT_IP6_PROTO_FRAGMENT

Nagłówek fragmentu IPv6.

OT_IP6_PROTO_HOP_OPTS

Opcja przeskoku IPv6.

OT_IP6_PROTO_ICMP6

ICMP dla IPv6.

OT_IP6_PROTO_IP6

Enkodowanie IPv6.

OT_IP6_PROTO_NONE

Brak następnego nagłówka IPv6.

OT_IP6_PROTO_ROUTING

Nagłówek routingu dla IPv6.

OT_IP6_PROTO_TCP

Protokół kontroli transmisji.

OT_IP6_PROTO_UDP

Usergram.

Typy

Adres otIp6

struct otIp6Address otIp6Address

Ta struktura reprezentuje adres IPv6.

Wywołanie zwrotne adresu otIp6

void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)

Ten wskaźnik funkcji jest wywoływany po dodaniu lub usunięciu wewnętrznego adresu IPv6.

Szczegóły
Parametry
[in] aAddressInfo
Wskaźnik informacji o adresie IPv6.
[in] aIsAdded
Wartość TRUE (prawda) została dodana (aAddress). Jeśli usunięto aAddress, ustaw wartość FALSE (fałsz).
[in] aContext
Wskaźnik kontekstu aplikacji.

otIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

Taka struktura reprezentuje komponenty adresu IPv6.

otIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

Ta struktura reprezentuje identyfikator interfejsu IPv6.

otIp6NetworkPrefiks

struct otIp6NetworkPrefix otIp6NetworkPrefix

Ta struktura reprezentuje prefiks sieci adresu IPv6 (największy 64-bitowy adres adresu).

Prefiks otIp6

struct otIp6Prefix otIp6Prefix

Ta struktura reprezentuje prefiks IPv6.

otIp6ReceiveCallback

void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)

Ten wskaźnik funkcji jest wywoływany po odebraniu gramatyki IPv6.

Szczegóły
Parametry
[in] aMessage
Wskaźnik bufora wiadomości zawierający odebrane danegram IPv6. Ta funkcja przekazuje własność elementu aMessage odbiornikowi wywołania zwrotnego. Wiadomość powinna zostać zwolniona przez odbiorcę po przetworzeniu wywołania zwrotnego (patrz otMessageFree()).
[in] aContext
Wskaźnik kontekstu aplikacji.

otIp6RegisterMulticastListenersCallback

void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)

Ten wskaźnik funkcji jest wywoływany z wynikami otIp6RegisterMulticastListeners.

Szczegóły
Parametry
[in] aContext
Wskaźnik kontekstu użytkownika.
[in] aError
OT_ERROR_NONE, gdy udało się wysłać MLR.req i otrzymać MLR.rsp, OT_ERROR_RESPONSE_TIMEOUT, gdy nie udało się odebrać MLR.rsp, OT_ERROR_PARSE, gdy nie udało się przeanalizować MLR.rsp.
[in] aMlrStatus
Stan rejestracji detektora Multicast, gdy aError to OT_ERROR_NONE.
[in] aFailedAddresses
Wskaźnik nieudanych adresów IPv6, gdy aError to OT_ERROR_NONE.
[in] aFailedAddressNum
Liczba nieudanych adresów IPv6, gdy aError to OT_ERROR_NONE.
Zobacz też:
otIp6RegisterMulticastListeners

OTIp6SlaacPrefixFilter

bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)

Ten wskaźnik funkcji umożliwia użytkownikowi filtrowanie prefiksów i nie pozwala na dodawanie adresu SLAAC na podstawie prefiksu.

Za pomocą otIp6SetSlaacPrefixFilter() można ustawić moduł obsługi filtrów. Moduł obsługi filtrów jest wywoływany przez moduł SLAAC, gdy ma dodać adres SLAAC na podstawie prefiksu. Zwracana wartość logiczna określa, czy adres jest filtrowany (niedodany), czy nie.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aPrefix
Wskaźnik wskazujący prefiks, który ma zostać dodany do adresu SLAAC.
Zwracane wartości
TRUE
Wskazuje, że adres SLAAC na podstawie prefiksu powinien być filtrowany i NIE należy go dodawać.
FALSE
Wskazuje, że należy dodać adres SLAAC na podstawie prefiksu.

otMessageInfo

struct otMessageInfo otMessageInfo

Ta struktura reprezentuje adresy lokalnego i równorzędnego protokołu IPv6.

AdresOotNetifAddress

struct otNetifAddress otNetifAddress

Ta struktura reprezentuje adres unicastu sieci IPv6.

Adres e-mailNetifMulticast

struct otNetifMulticastAddress otNetifMulticastAddress

Ta struktura reprezentuje adres multiemisji interfejsu IPv6.

OTSockAddr.

struct otSockAddr otSockAddr

Ta struktura reprezentuje adres gniazda IPv6.

Zmienne

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

Funkcje

otIp6Dodaj adres Unicast

otError otIp6AddUnicastAddress(
  otInstance *aInstance,
  const otNetifAddress *aAddress
)

Dodaj adres interfejsu sieciowego do interfejsu Thread.

Przekazywana instancja aAddress jest kopiowana przez interfejs wątku. Wątek z wątkiem obsługuje tylko stałą liczbę zewnętrznych adresów jednostronicowych. Zobacz OPENthread_CONFIG_IP6_MAX_EXT_UCAST_ADDRS.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aAddress
Wskaźnik adresu sieciowego.
Zwracane wartości
OT_ERROR_NONE
Adres sieciowy został dodany (lub zaktualizowany).
OT_ERROR_INVALID_ARGS
Adres IP wskazany przez aAddress jest adresem wewnętrznym.
OT_ERROR_NO_BUFS
Interfejs sieci przechowuje już maksymalną dozwoloną liczbę adresów zewnętrznych.

otIp6Dodawanie niezabezpieczonego portu

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Ta funkcja dodaje port do listy dozwolonych niezabezpieczonych portów.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aPort
Wartość portu.
Zwracane wartości
OT_ERROR_NONE
Port został dodany do listy dozwolonych niezabezpieczonych portów.
OT_ERROR_INVALID_ARGS
Port jest nieprawidłowy (wartość 0 jest zarezerwowana do użytku wewnętrznego).
OT_ERROR_NO_BUFS
Lista niezabezpieczonych portów jest pełna.

otIp6AddressFromString

otError otIp6AddressFromString(
  const char *aString,
  otIp6Address *aAddress
)

Ta funkcja konwertuje czytelny dla człowieka ciąg adresu IPv6 na binarną reprezentację.

Szczegóły
Parametry
[in] aString
Wskaźnik do ciągu z końcówką NULL.
[out] aAddress
Wskaźnik adresu IPv6.
Zwracane wartości
OT_ERROR_NONE
Ciąg został przeanalizowany.
OT_ERROR_INVALID_ARGS
Nie udało się przeanalizować ciągu znaków.

otIp6AddressToString (Parametr otIp6AddressToString)

void otIp6AddressToString(
  const otIp6Address *aAddress,
  char *aBuffer,
  uint16_t aSize
)

Ta funkcja konwertuje podany adres IPv6 na ciąg zrozumiały dla człowieka.

Ciąg adresu IPv6 ma format 16 wartości szesnastkowych rozdzielonych znakami „':'” (tj. "%x:%x:%x:...:%x").

Jeśli wynikowy ciąg nie zmieści się w polu aBuffer (w znakach aSize), zostanie on obcięty, ale przesyłany ciąg znaków będzie zawsze zakończony pustym ciągiem.

Szczegóły
Parametry
[in] aAddress
Wskaźnik adresu IPv6 (NIE MOŻE to być wartość NULL).
[out] aBuffer
Wskaźnik znaku tablicy w celu podania ciągu (NIE MOŻE to być wartość NULL).
[in] aSize
Rozmiar obiektu aBuffer (w bajtach). Zalecamy korzystanie z OT_IP6_ADDRESS_STRING_SIZE.

otIp6ArePrefixesEqual

bool otIp6ArePrefixesEqual(
  const otIp6Prefix *aFirst,
  const otIp6Prefix *aSecond
)

Sprawdź, czy prefiksy IPv6 są takie same.

Szczegóły
Parametry
[in] aFirst
Wskaźnik pierwszego prefiksu IPv6 do porównania.
[in] aSecond
Wskaźnik drugiego prefiksu IPv6 do porównania.
Zwracane wartości
TRUE
Oba prefiksy IPv6 są takie same.
FALSE
Oba prefiksy IPv6 są takie same.

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

Pobierz listę adresów multiemisji IPv6 subskrybowanych w wątku.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Wskaźnik pierwszego adresu multiemisji interfejsu sieciowego.

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

Pobierz listę adresów IPv6 przypisanych do interfejsu Thread.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
Wskaźnik pierwszego adresu sieciowego.

OTIp6GetNiezabezpieczone porty

const uint16_t * otIp6GetUnsecurePorts(
  otInstance *aInstance,
  uint8_t *aNumEntries
)

Ta funkcja zwraca wskaźnik do niezabezpieczonej listy portów.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[out] aNumEntries
Liczba pozycji na liście.
Zwroty
Wskaźnik wskazujący listę niezabezpieczonych portów.

otIp6IsAddressEqual

bool otIp6IsAddressEqual(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

Sprawdź, czy dwa adresy IPv6 są takie same.

Szczegóły
Parametry
[in] aFirst
Wskaźnik pierwszego adresu IPv6 do porównania.
[in] aSecond
Wskaźnik drugiego adresu IPv6 do porównania.
Zwracane wartości
TRUE
Oba adresy IPv6 są takie same.
FALSE
Adresy IPv6 nie są takie same.

otIp6IsAddress określony (nieokreślony)

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

Ta funkcja wskazuje, czy dany adres IPv6 jest nieokreślony.

Szczegóły
Parametry
[in] aAddress
Wskaźnik adresu IPv6.
Zwracane wartości
TRUE
Jeśli adres IPv6 jest nieokreślony.
FALSE
Jeśli adres IPv6 nie jest nieokreślonym adresem.

otIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

Ta funkcja wskazuje, czy interfejs IPv6 działa.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwracane wartości
TRUE
Interfejs IPv6 jest włączony.
FALSE
Interfejs IPv6 jest wyłączony.

OTIp6IsMulticastPromiscuousEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

Sprawdź, czy w trybie wątku jest włączony tryb wysyłania zbiorczego.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zobacz też:
otIp6SetMulticastPromiscuousEnabled

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

Ta funkcja wskazuje, czy ruch kontrolny związany z wątkami jest filtrowany, gdy są one wyświetlane przy odwołaniu do IPv6 przy użyciu wywołania zwrotnego podanego w funkcji otIp6SetReceiveCallback().

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwroty
TRUE, jeśli ruch związany z kontrolą wątku jest odfiltrowany. W przeciwnym razie ma wartość FALSE.
Zobacz też:
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

OTIp6IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

Ta funkcja wskazuje, czy moduł SLAAC jest włączony.

Ta funkcja wymaga włączenia funkcji kompilacji w czasie OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE.

Szczegóły
Zwracane wartości
TRUE
Moduł SLAAC jest włączony.
FALSE
Moduł SLAAC jest wyłączony.

otIp6Nowa wiadomość

otMessage * otIp6NewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

Przydziel nowy bufor wiadomości do wysyłania wiadomości IPv6.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aSettings
Wskaźnik ustawień wiadomości lub wartość NULL, aby skonfigurować ustawienia domyślne.
Zwroty
Wskaźnik do bufora wiadomości lub wartości NULL, jeśli nie są dostępne bufory wiadomości lub parametry są nieprawidłowe.
Zobacz też:
otMessageFree

otIp6NewMessageFromBuffer,

otMessage * otIp6NewMessageFromBuffer(
  otInstance *aInstance,
  const uint8_t *aData,
  uint16_t aDataLength,
  const otMessageSettings *aSettings
)

Przydziel nowy bufor wiadomości i zapisz dane w formacie IPv6 w buforze wiadomości, aby wysłać wiadomość IPv6.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aData
Wskaźnik do bufora datagramu IPv6.
[in] aDataLength
Rozmiar bufora datagramu IPv6 wskazany przez aData.
[in] aSettings
Wskaźnik ustawień wiadomości lub wartość NULL, aby skonfigurować ustawienia domyślne.
Zwroty
Wskaźnik wskazujący wiadomość lub wartość NULL, jeśli dostępny jest nieprawidłowy nagłówek IPv6 lub niewystarczające bufory wiadomości.
Zobacz też:
otMessageFree

otIp6PrefixMatch.

uint8_t otIp6PrefixMatch(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

Ta funkcja zwraca długość dopasowania prefiksu (bity) dla dwóch adresów IPv6.

Szczegóły
Parametry
[in] aFirst
Wskaźnik pierwszego adresu IPv6.
[in] aSecond
Wskaźnik drugiego adresu IPv6.
Zwroty
Długość dopasowania prefiksu w bitach.

otIp6PrefiksToString

void otIp6PrefixToString(
  const otIp6Prefix *aPrefix,
  char *aBuffer,
  uint16_t aSize
)

Ta funkcja konwertuje dany prefiks IPv6 na zrozumiały dla człowieka ciąg znaków.

Ciąg adresu IPv6 ma format "%x:%x:%x:...[::]/plen".

Jeśli wynikowy ciąg nie zmieści się w polu aBuffer (w znakach aSize), zostanie on obcięty, ale przesyłany ciąg znaków będzie zawsze zakończony pustym ciągiem.

Szczegóły
Parametry
[in] aPrefix
Wskaźnik prefiksu adresu IPv6 (NIE MOŻE to być wartość NULL).
[out] aBuffer
Wskaźnik znaku tablicy w celu podania ciągu (NIE MOŻE to być wartość NULL).
[in] aSize
Rozmiar obiektu aBuffer (w bajtach). Zalecamy korzystanie z OT_IP6_PREFIX_STRING_SIZE.

OTIp6ProtoToString

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

Ta funkcja konwertuje określony numer protokołu IP na ciąg zrozumiały dla człowieka.

Szczegóły
Parametry
[in] aIpProto
Numer protokołu IP (wyliczanie OT_IP6_PROTO_*).
Zwroty
Ciąg reprezentujący aIpProto.

otIp6RegisterMulticastListeners

otError otIp6RegisterMulticastListeners(
  otInstance *aInstance,
  const otIp6Address *aAddresses,
  uint8_t aAddressNum,
  const uint32_t *aTimeout,
  otIp6RegisterMulticastListenersCallback aCallback,
  void *aContext
)

Ta funkcja rejestruje detektory multiemisji na główny router szkieletowy.

Uwaga: dostępne tylko wtedy, gdy włączone są OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE i OPENTHREAD_CONFIG_COMMISSIONER_ENABLE).

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aAddresses
Tablica adresów multiemisji do zarejestrowania.
[in] aAddressNum
Liczba adresów multicast do zarejestrowania (0, jeśli aAddresses to NULL).
[in] aTimeout
Wskaźnik wartości limitu czasu (w sekundach), który ma zostać uwzględniony w MLR.req. Wartość czasu oczekiwania wynosząca 0 usuwa odpowiedni detektor Multicast. Jeśli ustawiona jest wartość NULL, plik MLR.req nie będzie domyślnie zawierał limitu czasu pliku Tlv.
[in] aCallback
Wskaźnik do funkcji wywołania zwrotnego.
[in] aContext
Wskaźnik kontekstu użytkownika.
Zwracane wartości
OT_ERROR_NONE
Udało się wysłać MLR.req. Element aCallback będzie miał nazwę „iff”, więc ta metoda zwraca błąd OT_ERROR_NONE.
OT_ERROR_BUSY
Jeśli wcześniejsza rejestracja była w toku.
OT_ERROR_INVALID_ARGS
Co najmniej jeden argument jest nieprawidłowy.
OT_ERROR_INVALID_STATE
Jeśli urządzenie nie było ważne, aby wysłać MLR.req (np. nie uruchomiono usługi Commissioner, nie znaleziono głównego routera szkieletowego).
OT_ERROR_NO_BUFS
Za mało dostępnych buforów wiadomości.
Zobacz też:
otIp6RegisterMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

Ta funkcja usuwa wszystkie porty z listy dozwolonych niezabezpieczonych portów.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.

otIp6RemoveUnicastAddress

otError otIp6RemoveUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Usuń adres interfejsu sieciowego z interfejsu wątku.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aAddress
Wskaźnik adresu IP.
Zwracane wartości
OT_ERROR_NONE
Adres interfejsu sieciowego został usunięty.
OT_ERROR_INVALID_ARGS
Adres IP wskazany przez aAddress jest adresem wewnętrznym.
OT_ERROR_NOT_FOUND
Nie znaleziono adresu IP określonego przez aAddress.

otIp6Usuń niezabezpieczone porty

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Ta funkcja usuwa port z listy dozwolonych niezabezpieczonych portów.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aPort
Wartość portu.
Zwracane wartości
OT_ERROR_NONE
Port został usunięty z listy dozwolonych zabezpieczonych portów.
OT_ERROR_INVALID_ARGS
Port jest nieprawidłowy (wartość 0 jest zarezerwowana do użytku wewnętrznego).
OT_ERROR_NOT_FOUND
Nie znaleziono portu na liście niezabezpieczonych portów.

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

Ta funkcja przeprowadza wybór adresu źródłowego OpenThread.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in,out] aMessageInfo
Wskaźnik informacji o wiadomości.
Zwracane wartości
OT_ERROR_NONE
Znaleziono adres źródłowy i znajduje się w mSockAddr pliku aMessageInfo.
OT_ERROR_NOT_FOUND
Nie znaleziono adresu źródłowego, a adres aMessageInfo jest taki sam.

OTIP6Send

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

Ta funkcja wysyła gramofon IPv6 przez interfejs Thread.

Rozmówca przenosi własność strony aMessage na takie połączenia. OpenThread zwolni aMessage po zakończeniu przetwarzania, także jeśli zostanie zwrócona wartość inna niż OT_ERROR_NONE.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aMessage
Wskaźnik bufora wiadomości zawierający datagram IPv6.
Zwracane wartości
OT_ERROR_NONE
Wiadomość została przetworzona.
OT_ERROR_DROP
Wiadomość została prawidłowo sformatowana, ale nie została w pełni przetworzona ze względu na reguły przetwarzania pakietów.
OT_ERROR_NO_BUFS
Nie udało się przydzielić niezbędnych buforów wiadomości podczas przetwarzania datagramu.
OT_ERROR_NO_ROUTE
Brak trasy do hosta.
OT_ERROR_INVALID_SOURCE_ADDRESS
Adres źródłowy jest nieprawidłowy, na przykład adres anycast lub multicast.
OT_ERROR_PARSE
Podczas przetwarzania wiadomości wystąpił nieprawidłowy nagłówek.

otIp6SetAddressCallback

void otIp6SetAddressCallback(
  otInstance *aInstance,
  otIp6AddressCallback aCallback,
  void *aCallbackContext
)

Ta funkcja rejestruje wywołanie zwrotne, by powiadomić Cię o zmianie adresu IPv6.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aCallback
Wskaźnik do funkcji wywoływanej po dodaniu lub usunięciu wewnętrznego adresu IPv6. Wartość NULL, by wyłączyć wywołanie zwrotne.
[in] aCallbackContext
Wskaźnik kontekstu aplikacji.

OTIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Ta funkcja powoduje wyświetlenie lub wyłączenie interfejsu IPv6.

Wywołaj tę funkcję, aby włączyć lub wyłączyć komunikację IPv6.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aEnabled
PRAWDA, aby włączyć IPv6; w przeciwnym razie ma wartość FAŁSZ.
Zwracane wartości
OT_ERROR_NONE
Interfejs IPv6 został przeniesiony w górę lub w dół.
OT_ERROR_INVALID_STATE
Interfejs IPv6 jest niedostępny, ponieważ urządzenie działa w trybie nieprzetworzonego linku (tylko w przypadku włączenia funkcji OPENTHREAD_CONFIG_LINK_RAW_ENABLE).

OTIp6SetMeshLocalIid

otError otIp6SetMeshLocalIid(
  otInstance *aInstance,
  const otIp6InterfaceIdentifier *aIid
)

Ta funkcja ustawia lokalny identyfikator sieci typu mesh (do celów testowych).

To ustawienie jest dostępne tylko wtedy, gdy funkcja OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE jest włączona.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aIid
Wskaźnik do lokalnego identyfikatora sieci typu mesh do ustawienia.
Zwracane wartości
OT_ERROR_NONE
Udało się ustawić lokalny identyfikator sieci typu mesh.
OT_ERROR_INVALID_STATE
Protokoły wątków są włączone.

OTIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Włącz tryb wyróżniania multiemisji w wątku.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aEnabled
Wartość TRUE (prawda), aby włączyć tryb przesyłania zbiorczego, w przeciwnym razie ma wartość FALSE (fałsz).
Zobacz też:
otIp6IsMulticastPromiscuousEnabled

otIp6SetReceiveCallback

void otIp6SetReceiveCallback(
  otInstance *aInstance,
  otIp6ReceiveCallback aCallback,
  void *aCallbackContext
)

Ta funkcja rejestruje wywołanie zwrotne, aby dostarczyć otrzymane gramy danych IPv6.

Domyślnie to wywołanie zwrotne nie przekazuje ruchu kontrolnego wątku. Zobacz sekcję otIp6SetReceiveFilterEnabled(), aby zmienić ustawienie filtra ruchu kontrolnego wątku.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aCallback
Wskaźnik do funkcji wywoływanej po odebraniu danych data IPv6 lub NULL, aby wyłączyć wywołanie zwrotne.
[in] aCallbackContext
Wskaźnik kontekstu aplikacji.
Zobacz też:
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled

otIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Ta funkcja określa, czy ruch związany z kontrolą wątku jest filtrowany, gdy są one wyświetlane przy odwołaniu do IPv6 przy użyciu wywołania zwrotnego podanego w otIp6SetReceiveCallback().

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aEnabled
TRUE, jeśli ruch związany z kontrolą wątku jest odfiltrowany. W przeciwnym razie ma wartość FALSE.
Zobacz też:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

OTIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Ta funkcja włącza lub wyłącza moduł SLAAC.

Ta funkcja wymaga włączenia funkcji kompilacji w czasie OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE.

Gdy moduł SLAAC jest włączony, adresy SLAAC (na podstawie prefiksów sieci typu mesh w danych sieciowych) są dodawane do interfejsu. Gdy moduł SLAAC jest wyłączony, wcześniej dodany adres SLAAC jest usuwany.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aEnabled
TRUE (prawda), aby włączyć, lub FALSE (fałsz), by wyłączyć.

OTIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

Ta funkcja ustawia moduł obsługi filtrów modułu SLAAC.

Ta funkcja wymaga włączenia funkcji kompilacji w czasie OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE.

Moduł obsługi filtrów jest wywoływany przez moduł SLAAC, gdy ma zostać dodany adres SLAAC na podstawie prefiksu, który określa, czy adres powinien zostać dodany.

Moduł obsługi filtrów 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 w module SLAAC będzie NULL (filtrowanie jest wyłączone).

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aFilter
Wskaźnik wskazujący moduł filtrowania prefiksu SLAAC lub NULL, aby wyłączyć filtrowanie.

OTIP6SockAddrToString

void otIp6SockAddrToString(
  const otSockAddr *aSockAddr,
  char *aBuffer,
  uint16_t aSize
)

Ta funkcja konwertuje podany adres gniazda protokołu IPv6 na ciąg zrozumiały dla człowieka.

Ciąg adresu gniazda IPv6 ma format "[

]:" gdzie `
jest podawany jako 16 wartości szesnastkowych rozdzielonych ':' to numer portu w formacie dziesiętnym (np. "[%x:%x:...:%x]:%u")

Jeśli wynikowy ciąg nie zmieści się w polu aBuffer (w znakach aSize), zostanie on obcięty, ale przesyłany ciąg znaków będzie zawsze zakończony pustym ciągiem.

Szczegóły
Parametry
[in] aSockAddr
Wskaźnik do adresu gniazda IPv6 (NIE MOŻE to być wartość NULL).
[out] aBuffer
Wskaźnik znaku tablicy w celu podania ciągu (NIE MOŻE to być wartość NULL).
[in] aSize
Rozmiar obiektu aBuffer (w bajtach). Zalecamy korzystanie z OT_IP6_SOCK_ADDR_STRING_SIZE.

otIp6SubskrybujMulticast

otError otIp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Zasubskrybuj interfejs wątku do adresu multiemisji interfejsu sieciowego.

Przekazane w instancji aAddress zostanie skopiowane przez interfejs Thread. Interfejs Thread obsługuje tylko stałą liczbę adresów dodanych z zewnątrz. Zobacz OPENthread_CONFIG_IP6_MAX_EXT_MCAST_ADDRS.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aAddress
Wskaźnik adresu IP.
Zwracane wartości
OT_ERROR_NONE
Adres multiemisji interfejsu sieciowego został aktywowany.
OT_ERROR_ALREADY
Adres multicast jest już subskrybowany.
OT_ERROR_INVALID_ARGS
Adres IP wskazywany przez aAddress to nieprawidłowy adres multicast.
OT_ERROR_REJECTED
Adres IP wskazywany przez aAddress to wewnętrzny adres multicast.
OT_ERROR_NO_BUFS
Interfejs sieci przechowuje już maksymalną dozwoloną liczbę zewnętrznych adresów grupowych.

otIp6Anuluj subskrypcję MulticastAdres

otError otIp6UnsubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Anuluj subskrypcję interfejsu wątku na adres multiemisji interfejsu sieciowego.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aAddress
Wskaźnik adresu IP.
Zwracane wartości
OT_ERROR_NONE
Anulowano subskrypcję Multicast adresu sieci.
OT_ERROR_REJECTED
Adres IP wskazany przez aAddress jest adresem wewnętrznym.
OT_ERROR_NOT_FOUND
Nie znaleziono adresu IP określonego przez aAddress.

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 na potrzeby ciągu znaków.

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

Rozmiar identyfikatora IPv6 (bajty)

OT_IP6_MAX_MLR_ADDRESSES

 OT_IP6_MAX_MLR_ADDRESSES 15

Maksymalna liczba adresów IPv6 obsługiwanych przez rejestrację detektorów grupowych.

OT_IP6_PREFIX_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

Rozmiar prefiksu IPv6 (w bitach)

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 do reprezentowania ciągu IPv6.

OT_IP6_SOCK_ADDR_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

Zalecany rozmiar do reprezentowania adresu gniazda IPv6.

Zasoby

Tematy referencyjne interfejsu API OpenThread pochodzą z kodu źródłowego i są dostępne w GitHub. Więcej informacji oraz dodatkowe informacje znajdziesz w materiałach.