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

DNSv6

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

Resumen

Las funciones de este módulo sólo están disponibles si la función OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE está activado.

Enumeraciones

otDnsNat64Mode {
OT_DNS_NAT64_UNSPECIFIED = 0,
OT_DNS_NAT64_ALLOW = 1,
OT_DNS_NAT64_DISALLOW = 2
}
enumeración
Este tipo de enumeración representa el modo de NAT64 en un otDnsQueryConfig .
otDnsRecursionFlag {
OT_DNS_FLAG_UNSPECIFIED = 0,
OT_DNS_FLAG_RECURSION_DESIRED = 1,
OT_DNS_FLAG_NO_RECURSION = 2
}
enumeración
Este tipo de enumeración representa la bandera "recursión deseado" (RD) en un otDnsQueryConfig .

Typedefs

otDnsAddressCallback )(otError aError, const otDnsAddressResponse *aResponse, void *aContext) typedef
void(*
Este puntero de función se llama cuando se recibe una respuesta de DNS para una consulta de resolución de direcciones.
otDnsAddressResponse typedef
Este tipo es una representación opaca de una respuesta a una consulta de DNS de resolución de direcciones.
otDnsBrowseCallback )(otError aError, const otDnsBrowseResponse *aResponse, void *aContext) typedef
void(*
Este puntero de función se llama cuando se recibe una respuesta de DNS para una consulta de exploración (enumeración de instancia de servicio).
otDnsBrowseResponse typedef
Este tipo es una representación opaca de una respuesta a una consulta de DNS de exploración (enumeración de instancia de servicio).
otDnsQueryConfig typedef
Esta estructura representa una configuración de consulta de DNS.
otDnsServiceCallback )(otError aError, const otDnsServiceResponse *aResponse, void *aContext) typedef
void(*
Este puntero de función se llama cuando se recibe una respuesta de DNS para una consulta de resolución de instancia de servicio.
otDnsServiceInfo typedef
Esta estructura proporciona información para una instancia de servicio DNS.
otDnsServiceResponse typedef
Este tipo es una representación opaca de una respuesta a una consulta de DNS de resolución de instancia de servicio.
otDnsTxtEntry typedef
Esta estructura representa una entrada de registro TXT que representa un par clave / valor (RFC 6763 - sección 6.3).
otDnsTxtEntryIterator typedef
Esta estructura representa un iterador para entradas de registros TXT (pares clave / valor).

Funciones

otDnsAddressResponseGetAddress (const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Esta función obtiene una dirección IPv6 asociada con una respuesta DNS de resolución de dirección.
otDnsAddressResponseGetHostName (const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Esta función obtiene el nombre de host completo asociado con una respuesta de DNS de resolución de dirección.
otDnsBrowseResponseGetHostAddress (const otDnsBrowseResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Esta función obtiene la dirección IPv6 del host de una respuesta de búsqueda de DNS (enumeración de instancia de servicio).
otDnsBrowseResponseGetServiceInfo (const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo)
Esta función obtiene información para una instancia de servicio de una respuesta de búsqueda de DNS (enumeración de instancia de servicio).
otDnsBrowseResponseGetServiceInstance (const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize)
Esta función obtiene una instancia de servicio asociada con una respuesta de búsqueda de DNS (enumeración de instancia de servicio).
otDnsBrowseResponseGetServiceName (const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Esta función obtiene el nombre del servicio asociado con una respuesta de búsqueda de DNS (enumeración de instancia de servicio).
otDnsClientBrowse ( otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Esta función envía una consulta de búsqueda de DNS (enumeración de instancia de servicio) para un nombre de servicio dado.
otDnsClientGetDefaultConfig ( otInstance *aInstance)
Esta función obtiene la configuración de consulta predeterminada actual utilizada por el cliente DNS.
otDnsClientResolveAddress ( otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Esta función envía una consulta DNS de resolución de dirección para registros AAAA (IPv6) para un nombre de host dado.
otDnsClientResolveService ( otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Esta función envía una consulta de resolución de instancia de servicio DNS para una instancia de servicio determinada.
otDnsClientSetDefaultConfig ( otInstance *aInstance, const otDnsQueryConfig *aConfig)
void
Esta función establece la configuración de consulta predeterminada en el cliente DNS.
otDnsGetNextTxtEntry ( otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aEntry)
Esta función analiza los datos TXT de un iterador y obtiene la siguiente entrada de registro TXT (par clave / valor).
otDnsInitTxtEntryIterator ( otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength)
void
Esta función inicializa un iterador de registro TXT.
otDnsIsNameCompressionEnabled (void)
bool
Esta función indica si el modo de "compresión de nombres DNS" está habilitado o no.
otDnsServiceResponseGetHostAddress (const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Esta función obtiene la dirección IPv6 del host de una respuesta de resolución de instancia de servicio DNS.
otDnsServiceResponseGetServiceInfo (const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo)
Esta función obtiene información para una instancia de servicio a partir de una respuesta de resolución de instancia de servicio DNS.
otDnsServiceResponseGetServiceName (const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize)
Esta función obtiene el nombre de la instancia del servicio asociado con una respuesta de resolución de la instancia del servicio DNS.
otDnsSetNameCompressionEnabled (bool aEnabled)
void
Esta función habilita / deshabilita el modo de "compresión de nombres DNS".

Estructuras

otDnsQueryConfig

Esta estructura representa una configuración de consulta de DNS.

otDnsServiceInfo

Esta estructura proporciona información para una instancia de servicio DNS.

otDnsTxtEntry

Esta estructura representa una entrada de registro TXT que representa un par clave / valor (RFC 6763 - sección 6.3).

otDnsTxtEntryIterator

Esta estructura representa un iterador para entradas de registros TXT (pares clave / valor).

Enumeraciones

otDnsNat64Mode

 otDnsNat64Mode

Este tipo de enumeración representa el modo de NAT64 en un otDnsQueryConfig .

El modo NAT64 indica si se permite o no la traducción de direcciones NAT64 durante la resolución de direcciones del cliente DNS. Este modo sólo se utiliza cuando OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE está activado.

Propiedades
OT_DNS_NAT64_ALLOW

Permita la traducción de direcciones NAT64 durante la resolución de direcciones del cliente DNS.

OT_DNS_NAT64_DISALLOW

No permita la traducción de direcciones NAT64 durante la resolución de direcciones del cliente DNS.

OT_DNS_NAT64_UNSPECIFIED

No se especifica el modo NAT64. Utilice el modo NAT64 predeterminado.

otDnsRecursionFlag

 otDnsRecursionFlag

Este tipo de enumeración representa la bandera "recursión deseado" (RD) en un otDnsQueryConfig .

Propiedades
OT_DNS_FLAG_NO_RECURSION

Indica que el servidor de nombres DNS no puede resolver la consulta de forma recursiva.

OT_DNS_FLAG_RECURSION_DESIRED

Indica que el servidor de nombres DNS puede resolver la consulta de forma recursiva.

OT_DNS_FLAG_UNSPECIFIED

Indica que la bandera no está especificada.

Typedefs

otDnsAddressCallback

void(* otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext)

Este puntero de función se llama cuando se recibe una respuesta de DNS para una consulta de resolución de direcciones.

Dentro de esta devolución de llamada, el usuario puede utilizar otDnsAddressResponseGet{Item}() funciona junto con el aResponse puntero para obtener más información sobre la respuesta.

El aResponse puntero sólo se puede utilizar dentro de esta devolución de llamada y después de regresar de esta función no permanecerá válida, por lo que el usuario no debe retener el aResponse puntero para su uso posterior.

El aError puede tener la siguiente:

Detalles
Parámetros
[in] aError
El resultado de la transacción de DNS.
[in] aResponse
Un puntero a la respuesta (siempre no es NULL).
[in] aContext
Un puntero al contexto específico de la aplicación.

  • OT_ERROR_NONE Se recibió una respuesta con éxito.
  • OT_ERROR_ABORT La pila anuló una transacción de DNS.
  • OT_ERROR_RESPONSE_TIMEOUT No se ha recibido respuesta de DNS dentro del tiempo de espera.

Si el servidor rechaza la solicitud de resolución de direcciones, el código de error del servidor se asigna de la siguiente manera:

  • (0) NOERROR Correcto (sin condición de error) -> OT_ERROR_NONE
  • (1) El servidor FORMERR no puede interpretar debido a un error de formato -> OT_ERROR_PARSE
  • (2) El servidor SERVFAIL encontró una falla interna -> OT_ERROR_FAILED
  • (3) NXDOMAIN Nombre que debería existir, no existe -> OT_ERROR_NOT_FOUND
  • (4) El servidor NOTIMP no admite el tipo de consulta (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) RECHAZADO Servidor rechazado por motivos de política / seguridad -> OT_ERROR_SECURITY
  • (6) YXDOMAIN Algún nombre que no debería existir, existe -> OT_ERROR_DUPLICATED
  • (7) YXRRSET Algún RRset que no debería existir, existe -> OT_ERROR_DUPLICATED
  • (8) NXRRSET Algún RRset que debería existir, no existe -> OT_ERROR_NOT_FOUND
  • (9) NOTAUTH El servicio no está autorizado para la zona -> OT_ERROR_SECURITY
  • (10) NOTZONE Un nombre no está en la zona -> OT_ERROR_PARSE
  • (20) BADNAME Mal nombre -> OT_ERROR_PARSE
  • (21) BADALG Mal algoritmo -> OT_ERROR_SECURITY
  • (22) BADTRUN Truncamiento incorrecto -> OT_ERROR_PARSE
  • Otros códigos de respuesta -> OT_ERROR_FAILED

otDnsAddressResponse

struct otDnsAddressResponse otDnsAddressResponse

Este tipo es una representación opaca de una respuesta a una consulta de DNS de resolución de direcciones.

Los punteros a instancia de este tipo se proporcionan a partir de devolución de llamada otDnsAddressCallback .

otDnsBrowseCallback

void(* otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext)

Este puntero de función se llama cuando se recibe una respuesta de DNS para una consulta de exploración (enumeración de instancia de servicio).

Dentro de esta devolución de llamada, el usuario puede utilizar otDnsBrowseResponseGet{Item}() funciona junto con el aResponse puntero para obtener más información sobre la respuesta.

El aResponse puntero sólo se puede utilizar dentro de esta devolución de llamada y después de regresar de esta función no permanecerá válida, por lo que el usuario no debe retener el aResponse puntero para su uso posterior.

La lista completa de posibles valores para aError , consulte otDnsAddressCallback() .

Detalles
Parámetros
[in] aError
El resultado de la transacción de DNS.
[in] aResponse
Un puntero a la respuesta (siempre no es NULL).
[in] aContext
Un puntero al contexto específico de la aplicación.

otDnsBrowseResponse

struct otDnsBrowseResponse otDnsBrowseResponse

Este tipo es una representación opaca de una respuesta a una consulta de DNS de exploración (enumeración de instancia de servicio).

Los punteros a instancia de este tipo se proporcionan a partir de devolución de llamada otDnsBrowseCallback .

otDnsQueryConfig

struct otDnsQueryConfig otDnsQueryConfig

Esta estructura representa una configuración de consulta de DNS.

Cualquiera de los campos de esta estructura se puede establecer en cero para indicar que no está especificado. Como los campos especificados son tratadas se determina por la función que utiliza la instancia de otDnsQueryConfig .

otDnsServiceCallback

void(* otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext)

Este puntero de función se llama cuando se recibe una respuesta de DNS para una consulta de resolución de instancia de servicio.

Dentro de esta devolución de llamada, el usuario puede utilizar otDnsServiceResponseGet{Item}() funciona junto con el aResponse puntero para obtener más información sobre la respuesta.

El aResponse puntero sólo se puede utilizar dentro de esta devolución de llamada y después de regresar de esta función no permanecerá válida, por lo que el usuario no debe retener el aResponse puntero para su uso posterior.

La lista completa de posibles valores para aError , consulte otDnsAddressCallback() .

Detalles
Parámetros
[in] aError
El resultado de la transacción de DNS.
[in] aResponse
Un puntero a la respuesta (siempre no es NULL).
[in] aContext
Un puntero al contexto específico de la aplicación.

otDnsServiceInfo

struct otDnsServiceInfo otDnsServiceInfo

Esta estructura proporciona información para una instancia de servicio DNS.

otDnsServiceResponse

struct otDnsServiceResponse otDnsServiceResponse

Este tipo es una representación opaca de una respuesta a una consulta de DNS de resolución de instancia de servicio.

Los punteros a instancia de este tipo se proporcionan a partir de devolución de llamada otDnsAddressCallback .

otDnsTxtEntry

struct otDnsTxtEntry otDnsTxtEntry

Esta estructura representa una entrada de registro TXT que representa un par clave / valor (RFC 6763 - sección 6.3).

Los tampones cadena apuntada por mKey y mValue deben persistir y permanecer sin cambios después de una instancia de tal estructura se pasa a OpenThread (como parte de otSrpClientService ejemplo).

Una serie de otDnsTxtEntry entradas se utilizan en otSrpClientService para especificar el registro TXT completa (una lista de entradas).

otDnsTxtEntryIterator

struct otDnsTxtEntryIterator otDnsTxtEntryIterator

Esta estructura representa un iterador para entradas de registros TXT (pares clave / valor).

Los campos de datos de esta estructura están pensados ​​para que los utilice el núcleo de OpenThread y la persona que llama no debe leerlos ni cambiarlos.

Funciones

otDnsAddressResponseGetAddress

otError otDnsAddressResponseGetAddress(
  const otDnsAddressResponse *aResponse,
  uint16_t aIndex,
  otIp6Address *aAddress,
  uint32_t *aTtl
)

Esta función obtiene una dirección IPv6 asociada con una respuesta DNS de resolución de direcciones.

Esta función sólo se debe utilizar desde otDnsAddressCallback .

La respuesta puede incluir varios registros de direcciones IPv6. aIndex se puede utilizar para iterar a través de la lista de direcciones. El índice cero obtiene la primera dirección y así sucesivamente. Cuando se llega a final de la lista, OT_ERROR_NOT_FOUND se devuelve.

Detalles
Parámetros
[in] aResponse
Un indicador de la respuesta.
[in] aIndex
El índice de registro de direcciones que se va a recuperar.
[out] aAddress
Un puntero a una dirección IPv6 para generar la dirección (NO DEBE ser NULL).
[out] aTtl
Un puntero a un uint32_t a la salida TTL para la dirección. Puede ser NULL si la persona que llama no quiere obtener el TTL.
Valores devueltos
OT_ERROR_NONE
La dirección se leyó correctamente.
OT_ERROR_NOT_FOUND
No hay registro de dirección en aResponse en aIndex .
OT_ERROR_PARSE
No se pudo analizar los registros de la aResponse .

otDnsAddressResponseGetHostName

otError otDnsAddressResponseGetHostName(
  const otDnsAddressResponse *aResponse,
  char *aNameBuffer,
  uint16_t aNameBufferSize
)

Esta función obtiene el nombre de host completo asociado con una respuesta de DNS de resolución de dirección.

Esta función sólo se debe utilizar desde otDnsAddressCallback .

Detalles
Parámetros
[in] aResponse
Un indicador de la respuesta.
[out] aNameBuffer
Un búfer a una matriz de caracteres para generar el nombre completo del host (NO DEBE ser NULO).
[in] aNameBufferSize
El tamaño de aNameBuffer .
Valores devueltos
OT_ERROR_NONE
El nombre de host completo se leyó correctamente.
OT_ERROR_NO_BUFS
El nombre no cabe en aNameBuffer .

otDnsBrowseResponseGetHostAddress

otError otDnsBrowseResponseGetHostAddress(
  const otDnsBrowseResponse *aResponse,
  const char *aHostName,
  uint16_t aIndex,
  otIp6Address *aAddress,
  uint32_t *aTtl
)

Esta función obtiene la dirección IPv6 del host de una respuesta de búsqueda de DNS (enumeración de instancia de servicio).

Esta función sólo se debe utilizar desde otDnsBrowseCallback .

La respuesta puede incluir cero o más registros de direcciones IPv6. aIndex se puede utilizar para iterar a través de la lista de direcciones. El índice cero obtiene la primera dirección y así sucesivamente. Cuando se llega a final de la lista, OT_ERROR_NOT_FOUND se devuelve.

Detalles
Parámetros
[in] aResponse
Un indicador de la respuesta.
[in] aHostName
El nombre de host para obtener la dirección (NO DEBE ser NULO).
[in] aIndex
El índice de registro de direcciones que se va a recuperar.
[out] aAddress
Un puntero a una dirección IPv6 para generar la dirección (NO DEBE ser NULL).
[out] aTtl
Un puntero a un uint32_t a la salida TTL para la dirección. Puede ser NULL si la persona que llama no quiere obtener el TTL.
Valores devueltos
OT_ERROR_NONE
La dirección se leyó correctamente.
OT_ERROR_NOT_FOUND
No hay registro de dirección para aHostname en aResponse en aIndex .
OT_ERROR_PARSE
No se pudo analizar los registros de la aResponse .

otDnsBrowseResponseGetServiceInfo

otError otDnsBrowseResponseGetServiceInfo(
  const otDnsBrowseResponse *aResponse,
  const char *aInstanceLabel,
  otDnsServiceInfo *aServiceInfo
)

Esta función obtiene información para una instancia de servicio de una respuesta de búsqueda de DNS (enumeración de instancia de servicio).

Esta función sólo se debe utilizar desde otDnsBrowseCallback .

Una respuesta de búsqueda de DNS debe incluir los registros SRV, TXT y AAAA para las instancias de servicio que se enumeran (tenga en cuenta que es un requisito DEBE y no DEBE). Esta función intenta recuperar esta información para una instancia de servicio determinada cuando está disponible.

  • Si no se encuentra ningún registro SRV coincidente en aResponse , OT_ERROR_NOT_FOUND se devuelve.
  • Si se encuentra un registro SRV coincidente en aResponse , aServiceInfo se actualiza y OT_ERROR_NONE se devuelve.
  • Si no se encuentra ningún registro TXT coincidente en aResponse , mTxtDataSize en aServiceInfo se establece en cero.
  • Si no se encuentra ningún registro AAAA correspondiente en aResponse , mHostAddress is set to all zero or unspecified address.
  • If there are multiple AAAA records for the host name in @p aResponse, mHostAddress is set to the first one. The other addresses can be retrieved using otDnsBrowseResponseGetHostAddress () `.

Detalles
Parámetros
[in] aResponse
Un indicador de la respuesta.
[in] aInstanceLabel
La etiqueta de la instancia de servicio (NO DEBE ser NULL).
[out] aServiceInfo
Un ServiceInfo dar salida a la información de instancia de servicio (no debe ser nulo).
Valores devueltos
OT_ERROR_NONE
Se leyó la información de la instancia de servicio. aServiceInfo se actualiza.
OT_ERROR_NOT_FOUND
No se pudo encontrar un registro SRV juego para aInstanceLabel .
OT_ERROR_NO_BUFS
El nombre de host y / o los datos TXT no pueden caber en los búferes proporcionados.
OT_ERROR_PARSE
No se pudo analizar los registros de la aResponse .

otDnsBrowseResponseGetServiceInstance

otError otDnsBrowseResponseGetServiceInstance(
  const otDnsBrowseResponse *aResponse,
  uint16_t aIndex,
  char *aLabelBuffer,
  uint8_t aLabelBufferSize
)

Esta función obtiene una instancia de servicio asociada con una respuesta de búsqueda de DNS (enumeración de instancia de servicio).

Esta función sólo se debe utilizar desde otDnsBrowseCallback .

La respuesta puede incluir varios registros de instancias de servicio. aIndex se puede utilizar para iterar a través de la lista. El índice cero da el primer registro. Cuando se llega a final de la lista, OT_ERROR_NOT_FOUND se devuelve.

Tenga en cuenta que esta función obtiene la etiqueta de la instancia de servicio y no el nombre completo de la instancia de servicio, que tiene el formato . . . . .

Detalles
Parámetros
[in] aResponse
Un indicador de la respuesta.
[in] aIndex
El índice de registro de la instancia de servicio que se va a recuperar.
[out] aLabelBuffer
Un búfer a una matriz de caracteres para generar la etiqueta de instancia de servicio (NO DEBE ser NULL).
[in] aLabelBufferSize
El tamaño de aLabelBuffer .
Valores devueltos
OT_ERROR_NONE
La instancia de servicio se leyó correctamente.
OT_ERROR_NO_BUFS
El nombre no cabe en aNameBuffer .
OT_ERROR_NOT_FOUND
Ningún registro instancia de servicio en aResponse en aIndex .
OT_ERROR_PARSE
No se pudo analizar los registros de la aResponse .

otDnsBrowseResponseGetServiceName

otError otDnsBrowseResponseGetServiceName(
  const otDnsBrowseResponse *aResponse,
  char *aNameBuffer,
  uint16_t aNameBufferSize
)

Esta función obtiene el nombre del servicio asociado con una respuesta de búsqueda de DNS (enumeración de instancia de servicio).

Esta función sólo se debe utilizar desde otDnsBrowseCallback .

Detalles
Parámetros
[in] aResponse
Un indicador de la respuesta.
[out] aNameBuffer
Un búfer a una matriz de caracteres para generar el nombre del servicio (NO DEBE ser NULO).
[in] aNameBufferSize
El tamaño de aNameBuffer .
Valores devueltos
OT_ERROR_NONE
El nombre del servicio se leyó correctamente.
OT_ERROR_NO_BUFS
El nombre no cabe en aNameBuffer .

otDnsClientBrowse

otError otDnsClientBrowse(
  otInstance *aInstance,
  const char *aServiceName,
  otDnsBrowseCallback aCallback,
  void *aContext,
  const otDnsQueryConfig *aConfig
)

Esta función envía una consulta de búsqueda de DNS (enumeración de instancia de servicio) para un nombre de servicio determinado.

Esta función está disponible cuando OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE está activado.

El aConfig puede ser NULL. En este caso, la configuración por defecto (de otDnsClientGetDefaultConfig() ) será utilizado como la configuración para esta consulta. En un no-NULL aConfig , algunos de los campos se pueden dejar sin especificar (valor cero). Los campos no especificados se reemplazan por los valores de la configuración predeterminada.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aServiceName
El nombre del servicio para consultar (NO DEBE ser NULO).
[in] aCallback
Un puntero de función que se llamará en la recepción de respuesta o en el tiempo de espera.
[in] aContext
Un puntero a información de contexto arbitraria.
[in] aConfig
Un puntero a la configuración que se utilizará para esta consulta.
Valores devueltos
OT_ERROR_NONE
Consulta enviada con éxito. aCallback será invocado para informar del estado.
OT_ERROR_NO_BUFS
Búfer insuficiente para preparar y enviar la consulta.

otDnsClientGetDefaultConfig

const otDnsQueryConfig * otDnsClientGetDefaultConfig(
  otInstance *aInstance
)

Esta función obtiene la configuración de consulta predeterminada actual utilizada por el cliente DNS.

Cuando se inicia OpenThread pila, la configuración por defecto consulta DNS se determina a partir de un conjunto de opciones de configuración del AT como OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS , _DEFAULT_SERVER_PORT , _DEFAULT_RESPONSE_TIMEOUT , etc. (véase config/dns_client.h para todas las opciones de configuración relacionadas).

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
Devoluciones
Un puntero a la configuración predeterminada actual que está utilizando el cliente DNS.

otDnsClientResolveAddress

otError otDnsClientResolveAddress(
  otInstance *aInstance,
  const char *aHostName,
  otDnsAddressCallback aCallback,
  void *aContext,
  const otDnsQueryConfig *aConfig
)

Esta función envía una consulta DNS de resolución de dirección para registros AAAA (IPv6) para un nombre de host dado.

El aConfig puede ser NULL. En este caso, la configuración por defecto (de otDnsClientGetDefaultConfig() ) será utilizado como la configuración para esta consulta. En un no-NULL aConfig , algunos de los campos se pueden dejar sin especificar (valor cero). Los campos no especificados se reemplazan por los valores de la configuración predeterminada.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aHostName
El nombre de host para el cual consultar la dirección (NO DEBE ser NULO).
[in] aCallback
Un puntero de función que se llamará en la recepción de respuesta o en el tiempo de espera.
[in] aContext
Un puntero a información de contexto arbitraria.
[in] aConfig
Un puntero a la configuración que se utilizará para esta consulta.
Valores devueltos
OT_ERROR_NONE
Consulta enviada con éxito. aCallback será invocado para informar del estado.
OT_ERROR_NO_BUFS
Búfer insuficiente para preparar y enviar la consulta.

otDnsClientResolveService

otError otDnsClientResolveService(
  otInstance *aInstance,
  const char *aInstanceLabel,
  const char *aServiceName,
  otDnsServiceCallback aCallback,
  void *aContext,
  const otDnsQueryConfig *aConfig
)

Esta función envía una consulta de resolución de instancia de servicio DNS para una instancia de servicio determinada.

Esta función está disponible cuando OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE está activado.

El aConfig puede ser NULL. En este caso, la configuración por defecto (de otDnsClientGetDefaultConfig() ) será utilizado como la configuración para esta consulta. En un no-NULL aConfig , algunos de los campos se pueden dejar sin especificar (valor cero). Los campos no especificados se reemplazan por los valores de la configuración predeterminada.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aInstanceLabel
La etiqueta de la instancia de servicio.
[in] aServiceName
El nombre del servicio (junto con aInstanceLabel forman nombre de la instancia completa).
[in] aCallback
Un puntero de función que se llamará en la recepción de respuesta o en el tiempo de espera.
[in] aContext
Un puntero a información de contexto arbitraria.
[in] aConfig
Un puntero a la configuración que se utilizará para esta consulta.
Valores devueltos
OT_ERROR_NONE
Consulta enviada con éxito. aCallback será invocado para informar del estado.
OT_ERROR_NO_BUFS
Búfer insuficiente para preparar y enviar la consulta.
OT_ERROR_INVALID_ARGS
aInstanceLabel es NULL.

otDnsClientSetDefaultConfig

void otDnsClientSetDefaultConfig(
  otInstance *aInstance,
  const otDnsQueryConfig *aConfig
)

Esta función establece la configuración de consulta predeterminada en el cliente DNS.

Nota: Cualquier consulta en curso seguirá utilizando la configuración desde el momento en que se inició. La nueva configuración predeterminada se utilizará para futuras consultas de DNS. El aConfig puede ser NULL. En este caso, la configuración por defecto se ajustará a los valores predeterminados de opciones de configuración OT OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} . Esto restablece la configuración de consulta predeterminada a la configuración cuando se inicia la pila OpenThread.

En un no-NULL aConfig , llama puede optar por dejar algunos de los campos en otDnsQueryConfig ejemplo no especificado (valor cero). Los campos no especificados se sustituyen por los correspondientes config opción definiciones OT OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} para formar la configuración de consulta predeterminada.

Cuando OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_ADDRESS_AUTO_SET_ENABLE está activado, la dirección IPv6 del servidor en la configuración predeterminada se establece y actualizado por cliente DNS automáticamente. Esto se hace solo cuando el usuario no lo establece o especifica explícitamente. Este comportamiento requiere que el cliente SRP y su función de inicio automático estén habilitados. El cliente SRP luego monitoreará los datos de la red de subprocesos para las entradas del servicio DNS / SRP para seleccionar un servidor SRP. La dirección del servidor SRP seleccionado también se establece como la dirección del servidor DNS en la configuración predeterminada.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aConfig
Un puntero a la nueva configuración de consulta que se utilizará de forma predeterminada.

otDnsGetNextTxtEntry

otError otDnsGetNextTxtEntry(
  otDnsTxtEntryIterator *aIterator,
  otDnsTxtEntry *aEntry
)

Esta función analiza los datos TXT de un iterador y obtiene la siguiente entrada de registro TXT (par clave / valor).

El aIterator debe ser inicializado usando otDnsInitTxtEntryIterator() antes de llamar a esta función y los datos TXT tampón utilizado para inicializar el repetidor debe persistir y permanecer sin cambios. De lo contrario, el comportamiento de esta función no está definido.

Si la longitud de cadena de clave analizada es menor que o igual a OT_DNS_TXT_KEY_MAX_LENGTH (recomendado longitud de clave máximo) la cadena de la clave se devuelve en mKey en aEntry . Sin embargo, si la clave es más larga, entonces mKey se establece en NULL y toda la cadena de entrada codificada TXT se devuelve en mValue y mValueLength .

Detalles
Parámetros
[in] aIterator
Un puntero al iterador (NO DEBE ser NULO).
[out] aEntry
Un puntero a una otDnsTxtEntry estructura para dar salida a la entrada / lectura analizada (no debe ser NULL).
Valores devueltos
OT_ERROR_NONE
La siguiente entrada se analizó correctamente. aEntry se actualiza.
OT_ERROR_NOT_FOUND
No más entradas en los datos TXT.
OT_ERROR_PARSE
Los datos TXT de aIterator no está bien formado.

otDnsInitTxtEntryIterator

void otDnsInitTxtEntryIterator(
  otDnsTxtEntryIterator *aIterator,
  const uint8_t *aTxtData,
  uint16_t aTxtDataLength
)

Esta función inicializa un iterador de registro TXT.

El puntero de memoria intermedia aTxtData y su contenido deben persistir y permanecer sin cambios, mientras aIterator está siendo utilizado objeto.

Detalles
Parámetros
[in] aIterator
Un puntero al iterador para inicializar (NO DEBE ser NULO).
[in] aTxtData
Un puntero al búfer que contiene los datos TXT codificados.
[in] aTxtDataLength
La longitud (número de bytes) de aTxtData .

otDnsIsNameCompressionEnabled

bool otDnsIsNameCompressionEnabled(
  void
)

Esta función indica si el modo de "compresión de nombres DNS" está habilitado o no.

Esto es para prueba única y disponibles cuando OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE está activado config.

Detalles
Devoluciones
VERDADERO si el modo de "compresión de nombres DNS" está habilitado, FALSO de lo contrario

otDnsServiceResponseGetHostAddress

otError otDnsServiceResponseGetHostAddress(
  const otDnsServiceResponse *aResponse,
  const char *aHostName,
  uint16_t aIndex,
  otIp6Address *aAddress,
  uint32_t *aTtl
)

Esta función obtiene la dirección IPv6 del host de una respuesta de resolución de instancia de servicio DNS.

Esta función sólo se debe utilizar desde otDnsServiceCallback .

La respuesta puede incluir cero o más registros de direcciones IPv6. aIndex se puede utilizar para iterar a través de la lista de direcciones. El índice cero obtiene la primera dirección y así sucesivamente. Cuando se llega a final de la lista, OT_ERROR_NOT_FOUND se devuelve.

Detalles
Parámetros
[in] aResponse
Un indicador de la respuesta.
[in] aHostName
El nombre de host para obtener la dirección (NO DEBE ser NULO).
[in] aIndex
El índice de registro de direcciones que se va a recuperar.
[out] aAddress
Un puntero a una dirección IPv6 para generar la dirección (NO DEBE ser NULL).
[out] aTtl
Un puntero a un uint32_t a la salida TTL para la dirección. Puede ser NULL si la persona que llama no quiere obtener el TTL.
Valores devueltos
OT_ERROR_NONE
La dirección se leyó correctamente.
OT_ERROR_NOT_FOUND
No hay registro de dirección para aHostname en aResponse en aIndex .
OT_ERROR_PARSE
No se pudo analizar los registros de la aResponse .

otDnsServiceResponseGetServiceInfo

otError otDnsServiceResponseGetServiceInfo(
  const otDnsServiceResponse *aResponse,
  otDnsServiceInfo *aServiceInfo
)

Esta función obtiene información para una instancia de servicio a partir de una respuesta de resolución de instancia de servicio DNS.

Esta función sólo se debe utilizar desde otDnsServiceCallback .

  • Si no se encuentra ningún registro SRV coincidente en aResponse , OT_ERROR_NOT_FOUND se devuelve.
  • Si se encuentra un registro SRV coincidente en aResponse , aServiceInfo se actualiza y OT_ERROR_NONE se devuelve.
  • Si no se encuentra ningún registro TXT coincidente en aResponse , mTxtDataSize en aServiceInfo se establece en cero.
  • Si no se encuentra ningún registro AAAA correspondiente en aResponse , mHostAddress is set to all zero or unspecified address.
  • If there are multiple AAAA records for the host name in @p aResponse, mHostAddress is set to the first one. The other addresses can be retrieved using otDnsServiceResponseGetHostAddress () `.

Detalles
Parámetros
[in] aResponse
Un indicador de la respuesta.
[out] aServiceInfo
Un ServiceInfo dar salida a la información de instancia de servicio (no debe ser nulo).
Valores devueltos
OT_ERROR_NONE
Se leyó la información de la instancia de servicio. aServiceInfo se actualiza.
OT_ERROR_NOT_FOUND
No se pudo encontrar un registro SRV coincidente en aResponse .
OT_ERROR_NO_BUFS
El nombre de host y / o los datos TXT no pueden caber en los búferes proporcionados.
OT_ERROR_PARSE
No se pudo analizar los registros de la aResponse .

otDnsServiceResponseGetServiceName

otError otDnsServiceResponseGetServiceName(
  const otDnsServiceResponse *aResponse,
  char *aLabelBuffer,
  uint8_t aLabelBufferSize,
  char *aNameBuffer,
  uint16_t aNameBufferSize
)

Esta función obtiene el nombre de la instancia del servicio asociado con una respuesta de resolución de la instancia del servicio DNS.

Esta función sólo se debe utilizar desde otDnsServiceCallback .

Detalles
Parámetros
[in] aResponse
Un indicador de la respuesta.
[out] aLabelBuffer
Un búfer a una matriz de caracteres para generar la etiqueta de instancia de servicio (NO DEBE ser NULL).
[in] aLabelBufferSize
El tamaño de aLabelBuffer .
[out] aNameBuffer
Un búfer a una matriz de caracteres para generar el resto del nombre del servicio (puede ser NULL si el usuario no está interesado en obtener el nombre.
[in] aNameBufferSize
El tamaño de aNameBuffer .
Valores devueltos
OT_ERROR_NONE
El nombre del servicio se leyó correctamente.
OT_ERROR_NO_BUFS
O la etiqueta o el nombre no encajan en los búferes dados.

otDnsSetNameCompressionEnabled

void otDnsSetNameCompressionEnabled(
  bool aEnabled
)

Esta función habilita / deshabilita el modo de "compresión de nombres DNS".

De forma predeterminada, la compresión de nombres DNS está habilitada. Cuando está deshabilitado, los nombres DNS se agregan completos y nunca comprimidos. Esto es aplicable a los módulos cliente / servidor DNS y SRP de OpenThread.

Esto es para prueba única y disponibles cuando OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE está activado config.

Tenga en cuenta que en el caso OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE se utiliza, este modo se aplica a todas las instancias OpenThread (es decir, llamando esta función activa / desactiva el modo de compresión en todos los casos OpenThread).

Detalles
Parámetros
[in] aEnabled
TRUE para habilitar el modo de "compresión de nombres DNS", FALSE para deshabilitarlo.

Macros

OT_DNS_MAX_LABEL_SIZE

 OT_DNS_MAX_LABEL_SIZE 64

Tamaño máximo de la cadena de etiquetas (incluya un carácter nulo al final de la cadena).

OT_DNS_MAX_NAME_SIZE

 OT_DNS_MAX_NAME_SIZE 255

Tamaño máximo de cadena de nombre (incluye carácter nulo al final de la cadena).

OT_DNS_TXT_KEY_MAX_LENGTH

 OT_DNS_TXT_KEY_MAX_LENGTH 9

Longitud máxima recomendada de la cadena de claves de registro TXT (RFC 6763 - sección 6.4).

OT_DNS_TXT_KEY_MIN_LENGTH

 OT_DNS_TXT_KEY_MIN_LENGTH 1

Longitud mínima de la cadena de claves de registro TXT (RFC 6763 - sección 6.4).