Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

DNSv6

Questo modulo include funzioni che controllano la comunicazione DNS.

Sommario

Le funzioni in questo modulo sono disponibili solo se la funzione OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE è abilitata.

Enumerazioni

otDnsRecursionFlag {
OT_DNS_FLAG_UNSPECIFIED = 0,
OT_DNS_FLAG_RECURSION_DESIRED = 1,
OT_DNS_FLAG_NO_RECURSION = 2
}
enum
Questo tipo di enumerazione rappresenta il flag "Recursion Desired" (RD) in un otDnsQueryConfig .

Typedef

otDnsAddressCallback )(otError aError, const otDnsAddressResponse *aResponse, void *aContext) typedef
void(*
Questo puntatore a funzione viene chiamato quando viene ricevuta una risposta DNS per una query di risoluzione degli indirizzi.
otDnsAddressResponse typedef
Questo tipo è una rappresentazione opaca di una risposta a una query DNS di risoluzione degli indirizzi.
otDnsBrowseCallback )(otError aError, const otDnsBrowseResponse *aResponse, void *aContext) typedef
void(*
Questo puntatore a funzione viene chiamato quando viene ricevuta una risposta DNS per una query di esplorazione (enumerazione dell'istanza di servizio).
otDnsBrowseResponse typedef
Questo tipo è una rappresentazione opaca di una risposta a una query DNS di esplorazione (enumerazione dell'istanza di servizio).
otDnsQueryConfig typedef
Questa struttura rappresenta una configurazione della query DNS.
otDnsServiceCallback )(otError aError, const otDnsServiceResponse *aResponse, void *aContext) typedef
void(*
Questo puntatore a funzione viene chiamato quando viene ricevuta una risposta DNS per una query di risoluzione dell'istanza di servizio.
otDnsServiceInfo typedef
Questa struttura fornisce informazioni per un'istanza del servizio DNS.
otDnsServiceResponse typedef
Questo tipo è una rappresentazione opaca di una risposta a una query DNS di risoluzione dell'istanza del servizio.

Funzioni

otDnsAddressResponseGetAddress (const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Questa funzione ottiene un indirizzo IPv6 associato a una risposta DNS di risoluzione dell'indirizzo.
otDnsAddressResponseGetHostName (const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Questa funzione ottiene il nome host completo associato a una risposta DNS di risoluzione dell'indirizzo.
otDnsBrowseResponseGetHostAddress (const otDnsBrowseResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Questa funzione ottiene l'indirizzo IPv6 dell'host da una risposta di esplorazione DNS (enumerazione dell'istanza di servizio).
otDnsBrowseResponseGetServiceInfo (const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo)
Questa funzione ottiene informazioni per un'istanza di servizio da una risposta di esplorazione DNS (enumerazione dell'istanza di servizio).
otDnsBrowseResponseGetServiceInstance (const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize)
Questa funzione ottiene un'istanza di servizio associata a una risposta di esplorazione DNS (enumerazione dell'istanza di servizio).
otDnsBrowseResponseGetServiceName (const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Questa funzione ottiene il nome del servizio associato a una risposta di esplorazione DNS (enumerazione dell'istanza di servizio).
otDnsClientBrowse ( otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Questa funzione invia una query di esplorazione DNS (enumerazione dell'istanza di servizio) per un determinato nome di servizio.
otDnsClientGetDefaultConfig ( otInstance *aInstance)
Questa funzione ottiene la configurazione della query predefinita corrente utilizzata dal client DNS.
otDnsClientResolveAddress ( otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Questa funzione invia una query DNS di risoluzione degli indirizzi per i record AAAA (IPv6) per un determinato nome host.
otDnsClientResolveService ( otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Questa funzione invia una query di risoluzione dell'istanza del servizio DNS per una determinata istanza del servizio.
otDnsClientSetDefaultConfig ( otInstance *aInstance, const otDnsQueryConfig *aConfig)
void
Questa funzione imposta la configurazione della query predefinita sul client DNS.
otDnsServiceResponseGetHostAddress (const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Questa funzione ottiene l'indirizzo IPv6 dell'host da una risposta di risoluzione dell'istanza del servizio DNS.
otDnsServiceResponseGetServiceInfo (const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo)
Questa funzione ottiene informazioni per un'istanza di servizio da una risposta di risoluzione dell'istanza di servizio DNS.
otDnsServiceResponseGetServiceName (const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize)
Questa funzione ottiene il nome dell'istanza del servizio associato a una risposta di risoluzione dell'istanza del servizio DNS.

Structs

otDnsQueryConfig

Questa struttura rappresenta una configurazione della query DNS.

otDnsServiceInfo

Questa struttura fornisce informazioni per un'istanza del servizio DNS.

Enumerazioni

otDnsRecursionFlag

 otDnsRecursionFlag

Questo tipo di enumerazione rappresenta il flag "Recursion Desired" (RD) in un otDnsQueryConfig .

Proprietà
OT_DNS_FLAG_NO_RECURSION

Indica che il server dei nomi DNS non è in grado di risolvere la query in modo ricorsivo.

OT_DNS_FLAG_RECURSION_DESIRED

Indica che il server dei nomi DNS può risolvere la query in modo ricorsivo.

OT_DNS_FLAG_UNSPECIFIED

Indica che il flag non è specificato.

Typedef

otDnsAddressCallback

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

Questo puntatore a funzione viene chiamato quando viene ricevuta una risposta DNS per una query di risoluzione degli indirizzi.

All'interno di questo callback l'utente può utilizzare le otDnsAddressResponseGet{Item}() insieme al puntatore aResponse per ottenere maggiori informazioni sulla risposta.

Il puntatore aResponse può essere utilizzato solo all'interno di questo callback e dopo il ritorno da questa funzione non rimarrà valido, quindi l'utente NON DEVE conservare il puntatore aResponse per un uso successivo.

aError può avere quanto segue:

Dettagli
Parametri
[in] aError
Il risultato della transazione DNS.
[in] aResponse
Un puntatore alla risposta (è sempre diverso da NULL).
[in] aContext
Un puntatore al contesto specifico dell'applicazione.

  • OT_ERROR_NONE È stata ricevuta una risposta con successo.
  • OT_ERROR_ABORT Una transazione DNS è stata interrotta dallo stack.
  • OT_ERROR_RESPONSE_TIMEOUT Nessuna risposta DNS è stata ricevuta entro il timeout.

Se il server rifiuta la richiesta di risoluzione dell'indirizzo, il codice di errore dal server viene mappato come segue:

  • (0) NOERROR Success (nessuna condizione di errore) -> OT_ERROR_NONE
  • (1) FORMERR Server non in grado di interpretare a causa di un errore di formato -> OT_ERROR_PARSE
  • (2) SERVFAIL Il server ha riscontrato un errore interno -> OT_ERROR_FAILED
  • (3) NXDOMAIN Nome che dovrebbe esistere, non esiste -> OT_ERROR_NOT_FOUND
  • (4) NOTIMP Server non supporta il tipo di query (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
  • (5) RIFIUTATO Server rifiutato per motivi di politica / sicurezza -> OT_ERROR_SECURITY
  • (6) YXDOMAIN Qualche nome che non dovrebbe esistere, esiste -> OT_ERROR_DUPLICATED
  • (7) YXRRSET Alcuni RRset che non dovrebbero esistere, esistono -> OT_ERROR_DUPLICATED
  • (8) NXRRSET Alcuni RRset che dovrebbero esistere, non esistono -> OT_ERROR_NOT_FOUND
  • (9) NOTAUTH Il servizio non è autorevole per zona -> OT_ERROR_SECURITY
  • (10) NOTZONE Un nome non è nella zona -> OT_ERROR_PARSE
  • (20) BADNAME Bad name -> OT_ERROR_PARSE
  • (21) BADALG Algoritmo errato -> OT_ERROR_SECURITY
  • (22) BADTRUN Troncamento errato -> OT_ERROR_PARSE
  • Altri codici di risposta -> OT_ERROR_FAILED

otDnsAddressResponse

struct otDnsAddressResponse otDnsAddressResponse

Questo tipo è una rappresentazione opaca di una risposta a una query DNS di risoluzione degli indirizzi.

I puntatori all'istanza di questo tipo vengono forniti dal callback otDnsAddressCallback .

otDnsBrowseCallback

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

Questo puntatore a funzione viene chiamato quando viene ricevuta una risposta DNS per una query di esplorazione (enumerazione dell'istanza di servizio).

All'interno di questo callback l'utente può utilizzare le otDnsBrowseResponseGet{Item}() insieme al puntatore aResponse per ottenere maggiori informazioni sulla risposta.

Il puntatore aResponse può essere utilizzato solo all'interno di questo callback e dopo essere tornato da questa funzione non rimarrà valido, quindi l'utente NON DEVE conservare il puntatore aResponse per un uso successivo.

Per l'elenco completo dei possibili valori per aError , vedere otDnsAddressCallback() .

Dettagli
Parametri
[in] aError
Il risultato della transazione DNS.
[in] aResponse
Un puntatore alla risposta (è sempre diverso da NULL).
[in] aContext
Un puntatore al contesto specifico dell'applicazione.

otDnsBrowseResponse

struct otDnsBrowseResponse otDnsBrowseResponse

Questo tipo è una rappresentazione opaca di una risposta a una query DNS di esplorazione (enumerazione dell'istanza di servizio).

I puntatori all'istanza di questo tipo vengono forniti dalla richiamata otDnsBrowseCallback .

otDnsQueryConfig

struct otDnsQueryConfig otDnsQueryConfig

Questa struttura rappresenta una configurazione della query DNS.

Qualsiasi campo in questa struttura può essere impostato su zero per indicare che non è specificato. Il modo in cui vengono trattati i campi non specificati è determinato dalla funzione che utilizza l'istanza di otDnsQueryConfig .

otDnsServiceCallback

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

Questo puntatore a funzione viene chiamato quando viene ricevuta una risposta DNS per una query di risoluzione dell'istanza di servizio.

All'interno di questo callback l'utente può utilizzare le otDnsServiceResponseGet{Item}() insieme al puntatore aResponse per ottenere maggiori informazioni sulla risposta.

Il puntatore aResponse può essere utilizzato solo all'interno di questo callback e dopo essere tornato da questa funzione non rimarrà valido, quindi l'utente NON DEVE conservare il puntatore aResponse per un uso successivo.

Per l'elenco completo dei possibili valori per aError , vedere otDnsAddressCallback() .

Dettagli
Parametri
[in] aError
Il risultato della transazione DNS.
[in] aResponse
Un puntatore alla risposta (è sempre diverso da NULL).
[in] aContext
Un puntatore al contesto specifico dell'applicazione.

otDnsServiceInfo

struct otDnsServiceInfo otDnsServiceInfo

Questa struttura fornisce informazioni per un'istanza del servizio DNS.

otDnsServiceResponse

struct otDnsServiceResponse otDnsServiceResponse

Questo tipo è una rappresentazione opaca di una risposta a una query DNS di risoluzione dell'istanza del servizio.

I puntatori all'istanza di questo tipo vengono forniti dal callback otDnsAddressCallback .

Funzioni

otDnsAddressResponseGetAddress

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

Questa funzione ottiene un indirizzo IPv6 associato a una risposta DNS di risoluzione dell'indirizzo.

Questa funzione DEVE essere utilizzata solo da otDnsAddressCallback .

La risposta può includere più record di indirizzi IPv6. aIndex può essere utilizzato per scorrere l'elenco di indirizzi. L'indice zero ottiene il primo indirizzo e così via. Quando raggiungiamo la fine dell'elenco, viene restituito OT_ERROR_NOT_FOUND .

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[in] aIndex
L'indice del record dell'indirizzo da recuperare.
[out] aAddress
Un puntatore a un indirizzo IPv6 per visualizzare l'indirizzo (NON DEVE essere NULLO).
[out] aTtl
Un puntatore a un uint32_t per generare TTL per l'indirizzo. Può essere NULL se il chiamante non desidera ottenere il TTL.
Valori restituiti
OT_ERROR_NONE
L'indirizzo è stato letto con successo.
OT_ERROR_NOT_FOUND
Nessun record di indirizzo in aResponse su aIndex .
OT_ERROR_PARSE
Impossibile analizzare i record in aResponse .

otDnsAddressResponseGetHostName

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

Questa funzione ottiene il nome host completo associato a una risposta DNS di risoluzione dell'indirizzo.

Questa funzione DEVE essere utilizzata solo da otDnsAddressCallback .

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[out] aNameBuffer
Un buffer per la matrice di caratteri per l'output del nome host completo (NON DEVE essere NULLO).
[in] aNameBufferSize
La dimensione di aNameBuffer .
Valori restituiti
OT_ERROR_NONE
Il nome host completo è stato letto correttamente.
OT_ERROR_NO_BUFS
Il nome non rientra in aNameBuffer .

otDnsBrowseResponseGetHostAddress

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

Questa funzione ottiene l'indirizzo IPv6 dell'host da una risposta di esplorazione DNS (enumerazione dell'istanza di servizio).

Questa funzione DEVE essere utilizzata solo da otDnsBrowseCallback .

La risposta può includere zero o più record di indirizzi IPv6. aIndex può essere utilizzato per scorrere l'elenco di indirizzi. L'indice zero ottiene il primo indirizzo e così via. Quando raggiungiamo la fine dell'elenco, viene restituito OT_ERROR_NOT_FOUND .

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[in] aHostName
Il nome host per ottenere l'indirizzo (NON DEVE essere NULLO).
[in] aIndex
L'indice del record dell'indirizzo da recuperare.
[out] aAddress
Un puntatore a un indirizzo IPv6 per visualizzare l'indirizzo (NON DEVE essere NULLO).
[out] aTtl
Un puntatore a un uint32_t per generare TTL per l'indirizzo. Può essere NULL se il chiamante non desidera ottenere il TTL.
Valori restituiti
OT_ERROR_NONE
L'indirizzo è stato letto con successo.
OT_ERROR_NOT_FOUND
Nessun record di indirizzo per aHostname in aResponse in aIndex .
OT_ERROR_PARSE
Impossibile analizzare i record in aResponse .

otDnsBrowseResponseGetServiceInfo

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

Questa funzione ottiene informazioni per un'istanza di servizio da una risposta di esplorazione DNS (enumerazione dell'istanza di servizio).

Questa funzione DEVE essere utilizzata solo da otDnsBrowseCallback .

Una risposta DNS di esplorazione dovrebbe includere i record SRV, TXT e AAAA per le istanze di servizio che sono enumerate (si noti che è un requisito DOVREBBE e non DEBOLE). Questa funzione tenta di recuperare queste informazioni per una determinata istanza di servizio quando disponibile.

  • Se in aResponse viene trovato alcun record SRV corrispondente, viene restituito OT_ERROR_NOT_FOUND .
  • Se un record SRV corrispondente viene trovato in aResponse , aServiceInfo viene aggiornato e viene restituito OT_ERROR_NONE .
  • Se in aResponse viene trovato alcun record TXT corrispondente, mTxtDataSize in aServiceInfo viene impostato su zero.
  • Se in aResponse viene trovato alcun record AAAA corrispondente, 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 () `.

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[in] aInstanceLabel
L'etichetta dell'istanza del servizio (NON DEVE essere NULLA).
[out] aServiceInfo
Un ServiceInfo per l'output delle informazioni sull'istanza del servizio (NON DEVE essere NULL).
Valori restituiti
OT_ERROR_NONE
Le informazioni sull'istanza del servizio sono state lette. aServiceInfo viene aggiornato.
OT_ERROR_NOT_FOUND
Impossibile trovare un record SRV corrispondente per aInstanceLabel .
OT_ERROR_NO_BUFS
Il nome host e / oi dati TXT non potevano rientrare nei buffer specificati.
OT_ERROR_PARSE
Impossibile analizzare i record in aResponse .

otDnsBrowseResponseGetServiceInstance

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

Questa funzione ottiene un'istanza di servizio associata a una risposta di esplorazione DNS (enumerazione dell'istanza di servizio).

Questa funzione DEVE essere utilizzata solo da otDnsBrowseCallback .

La risposta può includere più record di istanze di servizio. aIndex può essere utilizzato per scorrere l'elenco. L'indice zero fornisce il primo record. Quando raggiungiamo la fine dell'elenco, viene restituito OT_ERROR_NOT_FOUND .

Si noti che questa funzione ottiene l'etichetta dell'istanza del servizio e non il nome completo dell'istanza del servizio che è nel formato . . . . .

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[in] aIndex
L'indice del record dell'istanza di servizio da recuperare.
[out] aLabelBuffer
Un buffer per la matrice di caratteri per l'output dell'etichetta dell'istanza del servizio (NON DEVE essere NULL).
[in] aLabelBufferSize
La dimensione di aLabelBuffer .
Valori restituiti
OT_ERROR_NONE
L'istanza del servizio è stata letta correttamente.
OT_ERROR_NO_BUFS
Il nome non rientra in aNameBuffer .
OT_ERROR_NOT_FOUND
Nessun record di istanza di servizio in aResponse su aIndex .
OT_ERROR_PARSE
Impossibile analizzare i record in aResponse .

otDnsBrowseResponseGetServiceName

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

Questa funzione ottiene il nome del servizio associato a una risposta di esplorazione DNS (enumerazione dell'istanza di servizio).

Questa funzione DEVE essere utilizzata solo da otDnsBrowseCallback .

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[out] aNameBuffer
Un buffer per la matrice di caratteri per l'output del nome del servizio (NON DEVE essere NULL).
[in] aNameBufferSize
La dimensione di aNameBuffer .
Valori restituiti
OT_ERROR_NONE
Il nome del servizio è stato letto correttamente.
OT_ERROR_NO_BUFS
Il nome non rientra in aNameBuffer .

otDnsClientBrowse

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

Questa funzione invia una query di esplorazione DNS (enumerazione dell'istanza di servizio) per un determinato nome di servizio.

Questa funzione è disponibile quando OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE è abilitato.

aConfig può essere NULL. In questo caso, la configurazione predefinita (da otDnsClientGetDefaultConfig() ) verrà utilizzata come configurazione per questa query. In un aConfig diverso da NULL, alcuni campi possono essere lasciati non specificati (valore zero). I campi non specificati vengono quindi sostituiti dai valori della configurazione predefinita.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aServiceName
Il nome del servizio per cui eseguire la query (NON DEVE essere NULLO).
[in] aCallback
Un puntatore a funzione che deve essere chiamato alla ricezione della risposta o al timeout.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie.
[in] aConfig
Un puntatore alla configurazione da utilizzare per questa query.
Valori restituiti
OT_ERROR_NONE
Query inviata con successo. aCallback verrà richiamato per segnalare lo stato.
OT_ERROR_NO_BUFS
Buffer insufficiente per preparare e inviare query.

otDnsClientGetDefaultConfig

const otDnsQueryConfig * otDnsClientGetDefaultConfig(
  otInstance *aInstance
)

Questa funzione ottiene la configurazione della query predefinita corrente utilizzata dal client DNS.

All'avvio dello stack OpenThread, la configurazione della query DNS predefinita viene determinata da un insieme di opzioni di configurazione OT come OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS , _DEFAULT_SERVER_PORT , _DEFAULT_RESPONSE_TIMEOUT , ecc. (Vedere le opzioni di configurazione relative a config/dns_clinet.h ).

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
ritorna
Un puntatore alla configurazione predefinita corrente utilizzata dal client DNS.

otDnsClientResolveAddress

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

Questa funzione invia una query DNS di risoluzione degli indirizzi per i record AAAA (IPv6) per un determinato nome host.

aConfig può essere NULL. In questo caso, la configurazione predefinita (da otDnsClientGetDefaultConfig() ) verrà utilizzata come configurazione per questa query. In un aConfig diverso da NULL, alcuni campi possono essere lasciati non specificati (valore zero). I campi non specificati vengono quindi sostituiti dai valori della configurazione predefinita.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aHostName
Il nome host per il quale interrogare l'indirizzo (NON DEVE essere NULLO).
[in] aCallback
Un puntatore a funzione che deve essere chiamato alla ricezione della risposta o al timeout.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie.
[in] aConfig
Un puntatore alla configurazione da utilizzare per questa query.
Valori restituiti
OT_ERROR_NONE
Query inviata con successo. aCallback verrà richiamato per segnalare lo stato.
OT_ERROR_NO_BUFS
Buffer insufficiente per preparare e inviare query.

otDnsClientResolveService

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

Questa funzione invia una query di risoluzione dell'istanza del servizio DNS per una determinata istanza del servizio.

Questa funzione è disponibile quando OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE è abilitato.

aConfig può essere NULL. In questo caso, la configurazione predefinita (da otDnsClientGetDefaultConfig() ) verrà utilizzata come configurazione per questa query. In un aConfig diverso da NULL, alcuni campi possono essere lasciati non specificati (valore zero). I campi non specificati vengono quindi sostituiti dai valori della configurazione predefinita.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aInstanceLabel
L'etichetta dell'istanza di servizio.
[in] aServiceName
Il nome del servizio (insieme a un nome istanza completo del modulo aInstanceLabel ).
[in] aCallback
Un puntatore a funzione che deve essere chiamato alla ricezione della risposta o al timeout.
[in] aContext
Un puntatore a informazioni di contesto arbitrarie.
[in] aConfig
Un puntatore alla configurazione da utilizzare per questa query.
Valori restituiti
OT_ERROR_NONE
Query inviata con successo. aCallback verrà richiamato per segnalare lo stato.
OT_ERROR_NO_BUFS
Buffer insufficiente per preparare e inviare query.

otDnsClientSetDefaultConfig

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

Questa funzione imposta la configurazione della query predefinita sul client DNS.

Nota: qualsiasi query in corso continuerà a utilizzare la configurazione da quando è stata avviata. La nuova configurazione predefinita verrà utilizzata per qualsiasi futura query DNS. aConfig può essere NULL. In questo caso, la configurazione predefinita verrà impostata sui valori predefiniti dalle opzioni di configurazione OT OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} . Ciò reimposta la configurazione della query predefinita alla configurazione all'avvio dello stack OpenThread.

In un aConfig non NULL, il chiamante può scegliere di lasciare alcuni dei campi nell'istanza otDnsQueryConfig non specificati (valore zero). I campi non specificati vengono sostituiti dalle definizioni delle opzioni di configurazione OT corrispondenti OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} per formare la configurazione della query predefinita.

Dettagli
Parametri
[in] aInstance
Puntatore a un'istanza di OpenThread.
[in] aConfig
Un puntatore alla nuova configurazione della query da utilizzare come impostazione predefinita.

otDnsServiceResponseGetHostAddress

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

Questa funzione ottiene l'indirizzo IPv6 dell'host da una risposta di risoluzione dell'istanza del servizio DNS.

Questa funzione DEVE essere utilizzata solo da otDnsServiceCallback .

La risposta può includere zero o più record di indirizzi IPv6. aIndex può essere utilizzato per scorrere l'elenco di indirizzi. L'indice zero ottiene il primo indirizzo e così via. Quando raggiungiamo la fine dell'elenco, viene restituito OT_ERROR_NOT_FOUND .

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[in] aHostName
Il nome host per ottenere l'indirizzo (NON DEVE essere NULLO).
[in] aIndex
L'indice del record dell'indirizzo da recuperare.
[out] aAddress
Un puntatore a un indirizzo IPv6 per visualizzare l'indirizzo (NON DEVE essere NULLO).
[out] aTtl
Un puntatore a un uint32_t per generare TTL per l'indirizzo. Può essere NULL se il chiamante non desidera ottenere il TTL.
Valori restituiti
OT_ERROR_NONE
L'indirizzo è stato letto con successo.
OT_ERROR_NOT_FOUND
Nessun record di indirizzo per aHostname in aResponse in aIndex .
OT_ERROR_PARSE
Impossibile analizzare i record in aResponse .

otDnsServiceResponseGetServiceInfo

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

Questa funzione ottiene informazioni per un'istanza di servizio da una risposta di risoluzione dell'istanza di servizio DNS.

Questa funzione DEVE essere utilizzata solo da otDnsServiceCallback .

  • Se in aResponse viene trovato alcun record SRV corrispondente, viene restituito OT_ERROR_NOT_FOUND .
  • Se un record SRV corrispondente viene trovato in aResponse , aServiceInfo viene aggiornato e viene restituito OT_ERROR_NONE .
  • Se in aResponse viene trovato alcun record TXT corrispondente, mTxtDataSize in aServiceInfo viene impostato su zero.
  • Se in aResponse viene trovato alcun record AAAA corrispondente, 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 () `.

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[out] aServiceInfo
Un ServiceInfo per l'output delle informazioni sull'istanza del servizio (NON DEVE essere NULL).
Valori restituiti
OT_ERROR_NONE
Le informazioni sull'istanza del servizio sono state lette. aServiceInfo viene aggiornato.
OT_ERROR_NOT_FOUND
Impossibile trovare un record SRV corrispondente in aResponse .
OT_ERROR_NO_BUFS
Il nome host e / oi dati TXT non potevano rientrare nei buffer specificati.
OT_ERROR_PARSE
Impossibile analizzare i record in aResponse .

otDnsServiceResponseGetServiceName

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

Questa funzione ottiene il nome dell'istanza del servizio associato a una risposta di risoluzione dell'istanza del servizio DNS.

Questa funzione DEVE essere utilizzata solo da otDnsServiceCallback .

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[out] aLabelBuffer
Un buffer per la matrice di caratteri per l'output dell'etichetta dell'istanza del servizio (NON DEVE essere NULL).
[in] aLabelBufferSize
La dimensione di aLabelBuffer .
[out] aNameBuffer
Un buffer per un array di caratteri per visualizzare il resto del nome del servizio (può essere NULL se l'utente non è interessato a ottenere il nome.
[in] aNameBufferSize
La dimensione di aNameBuffer .
Valori restituiti
OT_ERROR_NONE
Il nome del servizio è stato letto correttamente.
OT_ERROR_NO_BUFS
L'etichetta o il nome non si adattano ai buffer specificati.