DNS

Este módulo inclui funções que controlam a comunicação DNS.

Resumo

As funções deste módulo estarão disponíveis apenas se o recurso OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE estiver ativado.

Enumerações

otDnsNat64Mode{
  OT_DNS_NAT64_UNSPECIFIED = 0,
  OT_DNS_NAT64_ALLOW = 1,
  OT_DNS_NAT64_DISALLOW = 2
}
tipo enumerado
O tipo representa o modo NAT64 em um otDnsQueryConfig.
otDnsRecursionFlag{
  OT_DNS_FLAG_UNSPECIFIED = 0,
  OT_DNS_FLAG_RECURSION_DESIRED = 1,
  OT_DNS_FLAG_NO_RECURSION = 2
}
tipo enumerado
O tipo representa a sinalização "Recursion Deired" (RD) em um otDnsQueryConfig.
otDnsServiceMode{
  OT_DNS_SERVICE_MODE_UNSPECIFIED = 0,
  OT_DNS_SERVICE_MODE_SRV = 1,
  OT_DNS_SERVICE_MODE_TXT = 2,
  OT_DNS_SERVICE_MODE_SRV_TXT = 3,
  OT_DNS_SERVICE_MODE_SRV_TXT_SEPARATE = 4,
  OT_DNS_SERVICE_MODE_SRV_TXT_OPTIMIZE = 5
}
tipo enumerado
O tipo representa o modo de resolução do serviço em um otDnsQueryConfig.
otDnsTransportProto{
  OT_DNS_TRANSPORT_UDP = 1,
  OT_DNS_TRANSPORT_TCP = 2
}
tipo enumerado
O tipo representa o protocolo de transporte DNS em um otDnsQueryConfig.

Typedefs

otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext) typedef
void(*
O ponteiro é chamado quando uma resposta de DNS é recebida em uma consulta de resolução de endereço.
otDnsAddressResponse typedef
Uma representação opaca de uma resposta a uma consulta DNS de resolução de endereço.
otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext) typedef
void(*
Ponteiro é chamado quando uma resposta de DNS é recebida para uma consulta de procura (enumeração de instância de serviço).
otDnsBrowseResponse typedef
Uma representação opaca de uma resposta a uma consulta DNS de procura (enumeração de instância de serviço).
otDnsQueryConfig typedef
Representa uma configuração de consulta DNS.
otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext) typedef
void(*
O ponteiro é chamado quando uma resposta de DNS é recebida em uma consulta de resolução da instância de serviço.
otDnsServiceInfo typedef
Fornece informações para uma instância de serviço DNS.
otDnsServiceResponse typedef
Uma representação opaca de uma resposta a uma consulta DNS de resolução da instância de serviço.
otDnsTxtEntry typedef
struct otDnsTxtEntry
Representa uma entrada de registro TXT que representa um par de chave/valor (RFC 6763 - seção 6.3).
otDnsTxtEntryIterator typedef
Representa um iterador para entradas de registro TXT (pares chave/valor).

Funções

otDnsAddressResponseGetAddress(const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Recebe um endereço IPv6 associado a uma resposta DNS de resolução de endereço.
otDnsAddressResponseGetHostName(const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Obtém o nome completo do host associado a uma resposta DNS de resolução de endereço.
otDnsBrowseResponseGetHostAddress(const otDnsBrowseResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Recebe o endereço IPv6 do host de uma resposta de navegação DNS (enumeração de instância de serviço).
otDnsBrowseResponseGetServiceInfo(const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo)
Recebe informações de uma instância de serviço de uma resposta de navegação DNS (enumeração de instância de serviço).
otDnsBrowseResponseGetServiceInstance(const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize)
Recebe uma instância de serviço associada a uma resposta de navegação DNS (enumeração de instância de serviço).
otDnsBrowseResponseGetServiceName(const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Recebe o nome do serviço associado a uma resposta de navegação DNS (enumeração de instância de serviço).
otDnsClientBrowse(otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Envia uma consulta de busca DNS (enumeração de instância de serviço) para um determinado nome de serviço.
otDnsClientGetDefaultConfig(otInstance *aInstance)
Obtém a configuração de consulta padrão atual usada pelo cliente DNS.
otDnsClientResolveAddress(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Envia uma consulta DNS de resolução de endereço para registros AAAA (IPv6) para um determinado nome de host.
otDnsClientResolveIp4Address(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Envia uma consulta DNS de resolução de endereço para registros A (IPv4) para um determinado nome de host.
otDnsClientResolveService(otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Inicia uma resolução de instância de serviço DNS para uma determinada instância de serviço.
otDnsClientResolveServiceAndHostAddress(otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Inicia uma resolução de instância de serviço de DNS para uma determinada instância de serviço, com uma possível resolução de endereço de acompanhamento do nome do host descoberto para a instância de serviço.
otDnsClientSetDefaultConfig(otInstance *aInstance, const otDnsQueryConfig *aConfig)
void
Define a configuração de consulta padrão no cliente DNS.
otDnsEncodeTxtData(const otDnsTxtEntry *aTxtEntries, uint16_t aNumTxtEntries, uint8_t *aTxtData, uint16_t *aTxtDataLength)
Codifica uma determinada lista de entradas de registro TXT (pares chave/valor) em dados TXT (seguinte formato especificado por RFC 6763).
otDnsGetNextTxtEntry(otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aEntry)
Analisa os dados TXT de um iterador e obtém a próxima entrada de registro TXT (par de chave/valor).
otDnsInitTxtEntryIterator(otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength)
void
Inicializa um iterador de registros TXT.
otDnsIsNameCompressionEnabled(void)
bool
Indica se o modo "Compressão de nome DNS" está ativado.
otDnsServiceResponseGetHostAddress(const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Obtém o endereço IPv6 do host de uma resposta de resolução da instância de serviço DNS.
otDnsServiceResponseGetServiceInfo(const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo)
Recebe informações de uma instância de serviço de uma resposta de resolução de instância de serviço DNS.
otDnsServiceResponseGetServiceName(const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize)
Obtém o nome da instância de serviço associada a uma resposta de resolução da instância de serviço DNS.
otDnsSetNameCompressionEnabled(bool aEnabled)
void
Ativa/desativa o modo "Compactação de nome DNS".

Estruturas

otDnsQueryConfig (em inglês)

Representa uma configuração de consulta DNS.

otDnsServiceInfo (em inglês)

Fornece informações para uma instância de serviço DNS.

otDnsTxtEntry (em inglês)

Representa uma entrada de registro TXT que representa um par de chave/valor (RFC 6763 - seção 6.3).

otDnsTxtEntryIterator (em inglês)

Representa um iterador para entradas de registro TXT (pares chave/valor).

Enumerações

Modo otDnsNat64

 otDnsNat64Mode

O tipo representa o modo NAT64 em um otDnsQueryConfig.

O modo NAT64 indica se é permitido ou não a conversão de endereços NAT64 durante a resolução de endereço do cliente DNS. Este modo só é usado quando OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE está ativado.

Propriedades
OT_DNS_NAT64_ALLOW

Permitir a conversão de endereços NAT64 durante a resolução de endereço do cliente DNS.

OT_DNS_NAT64_DISALLOW

Não permita a conversão de endereços NAT64 durante a resolução de endereço do cliente DNS.

OT_DNS_NAT64_UNSPECIFIED

O modo NAT64 não foi especificado. Use o modo NAT64 padrão.

otDnsRecursionFlag

 otDnsRecursionFlag

O tipo representa a sinalização "Recursion Deired" (RD) em um otDnsQueryConfig.

Propriedades
OT_DNS_FLAG_NO_RECURSION

Indica que o servidor de nomes DNS não pode resolver a consulta recursivamente.

OT_DNS_FLAG_RECURSION_DESIRED

Indica que o servidor de nomes DNS pode resolver a consulta recursivamente.

OT_DNS_FLAG_UNSPECIFIED

Indica que a sinalização não foi especificada.

OtDnsServiceMode

 otDnsServiceMode

O tipo representa o modo de resolução do serviço em um otDnsQueryConfig.

Isso é usado apenas durante a resolução do serviço de cliente DNS otDnsClientResolveService(). Ele determina quais tipos de registro consultar.

Propriedades
OT_DNS_SERVICE_MODE_SRV

Consulta apenas para registro SRV.

OT_DNS_SERVICE_MODE_SRV_TXT

Consulte os registros SRV e TXT na mesma mensagem.

OT_DNS_SERVICE_MODE_SRV_TXT_OPTIMIZE

Primeiro, consulte TXT/SRV em caso de falha. Em caso de falha, consulte separadamente.

OT_DNS_SERVICE_MODE_SRV_TXT_SEPARATE

Consulta em paralelo para SRV e TXT usando mensagens separadas.

OT_DNS_SERVICE_MODE_TXT

Consulta apenas para registros TXT.

OT_DNS_SERVICE_MODE_UNSPECIFIED

O modo não foi especificado. Use o modo de serviço padrão.

OtDnsTransportProto

 otDnsTransportProto

O tipo representa o protocolo de transporte DNS em um otDnsQueryConfig.

Este OT_DNS_TRANSPORT_TCP só é compatível quando o OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE está ativado.

Propriedades
OT_DNS_TRANSPORT_TCP

A consulta DNS deve ser enviada por UDP.

OT_DNS_TRANSPORT_UDP

O transporte DNS não foi especificado.

Typedefs

OtDnsAddressCallback

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

O ponteiro é chamado quando uma resposta de DNS é recebida em uma consulta de resolução de endereço.

Nesse callback, o usuário pode usar funções otDnsAddressResponseGet{Item}() com o ponteiro aResponse para mais informações sobre a resposta.

O ponteiro aResponse só pode ser usado dentro desse callback e, depois de retornar dessa função, não permanecerá válido. Portanto, o usuário NÃO PODE manter o ponteiro aResponse para uso posterior.

O aError pode ter o seguinte:

Detalhes
Parâmetros
[in] aError
O resultado da transação de DNS.
[in] aResponse
Um ponteiro para a resposta (sempre é não NULL).
[in] aContext
Um ponteiro para contexto específico do aplicativo.

  • OT_ERROR_NONE Uma resposta foi recebida com sucesso.
  • OT_ERROR_ABORT Uma transação de DNS foi cancelada pela pilha.
  • OT_ERROR_RESPONSE_TIMEOUT Nenhuma resposta de DNS foi recebida dentro do tempo limite.

Se o servidor rejeitar a solicitação de resolução de endereço, o código de erro do servidor será mapeado da seguinte maneira:

  • (0) NOERROR Sucesso (sem condição de erro) -> OT_ERROR_NONE
  • (1) O servidor FORMERR não consegue interpretar devido a um erro de formato -> OT_ERROR_PARSE
  • (2) O servidor SERVFAIL encontrou uma falha interna -> OT_ERROR_FAILED
  • (3) Nome NXDOMAIN que deveria existir, não existe -> OT_ERROR_NOT_FOUND
  • (4) O servidor NOTIMP não é compatível com o tipo de consulta (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) REFUSED Servidor recusado por motivos de política/segurança -> OT_ERROR_SECURITY
  • (6) YXDOMAIN Alguns nomes que não deveriam existir, existem -> OT_ERROR_DUPLICATED
  • (7) YXRRSET Algum RRset que não deveria existir, existe -> OT_ERROR_DUPLICATED
  • (8) NXRRSET Alguns RRset que deveriam existir, não existem -> OT_ERROR_NOT_FOUND
  • (9) O serviço NOTAUTH não está autorizado para a zona -> OT_ERROR_SECURITY
  • (10) NOTZONE Não há um nome na zona -> OT_ERROR_PARSE
  • (20) BADNAME Nome inválido -> OT_ERROR_PARSE
  • (21) BADALG Algoritmo inválido -> OT_ERROR_SECURITY
  • (22) BADTRUN: truncamento incorreto -> OT_ERROR_PARSE
  • Outros códigos de resposta -> OT_ERROR_FAILED

OtDnsAddressResponse

struct otDnsAddressResponse otDnsAddressResponse

Uma representação opaca de uma resposta a uma consulta DNS de resolução de endereço.

Ponteiros para instância desse tipo são fornecidos no callback otDnsAddressCallback.

OtDnsBrowseCallback

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

Ponteiro é chamado quando uma resposta de DNS é recebida para uma consulta de procura (enumeração de instância de serviço).

Nesse callback, o usuário pode usar funções otDnsBrowseResponseGet{Item}() com o ponteiro aResponse para mais informações sobre a resposta.

O ponteiro aResponse só pode ser usado dentro desse callback e, depois de retornar dessa função, não permanecerá válido. Portanto, o usuário NÃO PODE manter o ponteiro aResponse para uso posterior.

Para a lista completa de possíveis valores para aError, consulte otDnsAddressCallback().

Detalhes
Parâmetros
[in] aError
O resultado da transação de DNS.
[in] aResponse
Um ponteiro para a resposta (sempre é não NULL).
[in] aContext
Um ponteiro para contexto específico do aplicativo.

OtDnsBrowseResponse

struct otDnsBrowseResponse otDnsBrowseResponse

Uma representação opaca de uma resposta a uma consulta DNS de procura (enumeração de instância de serviço).

Ponteiros para instância desse tipo são fornecidos no callback otDnsBrowseCallback.

OtDnsQueryConfig

struct otDnsQueryConfig otDnsQueryConfig

Representa uma configuração de consulta DNS.

Qualquer um dos campos nessa estrutura pode ser definido como zero para indicar que não está especificado. A maneira como os campos não especificados são determinados pela função que usa a instância de otDnsQueryConfig.

OtDnsServiceCallback

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

O ponteiro é chamado quando uma resposta de DNS é recebida em uma consulta de resolução da instância de serviço.

Nesse callback, o usuário pode usar funções otDnsServiceResponseGet{Item}() com o ponteiro aResponse para mais informações sobre a resposta.

O ponteiro aResponse só pode ser usado dentro desse callback e, depois de retornar dessa função, não permanecerá válido. Portanto, o usuário NÃO PODE manter o ponteiro aResponse para uso posterior.

Para a lista completa de possíveis valores para aError, consulte otDnsAddressCallback().

Detalhes
Parâmetros
[in] aError
O resultado da transação de DNS.
[in] aResponse
Um ponteiro para a resposta (sempre é não NULL).
[in] aContext
Um ponteiro para contexto específico do aplicativo.

Informações de serviço

struct otDnsServiceInfo otDnsServiceInfo

Fornece informações para uma instância de serviço DNS.

OtDnsServiceResponse

struct otDnsServiceResponse otDnsServiceResponse

Uma representação opaca de uma resposta a uma consulta DNS de resolução da instância de serviço.

Ponteiros para instância desse tipo são fornecidos no callback otDnsAddressCallback.

Entrada de otDnsTxt

struct otDnsTxtEntry otDnsTxtEntry

Representa uma entrada de registro TXT que representa um par de chave/valor (RFC 6763 - seção 6.3).

Os buffers de string apontados por mKey e mValue PRECISAM persistir e permanecer inalterados após uma instância de tal estrutura ser passada para o OpenThread (como parte da instância otSrpClientService).

Uma matriz de entradas otDnsTxtEntry é usada em otSrpClientService para especificar o registro TXT completo (uma lista de entradas).

OtDnsTxtEntryIterator

struct otDnsTxtEntryIterator otDnsTxtEntryIterator

Representa um iterador para entradas de registro TXT (pares chave/valor).

Os campos de dados dessa estrutura destinam-se ao uso pelo núcleo do OpenThread, e o autor da chamada não deve lê-los ou alterá-los.

Funções

OtDnsAddressResponseGetAddress

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

Recebe um endereço IPv6 associado a uma resposta DNS de resolução de endereço.

PRECISA ser usado somente a partir de otDnsAddressCallback.

A resposta pode incluir vários registros de endereços IPv6. aIndex pode ser usado para iterar a lista de endereços. O índice zero recebe o primeiro endereço e assim por diante. Quando chegarmos ao fim da lista, OT_ERROR_NOT_FOUND será retornado.

Detalhes
Parâmetros
[in] aResponse
Um ponteiro para a resposta.
[in] aIndex
O índice de registro de endereço a ser recuperado.
[out] aAddress
Um ponteiro para um endereço IPv6 para gerar o endereço (NÃO DEVE ser NULL).
[out] aTtl
Um ponteiro para um uint32_t para gerar o TTL do endereço. Ele pode ser NULL se o autor da chamada não quiser receber o TTL.
Valores de retorno
OT_ERROR_NONE
O endereço foi lido.
OT_ERROR_NOT_FOUND
Nenhum registro de endereço em aResponse às aIndex.
OT_ERROR_PARSE
Não foi possível analisar os registros no aResponse.
OT_ERROR_INVALID_STATE
Nenhum prefixo NAT64 (aplicável somente quando NAT64 for permitido).

OtDnsAddressResponseGetHostName

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

Obtém o nome completo do host associado a uma resposta DNS de resolução de endereço.

PRECISA ser usado somente a partir de otDnsAddressCallback.

Detalhes
Parâmetros
[in] aResponse
Um ponteiro para a resposta.
[out] aNameBuffer
Um buffer para a matriz de caracteres para gerar o nome completo do host (NÃO DEVE ser NULL).
[in] aNameBufferSize
O tamanho de aNameBuffer.
Valores de retorno
OT_ERROR_NONE
O nome completo do host foi lido.
OT_ERROR_NO_BUFS
O nome não cabe em aNameBuffer.

OtDnsBrowseResponseGetHostAddress

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

Recebe o endereço IPv6 do host de uma resposta de navegação DNS (enumeração de instância de serviço).

PRECISA ser usado somente a partir de otDnsBrowseCallback.

A resposta pode incluir zero ou mais registros de endereço IPv6. aIndex pode ser usado para iterar a lista de endereços. O índice zero recebe o primeiro endereço e assim por diante. Quando chegarmos ao fim da lista, OT_ERROR_NOT_FOUND será retornado.

Detalhes
Parâmetros
[in] aResponse
Um ponteiro para a resposta.
[in] aHostName
O nome do host para obter o endereço (NÃO DEVE ser NULL).
[in] aIndex
O índice de registro de endereço a ser recuperado.
[out] aAddress
Um ponteiro para um endereço IPv6 para gerar o endereço (NÃO DEVE ser NULL).
[out] aTtl
Um ponteiro para um uint32_t para gerar o TTL do endereço. Ele pode ser NULL se o autor da chamada não quiser receber o TTL.
Valores de retorno
OT_ERROR_NONE
O endereço foi lido.
OT_ERROR_NOT_FOUND
Nenhum registro de endereço para aHostname em aResponse às aIndex.
OT_ERROR_PARSE
Não foi possível analisar os registros no aResponse.

OdDnsBrowseResponseGetServiceInfo

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

Recebe informações de uma instância de serviço de uma resposta de navegação DNS (enumeração de instância de serviço).

PRECISA ser usado somente a partir de otDnsBrowseCallback.

Uma resposta de busca DNS pode incluir registros SRV, TXT e AAAA para as instâncias de serviço enumeradas. Isso é NECESSÁRIO e não é NECESSÁRIO, e servidores/resolveres não precisam fornecer isso. Essa função tenta recuperar essas informações para uma determinada instância de serviço quando disponível.

  • Se nenhum registro SRV correspondente for encontrado em aResponse, OT_ERROR_NOT_FOUND será retornado. Nesse caso, nenhum registro adicional (sem TXT e/ou AAAA) é lido.
  • Se um registro SRV correspondente for encontrado em aResponse, aServiceInfo será atualizado e OT_ERROR_NONE será retornado.
  • Se nenhum registro TXT correspondente for encontrado em aResponse, mTxtDataSize em aServiceInfo será definido como zero.
  • Se o comprimento dos dados TXT for maior que mTxtDataSize, ele será lido parcialmente, e mTxtDataTruncated será definido como verdadeiro.
  • Se nenhum registro AAAA correspondente for encontrado em aResponse, mHostAddress is set to all zero or unspecified address.
  • If there are multiple AAAA records for the host name in @p aResponse,mHostAddressis set to the first one. The other addresses can be retrieved usingotDnsBrowseResponseGetHostAddress()".

Detalhes
Parâmetros
[in] aResponse
Um ponteiro para a resposta.
[in] aInstanceLabel
O rótulo da instância de serviço (NÃO DEVE ser NULL).
[out] aServiceInfo
Um ServiceInfo para gerar as informações da instância de serviço (NÃO DEVE ser NULL).
Valores de retorno
OT_ERROR_NONE
As informações da instância de serviço foram lidas. aServiceInfo foi atualizado.
OT_ERROR_NOT_FOUND
Não foi possível encontrar um registro SRV correspondente a aInstanceLabel.
OT_ERROR_NO_BUFS
O nome do host e/ou os dados TXT não cabem nos buffers fornecidos.
OT_ERROR_PARSE
Não foi possível analisar os registros no aResponse.

OtDnsBrowseResponseGetServiceInstance

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

Recebe uma instância de serviço associada a uma resposta de navegação DNS (enumeração de instância de serviço).

PRECISA ser usado somente a partir de otDnsBrowseCallback.

A resposta pode incluir vários registros da instância de serviço. aIndex pode ser usado para iterar a lista. O índice zero dá o primeiro registro. Quando chegarmos ao fim da lista, OT_ERROR_NOT_FOUND será retornado.

Observe que essa função recebe o rótulo da instância de serviço e não o nome completo dela no formato ...

Detalhes
Parâmetros
[in] aResponse
Um ponteiro para a resposta.
[in] aIndex
O índice de registro da instância de serviço a ser recuperado.
[out] aLabelBuffer
Um buffer para organizar a matriz para gerar o rótulo da instância de serviço (NÃO DEVE ser NULL).
[in] aLabelBufferSize
O tamanho de aLabelBuffer.
Valores de retorno
OT_ERROR_NONE
A instância de serviço foi lida com sucesso.
OT_ERROR_NO_BUFS
O nome não cabe em aNameBuffer.
OT_ERROR_NOT_FOUND
Nenhum registro de instância de serviço em aResponse às aIndex.
OT_ERROR_PARSE
Não foi possível analisar os registros no aResponse.

OtDnsBrowseResponseGetServiceName

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

Recebe o nome do serviço associado a uma resposta de navegação DNS (enumeração de instância de serviço).

PRECISA ser usado somente a partir de otDnsBrowseCallback.

Detalhes
Parâmetros
[in] aResponse
Um ponteiro para a resposta.
[out] aNameBuffer
Um buffer para a matriz do caractere para gerar o nome do serviço (NÃO DEVE ser NULL).
[in] aNameBufferSize
O tamanho de aNameBuffer.
Valores de retorno
OT_ERROR_NONE
O nome do serviço foi lido.
OT_ERROR_NO_BUFS
O nome não cabe em aNameBuffer.

Navegação no cliente otDnsClient

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

Envia uma consulta de busca DNS (enumeração de instância de serviço) para um determinado nome de serviço.

Disponível quando o OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE está ativado.

O aConfig pode ser NULL. Nesse caso, a configuração padrão (de otDnsClientGetDefaultConfig()) será usada como a configuração para esta consulta. Em um aConfig não NULL, alguns dos campos podem ser deixados não especificados (valor zero). Os campos não especificados são substituídos pelos valores da configuração padrão.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aServiceName
O nome do serviço a ser consultado (NÃO DEVE ser NULL).
[in] aCallback
Um ponteiro de função que será chamado na recepção da resposta ou no tempo limite.
[in] aContext
Um ponteiro para informações de contexto arbitrárias.
[in] aConfig
Um ponteiro para a configuração a ser usada nesta consulta.
Valores de retorno
OT_ERROR_NONE
Consulta enviada. aCallback será invocado para informar o status.
OT_ERROR_NO_BUFS
Buffer insuficiente para preparar e enviar a consulta.

OdDnsClientGetDefaultConfig

const otDnsQueryConfig * otDnsClientGetDefaultConfig(
  otInstance *aInstance
)

Obtém a configuração de consulta padrão atual usada pelo cliente DNS.

Quando a pilha do OpenThread é iniciada, a configuração de consulta de DNS padrão é determinada a partir de um conjunto de opções de configuração de OT, como OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS, _DEFAULT_SERVER_PORT, _DEFAULT_RESPONSE_TIMEOUT etc. Consulte config/dns_client.h para ver todas as opções de configuração relacionadas.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
Um ponteiro para a configuração padrão atual que está sendo usada pelo cliente DNS.

OtDnsClientResolveAddress

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

Envia uma consulta DNS de resolução de endereço para registros AAAA (IPv6) para um determinado nome de host.

O aConfig pode ser NULL. Nesse caso, a configuração padrão (de otDnsClientGetDefaultConfig()) será usada como a configuração para esta consulta. Em um aConfig não NULL, alguns dos campos podem ser deixados não especificados (valor zero). Os campos não especificados são substituídos pelos valores da configuração padrão.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aHostName
O nome do host para o qual consultar o endereço (NÃO DEVE ser NULL).
[in] aCallback
Um ponteiro de função que será chamado na recepção da resposta ou no tempo limite.
[in] aContext
Um ponteiro para informações de contexto arbitrárias.
[in] aConfig
Um ponteiro para a configuração a ser usada nesta consulta.
Valores de retorno
OT_ERROR_NONE
Consulta enviada. aCallback será invocado para informar o status.
OT_ERROR_NO_BUFS
Buffer insuficiente para preparar e enviar a consulta.
OT_ERROR_INVALID_ARGS
O nome do host não é um formato válido.
OT_ERROR_INVALID_STATE
Não é possível enviar a consulta porque a interface da linha de execução não está ativa.

Endereço otDnsClientResolveIp4

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

Envia uma consulta DNS de resolução de endereço para registros A (IPv4) para um determinado nome de host.

Exige e está disponível quando a OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE está ativada.

Quando uma resposta é recebida, os endereços são retornados de aCallback como versões traduzidas do endereço IPv6 NAT64 a partir da resposta da consulta.

O aConfig pode ser NULL. Nesse caso, a configuração padrão (de otDnsClientGetDefaultConfig()) será usada como a configuração para esta consulta. Em um aConfig não NULL, alguns dos campos podem ser deixados não especificados (valor zero). Os campos não especificados são substituídos pelos valores da configuração padrão.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aHostName
O nome do host para o qual consultar o endereço (NÃO DEVE ser NULL).
[in] aCallback
Um ponteiro de função que será chamado na recepção da resposta ou no tempo limite.
[in] aContext
Um ponteiro para informações de contexto arbitrárias.
[in] aConfig
Um ponteiro para a configuração a ser usada nesta consulta.
Valores de retorno
OT_ERROR_NONE
Consulta enviada. aCallback será invocado para informar o status.
OT_ERROR_NO_BUFS
Buffer insuficiente para preparar e enviar a consulta.
OT_ERROR_INVALID_ARGS
O nome do host não é um formato válido ou o NAT64 não está ativado na configuração.
OT_ERROR_INVALID_STATE
Não é possível enviar a consulta porque a interface da linha de execução não está ativa.

Serviço de resolução de clientes

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

Inicia uma resolução de instância de serviço DNS para uma determinada instância de serviço.

Disponível quando o OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE está ativado.

O aConfig pode ser NULL. Nesse caso, a configuração padrão (de otDnsClientGetDefaultConfig()) será usada como a configuração para esta consulta. Em um aConfig não NULL, alguns dos campos podem ser deixados não especificados (valor zero). Os campos não especificados são substituídos pelos valores da configuração padrão.

A função envia consultas para registros SRV e/ou TXT para a instância de serviço fornecida. O campo mServiceMode em otDnsQueryConfig determina quais registros serão consultados (somente SRV, somente TXT ou SRV e TXT) e como realizar a consulta (juntos na mesma mensagem, separadamente, em paralelo ou no modo otimizado, em que o cliente vai tentar na mesma mensagem primeiro e depois separadamente se não receber uma resposta).

O registro SRV fornece informações sobre a porta, a prioridade e o peso do serviço, além do nome do host associado à instância do serviço. Esta função NÃO realiza a resolução de endereços para o nome do host descoberto no registro SRV. O servidor/resolver pode fornecer registros AAAA/A para o nome do host na seção "Dados adicionais" da resposta à consulta SRV/TXT, e essas informações podem ser recuperadas usando otDnsServiceResponseGetServiceInfo() em otDnsServiceCallback. Os usuários dessa API NÃO PODEM presumir que o endereço do host sempre estará disponível em otDnsServiceResponseGetServiceInfo().

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aInstanceLabel
O rótulo da instância de serviço.
[in] aServiceName
O nome do serviço (junto com aInstanceLabel do nome completo da instância).
[in] aCallback
Um ponteiro de função que será chamado na recepção da resposta ou no tempo limite.
[in] aContext
Um ponteiro para informações de contexto arbitrárias.
[in] aConfig
Um ponteiro para a configuração a ser usada nesta consulta.
Valores de retorno
OT_ERROR_NONE
Consulta enviada. aCallback será invocado para informar o status.
OT_ERROR_NO_BUFS
Buffer insuficiente para preparar e enviar a consulta.
OT_ERROR_INVALID_ARGS
aInstanceLabel é NULL;

OtDnsClientResolveServiceAndHostAddress

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

Inicia uma resolução de instância de serviço de DNS para uma determinada instância de serviço, com uma possível resolução de endereço de acompanhamento do nome do host descoberto para a instância de serviço.

Disponível quando o OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE está ativado.

O aConfig pode ser NULL. Nesse caso, a configuração padrão (de otDnsClientGetDefaultConfig()) será usada como a configuração para esta consulta. Em um aConfig não NULL, alguns dos campos podem ser deixados não especificados (valor zero). Os campos não especificados são substituídos pelos valores da configuração padrão. Essa função não pode ser usada com mServiceMode na configuração do DNS definida como OT_DNS_SERVICE_MODE_TXT (ou seja, consulta apenas para registros TXT) e retornará OT_ERROR_INVALID_ARGS.

O comportamento é semelhante ao de otDnsClientResolveService() que envia consultas para registros SRV e TXT. No entanto, se o servidor/resolver não fornecer registros AAAA/A para o nome do host na resposta à consulta SRV (na seção "Dados adicionais"), ele executará a resolução de nome do host (enviando uma consulta AAAA) para o nome do host descoberto no registro SRV. O callback aCallback é invocado quando as respostas para todas as consultas são recebidas (ou seja, quando as resoluções de serviço e endereço do host são concluídas).

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aInstanceLabel
O rótulo da instância de serviço.
[in] aServiceName
O nome do serviço (junto com aInstanceLabel do nome completo da instância).
[in] aCallback
Um ponteiro de função que será chamado na recepção da resposta ou no tempo limite.
[in] aContext
Um ponteiro para informações de contexto arbitrárias.
[in] aConfig
Um ponteiro para a configuração a ser usada nesta consulta.
Valores de retorno
OT_ERROR_NONE
Consulta enviada. aCallback será invocado para informar o status.
OT_ERROR_NO_BUFS
Buffer insuficiente para preparar e enviar a consulta.
OT_ERROR_INVALID_ARGS
aInstanceLabel é NULL ou aConfig é inválido.

OdDnsClientSetDefaultConfig

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

Define a configuração de consulta padrão no cliente DNS.

O aConfig pode ser NULL. Nesse caso, a configuração padrão será definida como padrão usando as opções de configuração de OT OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{}. Isso redefine a configuração de consulta padrão de volta para a configuração quando a pilha do OpenThread é iniciada.

Em um aConfig não NULL, o autor da chamada pode optar por deixar alguns dos campos na instância otDnsQueryConfig não especificados (valor zero). Os campos não especificados são substituídos pelas definições da opção de configuração de OT OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} correspondentes para formar a configuração de consulta padrão.

Quando OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_ADDRESS_AUTO_SET_ENABLE está ativado, o endereço IPv6 do servidor na configuração padrão é definido e atualizado automaticamente pelo cliente DNS. Isso é feito apenas quando o usuário não o define ou especifica explicitamente. Esse comportamento exige que o cliente SRP e seu recurso de início automático estejam ativados. O cliente SRP monitorará os dados da rede Thread para entradas de serviço DNS/SRP para selecionar um servidor SRP. O endereço do servidor SRP selecionado também é definido como o endereço do servidor DNS na configuração padrão.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
[in] aConfig
Um ponteiro para a nova configuração de consulta a ser usada como padrão.

OtDnsEncodeTxtData

otError otDnsEncodeTxtData(
  const otDnsTxtEntry *aTxtEntries,
  uint16_t aNumTxtEntries,
  uint8_t *aTxtData,
  uint16_t *aTxtDataLength
)

Codifica uma determinada lista de entradas de registro TXT (pares chave/valor) em dados TXT (seguinte formato especificado por RFC 6763).

Detalhes
Parâmetros
[in] aTxtEntries
Ponteiro para uma matriz de otDnsTxtEntry.
[in] aNumTxtEntries
Número de entradas na matriz aTxtEntries.
[out] aTxtData
Um ponteiro para um buffer para gerar os dados TXT codificados.
[in,out] aTxtDataLength
Na entrada, o tamanho do buffer aTxtData. Na saída, o comprimento dos dados TXT codificados.
Valores de retorno
OT_ERROR_NONE
Os dados TXT codificados foram atualizados. aTxtData e aTxtDataLength foram atualizados.
OT_ERROR_INVALID_ARGS
aTxtEntries não é válido.
OT_ERROR_NO_BUS
Não foi possível ajustar os dados codificados no buffer aTxtData com o aTxtDataLength.

Entrada de otDnsGetNextTxt

otError otDnsGetNextTxtEntry(
  otDnsTxtEntryIterator *aIterator,
  otDnsTxtEntry *aEntry
)

Analisa os dados TXT de um iterador e obtém a próxima entrada de registro TXT (par de chave/valor).

O aIterator PRECISA ser inicializado usando otDnsInitTxtEntryIterator() antes de chamar essa função, e o buffer de dados TXT usado para inicializar o iterador PRECISA persistir e permanecer inalterado. Caso contrário, o comportamento dessa função é indefinido.

Se o comprimento da string de chave analisada for menor ou igual a OT_DNS_TXT_KEY_MAX_LENGTH (tamanho máximo recomendado), a string de chave será retornada em mKey em aEntry. Mas se a chave for mais longa, mKey será definido como NULL e toda a string de entrada TXT codificada será retornada em mValue e mValueLength.

Detalhes
Parâmetros
[in] aIterator
Um ponteiro para o iterador (NÃO DEVE ser NULL).
[out] aEntry
Um ponteiro para uma estrutura otDnsTxtEntry para gerar a entrada analisada/lida (NÃO DEVE ser NULL).
Valores de retorno
OT_ERROR_NONE
A próxima entrada foi analisada. aEntry foi atualizado.
OT_ERROR_NOT_FOUND
Não há mais entradas nos dados TXT.
OT_ERROR_PARSE
Os dados TXT de aIterator não estão formados corretamente.

OtDnsInitTxtEntryIterator

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

Inicializa um iterador de registros TXT.

O ponteiro de buffer aTxtData e o conteúdo dele PRECISAM persistir e permanecer inalterados enquanto o objeto aIterator está sendo usado.

Detalhes
Parâmetros
[in] aIterator
Um ponteiro para o iterador a ser inicializado (NÃO DEVE ser NULL).
[in] aTxtData
Um ponteiro para buffer contendo os dados TXT codificados.
[in] aTxtDataLength
O comprimento (número de bytes) de aTxtData.

OtDnsIsNameCompressionEnabled

bool otDnsIsNameCompressionEnabled(
  void
)

Indica se o modo "Compressão de nome DNS" está ativado.

Destinado apenas a testes e disponível quando a configuração do OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE está ativada.

Detalhes
Retorna
VERDADEIRO se o modo "Compressão do nome DNS" estiver ativado, caso contrário, FALSO.

OtDnsServiceResponseGetHostAddress

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

Obtém o endereço IPv6 do host de uma resposta de resolução da instância de serviço DNS.

PRECISA ser usado somente a partir de otDnsServiceCallback.

A resposta pode incluir zero ou mais registros de endereço IPv6. aIndex pode ser usado para iterar a lista de endereços. O índice zero recebe o primeiro endereço e assim por diante. Quando chegarmos ao fim da lista, OT_ERROR_NOT_FOUND será retornado.

Detalhes
Parâmetros
[in] aResponse
Um ponteiro para a resposta.
[in] aHostName
O nome do host para obter o endereço (NÃO DEVE ser NULL).
[in] aIndex
O índice de registro de endereço a ser recuperado.
[out] aAddress
Um ponteiro para um endereço IPv6 para gerar o endereço (NÃO DEVE ser NULL).
[out] aTtl
Um ponteiro para um uint32_t para gerar o TTL do endereço. Ele pode ser NULL se o autor da chamada não quiser receber o TTL.
Valores de retorno
OT_ERROR_NONE
O endereço foi lido.
OT_ERROR_NOT_FOUND
Nenhum registro de endereço para aHostname em aResponse às aIndex.
OT_ERROR_PARSE
Não foi possível analisar os registros no aResponse.

OtDnsServiceResponseGetServiceInfo

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

Recebe informações de uma instância de serviço de uma resposta de resolução de instância de serviço DNS.

PRECISA ser usado apenas em uma otDnsServiceCallback acionada por otDnsClientResolveService() ou otDnsClientResolveServiceAndHostAddress().

Quando isso é usado a partir de um callback otDnsClientResolveService(), a resposta DNS do servidor/resolver pode incluir registros AAAA na seção "Dados adicionais" do nome do host associado à instância de serviço que é resolvida. Isso é NECESSÁRIO e não é OBRIGATÓRIO, ou seja, os servidores/resolvedores não precisam fornecer isso. Essa função tenta analisar registros AAAA se eles estiverem incluídos na resposta. Se não for incluído, mHostAddress será definido como todos os zeros (endereço não especificado). Para resolver o endereço do host, o usuário pode usar a função otDnsClientResolveServiceAndHostAddress() da API do cliente DNS, que realizará a resolução do serviço seguida por uma consulta de resolução do endereço do nome do host (quando os registros AAAA não forem fornecidos pelo servidor/resolver na resposta da consulta SRV).

  • Se um registro SRV correspondente for encontrado em aResponse, aServiceInfo será atualizado.
  • Se nenhum registro SRV correspondente for encontrado, OT_ERROR_NOT_FOUND será retornado, a menos que a configuração dessa consulta tenha usado OT_DNS_SERVICE_MODE_TXT para mServiceMode. Isso significa que a solicitação foi apenas para registro TXT. Nesse caso, ainda tentamos analisar o registro SRV da seção de resposta de dados adicionais (caso o servidor tenha fornecido as informações).
  • Se nenhum registro TXT correspondente for encontrado em aResponse, mTxtDataSize em aServiceInfo será definido como zero.
  • Se o comprimento dos dados TXT for maior que mTxtDataSize, ele será lido parcialmente, e mTxtDataTruncated será definido como verdadeiro.
  • Se nenhum registro AAAA correspondente for encontrado em aResponse, mHostAddress is set to all zero or unspecified address.
  • If there are multiple AAAA records for the host name in @p aResponse,mHostAddressis set to the first one. The other addresses can be retrieved usingotDnsServiceResponseGetHostAddress()".

Detalhes
Parâmetros
[in] aResponse
Um ponteiro para a resposta.
[out] aServiceInfo
Um ServiceInfo para gerar as informações da instância de serviço (NÃO DEVE ser NULL).
Valores de retorno
OT_ERROR_NONE
As informações da instância de serviço foram lidas. aServiceInfo foi atualizado.
OT_ERROR_NOT_FOUND
Não foi possível encontrar um registro obrigatório em aResponse.
OT_ERROR_NO_BUFS
O nome do host e/ou os dados TXT não cabem nos buffers fornecidos.
OT_ERROR_PARSE
Não foi possível analisar os registros no aResponse.

OtDnsServiceResponseGetServiceName

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

Obtém o nome da instância de serviço associada a uma resposta de resolução da instância de serviço DNS.

PRECISA ser usado somente a partir de otDnsServiceCallback.

Detalhes
Parâmetros
[in] aResponse
Um ponteiro para a resposta.
[out] aLabelBuffer
Um buffer para organizar a matriz para gerar o rótulo da instância de serviço (NÃO DEVE ser NULL).
[in] aLabelBufferSize
O tamanho de aLabelBuffer.
[out] aNameBuffer
Um buffer para char matriz para produzir o resto do nome de serviço (pode ser NULL se o usuário não estiver interessado em obter o nome.
[in] aNameBufferSize
O tamanho de aNameBuffer.
Valores de retorno
OT_ERROR_NONE
O nome do serviço foi lido.
OT_ERROR_NO_BUFS
O rótulo ou o nome não cabem nos buffers fornecidos.

OtDnsSetNameCompressionEnabled

void otDnsSetNameCompressionEnabled(
  bool aEnabled
)

Ativa/desativa o modo "Compactação de nome DNS".

A compactação de nome DNS está ativada por padrão. Quando desativados, os nomes DNS são anexados como completos e nunca compactados. Isso se aplica aos módulos de cliente/servidor de DNS e SRP do OpenThread.

Destinado apenas a testes e disponível quando a configuração do OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE está ativada.

Observe que, no caso de OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE ser usado, esse modo se aplica a todas as instâncias do OpenThread (ou seja, chamar essa função ativa/desativa o modo de compactação em todas as instâncias do OpenThread).

Detalhes
Parâmetros
[in] aEnabled
VERDADEIRO para ativar o modo "Compactação de nome DNS", FALSO para desativar.

Macros

PR_DNS_MAX_LABEL_SIZE

 OT_DNS_MAX_LABEL_SIZE 64

Tamanho máximo da string do rótulo (inclui caractere nulo no final da string).

PR_DNS_MAX_NAME_SIZE

 OT_DNS_MAX_NAME_SIZE 255

Tamanho máximo da string de nome (inclui caractere nulo no final da string).

PRO_DNS_TXT_KEY_MAX_LENGTH

 OT_DNS_TXT_KEY_MAX_LENGTH 9

Comprimento máximo recomendado de uma string de chave de registro TXT (RFC 6763 - seção 6.4).

Pr_DNS_TXT_KEY_MIN_LENGTH

 OT_DNS_TXT_KEY_MIN_LENGTH 1

Tamanho mínimo da string da chave do registro TXT (RFC 6763 - seção 6.4).

Recursos

Os tópicos de referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para mais informações ou para contribuir com nossa documentação, consulte Recursos.