Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

IPv6

Este módulo incluye funciones que controlan la comunicación IPv6.

Resumen

Enumeraciones

anonymous enum {
OT_ADDRESS_ORIGIN_THREAD = 0,
OT_ADDRESS_ORIGIN_SLAAC = 1,
OT_ADDRESS_ORIGIN_DHCPV6 = 2,
OT_ADDRESS_ORIGIN_MANUAL = 3
}
enumeración
Orígenes de la dirección IPv6.

Typedefs

otIp6Address typedef
struct otIp6Address
Esta estructura representa una dirección IPv6.
otIp6AddressCallback )(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
Este puntero de función se llama cuando se agrega o elimina una dirección IPv6 interna.
otIp6AddressComponents typedef
Esta estructura representa los componentes de una dirección IPv6.
otIp6AddressInfo typedef
otIp6InterfaceIdentifier typedef
Esta estructura representa el identificador de interfaz de una dirección IPv6.
otIp6NetworkPrefix typedef
Esta estructura representa el prefijo de red de una dirección IPv6 (los 64 bits más significativos de la dirección).
otIp6Prefix typedef
struct otIp6Prefix
Esta estructura representa un prefijo IPv6.
otIp6ReceiveCallback )(otMessage *aMessage, void *aContext) typedef
void(*
Este puntero de función se llama cuando se recibe un datagrama IPv6.
otIp6RegisterMulticastListenersCallback )(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) typedef
void(*
Este puntero de función se llama con los resultados de otIp6RegisterMulticastListeners .
otIp6SlaacPrefixFilter )(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
bool(*
Este puntero de función permite al usuario filtrar prefijos y no permitir que se agregue una dirección SLAAC basada en un prefijo.
otMessageInfo typedef
Esta estructura representa las direcciones de socket IPv6 locales y del mismo nivel.
otNetifAddress typedef
Esta estructura representa una dirección de unidifusión de interfaz de red IPv6.
otNetifMulticastAddress typedef
Esta estructura representa una dirección de multidifusión de interfaz de red IPv6.
otSockAddr typedef
struct otSockAddr
Esta estructura representa una dirección de socket IPv6.

Variables

OT_TOOL_PACKED_END

Funciones

otIp6AddUnicastAddress ( otInstance *aInstance, const otNetifAddress *aAddress)
Agregue una dirección de interfaz de red a la interfaz de subproceso.
otIp6AddUnsecurePort ( otInstance *aInstance, uint16_t aPort)
Esta función agrega un puerto a la lista de puertos no seguros permitidos.
otIp6AddressFromString (const char *aString, otIp6Address *aAddress)
Esta función convierte una cadena de direcciones IPv6 legible por humanos en una representación binaria.
otIp6AddressToString (const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
void
Esta función convierte una dirección IPv6 determinada en una cadena legible por humanos.
otIp6ArePrefixesEqual (const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
bool
Pruebe si dos prefijos de IPv6 son iguales.
otIp6GetMulticastAddresses ( otInstance *aInstance)
Obtenga la lista de direcciones de multidifusión IPv6 suscritas a la interfaz Thread.
otIp6GetUnicastAddresses ( otInstance *aInstance)
Obtenga la lista de direcciones IPv6 asignadas a la interfaz Thread.
otIp6GetUnsecurePorts ( otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
Esta función devuelve un puntero a la lista de puertos no seguros.
otIp6IsAddressEqual (const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
Pruebe si dos direcciones IPv6 son iguales.
otIp6IsAddressUnspecified (const otIp6Address *aAddress)
bool
Esta función indica si una dirección IPv6 dada es la dirección no especificada.
otIp6IsEnabled ( otInstance *aInstance)
bool
Esta función indica si la interfaz IPv6 está activa o no.
otIp6IsMulticastPromiscuousEnabled ( otInstance *aInstance)
bool
Compruebe si el modo promiscuo de multidifusión está habilitado en la interfaz Thread.
otIp6IsReceiveFilterEnabled ( otInstance *aInstance)
bool
Esta función indica si o no Thread tráfico de control se filtra a cabo cuando la entrega de datagramas IPv6 a través de la devolución de llamada especificado en otIp6SetReceiveCallback () .
otIp6IsSlaacEnabled ( otInstance *aInstance)
bool
Esta función indica si el módulo SLAAC está habilitado o no.
otIp6NewMessage ( otInstance *aInstance, const otMessageSettings *aSettings)
Asigne un nuevo búfer de mensajes para enviar un mensaje IPv6.
otIp6NewMessageFromBuffer ( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
Asigne un nuevo búfer de mensajes y escriba el datagrama IPv6 en el búfer de mensajes para enviar un mensaje IPv6.
otIp6PrefixMatch (const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
Esta función devuelve la longitud de coincidencia de prefijo (bits) para dos direcciones IPv6.
otIp6PrefixToString (const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
void
Esta función convierte un prefijo IPv6 dado en una cadena legible por humanos.
otIp6RegisterMulticastListeners ( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
Esta función registra a los oyentes de multidifusión en el enrutador principal principal.
otIp6RemoveAllUnsecurePorts ( otInstance *aInstance)
void
Esta función elimina todos los puertos de la lista de puertos no seguros permitidos.
otIp6RemoveUnicastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
Elimine una dirección de interfaz de red de la interfaz de subproceso.
otIp6RemoveUnsecurePort ( otInstance *aInstance, uint16_t aPort)
Esta función elimina un puerto de la lista de puertos no seguros permitidos.
otIp6SelectSourceAddress ( otInstance *aInstance, otMessageInfo *aMessageInfo)
Esta función realiza la selección de la dirección de origen de OpenThread.
otIp6Send ( otInstance *aInstance, otMessage *aMessage)
Esta función envía un datagrama IPv6 a través de la interfaz Thread.
otIp6SetAddressCallback ( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
Esta función registra una devolución de llamada para notificar los cambios de dirección IPv6 internos.
otIp6SetEnabled ( otInstance *aInstance, bool aEnabled)
Esta función sube / baja la interfaz IPv6.
otIp6SetMeshLocalIid ( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
Esta función establece el IID local de malla (con fines de prueba).
otIp6SetMulticastPromiscuousEnabled ( otInstance *aInstance, bool aEnabled)
void
Habilite el modo promiscuo de multidifusión en la interfaz Thread.
otIp6SetReceiveCallback ( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
Esta función registra una devolución de llamada para proporcionar datagramas IPv6 recibidos.
otIp6SetReceiveFilterEnabled ( otInstance *aInstance, bool aEnabled)
void
Esta función establece si o no hilo tráfico de control se filtra a cabo cuando la entrega de datagramas IPv6 a través de la devolución de llamada especificado en otIp6SetReceiveCallback () .
otIp6SetSlaacEnabled ( otInstance *aInstance, bool aEnabled)
void
Esta función habilita / deshabilita el módulo SLAAC.
otIp6SetSlaacPrefixFilter ( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
Esta función establece el controlador de filtro del módulo SLAAC.
otIp6SockAddrToString (const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
Esta función convierte una dirección de socket IPv6 dada en una cadena legible por humanos.
otIp6SubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
Suscriba la interfaz de subprocesos a una dirección de multidifusión de interfaz de red.
otIp6UnsubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
Anule la suscripción de la interfaz de subprocesos a una dirección de multidifusión de interfaz de red.

Estructuras

otIp6Address

Esta estructura representa una dirección IPv6.

otIp6AddressComponents

Esta estructura representa los componentes de una dirección IPv6.

otIp6AddressInfo

Esta estructura representa la información de la dirección IPv6.

otIp6InterfaceIdentifier

Esta estructura representa el identificador de interfaz de una dirección IPv6.

otIp6NetworkPrefix

Esta estructura representa el prefijo de red de una dirección IPv6 (los 64 bits más significativos de la dirección).

otIp6Prefijo

Esta estructura representa un prefijo IPv6.

otMessageInfo

Esta estructura representa las direcciones de socket IPv6 locales y del mismo nivel.

otNetifAddress

Esta estructura representa una dirección de unidifusión de interfaz de red IPv6.

otNetifMulticastAddress

Esta estructura representa una dirección de multidifusión de interfaz de red IPv6.

otSockAddr

Esta estructura representa una dirección de socket IPv6.

Sindicatos

otIp6InterfaceIdentifier :: OT_TOOL_PACKED_FIELD

Enumeraciones

enumeración anónima

 anonymous enum

Orígenes de la dirección IPv6.

Propiedades
OT_ADDRESS_ORIGIN_DHCPV6

Dirección asignada de DHCPv6.

OT_ADDRESS_ORIGIN_MANUAL

Dirección asignada manualmente.

OT_ADDRESS_ORIGIN_SLAAC

Dirección asignada de SLAAC.

OT_ADDRESS_ORIGIN_THREAD

Dirección asignada al hilo (ALOC, RLOC, MLEID, etc.)

Typedefs

otIp6Address

struct otIp6Address otIp6Address

Esta estructura representa una dirección IPv6.

otIp6AddressCallback

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

Este puntero de función se llama cuando se agrega o elimina una dirección IPv6 interna.

Detalles
Parámetros
[in] aAddressInfo
Un puntero a la información de la dirección IPv6.
[in] aIsAdded
TRUE si el aAddress se añadió, FALSE si aAddress se eliminó.
[in] aContext
Un puntero al contexto específico de la aplicación.

otIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

Esta estructura representa los componentes de una dirección IPv6.

otIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

Esta estructura representa el identificador de interfaz de una dirección IPv6.

otIp6NetworkPrefix

struct otIp6NetworkPrefix otIp6NetworkPrefix

Esta estructura representa el prefijo de red de una dirección IPv6 (los 64 bits más significativos de la dirección).

otIp6Prefijo

struct otIp6Prefix otIp6Prefix

Esta estructura representa un prefijo IPv6.

otIp6ReceiveCallback

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

Este puntero de función se llama cuando se recibe un datagrama IPv6.

Detalles
Parámetros
[in] aMessage
Un puntero al búfer de mensajes que contiene el datagrama IPv6 recibido. Esta función transfiere la propiedad de la aMessage al receptor de la devolución de llamada. El mensaje debe ser liberado por el receptor de la devolución de llamada después de que se procesa (ver otMessageFree () ).
[in] aContext
Un puntero al contexto específico de la aplicación.

otIp6RegisterMulticastListenersCallback

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

Este puntero de función se llama con los resultados de otIp6RegisterMulticastListeners .

Detalles
Parámetros
[in] aContext
Un puntero al contexto del usuario.
[in] aError
OT_ERROR_NONE cuando se envió correctamente MLR.req y recibió MLR.rsp, OT_ERROR_RESPONSE_TIMEOUT cuando no se pudo recibir MLR.rsp, OT_ERROR_PARSE cuando no se pudo analizar MLR.rsp.
[in] aMlrStatus
La Situación del registro de escucha de multidifusión cuando aError es OT_ERROR_NONE.
[in] aFailedAddresses
Un puntero a las direcciones IPv6 fallidos cuando aError es OT_ERROR_NONE.
[in] aFailedAddressNum
El número de direcciones IPv6 fallidos cuando aError es OT_ERROR_NONE.
Ver también:
otIp6RegisterMulticastListeners

otIp6SlaacPrefixFilter

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

Este puntero de función permite al usuario filtrar prefijos y no permitir que se agregue una dirección SLAAC basada en un prefijo.

otIp6SetSlaacPrefixFilter() se puede utilizar para configurar el controlador de filtro. El módulo SLAAC invoca el controlador de filtro cuando está a punto de agregar una dirección SLAAC basada en un prefijo. Su valor de retorno booleano determina si la dirección se filtra (no se agrega) o no.

Detalles
Parámetros
[in] aInstacne
Un puntero a una instancia de OpenThread.
[in] aPrefix
Un puntero al prefijo para el que se va a agregar la dirección SLAAC.
Valores devueltos
TRUE
Indica que la dirección SLAAC basada en el prefijo debe filtrarse y NO agregarse.
FALSE
Indica que se debe agregar la dirección SLAAC basada en el prefijo.

otMessageInfo

struct otMessageInfo otMessageInfo

Esta estructura representa las direcciones de socket IPv6 locales y del mismo nivel.

otNetifAddress

struct otNetifAddress otNetifAddress

Esta estructura representa una dirección de unidifusión de interfaz de red IPv6.

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

Esta estructura representa una dirección de multidifusión de interfaz de red IPv6.

otSockAddr

struct otSockAddr otSockAddr

Esta estructura representa una dirección de socket IPv6.

Variables

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

Funciones

otIp6AddUnicastAddress

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

Agregue una dirección de interfaz de red a la interfaz de subproceso.

El pasado-en la instancia aAddress se copia mediante la interfaz de rosca. La interfaz Thread solo admite un número fijo de direcciones de unidifusión agregadas externamente. Consulte OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aAddress
Un puntero a una dirección de interfaz de red.
Valores devueltos
OT_ERROR_NONE
Agregó (o actualizó) correctamente la dirección de interfaz de red.
OT_ERROR_INVALID_ARGS
La dirección IP indicada por aAddress es una dirección interna.
OT_ERROR_NO_BUFS
La interfaz de red ya está almacenando las direcciones externas máximas permitidas.

otIp6AddUnsecurePort

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Esta función agrega un puerto a la lista de puertos no seguros permitidos.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aPort
El valor del puerto.
Valores devueltos
OT_ERROR_NONE
El puerto se agregó correctamente a la lista de puertos no seguros permitidos.
OT_ERROR_INVALID_ARGS
El puerto no es válido (el valor 0 está reservado para uso interno).
OT_ERROR_NO_BUFS
La lista de puertos no seguros está llena.

otIp6AddressFromString

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

Esta función convierte una cadena de direcciones IPv6 legible por humanos en una representación binaria.

Detalles
Parámetros
[in] aString
Un puntero a una cadena terminada en NULL.
[out] aAddress
Un puntero a una dirección IPv6.
Valores devueltos
OT_ERROR_NONE
Analizó correctamente la cadena.
OT_ERROR_INVALID_ARGS
No se pudo analizar la cadena.

otIp6AddressToString

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

Esta función convierte una dirección IPv6 determinada en una cadena legible por humanos.

La cadena de dirección IPv6 tiene el formato de 16 valores hexadecimales separados por ':' (es decir, "% x:% x:% x: ...:% x").

Si la cadena resultante no encaja en aBuffer (dentro de sus aSize caracteres), se truncará la cadena pero la cadena emite siempre es terminada en nulo.

Detalles
Parámetros
[in] aAddress
Un puntero a una dirección IPv6 (NO DEBE ser NULO).
[out] aBuffer
Un puntero a una matriz de caracteres para generar la cadena (NO DEBE ser NULL).
[in] aSize
El tamaño de aBuffer (en bytes). Recomienda el uso de OT_IP6_ADDRESS_STRING_SIZE .

otIp6ArePrefixesEqual

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

Pruebe si dos prefijos de IPv6 son iguales.

Detalles
Parámetros
[in] aFirst
Un puntero al primer prefijo IPv6 para comparar.
[in] aSecond
Un puntero al segundo prefijo IPv6 para comparar.
Valores devueltos
TRUE
Los dos prefijos de IPv6 son iguales.
FALSE
Los dos prefijos de IPv6 no son iguales.

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

Obtenga la lista de direcciones de multidifusión IPv6 suscritas a la interfaz Thread.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
Devoluciones
Un puntero a la primera dirección de multidifusión de interfaz de red.

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

Obtenga la lista de direcciones IPv6 asignadas a la interfaz Thread.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
Devoluciones
Un puntero a la primera dirección de interfaz de red.

otIp6GetUnsecurePorts

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

Esta función devuelve un puntero a la lista de puertos no seguros.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[out] aNumEntries
El número de entradas en la lista.
Devoluciones
Un puntero a la lista de puertos no seguros.

otIp6IsAddressEqual

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

Pruebe si dos direcciones IPv6 son iguales.

Detalles
Parámetros
[in] aFirst
Un puntero a la primera dirección IPv6 para comparar.
[in] aSecond
Un puntero a la segunda dirección IPv6 para comparar.
Valores devueltos
TRUE
Las dos direcciones IPv6 son iguales.
FALSE
Las dos direcciones IPv6 no son iguales.

otIp6IsAddressUnspecified

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

Esta función indica si una dirección IPv6 dada es la dirección no especificada.

Detalles
Parámetros
[in] aAddress
Un puntero a una dirección IPv6.
Valores devueltos
TRUE
Si la dirección IPv6 es la dirección no especificada.
FALSE
Si la dirección IPv6 no es la dirección no especificada.

otIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

Esta función indica si la interfaz IPv6 está activa o no.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
Valores devueltos
TRUE
La interfaz IPv6 está habilitada.
FALSE
La interfaz IPv6 está deshabilitada.

otIp6IsMulticastPromiscuousEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

Compruebe si el modo promiscuo de multidifusión está habilitado en la interfaz Thread.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
Ver también:
otIp6SetMulticastPromiscuousEnabled

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

Esta función indica si o no Thread tráfico de control se filtra a cabo cuando la entrega de datagramas IPv6 a través de la devolución de llamada especificado en otIp6SetReceiveCallback () .

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
Devoluciones
VERDADERO si se filtra el tráfico de control de subprocesos, FALSO en caso contrario.
Ver también:
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

otIp6IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

Esta función indica si el módulo SLAAC está habilitado o no.

Esta función requiere la función del tiempo de construcción OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE esté habilitado.

Detalles
Valores devueltos
TRUE
El módulo SLAAC está habilitado.
FALSE
El módulo SLAAC está desactivado.

otIp6NewMessage

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

Asigne un nuevo búfer de mensajes para enviar un mensaje IPv6.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aSettings
Un puntero a la configuración del mensaje o NULL para establecer la configuración predeterminada.
Devoluciones
Un puntero al búfer de mensajes o NULL si no hay búfer de mensajes disponibles o los parámetros no son válidos.
Ver también:
otMessageFree

otIp6NewMessageFromBuffer

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

Asigne un nuevo búfer de mensajes y escriba el datagrama IPv6 en el búfer de mensajes para enviar un mensaje IPv6.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aData
Un puntero al búfer de datagramas IPv6.
[in] aDataLength
El tamaño del datagrama IPv6 buffer apuntado por aData .
[in] aSettings
Un puntero a la configuración del mensaje o NULL para establecer la configuración predeterminada.
Devoluciones
Un puntero al mensaje o NULL si hay disponible un encabezado IPv6 con formato incorrecto o búferes de mensajes insuficientes.
Ver también:
otMessageFree

otIp6PrefixMatch

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

Esta función devuelve la longitud de coincidencia de prefijo (bits) para dos direcciones IPv6.

Detalles
Parámetros
[in] aFirst
Un puntero a la primera dirección IPv6.
[in] aSecond
Un puntero a la segunda dirección IPv6.
Devoluciones
El prefijo coincide con la longitud en bits.

otIp6PrefixToString

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

Esta función convierte un prefijo IPv6 dado en una cadena legible por humanos.

La cadena de dirección IPv6 tiene el formato "% x:% x:% x: ... [::] / plen".

Si la cadena resultante no encaja en aBuffer (dentro de sus aSize caracteres), se truncará la cadena pero la cadena emite siempre es terminada en nulo.

Detalles
Parámetros
[in] aPrefix
Un puntero a un prefijo IPv6 (NO DEBE ser NULO).
[out] aBuffer
Un puntero a una matriz de caracteres para generar la cadena (NO DEBE ser NULL).
[in] aSize
El tamaño de aBuffer (en bytes). Recomienda el uso de OT_IP6_PREFIX_STRING_SIZE .

otIp6RegisterMulticastListeners

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

Esta función registra a los oyentes de multidifusión en el enrutador principal principal.

Nota: sólo está disponible cuando tanto OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE y OPENTHREAD_CONFIG_COMMISSIONER_ENABLE están habilitadas)

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aAddresses
Una matriz de direcciones de multidifusión para registrar.
[in] aAddressNum
El número de direcciones de multidifusión para registrarse (0 si aAddresses es NULL).
[in] aTimeout
Un puntero al valor del tiempo de espera (en segundos) que se incluirá en MLR.req. Un valor de tiempo de espera de 0 elimina el oyente de multidifusión correspondiente. Si es NULL, MLR.req no tendría Timeout Tlv por defecto.
[in] aCallback
Un puntero a la función de devolución de llamada.
[in] aContext
Un puntero al contexto del usuario.
Valores devueltos
OT_ERROR_NONE
MLR.req enviado con éxito. El aCallback se llamará si y sólo si esta OT_ERROR_NONE devuelve el método.
OT_ERROR_BUSY
Si un registro anterior estaba en curso.
OT_ERROR_INVALID_ARGS
Si uno o más argumentos no son válidos.
OT_ERROR_INVALID_STATE
Si el dispositivo no estaba en un estado válido para enviar MLR.req (por ejemplo, no se inició el comisionado, no se encontró el enrutador principal principal).
OT_ERROR_NO_BUFS
Si no hay suficientes búferes de mensajes disponibles.
Ver también:
otIp6RegisterMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

Esta función elimina todos los puertos de la lista de puertos no seguros permitidos.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.

otIp6RemoveUnicastAddress

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

Elimine una dirección de interfaz de red de la interfaz de subproceso.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aAddress
Un puntero a una dirección IP.
Valores devueltos
OT_ERROR_NONE
Se eliminó correctamente la dirección de interfaz de red.
OT_ERROR_INVALID_ARGS
La dirección IP indicada por aAddress es una dirección interna.
OT_ERROR_NOT_FOUND
La dirección IP indicada por aAddress no se ha encontrado.

otIp6RemoveUnsecurePort

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Esta función elimina un puerto de la lista de puertos no seguros permitidos.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aPort
El valor del puerto.
Valores devueltos
OT_ERROR_NONE
El puerto se eliminó correctamente de la lista de puertos no seguros permitidos.
OT_ERROR_INVALID_ARGS
El puerto no es válido (el valor 0 está reservado para uso interno).
OT_ERROR_NOT_FOUND
El puerto no se encontró en la lista de puertos no seguros.

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

Esta función realiza la selección de la dirección de origen de OpenThread.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in,out] aMessageInfo
Un puntero a la información del mensaje.
Valores devueltos
OT_ERROR_NONE
Encontrado una dirección de origen y se introduce en mSockAddr de aMessageInfo .
OT_ERROR_NOT_FOUND
Sin dirección de origen fue encontrado y aMessageInfo no se ha modificado.

otIp6Enviar

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

Esta función envía un datagrama IPv6 a través de la interfaz Thread.

La propiedad de las transferencias de llamadas de aMessage al hacer esta llamada. OpenThread liberará aMessage cuando se complete el proceso, incluyendo cuando un valor distinto de OT_ERROR_NONE se devuelve.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aMessage
Un puntero al búfer de mensajes que contiene el datagrama IPv6.
Valores devueltos
OT_ERROR_NONE
Procesó correctamente el mensaje.
OT_ERROR_DROP
El mensaje estaba bien formado pero no se procesó por completo debido a las reglas de procesamiento de paquetes.
OT_ERROR_NO_BUFS
No se pudieron asignar los búferes de mensajes necesarios al procesar el datagrama.
OT_ERROR_NO_ROUTE
No hay ruta al anfitrión.
OT_ERROR_INVALID_SOURCE_ADDRESS
La dirección de origen no es válida, por ejemplo, una dirección anycast o una dirección multicast.
OT_ERROR_PARSE
Se encontró un encabezado con formato incorrecto al procesar el mensaje.

otIp6SetAddressCallback

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

Esta función registra una devolución de llamada para notificar los cambios de dirección IPv6 internos.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aCallback
Puntero a una función a la que se llama cuando se agrega o elimina una dirección IPv6 interna. NULL para deshabilitar la devolución de llamada.
[in] aCallbackContext
Un puntero al contexto específico de la aplicación.

otIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Esta función sube / baja la interfaz IPv6.

Llame a esta función para habilitar / deshabilitar la comunicación IPv6.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aEnabled
TRUE para habilitar IPv6, FALSE en caso contrario.
Valores devueltos
OT_ERROR_NONE
Subió / bajó correctamente la interfaz IPv6.
OT_ERROR_INVALID_STATE
Interfaz de IPv6 no está disponible desde el dispositivo está funcionando en modo raw-link (sólo aplicable cuando OPENTHREAD_CONFIG_LINK_RAW_ENABLE función está activada).

otIp6SetMeshLocalIid

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

Esta función establece el IID local de malla (con fines de prueba).

Sólo está disponible cuando OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE está habilitado.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aIid
Un puntero al IID local de malla para establecer.
Valores devueltos
OT_ERROR_NONE
Configure correctamente el IID local de malla.
OT_ERROR_INVALID_STATE
Los protocolos de subprocesos están habilitados.

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Habilite el modo promiscuo de multidifusión en la interfaz Thread.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aEnabled
VERDADERO para habilitar el modo promiscuo de multidifusión, FALSO en caso contrario.
Ver también:
otIp6IsMulticastPromiscuousEnabled

otIp6SetReceiveCallback

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

Esta función registra una devolución de llamada para proporcionar datagramas IPv6 recibidos.

De forma predeterminada, esta devolución de llamada no pasa el tráfico de control de subprocesos. Ver otIp6SetReceiveFilterEnabled () para cambiar la configuración del filtro de control del tráfico de rosca.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aCallback
Un puntero a una función que se llama cuando se recibe un datagrama IPv6 o NULL para deshabilitar la devolución de llamada.
[in] aCallbackContext
Un puntero al contexto específico de la aplicación.
Ver también:
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled

otIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Esta función establece si o no hilo tráfico de control se filtra a cabo cuando la entrega de datagramas IPv6 a través de la devolución de llamada especificado en otIp6SetReceiveCallback () .

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aEnabled
VERDADERO si se filtra el tráfico de control de subprocesos, FALSO en caso contrario.
Ver también:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

otIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Esta función habilita / deshabilita el módulo SLAAC.

Esta función requiere la función del tiempo de construcción OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE esté habilitado.

Cuando el módulo SLAAC está habilitado, las direcciones SLAAC (basadas en prefijos en malla en los datos de red) se agregan a la interfaz. Cuando el módulo SLAAC está deshabilitado, se elimina cualquier dirección SLAAC agregada anteriormente.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aEnabled
TRUE para habilitar, FALSE para deshabilitar.

otIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

Esta función establece el controlador de filtro del módulo SLAAC.

Esta función requiere la función del tiempo de construcción OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE esté habilitado.

El módulo SLAAC llama al controlador de filtro cuando está a punto de agregar una dirección SLAAC basada en un prefijo para decidir si la dirección debe agregarse o no.

Un controlador de filtro NULL deshabilita el filtrado y permite que se agreguen todas las direcciones SLAAC.

Si no se llama a esta función, el filtro predeterminado utilizado por el módulo SLAAC será NULL (el filtrado está deshabilitado).

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aFilter
Un puntero al controlador de filtro de prefijo SLAAC, o NULL para deshabilitar el filtrado.

otIp6SockAddrToString

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

Esta función convierte una dirección de socket IPv6 dada en una cadena legible por humanos.

La cadena de dirección del socket IPv6 tiene el formato "[

]: "donde"
se muestra como 16 valores hexadecimales separados por ':' y es el número de puerto en formato decimal (es decir, "[% x:% x: ...:% x]:% u")

Si la cadena resultante no encaja en aBuffer (dentro de sus aSize caracteres), se truncará la cadena pero la cadena emite siempre es terminada en nulo.

Detalles
Parámetros
[in] aSockAddr
Un puntero a una dirección de socket IPv6 (NO DEBE ser NULL).
[out] aBuffer
Un puntero a una matriz de caracteres para generar la cadena (NO DEBE ser NULL).
[in] aSize
El tamaño de aBuffer (en bytes). Recomienda el uso de OT_IP6_SOCK_ADDR_STRING_SIZE .

otIp6SubscribeMulticastAddress

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

Suscriba la interfaz de subproceso a una dirección de multidifusión de interfaz de red.

El pasado en la instancia aAddress se copiarán por la interfaz de rosca. La interfaz Thread solo admite un número fijo de direcciones de multidifusión agregadas externamente. Consulte OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aAddress
Un puntero a una dirección IP.
Valores devueltos
OT_ERROR_NONE
Se suscribió correctamente a la dirección de multidifusión de interfaz de red.
OT_ERROR_ALREADY
La dirección de multidifusión ya está suscrita.
OT_ERROR_INVALID_ARGS
La dirección IP indicada por aAddress es una dirección no válida.
OT_ERROR_INVALID_STATE
La interfaz de red no está activa.
OT_ERROR_NO_BUFS
La interfaz de red ya está almacenando las direcciones de multidifusión externas máximas permitidas.

otIp6UnsubscribeMulticastAddress

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

Anule la suscripción de la interfaz de subprocesos a una dirección de multidifusión de interfaz de red.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aAddress
Un puntero a una dirección IP.
Valores devueltos
OT_ERROR_NONE
Se anuló con éxito la suscripción a la dirección de multidifusión de la interfaz de red.
OT_ERROR_INVALID_ARGS
La dirección IP indicada por aAddress es una dirección interna.
OT_ERROR_NOT_FOUND
La dirección IP indicada por aAddress no se ha encontrado.

Macros

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

Tamaño de una dirección IPv6 (bytes)

OT_IP6_ADDRESS_STRING_SIZE

 OT_IP6_ADDRESS_STRING_SIZE 40

Tamaño recomendado para la representación en cadena de una dirección IPv6.

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

Tamaño de un identificador de interfaz IPv6 (bytes)

OT_IP6_PREFIX_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

Tamaño de un prefijo IPv6 (bits)

OT_IP6_PREFIX_SIZE

 OT_IP6_PREFIX_SIZE 8

Tamaño de un prefijo IPv6 (bytes)

OT_IP6_PREFIX_STRING_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

Tamaño recomendado para la representación de cadena de un prefijo IPv6.

OT_IP6_SOCK_ADDR_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

Tamaño recomendado para la representación en cadena de una dirección de socket IPv6.