DNS6
Este módulo inclui funções que controlam a comunicação do DNS.
Resumo
As funções neste módulo estarão disponíveis somente se o recurso OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE
estiver ativado.
Enumerações |
|
---|---|
otDnsNat64Mode{
|
tipo enumerado Esse tipo de enumeração representa o modo NAT64 em um otDnsQueryConfig . |
otDnsRecursionFlag{
|
tipo enumerado Esse tipo de enumeração representa a sinalização "Recursion Desired& (RD) em uma otDnsQueryConfig . |
Typedefs |
|
---|---|
otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext)
|
typedefvoid(*
Esse ponteiro de função é chamado quando uma resposta DNS é recebida para uma consulta de resolução de endereço. |
otDnsAddressResponse
|
typedefstruct otDnsAddressResponse
Esse 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)
|
typedefvoid(*
Esse 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
|
typedefstruct otDnsBrowseResponse
Esse tipo é uma representação opaca de uma resposta a uma consulta DNS de navegação (enumeração de instância de serviço). |
otDnsQueryConfig
|
typedefstruct otDnsQueryConfig
Essa estrutura representa uma configuração de consulta DNS. |
otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext)
|
typedefvoid(*
Esse ponteiro de função é chamado quando uma resposta DNS é recebida para uma consulta de resolução da instância de serviço. |
otDnsServiceInfo
|
typedefstruct otDnsServiceInfo
Essa estrutura fornece informações para uma instância de serviço DNS. |
otDnsServiceResponse
|
typedefstruct otDnsServiceResponse
Esse tipo é uma representação opaca de uma resposta a uma consulta DNS de resolução de instância de serviço. |
otDnsTxtEntry
|
typedefstruct otDnsTxtEntry
Essa estrutura representa uma entrada de registro TXT que representa um par de chave-valor (RFC 6763 – seção 6.3). |
otDnsTxtEntryIterator
|
typedefstruct otDnsTxtEntryIterator
Essa estrutura representa um iteração para números inteiros de registro TXT (pares de chave-valor). |
Functions |
|
---|---|
otDnsAddressResponseGetAddress(const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
|
Essa função 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)
|
Essa função recebe 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)
|
Essa função 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)
|
Essa função recebe informações de uma instância de serviço a partir 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)
|
Essa função 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)
|
Essa função 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)
|
Essa função envia uma consulta de busca (enumeração de instância de serviço) DNS para um determinado nome de serviço.
|
otDnsClientGetDefaultConfig(otInstance *aInstance)
|
const otDnsQueryConfig *
Essa função recebe 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)
|
Essa função envia uma consulta DNS de resolução de endereço para os registros AAAA (IPv6) de um determinado nome de host.
|
otDnsClientResolveIp4Address(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
|
Essa função envia uma consulta DNS de resolução de endereço para registros A (IPv4) de um determinado nome de host.
|
otDnsClientResolveService(otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
|
Essa função envia uma consulta de resolução da instância de serviço de DNS para uma determinada instância de serviço.
|
otDnsClientSetDefaultConfig(otInstance *aInstance, const otDnsQueryConfig *aConfig)
|
void
Essa função define a configuração de consulta padrão no cliente DNS.
|
otDnsGetNextTxtEntry(otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aEntry)
|
Essa função analisa os dados TXT de um iteração e recebe a próxima entrada de registro TXT (par de chave-valor).
|
otDnsInitTxtEntryIterator(otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength)
|
void
Essa função inicializa um iteração de registro TXT.
|
otDnsIsNameCompressionEnabled(void)
|
bool
Esta função indica se o modo "compactação de nome DNS" está ativado ou não.
|
otDnsServiceResponseGetHostAddress(const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
|
Essa função recebe 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)
|
Essa função recebe informações de uma instância de serviço a partir 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)
|
Essa função recebe o nome da instância do serviço associado a uma resposta de resolução da instância de serviço DNS.
|
otDnsSetNameCompressionEnabled(bool aEnabled)
|
void
Essa função ativa/desativa o modo "compressão de nome DNS".
|
Estruturas |
|
---|---|
otDnsQueryConfig. |
Essa estrutura representa uma configuração de consulta DNS. |
otDnsServiceInfo (em inglês) |
Essa estrutura fornece informações para uma instância de serviço DNS. |
otDnsTxtEntry (link em inglês) |
Essa estrutura representa uma entrada de registro TXT que representa um par de chave-valor (RFC 6763 – seção 6.3). |
otDnsTxtEntryiter. |
Essa estrutura representa um iteração para números inteiros de registro TXT (pares de chave-valor). |
Enumerações
OtDnsNat64Mode
otDnsNat64Mode
Esse tipo de enumeração representa o modo NAT64 em um otDnsQueryConfig
.
O modo NAT64 indica se a permissão de conversão de endereços NAT64 será permitida ou não durante a resolução do endereço do cliente DNS. Esse modo só é usado quando o OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE
está ativado.
Propriedades | |
---|---|
OT_DNS_NAT64_ALLOW
|
Permitir conversão de endereços NAT64 durante a resolução de endereços do cliente DNS. |
OT_DNS_NAT64_DISALLOW
|
Não permita a conversão de endereços NAT64 durante a resolução de endereços do cliente DNS. |
OT_DNS_NAT64_UNSPECIFIED
|
O modo NAT64 não está especificado. Use o modo NAT64 padrão. |
otDnsRecursionFlag
otDnsRecursionFlag
Esse tipo de enumeração representa a sinalização "Recursion Desired& (RD) em uma 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 está especificada. |
Typedefs
OtDnsAddressCallback
void(* otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext)
Esse ponteiro de função é chamado quando uma resposta DNS é recebida para uma consulta de resolução de endereço.
Nesse callback, o usuário pode usar as funções otDnsAddressResponseGet{Item}()
com o ponteiro aResponse
para ver mais informações sobre a resposta.
O ponteiro aResponse
só pode ser usado nesse callback e, depois de retornar dessa função, ele não permanecerá válido. Portanto, o usuário NÃO PODE manter o ponteiro aResponse
para uso posterior.
A aError
pode ter o seguinte:
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
- OT_ERROR_NONE Uma resposta foi recebida com sucesso.
- OT_ERROR_ABORT uma transação de DNS foi cancelada pela pilha.
- OT_ERROR_RESPONSE_EXCEPT Nenhuma resposta de DNS foi recebida no 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 ao 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) Servidor REFUSED 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 é autoritativo para a zona -> OT_ERROR_SECURITY
- (10) NOTZONE Um nome não está na zona -> OT_ERROR_PARSE
- (20) BADNAME Nome inválido -> OT_ERROR_PARSE
- (21) Falha no algoritmo BADALG -> OT_ERROR_SECURITY
- (22) BADTRUN truncada -> OT_ERROR_PARSE
- Outros códigos de resposta -> OT_ERROR_FAILED
OtDnsAddressResponse
struct otDnsAddressResponse otDnsAddressResponse
Esse tipo é 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)
Esse ponteiro de função é chamado quando uma resposta DNS é recebida para uma consulta de navegação (enumeração de instância de serviço).
Nesse callback, o usuário pode usar as funções otDnsBrowseResponseGet{Item}()
com o ponteiro aResponse
para ver mais informações sobre a resposta.
O ponteiro aResponse
só pode ser usado nesse callback e, depois de retornar dessa função, ele não permanecerá válido. Portanto, o usuário NÃO PODE manter o ponteiro aResponse
para uso posterior.
Para ver a lista completa de valores possíveis para aError
, consulte otDnsAddressCallback()
.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
OtDnsBrowseResponse
struct otDnsBrowseResponse otDnsBrowseResponse
Esse tipo é uma representação opaca de uma resposta a uma consulta DNS de navegação (enumeração de instância de serviço).
Ponteiros para instância desse tipo são fornecidos no callback otDnsBrowseCallback
.
OtDnsQueryConfig
struct otDnsQueryConfig otDnsQueryConfig
Essa estrutura representa uma configuração de consulta DNS.
Qualquer um dos campos dessa estrutura pode ser definido como zero para indicar que ele não está especificado. O modo como os campos não especificados são tratados pela função que usa a instância de otDnsQueryConfig
.
OtDnsServiceCallback
void(* otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext)
Esse ponteiro de função é chamado quando uma resposta DNS é recebida para uma consulta de resolução da instância de serviço.
Nesse callback, o usuário pode usar as funções otDnsServiceResponseGet{Item}()
com o ponteiro aResponse
para ver mais informações sobre a resposta.
O ponteiro aResponse
só pode ser usado nesse callback e, depois de retornar dessa função, ele não permanecerá válido. Portanto, o usuário NÃO PODE manter o ponteiro aResponse
para uso posterior.
Para ver a lista completa de valores possíveis para aError
, consulte otDnsAddressCallback()
.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
OtDnsServiceInfo
struct otDnsServiceInfo otDnsServiceInfo
Essa estrutura fornece informações para uma instância de serviço DNS.
OtDnsServiceResponse
struct otDnsServiceResponse otDnsServiceResponse
Esse tipo é uma representação opaca de uma resposta a uma consulta DNS de resolução de instância de serviço.
Ponteiros para instância desse tipo são fornecidos no callback otDnsAddressCallback
.
OtDnsTxtEntry
struct otDnsTxtEntry otDnsTxtEntry
Essa estrutura 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 transmitida para a 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).
otDnsTxtEntryiter
struct otDnsTxtEntryIterator otDnsTxtEntryIterator
Essa estrutura representa um iteração para números inteiros de registro TXT (pares de chave-valor).
Os campos de dados nesta estrutura devem ser usados pelo núcleo OpenThread, e o autor da chamada não deve lê-los ou alterá-los.
Functions
OtDnsAddressResponseGetAddress
otError otDnsAddressResponseGetAddress( const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl )
Essa função recebe um endereço IPv6 associado a uma resposta DNS de resolução de endereço.
Essa função PRECISA ser usada apenas no otDnsAddressCallback
.
A resposta pode incluir vários 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 chegamos ao fim da lista, OT_ERROR_NOT_FOUND
é retornado.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
OtDnsAddressResponseGetHostName
otError otDnsAddressResponseGetHostName( const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize )
Essa função recebe o nome completo do host associado a uma resposta DNS de resolução de endereço.
Essa função PRECISA ser usada apenas no otDnsAddressCallback
.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
OtDnsBrowseResponseGetHostAddress
otError otDnsBrowseResponseGetHostAddress( const otDnsBrowseResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl )
Essa função recebe o endereço IPv6 do host de uma resposta de navegação DNS (enumeração de instância de serviço).
Essa função PRECISA ser usada apenas no 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 chegamos ao fim da lista, OT_ERROR_NOT_FOUND
é retornado.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
OtDnsBrowseResponseGetServiceInfo
otError otDnsBrowseResponseGetServiceInfo( const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo )
Essa função recebe informações de uma instância de serviço a partir de uma resposta de navegação DNS (enumeração de instância de serviço).
Essa função PRECISA ser usada apenas no otDnsBrowseCallback
.
Uma resposta de navegação DNS precisa incluir os registros SRV, TXT e AAAA para as instâncias de serviço enumeradas. Observação: esse é um requisito NECESSÁRIO, e NÃO NECESSÁRIO. Essa função tenta recuperar essas informações de 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. - Se um registro SRV correspondente for encontrado em
aResponse
,aServiceInfo
será atualizado eOT_ERROR_NONE
será retornado. - Se nenhum registro TXT correspondente for encontrado em
aResponse
,mTxtDataSize
emaServiceInfo
será definido como zero. - 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 using
otDnsBrowseResponseGetHostAddress()`.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
otDnsBrowseResponseGetServiceInstance
otError otDnsBrowseResponseGetServiceInstance( const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize )
Essa função recebe uma instância de serviço associada a uma resposta de navegação DNS (enumeração de instância de serviço).
Essa função PRECISA ser usada apenas no otDnsBrowseCallback
.
A resposta pode incluir vários registros de instância de serviço. aIndex
pode ser usado para iterar a lista. O índice zero oferece o primeiro registro. Quando chegamos ao fim da lista, OT_ERROR_NOT_FOUND
é retornado.
Essa função recebe o rótulo da instância de serviço, e não o nome completo dela, que tem o formato
.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
OtDnsBrowseResponseGetServiceName
otError otDnsBrowseResponseGetServiceName( const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize )
Essa função recebe o nome do serviço associado a uma resposta de navegação DNS (enumeração de instância de serviço).
Essa função PRECISA ser usada apenas no otDnsBrowseCallback
.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
OtDnsClientBrowse
otError otDnsClientBrowse( otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig )
Essa função envia uma consulta de busca (enumeração de instância de serviço) DNS para um determinado nome de serviço.
Esta função estará disponível quando o OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE
estiver ativado.
O aConfig
pode ser NULL. Neste caso, a configuração padrão (de otDnsClientGetDefaultConfig()
) será usada como a configuração desta consulta. Em uma aConfig
não NULL, alguns dos campos podem ser não especificados (valor zero). Os campos não especificados são substituídos pelos valores da configuração padrão.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
OtDnsClientGetDefaultConfig
const otDnsQueryConfig * otDnsClientGetDefaultConfig( otInstance *aInstance )
Essa função recebe 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 por 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 |
|
||
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 )
Essa função envia uma consulta DNS de resolução de endereço para os registros AAAA (IPv6) de um determinado nome de host.
O aConfig
pode ser NULL. Neste caso, a configuração padrão (de otDnsClientGetDefaultConfig()
) será usada como a configuração desta consulta. Em uma aConfig
não NULL, alguns dos campos podem ser não especificados (valor zero). Os campos não especificados são substituídos pelos valores da configuração padrão.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
OtDnsClientResolveIp4Address
otError otDnsClientResolveIp4Address( otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig )
Essa função envia uma consulta DNS de resolução de endereço para registros A (IPv4) de um determinado nome de host.
Essa função requer e fica disponível quando o OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE
está ativado.
Quando uma resposta é recebida, os endereços são retornados de aCallback
como NAT64 IPv6 versões traduzidas dos endereços IPv4 da resposta da consulta.
O aConfig
pode ser NULL. Neste caso, a configuração padrão (de otDnsClientGetDefaultConfig()
) será usada como a configuração desta consulta. Em uma aConfig
não NULL, alguns dos campos podem ser não especificados (valor zero). Os campos não especificados são substituídos pelos valores da configuração padrão.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
OtDnsClientResolveService
otError otDnsClientResolveService( otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig )
Essa função envia uma consulta de resolução da instância de serviço de DNS para uma determinada instância de serviço.
Esta função estará disponível quando o OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE
estiver ativado.
O aConfig
pode ser NULL. Neste caso, a configuração padrão (de otDnsClientGetDefaultConfig()
) será usada como a configuração desta consulta. Em uma aConfig
não NULL, alguns dos campos podem ser não especificados (valor zero). Os campos não especificados são substituídos pelos valores da configuração padrão.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Valores de retorno |
|
OtDnsClientSetDefaultConfig
void otDnsClientSetDefaultConfig( otInstance *aInstance, const otDnsQueryConfig *aConfig )
Essa função define a configuração de consulta padrão no cliente DNS.
Observação: qualquer consulta em andamento continuará usando a configuração a partir de quando foi iniciada. A nova configuração padrão será usada para consultas futuras de DNS.
O aConfig
pode ser NULL. Nesse caso, a configuração padrão será definida como o padrão nas 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 uma aConfig
não NULL, o autor da chamada pode optar por deixar alguns dos campos na instância do otDnsQueryConfig
não especificados (valor zero). Os campos não especificados são substituídos pelas definições da opção de configuração do OT correspondente 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á 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 o recurso de início automático estejam ativados. O cliente SRP monitora os dados da rede Thread para entradas de serviço DNS/SRP e seleciona 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 |
|
OtDnsGetNextTxtEntry
otError otDnsGetNextTxtEntry( otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aEntry )
Essa função analisa os dados TXT de um iteração e recebe a próxima entrada de registro TXT (par de chave-valor).
A aIterator
PRECISA ser inicializada usando otDnsInitTxtEntryIterator()
antes de chamar essa função. Além disso, o buffer de dados TXT usado para inicializar o inicializador 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 maior, mKey
será definido como NULL, e toda a string de entrada TXT codificada será retornada em mValue
e mValueLength
.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
otDnsInitTxtEntryiter
void otDnsInitTxtEntryIterator( otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength )
Essa função inicializa um iteração de registro TXT.
O ponteiro de buffer aTxtData
e o conteúdo PRECISAM persistir e permanecer inalterados enquanto o objeto aIterator
está sendo usado.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
OtDnsIsNameCompressionEnabled
bool otDnsIsNameCompressionEnabled( void )
Esta função indica se o modo "compactação de nome DNS" está ativado ou não.
Ela é destinada apenas a testes e está disponível quando a configuração do OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
está ativada.
Detalhes | |
---|---|
Retorna |
VERDADEIRO se o modo de "compactação de nome DNS" estiver ativado. Caso contrário, será FALSO.
|
OtDnsServiceResponseGetHostAddress
otError otDnsServiceResponseGetHostAddress( const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl )
Essa função recebe o endereço IPv6 do host de uma resposta de resolução da instância de serviço DNS.
Essa função PRECISA ser usada apenas no 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 chegamos ao fim da lista, OT_ERROR_NOT_FOUND
é retornado.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
OtDnsServiceResponseGetServiceInfo
otError otDnsServiceResponseGetServiceInfo( const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo )
Essa função recebe informações de uma instância de serviço a partir de uma resposta de resolução de instância de serviço DNS.
Essa função PRECISA ser usada apenas no otDnsServiceCallback
.
- Se nenhum registro SRV correspondente for encontrado em
aResponse
,OT_ERROR_NOT_FOUND
será retornado. - Se um registro SRV correspondente for encontrado em
aResponse
,aServiceInfo
será atualizado eOT_ERROR_NONE
será retornado. - Se nenhum registro TXT correspondente for encontrado em
aResponse
,mTxtDataSize
emaServiceInfo
será definido como zero. - 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 using
otDnsServiceResponseGetHostAddress()`.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
OtDnsServiceResponseGetServiceName
otError otDnsServiceResponseGetServiceName( const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize )
Essa função recebe o nome da instância do serviço associado a uma resposta de resolução da instância de serviço DNS.
Essa função PRECISA ser usada apenas no otDnsServiceCallback
.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
OtDnsSetNameCompressionEnabled
void otDnsSetNameCompressionEnabled( bool aEnabled )
Essa função ativa/desativa o modo "compressão de nome DNS".
Por padrão, a compactação de nomes DNS está ativada. Quando esta opção está desativada, 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's.
Ela é destinada apenas a testes e está disponível quando a configuração do OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
está ativada.
No caso do OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE
, esse modo se aplica a todas as instâncias do OpenThread. Por exemplo, chamar essa função ativa/desativa o modo de compactação em todas as instâncias do OpenThread.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
Macros
OT_DNS_MAX_LABEL_SIZE
OT_DNS_MAX_LABEL_SIZE 64
Tamanho máximo da string do rótulo (incluir um 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 um caractere nulo no final da string).
OT_DNS_TXT_KEY_MAX_LENGTH
OT_DNS_TXT_KEY_MAX_LENGTH 9
Tamanho máximo recomendado da string de chave do registro TXT (RFC 6763 - seção 6.4).
OT_DNS_TXT_KEY_MIN_LENGTH
OT_DNS_TXT_KEY_MIN_LENGTH 1
Tamanho mínimo da string da chave de 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 saber mais ou contribuir com nossa documentação, consulte Recursos.