DNS

Questo modulo include funzioni che controllano la comunicazione DNS.

Riepilogo

Le funzioni di questo modulo sono disponibili solo se la funzionalità OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE è abilitata.

Enumerazioni

otDnsNat64Mode{
  OT_DNS_NAT64_UNSPECIFIED = 0,
  OT_DNS_NAT64_ALLOW = 1,
  OT_DNS_NAT64_DISALLOW = 2
}
enum
Il tipo rappresenta la modalità NAT64 in un otDnsQueryConfig.
otDnsRecursionFlag{
  OT_DNS_FLAG_UNSPECIFIED = 0,
  OT_DNS_FLAG_RECURSION_DESIRED = 1,
  OT_DNS_FLAG_NO_RECURSION = 2
}
enum
Il tipo rappresenta il flag "Recursion Desired" (RD) in un otDnsQueryConfig.
otDnsServiceMode{
  OT_DNS_SERVICE_MODE_UNSPECIFIED = 0,
  OT_DNS_SERVICE_MODE_SRV = 1,
  OT_DNS_SERVICE_MODE_TXT = 2,
  OT_DNS_SERVICE_MODE_SRV_TXT = 3,
  OT_DNS_SERVICE_MODE_SRV_TXT_SEPARATE = 4,
  OT_DNS_SERVICE_MODE_SRV_TXT_OPTIMIZE = 5
}
enum
Il tipo rappresenta la modalità di risoluzione del servizio in un otDnsQueryConfig.
otDnsTransportProto{
  OT_DNS_TRANSPORT_UDP = 1,
  OT_DNS_TRANSPORT_TCP = 2
}
enum
Il tipo rappresenta il protocollo di trasporto DNS in un otDnsQueryConfig.

Typedef

otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext) typedef
void(*
Il puntatore viene chiamato quando viene ricevuta una risposta DNS per una query di risoluzione degli indirizzi.
otDnsAddressResponse typedef
Una rappresentazione opaca di una risposta a una query DNS di risoluzione degli indirizzi.
otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext) typedef
void(*
Il puntatore viene chiamato quando viene ricevuta una risposta DNS per una query di consultazione (enumerazione di istanze di servizio).
otDnsBrowseResponse typedef
Rappresentazione opaca di una risposta a una query DNS di consultazione (enumerazione di istanze di servizio).
otDnsQueryConfig typedef
Rappresenta una configurazione di query DNS.
otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext) typedef
void(*
Il puntatore viene chiamato quando viene ricevuta una risposta DNS per una query di risoluzione di un'istanza di servizio.
otDnsServiceInfo typedef
Fornisce informazioni per un'istanza di servizio DNS.
otDnsServiceResponse typedef
Rappresentazione opaca di una risposta a una query DNS per la risoluzione di un'istanza di servizio.
otDnsTxtEntry typedef
struct otDnsTxtEntry
Rappresenta una voce di record TXT che rappresenta una coppia chiave/valore (RFC 6763 - sezione 6.3).
otDnsTxtEntryIterator typedef
Rappresenta un iteratore per le voci di record TXT (coppie chiave/valore).

Funzioni

otDnsAddressResponseGetAddress(const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Restituisce un indirizzo IPv6 associato a una risposta DNS di risoluzione degli indirizzi.
otDnsAddressResponseGetHostName(const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Restituisce il nome host completo associato a una risposta DNS di risoluzione degli indirizzi.
otDnsBrowseResponseGetHostAddress(const otDnsBrowseResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Restituisce l'indirizzo IPv6 dell'host da una risposta di consultazione DNS (enumerazione di istanze di servizio).
otDnsBrowseResponseGetServiceInfo(const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo)
Recupera informazioni per un'istanza di servizio da una risposta di consultazione DNS (enumerazione di istanze di servizio).
otDnsBrowseResponseGetServiceInstance(const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize)
Restituisce un'istanza di servizio associata a una risposta di consultazione DNS (enumerazione di istanze di servizio).
otDnsBrowseResponseGetServiceName(const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Restituisce il nome di servizio associato a una risposta di consultazione DNS (enumerazione di istanze di servizio).
otDnsClientBrowse(otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Invia una query di consultazione DNS (enumerazione di istanze di servizio) per un determinato nome di servizio.
otDnsClientGetDefaultConfig(otInstance *aInstance)
Restituisce l'attuale configurazione di query predefinita utilizzata dal client DNS.
otDnsClientResolveAddress(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Invia una query DNS di risoluzione degli indirizzi per i record AAAA (IPv6) per un determinato nome host.
otDnsClientResolveIp4Address(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Invia una query DNS di risoluzione degli indirizzi per i record A (IPv4) per un determinato nome host.
otDnsClientResolveService(otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Avvia una risoluzione dell'istanza di servizio DNS per una determinata istanza di servizio.
otDnsClientResolveServiceAndHostAddress(otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Avvia una risoluzione dell'istanza di servizio DNS per una determinata istanza di servizio, con una potenziale risoluzione dell'indirizzo di follow-up per il nome host rilevato per l'istanza di servizio.
otDnsClientSetDefaultConfig(otInstance *aInstance, const otDnsQueryConfig *aConfig)
void
Consente di impostare la configurazione delle query predefinita sul client DNS.
otDnsEncodeTxtData(const otDnsTxtEntry *aTxtEntries, uint16_t aNumTxtEntries, uint8_t *aTxtData, uint16_t *aTxtDataLength)
Codifica un determinato elenco di voci di record TXT (coppie chiave/valore) in dati TXT (nel seguente formato specificato da RFC 6763).
otDnsGetNextTxtEntry(otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aEntry)
Analizza i dati TXT di un iteratore e recupera la voce del record TXT successiva (coppia chiave/valore).
otDnsInitTxtEntryIterator(otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength)
void
Inizializza un iteratore del record TXT.
otDnsIsNameCompressionEnabled(void)
bool
Indica se la modalità "Compressione dei nomi DNS" è attivata o meno.
otDnsServiceResponseGetHostAddress(const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Restituisce l'indirizzo IPv6 dell'host da una risposta di risoluzione dell'istanza di servizio DNS.
otDnsServiceResponseGetServiceInfo(const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo)
Recupera le informazioni per un'istanza di servizio da una risposta di risoluzione di un'istanza di servizio DNS.
otDnsServiceResponseGetServiceName(const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize)
Restituisce il nome dell'istanza di servizio associato a una risposta di risoluzione dell'istanza di servizio DNS.
otDnsSetNameCompressionEnabled(bool aEnabled)
void
Attiva/disattiva la modalità "Compressione dei nomi DNS".

Strutture

otDnsQueryConfig

Rappresenta una configurazione di query DNS.

otDnsServiceInfo

Fornisce informazioni per un'istanza di servizio DNS.

otDnsTxtEntry

Rappresenta una voce di record TXT che rappresenta una coppia chiave/valore (RFC 6763 - sezione 6.3).

otDnsTxtEntryIterator

Rappresenta un iteratore per le voci di record TXT (coppie chiave/valore).

Enumerazioni

otDnsNat64Mode

 otDnsNat64Mode

Il tipo rappresenta la modalità NAT64 in un otDnsQueryConfig.

La modalità NAT64 indica se consentire o non consentire la traduzione degli indirizzi NAT64 durante la risoluzione degli indirizzi client DNS. Questa modalità viene utilizzata solo quando OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE è abilitato.

Proprietà
OT_DNS_NAT64_ALLOW

Consenti la traduzione degli indirizzi NAT64 durante la risoluzione dell'indirizzo del client DNS.

OT_DNS_NAT64_DISALLOW

Non consentire la traduzione degli indirizzi NAT64 durante la risoluzione dell'indirizzo client DNS.

OT_DNS_NAT64_UNSPECIFIED

La modalità NAT64 non è specificata. Utilizza la modalità NAT64 predefinita.

otDnsRecursionFlag

 otDnsRecursionFlag

Il tipo rappresenta il flag "Recursion Desired" (RD) in un otDnsQueryConfig.

Proprietà
OT_DNS_FLAG_NO_RECURSION

Indica che il server dei nomi DNS non può 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.

otDnsServiceMode

 otDnsServiceMode

Il tipo rappresenta la modalità di risoluzione del servizio in un otDnsQueryConfig.

Viene utilizzato solo durante la risoluzione del servizio client DNS otDnsClientResolveService(). Determina i tipi di record su cui eseguire una query.

Proprietà
OT_DNS_SERVICE_MODE_SRV

Query solo per record SRV.

OT_DNS_SERVICE_MODE_SRV_TXT

Query per record SRV e TXT nello stesso messaggio.

OT_DNS_SERVICE_MODE_SRV_TXT_OPTIMIZE

Esegui prima la query per TXT/SRV; in caso di errore, esegui la query separatamente.

OT_DNS_SERVICE_MODE_SRV_TXT_SEPARATE

Esegui una query in parallelo per SRV e TXT utilizzando messaggi separati.

OT_DNS_SERVICE_MODE_TXT

Query solo per il record TXT.

OT_DNS_SERVICE_MODE_UNSPECIFIED

La modalità non è specificata. Utilizza la modalità di servizio predefinita.

otDnsTransportProto

 otDnsTransportProto

Il tipo rappresenta il protocollo di trasporto DNS in un otDnsQueryConfig.

Questo OT_DNS_TRANSPORT_TCP è supportato solo quando OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE è abilitato.

Proprietà
OT_DNS_TRANSPORT_TCP

La query DNS deve essere inviata tramite UDP.

OT_DNS_TRANSPORT_UDP

Il trasporto DNS non è specificato.

Typedef

otDnsAddressCallback

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

Il puntatore viene chiamato quando viene ricevuta una risposta DNS per una query di risoluzione degli indirizzi.

All'interno di questo callback, l'utente può usare le funzioni otDnsAddressResponseGet{Item}() insieme al puntatore aResponse per avere ulteriori informazioni sulla risposta.

Il puntatore aResponse può essere utilizzato solo all'interno di questo callback e, una volta restituito da questa funzione, non rimane valido, quindi l'utente NON DEVE conservare il puntatore aResponse per utilizzarlo in seguito.

aError può avere quanto segue:

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

  • OT_ERROR_NONE risposta ricevuta correttamente.
  • OT_ERROR_ABORT Una transazione DNS è stata interrotta dallo stack.
  • OT_ERROR_ANSWER_TIMEOUT Nessuna risposta DNS ricevuta entro il timeout.

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

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

otDnsAddressResponse

struct otDnsAddressResponse otDnsAddressResponse

Una rappresentazione opaca di una risposta a una query DNS di risoluzione degli indirizzi.

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

otDnsBrowseCallback

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

Il puntatore viene chiamato quando viene ricevuta una risposta DNS per una query di consultazione (enumerazione di istanze di servizio).

All'interno di questo callback, l'utente può usare le funzioni otDnsBrowseResponseGet{Item}() insieme al puntatore aResponse per avere ulteriori informazioni sulla risposta.

Il puntatore aResponse può essere utilizzato solo all'interno di questo callback e, una volta restituito da questa funzione, non rimane valido, quindi l'utente NON DEVE conservare il puntatore aResponse per utilizzarlo in seguito.

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

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

otDnsBrowseResponse

struct otDnsBrowseResponse otDnsBrowseResponse

Rappresentazione opaca di una risposta a una query DNS di consultazione (enumerazione di istanze di servizio).

I puntatori all'istanza di questo tipo sono forniti dal callback otDnsBrowseCallback.

otDnsQueryConfig

struct otDnsQueryConfig otDnsQueryConfig

Rappresenta una configurazione di query DNS.

Qualsiasi campo di 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)

Il puntatore viene chiamato quando viene ricevuta una risposta DNS per una query di risoluzione di un'istanza di servizio.

All'interno di questo callback, l'utente può usare le funzioni otDnsServiceResponseGet{Item}() insieme al puntatore aResponse per avere ulteriori informazioni sulla risposta.

Il puntatore aResponse può essere utilizzato solo all'interno di questo callback e, una volta restituito da questa funzione, non rimane valido, quindi l'utente NON DEVE conservare il puntatore aResponse per utilizzarlo in seguito.

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

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

otDnsServiceInfo

struct otDnsServiceInfo otDnsServiceInfo

Fornisce informazioni per un'istanza di servizio DNS.

otDnsServiceResponse

struct otDnsServiceResponse otDnsServiceResponse

Rappresentazione opaca di una risposta a una query DNS per la risoluzione di un'istanza di servizio.

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

otDnsTxtEntry

struct otDnsTxtEntry otDnsTxtEntry

Rappresenta una voce di record TXT che rappresenta una coppia chiave/valore (RFC 6763 - sezione 6.3).

I buffer di stringhe a cui punta mKey e mValue DEVONO rimanere invariati dopo che un'istanza di tale struttura viene passata a OpenThread (come parte dell'istanza otSrpClientService).

Un array di voci otDnsTxtEntry viene utilizzato in otSrpClientService per specificare il record TXT completo (un elenco di voci).

otDnsTxtEntryIterator

struct otDnsTxtEntryIterator otDnsTxtEntryIterator

Rappresenta un iteratore per le voci di record TXT (coppie chiave/valore).

I campi di dati in questa struttura sono destinati all'uso da parte del core OpenThread e il chiamante non deve leggerli o modificarli.

Funzioni

otDnsAddressResponseGetAddress

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

Restituisce un indirizzo IPv6 associato a una risposta DNS di risoluzione degli indirizzi.

DEVE essere utilizzato solo a partire dal giorno otDnsAddressCallback.

La risposta può includere più record di indirizzi IPv6. aIndex può essere utilizzato per eseguire l'iterazione nell'elenco degli 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 di indirizzi da recuperare.
[out] aAddress
Un puntatore a un indirizzo IPv6 per generare l'indirizzo (NON DEVE essere NULL).
[out] aTtl
Un puntatore a uint32_t per generare il TTL dell'indirizzo. Può essere NULL se il chiamante non vuole ottenere il TTL.
Valori restituiti
OT_ERROR_NONE
L'indirizzo è stato letto correttamente.
OT_ERROR_NOT_FOUND
Nessun record di indirizzo in aResponse alle ore aIndex.
OT_ERROR_PARSE
Impossibile analizzare i record in aResponse.
OT_ERROR_INVALID_STATE
Nessun prefisso NAT64 (applicabile solo se è consentito NAT64).

otDnsAddressResponseGetHostName

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

Restituisce il nome host completo associato a una risposta DNS di risoluzione degli indirizzi.

DEVE essere utilizzato solo a partire dal giorno otDnsAddressCallback.

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[out] aNameBuffer
Un array di caratteri da buffer a char per restituire il nome host completo (NON DEVE essere NULL).
[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
)

Restituisce l'indirizzo IPv6 dell'host da una risposta di consultazione DNS (enumerazione di istanze di servizio).

DEVE essere utilizzato solo a partire dal giorno otDnsBrowseCallback.

La risposta può includere zero o più record di indirizzi IPv6. aIndex può essere utilizzato per eseguire l'iterazione nell'elenco degli 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 NULL).
[in] aIndex
L'indice del record di indirizzi da recuperare.
[out] aAddress
Un puntatore a un indirizzo IPv6 per generare l'indirizzo (NON DEVE essere NULL).
[out] aTtl
Un puntatore a uint32_t per generare il TTL dell'indirizzo. Può essere NULL se il chiamante non vuole ottenere il TTL.
Valori restituiti
OT_ERROR_NONE
L'indirizzo è stato letto correttamente.
OT_ERROR_NOT_FOUND
Nessun record di indirizzo per aHostname in aResponse alle ore aIndex.
OT_ERROR_PARSE
Impossibile analizzare i record in aResponse.

otDnsBrowseResponseGetServiceInfo

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

Recupera informazioni per un'istanza di servizio da una risposta di consultazione DNS (enumerazione di istanze di servizio).

DEVE essere utilizzato solo a partire dal giorno otDnsBrowseCallback.

Una risposta DNS di consultazione può includere record SRV, TXT e AAAA per le istanze di servizio enumerate. Si tratta di un requisito DEVE e non DEVE e i server/resolver non sono tenuti a fornirlo. Questa funzione tenta di recuperare queste informazioni per una determinata istanza di servizio, se disponibile.

  • Se in aResponse non viene trovato alcun record SRV corrispondente, viene restituito OT_ERROR_NOT_FOUND. In questo caso, non vengono letti record aggiuntivi (non TXT e/o AAAA).
  • Se in aResponse viene trovato un record SRV corrispondente, viene aggiornato aServiceInfo e restituito OT_ERROR_NONE.
  • Se non viene trovato alcun record TXT corrispondente in aResponse, il valore di mTxtDataSize in aServiceInfo viene impostato su zero.
  • Se la lunghezza dei dati TXT è superiore a mTxtDataSize, vengono letti parzialmente e mTxtDataTruncated è impostato su true.
  • Se non viene trovato alcun record AAAA corrispondente in aResponse, mHostAddress is set to all zero or unspecified address.
  • If there are multiple AAAA records for the host name in @p aResponse,mHostAddressis set to the first one. The other addresses can be retrieved usingotDnsBrowseResponseGetHostAddress()".

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[in] aInstanceLabel
L'etichetta dell'istanza di servizio (NON DEVE essere NULL).
[out] aServiceInfo
Un ServiceInfo per generare le informazioni sull'istanza di servizio (NON DEVE essere NULL).
Valori restituiti
OT_ERROR_NONE
Le informazioni sull'istanza di servizio sono state lette. aServiceInfo aggiornato.
OT_ERROR_NOT_FOUND
Impossibile trovare un record SRV corrispondente per aInstanceLabel.
OT_ERROR_NO_BUFS
Il nome host e/o i dati TXT non sono contenuti 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
)

Restituisce un'istanza di servizio associata a una risposta di consultazione DNS (enumerazione di istanze di servizio).

DEVE essere utilizzato solo a partire dal giorno otDnsBrowseCallback.

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

Tieni presente che questa funzione ottiene l'etichetta dell'istanza di servizio e non il nome completo dell'istanza di 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 array di caratteri da buffer a caratteri per l'output dell'etichetta dell'istanza di servizio (NON DEVE essere NULL).
[in] aLabelBufferSize
La dimensione di aLabelBuffer.
Valori restituiti
OT_ERROR_NONE
L'istanza di servizio è stata letta.
OT_ERROR_NO_BUFS
Il nome non rientra in aNameBuffer.
OT_ERROR_NOT_FOUND
Nessun record di istanza di servizio in aResponse alle ore aIndex.
OT_ERROR_PARSE
Impossibile analizzare i record in aResponse.

otDnsBrowseResponseGetServiceName

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

Restituisce il nome di servizio associato a una risposta di consultazione DNS (enumerazione di istanze di servizio).

DEVE essere utilizzato solo a partire dal giorno otDnsBrowseCallback.

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[out] aNameBuffer
Un array di caratteri buffer 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
)

Invia una query di consultazione DNS (enumerazione di istanze di servizio) per un determinato nome di servizio.

È disponibile quando OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE è attivato.

Il valore aConfig può essere NULL. In questo caso, verrà utilizzata la configurazione predefinita (di otDnsClientGetDefaultConfig()) come configurazione per questa query. In un valore aConfig non 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
Un puntatore a un'istanza OpenThread.
[in] aServiceName
Il nome del servizio per il quale eseguire la query (NON DEVE essere NULL).
[in] aCallback
Un puntatore a funzione che deve essere richiamato alla ricezione o nel timeout della risposta.
[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 correttamente. aCallback verrà richiamato per segnalare lo stato.
OT_ERROR_NO_BUFS
Buffer insufficiente per preparare e inviare la query.

otDnsClientGetDefaultConfig

const otDnsQueryConfig * otDnsClientGetDefaultConfig(
  otInstance *aInstance
)

Restituisce l'attuale configurazione di query predefinita utilizzata dal client DNS.

Quando si avvia lo stack OpenThread, la configurazione delle query DNS predefinita viene determinata da un insieme di opzioni di configurazione OT, ad esempio OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS, _DEFAULT_SERVER_PORT, _DEFAULT_RESPONSE_TIMEOUT e così via (vedi config/dns_client.h per tutte le opzioni di configurazione correlate).

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
Restituisce
Un puntatore alla configurazione predefinita attuale utilizzata dal client DNS.

otDnsClientResolveAddress

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

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

Il valore aConfig può essere NULL. In questo caso, verrà utilizzata la configurazione predefinita (di otDnsClientGetDefaultConfig()) come configurazione per questa query. In un valore aConfig non 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
Un puntatore a un'istanza OpenThread.
[in] aHostName
Il nome host per cui eseguire la query sull'indirizzo (NON DEVE essere NULL).
[in] aCallback
Un puntatore a funzione che deve essere richiamato alla ricezione o nel timeout della risposta.
[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 correttamente. aCallback verrà richiamato per segnalare lo stato.
OT_ERROR_NO_BUFS
Buffer insufficiente per preparare e inviare la query.
OT_ERROR_INVALID_ARGS
Il nome host non è in un formato valido.
OT_ERROR_INVALID_STATE
Impossibile inviare la query perché l'interfaccia Thread non è attiva.

otDnsClientResolveIp4Address

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

Invia una query DNS di risoluzione degli indirizzi per i record A (IPv4) per un determinato nome host.

Richiede ed è disponibile quando OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE è attivato.

Quando viene ricevuta una risposta positiva, gli indirizzi vengono restituiti da aCallback come versioni tradotte IPv6 NAT64 degli indirizzi IPv4 dalla risposta alla query.

Il valore aConfig può essere NULL. In questo caso, verrà utilizzata la configurazione predefinita (di otDnsClientGetDefaultConfig()) come configurazione per questa query. In un valore aConfig non 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
Un puntatore a un'istanza OpenThread.
[in] aHostName
Il nome host per cui eseguire la query sull'indirizzo (NON DEVE essere NULL).
[in] aCallback
Un puntatore a funzione che deve essere richiamato alla ricezione o nel timeout della risposta.
[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 correttamente. aCallback verrà richiamato per segnalare lo stato.
OT_ERROR_NO_BUFS
Buffer insufficiente per preparare e inviare la query.
OT_ERROR_INVALID_ARGS
Il formato del nome host non è valido oppure NAT64 non è abilitato nella configurazione.
OT_ERROR_INVALID_STATE
Impossibile inviare la query perché l'interfaccia Thread non è attiva.

otDnsClientResolveService

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

Avvia una risoluzione dell'istanza di servizio DNS per una determinata istanza di servizio.

È disponibile quando OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE è attivato.

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

La funzione invia query per i record SRV e/o TXT per l'istanza di servizio specificata. Il campo mServiceMode in otDnsQueryConfig determina i record su cui eseguire la query (solo SRV, solo TXT o sia SRV che TXT) e il modo in cui eseguirla (insieme nello stesso messaggio, separatamente in parallelo o in modalità ottimizzata, in cui il client proverà prima lo stesso messaggio e poi separatamente se non riesce a ricevere una risposta).

Il record SRV fornisce informazioni sulla porta, sulla priorità e sul peso del servizio, oltre al nome host associato all'istanza di servizio. Questa funzione NON esegue la risoluzione dell'indirizzo per il nome host rilevato dal record SRV. Il server/resolver può fornire record AAAA/A per il nome host nella sezione Dati aggiuntivi della risposta alla query SRV/TXT. Queste informazioni possono essere recuperate utilizzando otDnsServiceResponseGetServiceInfo() in otDnsServiceCallback. Gli utenti di questa API NON DEVONO presupporre che l'indirizzo host sia sempre disponibile da otDnsServiceResponseGetServiceInfo().

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aInstanceLabel
L'etichetta dell'istanza di servizio.
[in] aServiceName
Il nome del servizio (insieme a aInstanceLabel nome completo dell'istanza).
[in] aCallback
Un puntatore a funzione che deve essere richiamato alla ricezione o nel timeout della risposta.
[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 correttamente. aCallback verrà richiamato per segnalare lo stato.
OT_ERROR_NO_BUFS
Buffer insufficiente per preparare e inviare la query.
OT_ERROR_INVALID_ARGS
aInstanceLabel è NULL.

otDnsClientResolveServiceAndHostAddress

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

Avvia una risoluzione dell'istanza di servizio DNS per una determinata istanza di servizio, con una potenziale risoluzione dell'indirizzo di follow-up per il nome host rilevato per l'istanza di servizio.

È disponibile quando OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE è attivato.

Il valore aConfig può essere NULL. In questo caso, verrà utilizzata la configurazione predefinita (di otDnsClientGetDefaultConfig()) come configurazione per questa query. In un valore aConfig non NULL, alcuni campi possono essere lasciati non specificati (valore zero). I campi non specificati vengono quindi sostituiti dai valori della configurazione predefinita. Questa funzione non può essere utilizzata con mServiceMode nella configurazione DNS impostata su OT_DNS_SERVICE_MODE_TXT (ovvero, eseguendo query solo per il record TXT) e restituirà OT_ERROR_INVALID_ARGS.

Si comporta in modo simile all'invio di query da parte di otDnsClientResolveService() per i record SRV e TXT. Tuttavia, se il server/resolver non fornisce record AAAA/A per il nome host nella risposta alla query SRV (nella sezione Dati aggiuntivi), eseguirà la risoluzione del nome host (invio di una query AAAA) per il nome host rilevato dal record SRV. Il callback aCallback viene attivato quando vengono ricevute le risposte di tutte le query (ovvero, le risoluzioni degli indirizzi di servizio e host sono terminate).

Dettagli
Parametri
[in] aInstance
Un puntatore a un'istanza OpenThread.
[in] aInstanceLabel
L'etichetta dell'istanza di servizio.
[in] aServiceName
Il nome del servizio (insieme a aInstanceLabel nome completo dell'istanza).
[in] aCallback
Un puntatore a funzione che deve essere richiamato alla ricezione o nel timeout della risposta.
[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 correttamente. aCallback verrà richiamato per segnalare lo stato.
OT_ERROR_NO_BUFS
Buffer insufficiente per preparare e inviare la query.
OT_ERROR_INVALID_ARGS
aInstanceLabel è NULL oppure aConfig non è valido.

otDnsClientSetDefaultConfig

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

Consente di impostare la configurazione delle query predefinita sul client DNS.

Il valore aConfig può essere NULL. In questo caso, la configurazione verrà impostata sui valori predefiniti delle opzioni di configurazione OT OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{}. In questo modo viene reimpostata la configurazione delle query predefinita alla configurazione all'avvio dello stack OpenThread.

In un valore aConfig non NULL, il chiamante può scegliere di lasciare alcuni dei campi dell'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 delle query predefinita.

Se OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_ADDRESS_AUTO_SET_ENABLE è abilitato, l'indirizzo IPv6 del server nella configurazione predefinita viene impostato e aggiornato automaticamente dal client DNS. Questo viene fatto solo quando l'utente non lo imposta o specifica esplicitamente. Questo comportamento richiede l'attivazione del client SRP e della relativa funzionalità di avvio automatico. Il client SRP monitorerà quindi i dati di rete Thread per le voci del servizio DNS/SRP per selezionare un server SRP. L'indirizzo del server SRP selezionato viene impostato anche come indirizzo del server DNS nella configurazione predefinita.

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

otDnsEncodeTxtData

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

Codifica un determinato elenco di voci di record TXT (coppie chiave/valore) in dati TXT (nel seguente formato specificato da RFC 6763).

Dettagli
Parametri
[in] aTxtEntries
Puntatore a un array di otDnsTxtEntry.
[in] aNumTxtEntries
Numero di voci nell'array aTxtEntries.
[out] aTxtData
Un puntatore a un buffer per generare i dati TXT codificati.
[in,out] aTxtDataLength
All'input, dimensione del buffer aTxtData. Nell'output, la lunghezza dei dati TXT codificati.
Valori restituiti
OT_ERROR_NONE
Dati TXT codificati correttamente. aTxtData e aTxtDataLength sono stati aggiornati.
OT_ERROR_INVALID_ARGS
aTxtEntries non valido.
OT_ERROR_NO_BUS
Impossibile inserire i dati codificati nel buffer aTxtData con aTxtDataLength.

otDnsGetNextTxtEntry

otError otDnsGetNextTxtEntry(
  otDnsTxtEntryIterator *aIterator,
  otDnsTxtEntry *aEntry
)

Analizza i dati TXT di un iteratore e recupera la voce del record TXT successiva (coppia chiave/valore).

aIterator DEVE essere inizializzato utilizzando otDnsInitTxtEntryIterator() prima di chiamare questa funzione e il buffer dati TXT utilizzato per inizializzare l'iteratore DEVE rimanere invariato e rimanere invariato. In caso contrario, il comportamento di questa funzione non è definito.

Se la lunghezza della stringa di chiave analizzata è inferiore o uguale a OT_DNS_TXT_KEY_ITER_MAX_LENGTH, la stringa di chiave viene restituita in mKey in aEntry. Tuttavia, se la chiave è più lunga, mKey viene impostato su NULL e l'intera stringa di voce TXT codificata viene restituita in mValue e mValueLength.

Dettagli
Parametri
[in] aIterator
Un puntatore all'iteratore (NON DEVE essere NULL).
[out] aEntry
Un puntatore a una struttura otDnsTxtEntry per l'output della voce analizzata/letta (NON DEVE essere NULL).
Valori restituiti
OT_ERROR_NONE
La voce successiva è stata analizzata correttamente. aEntry aggiornato.
OT_ERROR_NOT_FOUND
Nessun'altra voce nei dati TXT.
OT_ERROR_PARSE
I dati TXT di aIterator non sono corretti.

otDnsInitTxtEntryIterator

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

Inizializza un iteratore del record TXT.

Il puntatore del buffer aTxtData e i relativi contenuti DEVONO rimanere invariati mentre è in uso l'oggetto aIterator.

Dettagli
Parametri
[in] aIterator
Un puntatore all'iteratore per l'inizializzazione (DEVE NON essere NULL).
[in] aTxtData
Un puntatore al buffer contenente i dati TXT codificati.
[in] aTxtDataLength
La lunghezza (numero di byte) di aTxtData.

otDnsIsNameCompressionEnabled

bool otDnsIsNameCompressionEnabled(
  void
)

Indica se la modalità "Compressione dei nomi DNS" è attivata o meno.

È destinata solo ai test ed è disponibile quando la configurazione di OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE è abilitata.

Dettagli
Restituisce
TRUE se la modalità "Compressione dei nomi DNS" è attivata, altrimenti FALSE.

otDnsServiceResponseGetHostAddress

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

Restituisce l'indirizzo IPv6 dell'host da una risposta di risoluzione dell'istanza di servizio DNS.

DEVE essere utilizzato solo a partire dal giorno otDnsServiceCallback.

La risposta può includere zero o più record di indirizzi IPv6. aIndex può essere utilizzato per eseguire l'iterazione nell'elenco degli 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 NULL).
[in] aIndex
L'indice del record di indirizzi da recuperare.
[out] aAddress
Un puntatore a un indirizzo IPv6 per generare l'indirizzo (NON DEVE essere NULL).
[out] aTtl
Un puntatore a uint32_t per generare il TTL dell'indirizzo. Può essere NULL se il chiamante non vuole ottenere il TTL.
Valori restituiti
OT_ERROR_NONE
L'indirizzo è stato letto correttamente.
OT_ERROR_NOT_FOUND
Nessun record di indirizzo per aHostname in aResponse alle ore aIndex.
OT_ERROR_PARSE
Impossibile analizzare i record in aResponse.

otDnsServiceResponseGetServiceInfo

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

Recupera le informazioni per un'istanza di servizio da una risposta di risoluzione di un'istanza di servizio DNS.

DEVE essere utilizzato solo da un otDnsServiceCallback attivato da otDnsClientResolveService() o otDnsClientResolveServiceAndHostAddress().

Quando viene utilizzato da un callback otDnsClientResolveService(), la risposta DNS del server/resolver potrebbe includere record AAAA nella relativa sezione Dati aggiuntivi per il nome host associato all'istanza di servizio risolta. Si tratta di un requisito DEVE e non DEVE, in modo che i server/resolver non siano tenuti a fornirlo. Questa funzione tenta di analizzare i record AAAA se inclusi nella risposta. Se non è incluso, mHostAddress è impostato su tutti zeri (indirizzo non specificato). Per risolvere anche l'indirizzo host, l'utente può utilizzare la funzione dell'API client DNS otDnsClientResolveServiceAndHostAddress(), che eseguirà la risoluzione del servizio seguita da una query di risoluzione dell'indirizzo del nome host (quando il server/resolver non fornisce i record AAAA nella risposta della query SRV).

  • Se in aResponse viene trovato un record SRV corrispondente, aServiceInfo viene aggiornato.
  • Se non viene trovato alcun record SRV corrispondente, viene restituito OT_ERROR_NOT_FOUND, a meno che la configurazione della query per questa query non abbia utilizzato OT_DNS_SERVICE_MODE_TXT per mServiceMode, ovvero la richiesta riguardava solo il record TXT. In questo caso, proviamo comunque ad analizzare il record SRV dalla sezione Dati aggiuntivi della risposta (nel caso in cui le informazioni siano state fornite dal server).
  • Se non viene trovato alcun record TXT corrispondente in aResponse, il valore di mTxtDataSize in aServiceInfo viene impostato su zero.
  • Se la lunghezza dei dati TXT è superiore a mTxtDataSize, vengono letti parzialmente e mTxtDataTruncated è impostato su true.
  • Se non viene trovato alcun record AAAA corrispondente in aResponse, mHostAddress is set to all zero or unspecified address.
  • If there are multiple AAAA records for the host name in @p aResponse,mHostAddressis set to the first one. The other addresses can be retrieved usingotDnsServiceResponseGetHostAddress()".

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[out] aServiceInfo
Un ServiceInfo per generare le informazioni sull'istanza di servizio (NON DEVE essere NULL).
Valori restituiti
OT_ERROR_NONE
Le informazioni sull'istanza di servizio sono state lette. aServiceInfo aggiornato.
OT_ERROR_NOT_FOUND
Impossibile trovare un record obbligatorio in aResponse.
OT_ERROR_NO_BUFS
Il nome host e/o i dati TXT non sono contenuti 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
)

Restituisce il nome dell'istanza di servizio associato a una risposta di risoluzione dell'istanza di servizio DNS.

DEVE essere utilizzato solo a partire dal giorno otDnsServiceCallback.

Dettagli
Parametri
[in] aResponse
Un puntatore alla risposta.
[out] aLabelBuffer
Un array di caratteri da buffer a caratteri per l'output dell'etichetta dell'istanza di servizio (NON DEVE essere NULL).
[in] aLabelBufferSize
La dimensione di aLabelBuffer.
[out] aNameBuffer
Un buffer to char array per restituire 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 rientrano nei buffer specificati.

otDnsSetNameCompressionEnabled

void otDnsSetNameCompressionEnabled(
  bool aEnabled
)

Attiva/disattiva la modalità "Compressione dei nomi DNS".

La compressione dei nomi DNS è abilitata per impostazione predefinita. Quando questa opzione è disabilitata, i nomi DNS vengono aggiunti come completi e mai compressi. Questo è applicabile ai moduli client/server DNS e SRP di OpenThread.

È destinata solo ai test ed è disponibile quando la configurazione di OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE è abilitata.

Tieni presente che, nel caso in cui venga utilizzato OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE, questa modalità si applica a tutte le istanze OpenThread (ovvero, la chiamata a questa funzione attiva/disattiva la modalità di compressione su tutte le istanze OpenThread).

Dettagli
Parametri
[in] aEnabled
TRUE per attivare la modalità "Compressione dei nomi DNS", FALSE per disattivarla.

Macro

OT_DNS_MAX_LABEL_SIZE

 OT_DNS_MAX_LABEL_SIZE 64

Dimensione massima della stringa di etichetta (includere un carattere nullo alla fine della stringa).

OT_DNS_MAX_NAME_SIZE

 OT_DNS_MAX_NAME_SIZE 255

Dimensione massima della stringa del nome (include il carattere null alla fine della stringa).

OT_DNS_TXT_KEY_ITER_MAX_LENGTH

 OT_DNS_TXT_KEY_ITER_MAX_LENGTH 64

Lunghezza massima della stringa di chiave TXT supportata da otDnsTxtEntryIterator.

OT_DNS_TXT_KEY_MAX_LENGTH

 OT_DNS_TXT_KEY_MAX_LENGTH 9

Lunghezza massima consigliata della stringa della chiave del record TXT (RFC 6763 - sezione 6.4).

OT_DNS_TXT_KEY_MIN_LENGTH

 OT_DNS_TXT_KEY_MIN_LENGTH 1

Lunghezza minima della stringa della chiave del record TXT (RFC 6763 - sezione 6.4).

Risorse

Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per saperne di più o per contribuire alla nostra documentazione, consulta la sezione Risorse.