Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

DNSv6

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

Resumen

Las funciones de este módulo están disponibles solo si la función OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE está habilitada.

Enumeraciones

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 el indicador "Recursion Desired" (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 direcciones.
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 determinado.
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

otDnsRecursionFlag

 otDnsRecursionFlag

Este tipo de enumeración representa el indicador "Recursion Desired" (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 usar las otDnsAddressResponseGet{Item}() junto con el puntero aResponse para obtener más información sobre la respuesta.

El puntero aResponse solo se puede usar dentro de esta devolución de llamada y después de regresar de esta función no seguirá siendo válido, por lo que el usuario NO DEBE retener el puntero aResponse para su uso posterior.

El aError puede tener lo 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 la instancia de este tipo se proporcionan desde la 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 usar las otDnsBrowseResponseGet{Item}() junto con el puntero aResponse para obtener más información sobre la respuesta.

El puntero aResponse solo se puede usar dentro de esta devolución de llamada y después de regresar de esta función no seguirá siendo válido, por lo que el usuario NO DEBE retener el puntero aResponse para uso posterior.

Para obtener la lista completa de valores posibles 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 la instancia de este tipo se proporcionan desde la 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. La función que utiliza la instancia de otDnsQueryConfig determina cómo se tratan los campos no especificados.

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 usar las otDnsServiceResponseGet{Item}() junto con el puntero aResponse para obtener más información sobre la respuesta.

El puntero aResponse solo se puede usar dentro de esta devolución de llamada y después de regresar de esta función no seguirá siendo válido, por lo que el usuario NO DEBE retener el puntero aResponse para su uso posterior.

Para obtener la lista completa de valores posibles 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 la instancia de este tipo se proporcionan desde la 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 búferes de cadena señalados por mKey y mValue DEBEN persistir y permanecer sin cambios después de que una instancia de dicha estructura se pase a OpenThread (como parte de la instancia de otSrpClientService ).

Se otDnsTxtEntry una matriz de entradas otDnsTxtEntry en otSrpClientService para especificar el registro TXT completo (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 dirección.

Esta función DEBE utilizarse únicamente desde otDnsAddressCallback .

La respuesta puede incluir varios registros de direcciones IPv6. aIndex se puede utilizar para recorrer la lista de direcciones. El índice cero obtiene la primera dirección y así sucesivamente. Cuando llegamos al final de la lista, se devuelve OT_ERROR_NOT_FOUND .

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 para generar 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 pudieron analizar los registros en 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 DEBE utilizarse únicamente 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 un 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 solo DEBE utilizarse desde otDnsBrowseCallback .

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

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 para generar 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 pudieron analizar los registros en 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 solo DEBE utilizarse 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 , se devuelve OT_ERROR_NOT_FOUND .
  • Si se encuentra un registro SRV coincidente en aResponse , aServiceInfo se actualiza y se devuelve OT_ERROR_NONE .
  • 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 coincidente 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 para generar la información de la instancia de servicio (NO DEBE ser NULL).
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 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 pudieron analizar los registros en 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 solo DEBE utilizarse desde otDnsBrowseCallback .

La respuesta puede incluir varios registros de instancias de servicio. aIndex se puede utilizar para recorrer la lista. El índice cero da el primer registro. Cuando llegamos al final de la lista, se devuelve OT_ERROR_NOT_FOUND .

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 un aNameBuffer .
OT_ERROR_NOT_FOUND
No hay registro de instancia de servicio en aResponse en aIndex .
OT_ERROR_PARSE
No se pudieron analizar los registros en 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 solo DEBE utilizarse 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 un 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á habilitado.

aConfig puede ser NULL. En este caso, la configuración predeterminada (de otDnsClientGetDefaultConfig() ) se utilizará como configuración para esta consulta. En un aConfig no NULL, algunos de los campos pueden dejarse 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 para informar el 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 la pila de OpenThread, la configuración de consulta DNS predeterminada se determina a partir de un conjunto de opciones de configuración OT como OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS , _DEFAULT_SERVER_PORT , _DEFAULT_RESPONSE_TIMEOUT , etc. (consulte las opciones de configuración relacionadas) config/dns_client.h .

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.

aConfig puede ser NULL. En este caso, la configuración predeterminada (de otDnsClientGetDefaultConfig() ) se utilizará como configuración para esta consulta. En un aConfig no NULL, algunos de los campos pueden dejarse 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 para informar el 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á habilitado.

aConfig puede ser NULL. En este caso, la configuración predeterminada (de otDnsClientGetDefaultConfig() ) se utilizará como configuración para esta consulta. En un aConfig no NULL, algunos de los campos pueden dejarse 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 el nombre completo de la instancia).
[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 para informar el 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 continuará usando la configuración desde que se inició. La nueva configuración predeterminada se utilizará para futuras consultas de DNS. aConfig puede ser NULL. En este caso, la configuración predeterminada se establecerá con los valores predeterminados de las 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 aConfig no NULL, la persona que llama puede optar por dejar algunos de los campos en la instancia de otDnsQueryConfig especificar (valor cero). Los campos no especificados se reemplazan por las definiciones de opciones de configuración de OT correspondientes OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} para formar la configuración de consulta 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 el búfer de datos TXT usado para inicializar el iterador DEBE persistir y permanecer sin cambios. De lo contrario, el comportamiento de esta función no está definido.

Si la longitud de la cadena de clave analizada es menor o igual que OT_DNS_TXT_KEY_MAX_LENGTH (longitud de clave máxima recomendada), la cadena de clave se devuelve en mKey en aEntry . Pero si la clave es más larga, entonces mKey se establece en NULL y toda la cadena de entrada TXT codificada 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 estructura otDnsTxtEntry para generar la entrada analizada / leída (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án bien formados.

otDnsInitTxtEntryIterator

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

Esta función inicializa un iterador de registro TXT.

El puntero de búfer aTxtData y su contenido DEBEN persistir y permanecer sin cambios mientras se aIterator objeto de aIterator .

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 solo para pruebas y está disponible cuando la configuración OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE está habilitada.

Detalles
Devoluciones
VERDADERO si el modo de "compresión de nombres DNS" está habilitado, FALSO en caso 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 solo DEBE utilizarse desde otDnsServiceCallback .

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

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 para generar 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 pudieron analizar los registros en 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 solo DEBE utilizarse desde otDnsServiceCallback .

  • Si no se encuentra ningún registro SRV coincidente en aResponse , se devuelve OT_ERROR_NOT_FOUND .
  • Si se encuentra un registro SRV coincidente en aResponse , aServiceInfo se actualiza y se devuelve OT_ERROR_NONE .
  • 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 coincidente 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 para generar la información de la instancia de servicio (NO DEBE ser NULL).
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 pudieron analizar los registros en 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 solo DEBE utilizarse 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 solo para pruebas y está disponible cuando la configuración OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE está habilitada.

Tenga en cuenta que en el caso de que se utilice OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE , este modo se aplica a todas las instancias de OpenThread (es decir, llamar a esta función habilita / deshabilita el modo de compresión en todas las instancias de 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).