O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

DNSv6

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

Resumo

As funções deste módulo estão disponíveis somente se o recurso OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE está habilitado.

Enumerações

otDnsNat64Mode {
OT_DNS_NAT64_UNSPECIFIED = 0,
OT_DNS_NAT64_ALLOW = 1,
OT_DNS_NAT64_DISALLOW = 2
}
enum
Este tipo de enumeração representa o modo NAT64 num otDnsQueryConfig .
otDnsRecursionFlag {
OT_DNS_FLAG_UNSPECIFIED = 0,
OT_DNS_FLAG_RECURSION_DESIRED = 1,
OT_DNS_FLAG_NO_RECURSION = 2
}
enum
Este tipo de enumeração representa o sinalizador "recursão desejado" (RD) num otDnsQueryConfig .

Typedefs

otDnsAddressCallback )(otError aError, const otDnsAddressResponse *aResponse, void *aContext) typedef
void(*
Este ponteiro de função é chamado quando uma resposta DNS é recebida para uma consulta de resolução de endereço.
otDnsAddressResponse typedef
Este tipo é 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(*
Este ponteiro de função é chamado quando uma resposta DNS é recebida para uma consulta de navegação (enumeração de instância de serviço).
otDnsBrowseResponse typedef
Este tipo é uma representação opaca de uma resposta a uma consulta DNS de navegação (enumeração de instância de serviço).
otDnsQueryConfig typedef
Esta estrutura representa uma configuração de consulta DNS.
otDnsServiceCallback )(otError aError, const otDnsServiceResponse *aResponse, void *aContext) typedef
void(*
Este ponteiro de função é chamado quando uma resposta DNS é recebida para uma consulta de resolução de instância de serviço.
otDnsServiceInfo typedef
Esta estrutura fornece informações para uma instância de serviço DNS.
otDnsServiceResponse typedef
Este tipo é uma representação opaca de uma resposta a uma consulta DNS de resolução de instância de serviço.
otDnsTxtEntry typedef
Esta estrutura representa uma entrada de registro TXT que representa um par chave / valor (RFC 6763 - seção 6.3).
otDnsTxtEntryIterator typedef
Esta estrutura representa um iterador para entradas de registros TXT (pares chave / valor).

Funções

otDnsAddressResponseGetAddress (const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Esta função obtém um endereço IPv6 associado a uma resposta DNS de resolução de endereço.
otDnsAddressResponseGetHostName (const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Esta função 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)
Esta função obtém o endereço IPv6 do host de uma resposta do navegador DNS (enumeração da instância de serviço).
otDnsBrowseResponseGetServiceInfo (const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo)
Esta função obtém informações para uma instância de serviço de uma resposta do navegador DNS (enumeração de instância de serviço).
otDnsBrowseResponseGetServiceInstance (const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize)
Esta função obtém uma instância de serviço associada a uma resposta do navegador DNS (enumeração de instância de serviço).
otDnsBrowseResponseGetServiceName (const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Esta função obtém o nome do serviço associado a uma resposta do navegador DNS (enumeração da instância do serviço).
otDnsClientBrowse ( otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Esta função envia uma consulta de navegação DNS (enumeração de instância de serviço) para um determinado nome de serviço.
otDnsClientGetDefaultConfig ( otInstance *aInstance)
Esta função 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)
Esta função envia uma consulta DNS de resolução de endereço para registro (s) AAAA (IPv6) para um determinado nome de host.
otDnsClientResolveService ( otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Esta função envia uma consulta de resolução de instância de serviço DNS para uma determinada instância de serviço.
otDnsClientSetDefaultConfig ( otInstance *aInstance, const otDnsQueryConfig *aConfig)
void
Esta função define a configuração de consulta padrão no cliente DNS.
otDnsGetNextTxtEntry ( otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aEntry)
Esta função analisa os dados TXT de um iterador e obtém a próxima entrada de registro TXT (par chave / valor).
otDnsInitTxtEntryIterator ( otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength)
void
Esta função inicializa um iterador de registro TXT.
otDnsIsNameCompressionEnabled (void)
bool
Esta função indica se o modo "compressão de nome DNS" está habilitado ou não.
otDnsServiceResponseGetHostAddress (const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Esta função obtém o endereço IPv6 do host de uma resposta de resolução de instância de serviço DNS.
otDnsServiceResponseGetServiceInfo (const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo)
Esta função obtém informações para 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)
Esta função obtém o nome da instância do serviço associado a uma resposta de resolução da instância do serviço DNS.
otDnsSetNameCompressionEnabled (bool aEnabled)
void
Esta função ativa / desativa o modo "compressão de nome DNS".

Structs

otDnsQueryConfig

Esta estrutura representa uma configuração de consulta DNS.

otDnsServiceInfo

Esta estrutura fornece informações para uma instância de serviço DNS.

otDnsTxtEntry

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

otDnsTxtEntryIterator

Esta estrutura representa um iterador para entradas de registro TXT (pares chave / valor).

Enumerações

otDnsNat64Mode

 otDnsNat64Mode

Este tipo de enumeração representa o modo NAT64 num otDnsQueryConfig .

O modo NAT64 indica se deve permitir ou não a tradução de endereço NAT64 durante a resolução de endereço de cliente DNS. Este modo só é utilizado quando OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE está habilitado.

Propriedades
OT_DNS_NAT64_ALLOW

Permitir tradução de endereço NAT64 durante a resolução de endereço de cliente DNS.

OT_DNS_NAT64_DISALLOW

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

OT_DNS_NAT64_UNSPECIFIED

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

otDnsRecursionFlag

 otDnsRecursionFlag

Este tipo de enumeração representa o sinalizador "recursão desejado" (RD) num 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 o sinalizador não foi especificado.

Typedefs

otDnsAddressCallback

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

Este ponteiro de função é chamado quando uma resposta DNS é recebida para uma consulta de resolução de endereço.

Dentro deste callback o usuário pode usar otDnsAddressResponseGet{Item}() funções juntamente com o aResponse ponteiro de obter mais informação sobre a resposta.

O aResponse ponteiro só pode ser usado dentro desse retorno de chamada e depois de voltar de esta função não vai ficar válida, de modo que o usuário não deve reter o aResponse ponteiro para uso posterior.

O aError pode ter o seguinte:

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

  • OT_ERROR_NONE Uma resposta foi recebida com sucesso.
  • OT_ERROR_ABORT Uma transação DNS foi abortada por pilha.
  • OT_ERROR_RESPONSE_TIMEOUT Nenhuma resposta 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 forma:

  • (0) NOERROR Sucesso (sem condição de erro) -> OT_ERROR_NONE
  • (1) FORMERR Server incapaz de interpretar devido a erro de formato -> OT_ERROR_PARSE
  • (2) O servidor SERVFAIL encontrou uma falha interna -> OT_ERROR_FAILED
  • (3) NXDOMAIN Nome que deveria existir, não existe -> OT_ERROR_NOT_FOUND
  • (4) NOTIMP Server não suporta o tipo de consulta (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) RECUSADO Servidor recusado por razões de política / segurança -> OT_ERROR_SECURITY
  • (6) YXDOMAIN Algum nome que não deveria existir, existe -> OT_ERROR_DUPLICATED
  • (7) YXRRSET Algum RRset que não deveria existir, existe -> OT_ERROR_DUPLICATED
  • (8) NXRRSET Algum RRset que deveria existir, não existe -> OT_ERROR_NOT_FOUND
  • (9) O serviço NOTAUTH não tem autoridade para a zona -> OT_ERROR_SECURITY
  • (10) NOTZONE Um nome não está na zona -> OT_ERROR_PARSE
  • (20) Mau nome de BADNAME -> OT_ERROR_PARSE
  • (21) BADALG Algoritmo ruim -> OT_ERROR_SECURITY
  • (22) BADTRUN Truncamento ruim -> OT_ERROR_PARSE
  • Outros códigos de resposta -> OT_ERROR_FAILED

otDnsAddressResponse

struct otDnsAddressResponse otDnsAddressResponse

Este tipo é uma representação opaca de uma resposta a uma consulta DNS de resolução de endereço.

Os apontadores para exemplo deste tipo são fornecidos a partir de retorno de chamada otDnsAddressCallback .

otDnsBrowseCallback

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

Este ponteiro de função é chamado quando uma resposta DNS é recebida para uma consulta de navegação (enumeração de instância de serviço).

Dentro deste callback o usuário pode usar otDnsBrowseResponseGet{Item}() funções juntamente com o aResponse ponteiro de obter mais informação sobre a resposta.

O aResponse ponteiro só pode ser usado dentro desse retorno de chamada e depois de voltar de esta função não vai ficar válida, de modo que o usuário não deve reter o aResponse ponteiro para uso posterior.

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

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

otDnsBrowseResponse

struct otDnsBrowseResponse otDnsBrowseResponse

Este tipo é uma representação opaca de uma resposta a uma consulta DNS de navegação (enumeração de instância de serviço).

Os apontadores para exemplo deste tipo são fornecidos a partir de retorno de chamada otDnsBrowseCallback .

otDnsQueryConfig

struct otDnsQueryConfig otDnsQueryConfig

Esta estrutura representa uma configuração de consulta DNS.

Qualquer um dos campos nesta estrutura pode ser definido como zero para indicar que não foi especificado. Como os campos não especificados são tratadas é determinada pela função que utiliza o exemplo de otDnsQueryConfig .

otDnsServiceCallback

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

Este ponteiro de função é chamado quando uma resposta DNS é recebida para uma consulta de resolução de instância de serviço.

Dentro deste callback o usuário pode usar otDnsServiceResponseGet{Item}() funções juntamente com o aResponse ponteiro de obter mais informação sobre a resposta.

O aResponse ponteiro só pode ser usado dentro desse retorno de chamada e depois de voltar de esta função não vai ficar válida, de modo que o usuário não deve reter o aResponse ponteiro para uso posterior.

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

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

otDnsServiceInfo

struct otDnsServiceInfo otDnsServiceInfo

Esta estrutura fornece informações para uma instância de serviço DNS.

otDnsServiceResponse

struct otDnsServiceResponse otDnsServiceResponse

Este tipo é uma representação opaca de uma resposta a uma consulta DNS de resolução de instância de serviço.

Os apontadores para exemplo deste tipo são fornecidos a partir de retorno de chamada otDnsAddressCallback .

otDnsTxtEntry

struct otDnsTxtEntry otDnsTxtEntry

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

Os buffers de cadeias apontada por mKey e mValue deve persistir e permanecem inalterados depois de um exemplo de tal estrutura é passada para OpenThread (como parte de otSrpClientService exemplo).

Uma matriz de otDnsTxtEntry entradas são usadas em otSrpClientService para especificar o registro TXT completa (uma lista de entradas).

otDnsTxtEntryIterator

struct otDnsTxtEntryIterator otDnsTxtEntryIterator

Esta estrutura representa um iterador para entradas de registro TXT (pares chave / valor).

Os campos de dados nesta estrutura são destinados ao uso do núcleo OpenThread e o chamador não deve lê-los ou alterá-los.

Funções

otDnsAddressResponseGetAddress

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

Esta função obtém um endereço IPv6 associado a uma resposta DNS de resolução de endereço.

Esta função só deve ser utilizada a partir otDnsAddressCallback .

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

Detalhes
Parâmetros
[in] aResponse
Um indicador 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 a saída do endereço (NÃO DEVE ser NULL).
[out] aTtl
Um apontador para um uint32_t para TTL saída para o endereço. Pode ser NULL se o chamador não quiser obter o TTL.
Valores Retornados
OT_ERROR_NONE
O endereço foi lido com sucesso.
OT_ERROR_NOT_FOUND
Nenhum registro de endereços na aResponse em aIndex .
OT_ERROR_PARSE
Não foi possível analisar os registros na aResponse .

otDnsAddressResponseGetHostName

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

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

Esta função só deve ser utilizada a partir otDnsAddressCallback .

Detalhes
Parâmetros
[in] aResponse
Um indicador para a resposta.
[out] aNameBuffer
Um buffer para char array para produzir o nome completo do host (NÃO DEVE ser NULL).
[in] aNameBufferSize
O tamanho do aNameBuffer .
Valores Retornados
OT_ERROR_NONE
O nome completo do host foi lido com sucesso.
OT_ERROR_NO_BUFS
O nome não se encaixa em aNameBuffer .

otDnsBrowseResponseGetHostAddress

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

Esta função obtém o endereço IPv6 do host de uma resposta do navegador DNS (enumeração da instância de serviço).

Esta função só deve ser utilizada a partir otDnsBrowseCallback .

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

Detalhes
Parâmetros
[in] aResponse
Um indicador 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 a saída do endereço (NÃO DEVE ser NULL).
[out] aTtl
Um apontador para um uint32_t para TTL saída para o endereço. Pode ser NULL se o chamador não quiser obter o TTL.
Valores Retornados
OT_ERROR_NONE
O endereço foi lido com sucesso.
OT_ERROR_NOT_FOUND
Nenhum registro de endereço para aHostname em aResponse em aIndex .
OT_ERROR_PARSE
Não foi possível analisar os registros na aResponse .

otDnsBrowseResponseGetServiceInfo

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

Esta função obtém informações para uma instância de serviço de uma resposta do navegador DNS (enumeração de instância de serviço).

Esta função só deve ser utilizada a partir otDnsBrowseCallback .

Uma resposta DNS do navegador deve incluir os registros SRV, TXT e AAAA para as instâncias de serviço enumeradas (observe que é um DEVER e não um requisito OBRIGATÓRIO). Esta função tenta recuperar essas informações para uma determinada instância de serviço, quando disponível.

  • Se nenhum registro SRV for encontrado em aResponse , OT_ERROR_NOT_FOUND é retornado.
  • Se um registro SRV for encontrado em aResponse , aServiceInfo é atualizado e OT_ERROR_NONE é retornado.
  • Se nenhum registro TXT correspondente for encontrado na aResponse , mTxtDataSize em aServiceInfo está definido para zero.
  • Se nenhum registro AAAA correspondente for encontrado na 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 () `.

Detalhes
Parâmetros
[in] aResponse
Um indicador para a resposta.
[in] aInstanceLabel
O rótulo da instância de serviço (NÃO DEVE ser NULL).
[out] aServiceInfo
A ServiceInfo para a saída a informação instância de serviço (não deve ser nula).
Valores Retornados
OT_ERROR_NONE
As informações da instância de serviço foram lidas. aServiceInfo é atualizado.
OT_ERROR_NOT_FOUND
Não foi possível encontrar um registro SRV de correspondência para 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 na aResponse .

otDnsBrowseResponseGetServiceInstance

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

Esta função obtém uma instância de serviço associada a uma resposta do navegador DNS (enumeração de instância de serviço).

Esta função só deve ser utilizada a partir otDnsBrowseCallback .

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

Observe que esta função obtém o rótulo da instância de serviço e não o nome completo da instância de serviço que está no formato . . . . .

Detalhes
Parâmetros
[in] aResponse
Um indicador para a resposta.
[in] aIndex
O índice de registro da instância de serviço a ser recuperado.
[out] aLabelBuffer
Um buffer para um array de char para produzir o rótulo da instância de serviço (NÃO DEVE ser NULL).
[in] aLabelBufferSize
O tamanho do aLabelBuffer .
Valores Retornados
OT_ERROR_NONE
A instância do serviço foi lida com sucesso.
OT_ERROR_NO_BUFS
O nome não se encaixa em aNameBuffer .
OT_ERROR_NOT_FOUND
Nenhum registro instância de serviço em aResponse em aIndex .
OT_ERROR_PARSE
Não foi possível analisar os registros na aResponse .

otDnsBrowseResponseGetServiceName

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

Esta função obtém o nome do serviço associado a uma resposta do navegador DNS (enumeração da instância do serviço).

Esta função só deve ser utilizada a partir otDnsBrowseCallback .

Detalhes
Parâmetros
[in] aResponse
Um indicador para a resposta.
[out] aNameBuffer
Um buffer para char array para produzir o nome do serviço (NÃO DEVE ser NULL).
[in] aNameBufferSize
O tamanho do aNameBuffer .
Valores Retornados
OT_ERROR_NONE
O nome do serviço foi lido com sucesso.
OT_ERROR_NO_BUFS
O nome não se encaixa em aNameBuffer .

otDnsClientBrowse

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

Esta função envia uma consulta de navegação DNS (enumeração de instância de serviço) para um determinado nome de serviço.

Esta função está disponível quando OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE está habilitado.

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

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

otDnsClientGetDefaultConfig

const otDnsQueryConfig * otDnsClientGetDefaultConfig(
  otInstance *aInstance
)

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

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

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
Devoluções
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
)

Esta função envia uma consulta DNS de resolução de endereço para registro (s) AAAA (IPv6) para um determinado nome de host.

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

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância OpenThread.
[in] aHostName
O nome do host para o qual o endereço será consultado (NÃO DEVE ser NULL).
[in] aCallback
Um ponteiro de função que deve ser chamado na recepção da resposta ou no tempo limite.
[in] aContext
Um ponteiro para informações de contexto arbitrário.
[in] aConfig
Um ponteiro para a configuração a ser usada para esta consulta.
Valores Retornados
OT_ERROR_NONE
Consulta enviada com sucesso. aCallback será chamado para relatar o status.
OT_ERROR_NO_BUFS
Buffer insuficiente para preparar e enviar a consulta.

otDnsClientResolveService

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

Esta função envia uma consulta de resolução de instância de serviço DNS para uma determinada instância de serviço.

Esta função está disponível quando OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE está habilitado.

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

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

otDnsClientSetDefaultConfig

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

Esta função define a configuração de consulta padrão no cliente DNS.

Nota: Qualquer consulta em curso continuarão a usar a configuração a partir de quando ele foi iniciado. A nova configuração padrão será usada para quaisquer consultas DNS futuras. O aConfig pode ser NULL. Neste caso, a configuração padrão será definido como os padrões de opções de configuração OT OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} . Isso redefine a configuração da consulta padrão de volta à configuração quando a pilha OpenThread é iniciada.

Em um não NULL- aConfig , chamador pode optar por deixar alguns dos campos em otDnsQueryConfig instância não especificado (valor zero). Os campos não especificados são substituídos pelo correspondente OT configuração opção definições OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} para formar a configuração de consulta padrão.

Quando OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_ADDRESS_AUTO_SET_ENABLE está habilitado, o endereço IPv6 do servidor na configuração padrão é automaticamente definido e actualizado pelo cliente DNS. Isso é feito apenas quando o usuário não define ou especifica explicitamente. Esse comportamento requer que o cliente SRP e seu recurso de inicialização automática estejam habilitados. O cliente SRP monitorará então os dados da rede do segmento 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 OpenThread.
[in] aConfig
Um ponteiro para a nova configuração de consulta a ser usada como padrão.

otDnsGetNextTxtEntry

otError otDnsGetNextTxtEntry(
  otDnsTxtEntryIterator *aIterator,
  otDnsTxtEntry *aEntry
)

Esta função analisa os dados TXT de um iterador e obtém a próxima entrada de registro TXT (par chave / valor).

O aIterator deve ser inicializado usando otDnsInitTxtEntryIterator() antes de ligar esta função e os dados TXT tampão utilizado para inicializar o iteração deve persistir e permanecem inalterados. Caso contrário, o comportamento desta função é indefinido.

Se o comprimento da corda chave analisado é menor ou igual a OT_DNS_TXT_KEY_MAX_LENGTH (recomendado comprimento da chave max) a string chave é devolvido em mKey em aEntry . Mas, se a chave for maior, então mKey é definido como NULL e toda a cadeia de entrada TXT codificado é retornado em mValue e mValueLength .

Detalhes
Parâmetros
[in] aIterator
Um ponteiro para o iterador (NÃO DEVE ser NULL).
[out] aEntry
Um apontador para um otDnsTxtEntry estrutura para a saída do analisado / entrada de leitura (não deve ser nula).
Valores Retornados
OT_ERROR_NONE
A próxima entrada foi analisada com sucesso. aEntry é atualizado.
OT_ERROR_NOT_FOUND
Não há mais entradas nos dados TXT.
OT_ERROR_PARSE
Os dados de TXT aIterator não é bem formada.

otDnsInitTxtEntryIterator

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

Esta função inicializa um iterador de registro TXT.

O ponteiro tampão aTxtData e o seu teor deve persistir e permanecem inalteradas, enquanto aIterator objecto está a ser utilizado.

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

otDnsIsNameCompressionEnabled

bool otDnsIsNameCompressionEnabled(
  void
)

Esta função indica se o modo "compressão de nome DNS" está habilitado ou não.

Este destina-se apenas para teste e disponível quando OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE configuração é habilitado.

Detalhes
Devoluções
TRUE se o modo "compressão de nome DNS" estiver habilitado, FALSE caso contrário.

otDnsServiceResponseGetHostAddress

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

Esta função obtém o endereço IPv6 do host de uma resposta de resolução de instância de serviço DNS.

Esta função só deve ser utilizada a partir otDnsServiceCallback .

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

Detalhes
Parâmetros
[in] aResponse
Um indicador 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 a saída do endereço (NÃO DEVE ser NULL).
[out] aTtl
Um apontador para um uint32_t para TTL saída para o endereço. Pode ser NULL se o chamador não quiser obter o TTL.
Valores Retornados
OT_ERROR_NONE
O endereço foi lido com sucesso.
OT_ERROR_NOT_FOUND
Nenhum registro de endereço para aHostname em aResponse em aIndex .
OT_ERROR_PARSE
Não foi possível analisar os registros na aResponse .

otDnsServiceResponseGetServiceInfo

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

Esta função obtém informações para uma instância de serviço de uma resposta de resolução de instância de serviço DNS.

Esta função só deve ser utilizada a partir otDnsServiceCallback .

  • Se nenhum registro SRV for encontrado em aResponse , OT_ERROR_NOT_FOUND é retornado.
  • Se um registro SRV for encontrado em aResponse , aServiceInfo é atualizado e OT_ERROR_NONE é retornado.
  • Se nenhum registro TXT correspondente for encontrado na aResponse , mTxtDataSize em aServiceInfo está definido para zero.
  • Se nenhum registro AAAA correspondente for encontrado na 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 () `.

Detalhes
Parâmetros
[in] aResponse
Um indicador para a resposta.
[out] aServiceInfo
A ServiceInfo para a saída a informação instância de serviço (não deve ser nula).
Valores Retornados
OT_ERROR_NONE
As informações da instância de serviço foram lidas. aServiceInfo é atualizado.
OT_ERROR_NOT_FOUND
Não foi possível encontrar um registro SRV correspondente na 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 na aResponse .

otDnsServiceResponseGetServiceName

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

Esta função obtém o nome da instância do serviço associado a uma resposta de resolução da instância do serviço DNS.

Esta função só deve ser utilizada a partir otDnsServiceCallback .

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

otDnsSetNameCompressionEnabled

void otDnsSetNameCompressionEnabled(
  bool aEnabled
)

Esta função ativa / desativa o modo "compressão de nome DNS".

Por padrão, a compactação de nomes DNS está ativada. Quando desativados, os nomes DNS são anexados como completos e nunca compactados. Isso é aplicável aos módulos cliente / servidor DNS e SRP do OpenThread.

Este destina-se apenas para teste e disponível quando OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE configuração é habilitado.

Note-se que no caso OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE é usado, este modo aplica-se a todos os casos OpenThread (isto é, ligando esta função activa / desactiva o modo de compressão em todos os casos OpenThread).

Detalhes
Parâmetros
[in] aEnabled
TRUE para habilitar o modo "compressão de nome DNS", FALSE para desabilitar.

Macros

OT_DNS_MAX_LABEL_SIZE

 OT_DNS_MAX_LABEL_SIZE 64

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

OT_DNS_MAX_NAME_SIZE

 OT_DNS_MAX_NAME_SIZE 255

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

OT_DNS_TXT_KEY_MAX_LENGTH

 OT_DNS_TXT_KEY_MAX_LENGTH 9

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

OT_DNS_TXT_KEY_MIN_LENGTH

 OT_DNS_TXT_KEY_MIN_LENGTH 1

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