DNS

Ce module comprend des fonctions qui contrôlent la communication DNS.

Résumé

Les fonctions de ce module ne sont disponibles que si la fonctionnalité OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE est activée.

Énumérations

otDnsNat64Mode{
  OT_DNS_NAT64_UNSPECIFIED = 0,
  OT_DNS_NAT64_ALLOW = 1,
  OT_DNS_NAT64_DISALLOW = 2
}
enum
Le type représente le mode NAT64 dans un otDnsQueryConfig.
otDnsRecursionFlag{
  OT_DNS_FLAG_UNSPECIFIED = 0,
  OT_DNS_FLAG_RECURSION_DESIRED = 1,
  OT_DNS_FLAG_NO_RECURSION = 2
}
enum
Le type correspond à l'indicateur "Recursion Desired" (RD) dans un élément 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
"type" représente le mode de résolution du service dans un otDnsQueryConfig.
otDnsTransportProto{
  OT_DNS_TRANSPORT_UDP = 1,
  OT_DNS_TRANSPORT_TCP = 2
}
enum
Le type représente le protocole de transport DNS dans une otDnsQueryConfig.

Typedefs

otDnsAddressCallback)(otError aError, const otDnsAddressResponse *aResponse, void *aContext) typedef
void(*
Le pointeur est appelé lorsqu'une réponse DNS est reçue pour une requête de résolution d'adresse.
otDnsAddressResponse typedef
Représentation opaque d'une réponse à une requête DNS de résolution d'adresse.
otDnsBrowseCallback)(otError aError, const otDnsBrowseResponse *aResponse, void *aContext) typedef
void(*
Le pointeur est appelé lorsqu'une réponse DNS est reçue pour une requête de navigation (énumération d'instances de service).
otDnsBrowseResponse typedef
Représentation opaque d'une réponse à une requête DNS de navigation (énumération d'instances de service).
otDnsQueryConfig typedef
Représente une configuration de requête DNS.
otDnsServiceCallback)(otError aError, const otDnsServiceResponse *aResponse, void *aContext) typedef
void(*
Le pointeur est appelé lorsqu'une réponse DNS est reçue pour une requête de résolution d'instance de service.
otDnsServiceInfo typedef
Fournit des informations sur une instance de service DNS.
otDnsServiceResponse typedef
Représentation opaque d'une réponse à une requête DNS de résolution d'instance de service.
otDnsTxtEntry typedef
struct otDnsTxtEntry
Représente une entrée d'enregistrement TXT représentant une paire clé/valeur (RFC 6763, section 6.3).
otDnsTxtEntryIterator typedef
Représente un itérateur pour les entrées d'enregistrement TXT (paires clé/valeur).

distantes

otDnsAddressResponseGetAddress(const otDnsAddressResponse *aResponse, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Récupère une adresse IPv6 associée à une réponse DNS de résolution d'adresses.
otDnsAddressResponseGetHostName(const otDnsAddressResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Récupère le nom d'hôte complet associé à une réponse DNS de résolution d'adresses.
otDnsBrowseResponseGetHostAddress(const otDnsBrowseResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Récupère l'adresse IPv6 de l'hôte à partir d'une réponse de navigation DNS (énumération d'instances de service).
otDnsBrowseResponseGetServiceInfo(const otDnsBrowseResponse *aResponse, const char *aInstanceLabel, otDnsServiceInfo *aServiceInfo)
Récupère des informations sur une instance de service à partir d'une réponse de navigation DNS (énumération d'instances de service).
otDnsBrowseResponseGetServiceInstance(const otDnsBrowseResponse *aResponse, uint16_t aIndex, char *aLabelBuffer, uint8_t aLabelBufferSize)
Récupère une instance de service associée à une réponse de navigation DNS (énumération d'instances de service).
otDnsBrowseResponseGetServiceName(const otDnsBrowseResponse *aResponse, char *aNameBuffer, uint16_t aNameBufferSize)
Récupère le nom du service associé à une réponse de navigation DNS (énumération d'instances de service).
otDnsClientBrowse(otInstance *aInstance, const char *aServiceName, otDnsBrowseCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Envoie une requête de navigation DNS (énumération d'instances de service) pour un nom de service donné.
otDnsClientGetDefaultConfig(otInstance *aInstance)
Récupère la configuration de requête par défaut actuelle utilisée par le client DNS.
otDnsClientResolveAddress(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Envoie une requête DNS de résolution d'adresses pour les enregistrements AAAA (IPv6) pour un nom d'hôte donné.
otDnsClientResolveIp4Address(otInstance *aInstance, const char *aHostName, otDnsAddressCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Envoie une requête DNS de résolution d'adresses pour un ou plusieurs enregistrements A (IPv4) pour un nom d'hôte donné.
otDnsClientResolveService(otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Démarre la résolution d'une instance de service DNS pour une instance de service donnée.
otDnsClientResolveServiceAndHostAddress(otInstance *aInstance, const char *aInstanceLabel, const char *aServiceName, otDnsServiceCallback aCallback, void *aContext, const otDnsQueryConfig *aConfig)
Démarre la résolution d'une instance de service DNS pour une instance de service donnée, avec une résolution d'adresse de suivi potentielle pour le nom d'hôte découvert pour l'instance de service.
otDnsClientSetDefaultConfig(otInstance *aInstance, const otDnsQueryConfig *aConfig)
void
Définit la configuration de requête par défaut sur le client DNS.
otDnsEncodeTxtData(const otDnsTxtEntry *aTxtEntries, uint16_t aNumTxtEntries, uint8_t *aTxtData, uint16_t *aTxtDataLength)
Encode une liste donnée d'entrées d'enregistrement TXT (paires clé/valeur) en données TXT (au format spécifié par le document RFC 6763).
otDnsGetNextTxtEntry(otDnsTxtEntryIterator *aIterator, otDnsTxtEntry *aEntry)
Analyse les données TXT d'un itérateur et obtient l'entrée d'enregistrement TXT suivante (paire clé/valeur).
otDnsInitTxtEntryIterator(otDnsTxtEntryIterator *aIterator, const uint8_t *aTxtData, uint16_t aTxtDataLength)
void
Initialise un itérateur d'enregistrement TXT.
otDnsIsNameCompressionEnabled(void)
bool
Indique si le mode "Compression de noms DNS" est activé ou non.
otDnsServiceResponseGetHostAddress(const otDnsServiceResponse *aResponse, const char *aHostName, uint16_t aIndex, otIp6Address *aAddress, uint32_t *aTtl)
Récupère l'adresse IPv6 de l'hôte à partir d'une réponse de résolution d'instance de service DNS.
otDnsServiceResponseGetServiceInfo(const otDnsServiceResponse *aResponse, otDnsServiceInfo *aServiceInfo)
Récupère des informations sur une instance de service à partir d'une réponse de résolution d'instance de service DNS.
otDnsServiceResponseGetServiceName(const otDnsServiceResponse *aResponse, char *aLabelBuffer, uint8_t aLabelBufferSize, char *aNameBuffer, uint16_t aNameBufferSize)
Récupère le nom d'instance de service associé à une réponse de résolution d'instance de service DNS.
otDnsSetNameCompressionEnabled(bool aEnabled)
void
Active/désactive le mode "Compression de noms DNS".

Structs

otDnsQueryConfig

Représente une configuration de requête DNS.

otDnsServiceInfo

Fournit des informations sur une instance de service DNS.

otDnsTxtEntry

Représente une entrée d'enregistrement TXT représentant une paire clé/valeur (RFC 6763, section 6.3).

otDnsTxtEntryIterator

Représente un itérateur pour les entrées d'enregistrement TXT (paires clé/valeur).

Énumérations

otDnsNat64Mode

 otDnsNat64Mode

Le type représente le mode NAT64 dans un otDnsQueryConfig.

Le mode NAT64 indique s'il faut autoriser ou interdire la traduction d'adresse NAT64 lors de la résolution des adresses client DNS. Ce mode n'est utilisé que lorsque OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE est activé.

Propriétés
OT_DNS_NAT64_ALLOW

Autorise la traduction d'adresse NAT64 lors de la résolution des adresses client DNS.

OT_DNS_NAT64_DISALLOW

N'autorisez pas la traduction d'adresse NAT64 pendant la résolution des adresses client DNS.

OT_DNS_NAT64_UNSPECIFIED

Le mode NAT64 n'est pas spécifié. Utiliser le mode NAT64 par défaut

otDnsRecursionFlag

 otDnsRecursionFlag

Le type correspond à l'indicateur "Recursion Desired" (RD) dans un élément otDnsQueryConfig.

Propriétés
OT_DNS_FLAG_NO_RECURSION

Indique que le serveur de noms DNS ne peut pas résoudre la requête de manière récursive.

OT_DNS_FLAG_RECURSION_DESIRED

Indique que le serveur de noms DNS peut résoudre la requête de manière récursive.

OT_DNS_FLAG_UNSPECIFIED

Indique que l'indicateur n'est pas spécifié.

otDnsServiceMode

 otDnsServiceMode

"type" représente le mode de résolution du service dans un otDnsQueryConfig.

Il n'est utilisé que lors de la résolution du service client DNS otDnsClientResolveService(). Elle détermine les types d'enregistrements à interroger.

Propriétés
OT_DNS_SERVICE_MODE_SRV

Requête pour l'enregistrement SRV uniquement.

OT_DNS_SERVICE_MODE_SRV_TXT

Interrogez les enregistrements SRV et TXT dans le même message.

OT_DNS_SERVICE_MODE_SRV_TXT_OPTIMIZE

Lancez d'abord une requête pour TXT/SRV. En cas d'échec, exécutez une requête distincte.

OT_DNS_SERVICE_MODE_SRV_TXT_SEPARATE

Interrogez en parallèle SRV et TXT à l'aide de messages distincts.

OT_DNS_SERVICE_MODE_TXT

Requête pour l'enregistrement TXT uniquement.

OT_DNS_SERVICE_MODE_UNSPECIFIED

Le mode n'est pas spécifié. Utiliser le mode de service par défaut

otDnsTransportProto

 otDnsTransportProto

Le type représente le protocole de transport DNS dans une otDnsQueryConfig.

Ce OT_DNS_TRANSPORT_TCP n'est pris en charge que lorsque OPENTHREAD_CONFIG_DNS_CLIENT_OVER_TCP_ENABLE est activé.

Propriétés
OT_DNS_TRANSPORT_TCP

La requête DNS doit être envoyée via UDP.

OT_DNS_TRANSPORT_UDP

Le transport DNS n'est pas spécifié.

Typedefs

otDnsAddressCallback

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

Le pointeur est appelé lorsqu'une réponse DNS est reçue pour une requête de résolution d'adresse.

Dans ce rappel, l'utilisateur peut utiliser les fonctions otDnsAddressResponseGet{Item}() avec le pointeur aResponse pour obtenir plus d'informations sur la réponse.

Le pointeur aResponse ne peut être utilisé que dans ce rappel. Après le renvoi de cette fonction, il ne restera pas valide. L'utilisateur NE DOIT PAS conserver le pointeur aResponse pour une utilisation ultérieure.

Le aError peut avoir les caractéristiques suivantes:

Détails
Paramètres
[in] aError
Résultat de la transaction DNS.
[in] aResponse
Un pointeur vers la réponse (il n'est toujours pas NULL).
[in] aContext
Pointeur vers un contexte spécifique à l'application.

  • OT_ERROR_NONE Une réponse a été reçue.
  • OT_ERROR_ABORT Une transaction DNS a été annulée par la pile.
  • OT_ERROR_response_TIMEOUT Aucune réponse DNS n'a été reçue dans le délai imparti.

Si le serveur refuse la demande de résolution d'adresse, le code d'erreur du serveur est mappé comme suit:

  • (0) NOERROR Réussite (aucune condition d'erreur) -> OT_ERROR_NONE
  • (1) FORMERR impossible d'interpréter le serveur en raison d'une erreur de format -> OT_ERROR_PARSE
  • (2) Une défaillance interne du serveur SERVFAIL s'est produite -> OT_ERROR_FAILED
  • (3) Le nom NXDOMAIN qui devrait exister n'existe pas -> OT_ERROR_NOT_FOUND
  • (4) Le serveur NOTIMP ne prend pas en charge le type de requête (OpCode) -> OT_ERROR_NOT_IMPLEMENTED.
  • (5) Refus du serveur REFused pour des raisons de sécurité/règles -> OT_ERROR_ACTIVITY
  • (6) YXDOMAIN Un nom qui ne devrait pas exister existe bien -> OT_ERROR_DUPLICATED
  • (7) YXRRSET Certains RRset qui ne devraient pas exister existent -> OT_ERROR_DUPLICATED.
  • (8) NXRRSET Un RRset qui devrait exister n'existe pas -> OT_ERROR_NOT_FOUND
  • (9) Le service NOTAUTH ne fait pas autorité pour la zone -> OT_ERROR_ security
  • (10) NOTZONE Le nom ne se trouve pas dans la zone -> OT_ERROR_PARSE.
  • (20) BADNAME Nom incorrect -> OT_ERROR_PARSE
  • (21) BADALG Algorithme incorrect -> OT_ERROR_ security
  • (22) BADTRUN Troncation incorrecte -> OT_ERROR_PARSE
  • Autres codes de réponse -> OT_ERROR_FAILED

otDnsAddressResponse

struct otDnsAddressResponse otDnsAddressResponse

Représentation opaque d'une réponse à une requête DNS de résolution d'adresse.

Les pointeurs vers une instance de ce type sont fournis à partir du rappel otDnsAddressCallback.

otDnsBrowseCallback

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

Le pointeur est appelé lorsqu'une réponse DNS est reçue pour une requête de navigation (énumération d'instances de service).

Dans ce rappel, l'utilisateur peut utiliser les fonctions otDnsBrowseResponseGet{Item}() avec le pointeur aResponse pour obtenir plus d'informations sur la réponse.

Le pointeur aResponse ne peut être utilisé que dans ce rappel. Après le renvoi de cette fonction, il ne restera pas valide. L'utilisateur NE DOIT PAS conserver le pointeur aResponse pour une utilisation ultérieure.

Pour obtenir la liste complète des valeurs possibles pour aError, veuillez consulter otDnsAddressCallback().

Détails
Paramètres
[in] aError
Résultat de la transaction DNS.
[in] aResponse
Un pointeur vers la réponse (il n'est toujours pas NULL).
[in] aContext
Pointeur vers un contexte spécifique à l'application.

otDnsBrowseResponse

struct otDnsBrowseResponse otDnsBrowseResponse

Représentation opaque d'une réponse à une requête DNS de navigation (énumération d'instances de service).

Les pointeurs vers une instance de ce type sont fournis à partir du rappel otDnsBrowseCallback.

otDnsQueryConfig

struct otDnsQueryConfig otDnsQueryConfig

Représente une configuration de requête DNS.

Tous les champs de cette structure peuvent être définis sur zéro pour indiquer qu'il n'est pas spécifié. Le mode de traitement des champs non spécifiés est déterminé par la fonction qui utilise l'instance de otDnsQueryConfig.

otDnsServiceCallback

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

Le pointeur est appelé lorsqu'une réponse DNS est reçue pour une requête de résolution d'instance de service.

Dans ce rappel, l'utilisateur peut utiliser les fonctions otDnsServiceResponseGet{Item}() avec le pointeur aResponse pour obtenir plus d'informations sur la réponse.

Le pointeur aResponse ne peut être utilisé que dans ce rappel. Après le renvoi de cette fonction, il ne restera pas valide. L'utilisateur NE DOIT PAS conserver le pointeur aResponse pour une utilisation ultérieure.

Pour obtenir la liste complète des valeurs possibles pour aError, veuillez consulter otDnsAddressCallback().

Détails
Paramètres
[in] aError
Résultat de la transaction DNS.
[in] aResponse
Un pointeur vers la réponse (il n'est toujours pas NULL).
[in] aContext
Pointeur vers un contexte spécifique à l'application.

otDnsServiceInfo

struct otDnsServiceInfo otDnsServiceInfo

Fournit des informations sur une instance de service DNS.

otDnsServiceResponse

struct otDnsServiceResponse otDnsServiceResponse

Représentation opaque d'une réponse à une requête DNS de résolution d'instance de service.

Les pointeurs vers une instance de ce type sont fournis à partir du rappel otDnsAddressCallback.

otDnsTxtEntry

struct otDnsTxtEntry otDnsTxtEntry

Représente une entrée d'enregistrement TXT représentant une paire clé/valeur (RFC 6763, section 6.3).

Les tampons de chaîne pointant vers mKey et mValue DOIVENT conserver et rester inchangés après qu'une instance de cette structure est transmise à OpenThread (dans le cadre de l'instance otSrpClientService).

Un tableau d'entrées otDnsTxtEntry est utilisé dans otSrpClientService pour spécifier l'enregistrement TXT complet (liste d'entrées).

otDnsTxtEntryIterator

struct otDnsTxtEntryIterator otDnsTxtEntryIterator

Représente un itérateur pour les entrées d'enregistrement TXT (paires clé/valeur).

Les champs de données de cette structure sont destinés à être utilisés par le noyau OpenThread et l'appelant ne doit pas les lire ni les modifier.

distantes

otDnsAddressResponseGetAddress

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

Récupère une adresse IPv6 associée à une réponse DNS de résolution d'adresses.

DOIT être utilisé uniquement à partir du otDnsAddressCallback.

La réponse peut inclure plusieurs enregistrements d'adresses IPv6. aIndex permet d'itérer la liste d'adresses. L'index zéro obtient la première adresse et ainsi de suite. Lorsque la liste est terminée, OT_ERROR_NOT_FOUND est renvoyé.

Détails
Paramètres
[in] aResponse
Un pointeur vers la réponse.
[in] aIndex
Index d'enregistrement d'adresse à récupérer.
[out] aAddress
Un pointeur vers une adresse IPv6 pour générer l'adresse (NE DOIT PAS être NULL).
[out] aTtl
Pointeur vers une uint32_t pour générer la valeur TTL de l'adresse. Elle peut être NULL si l'appelant ne souhaite pas obtenir la valeur TTL.
Valeurs de retour
OT_ERROR_NONE
L'adresse a bien été lue.
OT_ERROR_NOT_FOUND
Aucune adresse enregistrée dans le pays suivant : aResponse, aIndex.
OT_ERROR_PARSE
Impossible d'analyser les enregistrements de aResponse.
OT_ERROR_INVALID_STATE
Aucun préfixe NAT64 (applicable uniquement lorsque NAT64 est autorisé).

otDnsAddressResponseGetHostName

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

Récupère le nom d'hôte complet associé à une réponse DNS de résolution d'adresses.

DOIT être utilisé uniquement à partir du otDnsAddressCallback.

Détails
Paramètres
[in] aResponse
Un pointeur vers la réponse.
[out] aNameBuffer
Un tableau de tampons caractères pour générer le nom d'hôte complet (NE DOIT PAS être NULL).
[in] aNameBufferSize
Taille de aNameBuffer.
Valeurs de retour
OT_ERROR_NONE
Le nom d'hôte complet a bien été lu.
OT_ERROR_NO_BUFS
Le nom ne rentre pas dans aNameBuffer.

otDnsBrowseResponseGetHostAddress

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

Récupère l'adresse IPv6 de l'hôte à partir d'une réponse de navigation DNS (énumération d'instances de service).

DOIT être utilisé uniquement à partir du otDnsBrowseCallback.

La réponse peut inclure zéro ou plusieurs enregistrements d'adresse IPv6. aIndex permet d'itérer la liste d'adresses. L'index zéro obtient la première adresse et ainsi de suite. Lorsque la liste est terminée, OT_ERROR_NOT_FOUND est renvoyé.

Détails
Paramètres
[in] aResponse
Un pointeur vers la réponse.
[in] aHostName
Nom d'hôte utilisé pour obtenir l'adresse (NE DOIT PAS être NULL).
[in] aIndex
Index d'enregistrement d'adresse à récupérer.
[out] aAddress
Un pointeur vers une adresse IPv6 pour générer l'adresse (NE DOIT PAS être NULL).
[out] aTtl
Pointeur vers une uint32_t pour générer la valeur TTL de l'adresse. Elle peut être NULL si l'appelant ne souhaite pas obtenir la valeur TTL.
Valeurs de retour
OT_ERROR_NONE
L'adresse a bien été lue.
OT_ERROR_NOT_FOUND
Aucune adresse enregistrée pour aHostname à aResponse à aIndex.
OT_ERROR_PARSE
Impossible d'analyser les enregistrements de aResponse.

otDnsBrowseResponseGetServiceInfo

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

Récupère des informations sur une instance de service à partir d'une réponse de navigation DNS (énumération d'instances de service).

DOIT être utilisé uniquement à partir du otDnsBrowseCallback.

Une réponse DNS de navigation peut inclure des enregistrements SRV, TXT et AAAA pour les instances de service énumérées. Cette condition est OBLIGATOIRE et n'est pas OBLIGATOIRE. Les serveurs/résolveurs ne sont pas tenus de fournir cette information. Cette fonction tente de récupérer ces informations pour une instance de service donnée lorsqu'elles sont disponibles.

  • Si aucun enregistrement SRV correspondant n'est trouvé dans aResponse, OT_ERROR_NOT_FOUND est renvoyé. Dans ce cas, aucun enregistrement supplémentaire (pas de TXT ni de AAAA) n'est lu.
  • Si un enregistrement SRV correspondant est trouvé dans aResponse, aServiceInfo est mis à jour et OT_ERROR_NONE est renvoyé.
  • Si aucun enregistrement TXT correspondant n'est trouvé dans aResponse, mTxtDataSize dans aServiceInfo est défini sur zéro.
  • Si la longueur des données TXT est supérieure à mTxtDataSize, elles sont lues partiellement et mTxtDataTruncated est défini sur "true".
  • Si aucun enregistrement AAAA correspondant n'est trouvé dans 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().

Détails
Paramètres
[in] aResponse
Un pointeur vers la réponse.
[in] aInstanceLabel
Libellé de l'instance de service (NE DOIT PAS être NULL).
[out] aServiceInfo
Une valeur ServiceInfo pour générer les informations sur l'instance de service (NE DOIT PAS être NULL).
Valeurs de retour
OT_ERROR_NONE
Les informations sur l'instance de service ont été lues. aServiceInfo est mis à jour.
OT_ERROR_NOT_FOUND
Impossible de trouver un enregistrement SRV correspondant pour aInstanceLabel.
OT_ERROR_NO_BUFS
Le nom d'hôte et/ou les données TXT n'ont pas pu entrer dans les tampons donnés.
OT_ERROR_PARSE
Impossible d'analyser les enregistrements de aResponse.

otDnsBrowseResponseGetServiceInstance

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

Récupère une instance de service associée à une réponse de navigation DNS (énumération d'instances de service).

DOIT être utilisé uniquement à partir du otDnsBrowseCallback.

La réponse peut inclure plusieurs enregistrements d'instances de service. aIndex permet d'itérer la liste. L'indice 0 correspond au premier enregistrement. Lorsque la liste est terminée, OT_ERROR_NOT_FOUND est renvoyé.

Notez que cette fonction obtient le libellé de l'instance de service et non le nom complet de l'instance de service au format ...

Détails
Paramètres
[in] aResponse
Un pointeur vers la réponse.
[in] aIndex
Index d'enregistrement d'instance de service à récupérer.
[out] aLabelBuffer
Tableau de tampons de caractères pour générer le libellé de l'instance de service (NE DOIT PAS être NULL).
[in] aLabelBufferSize
Taille de aLabelBuffer.
Valeurs de retour
OT_ERROR_NONE
L'instance de service a bien été lue.
OT_ERROR_NO_BUFS
Le nom ne rentre pas dans aNameBuffer.
OT_ERROR_NOT_FOUND
Aucun enregistrement d'instance de service dans aResponse à aIndex.
OT_ERROR_PARSE
Impossible d'analyser les enregistrements de aResponse.

otDnsBrowseResponseGetServiceName

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

Récupère le nom du service associé à une réponse de navigation DNS (énumération d'instances de service).

DOIT être utilisé uniquement à partir du otDnsBrowseCallback.

Détails
Paramètres
[in] aResponse
Un pointeur vers la réponse.
[out] aNameBuffer
Tableau de tampons de caractères pour générer le nom du service (NE DOIT PAS être NULL).
[in] aNameBufferSize
Taille de aNameBuffer.
Valeurs de retour
OT_ERROR_NONE
Le nom du service a bien été lu.
OT_ERROR_NO_BUFS
Le nom ne rentre pas dans aNameBuffer.

otDnsClientBrowse

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

Envoie une requête de navigation DNS (énumération d'instances de service) pour un nom de service donné.

Disponible lorsque OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE est activé.

La valeur aConfig peut être NULL. Dans ce cas, la configuration par défaut (de otDnsClientGetDefaultConfig()) sera utilisée comme configuration pour cette requête. Dans une valeur aConfig non NULL, certains champs peuvent ne pas être spécifiés (valeur zéro). Les champs non spécifiés sont ensuite remplacés par les valeurs de la configuration par défaut.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aServiceName
Nom du service à interroger (NE DOIT PAS être NULL.)
[in] aCallback
Un pointeur de fonction qui sera appelé à la réception ou à l'expiration du délai de réponse.
[in] aContext
Pointeur vers des informations de contexte arbitraires.
[in] aConfig
Pointeur vers la configuration à utiliser pour cette requête.
Valeurs de retour
OT_ERROR_NONE
La requête a bien été envoyée. aCallback sera appelé pour signaler l'état.
OT_ERROR_NO_BUFS
Tampon insuffisant pour préparer et envoyer la requête.

otDnsClientGetDefaultConfig

const otDnsQueryConfig * otDnsClientGetDefaultConfig(
  otInstance *aInstance
)

Récupère la configuration de requête par défaut actuelle utilisée par le client DNS.

Lorsque la pile OpenThread démarre, la configuration de la requête DNS par défaut est déterminée à partir d'un ensemble d'options de configuration OT telles que OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_IP6_ADDRESS, _DEFAULT_SERVER_PORT, _DEFAULT_RESPONSE_TIMEOUT, etc. (voir config/dns_client.h pour toutes les options de configuration associées).

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Renvoie
Pointeur vers la configuration par défaut actuelle utilisée par le client DNS.

otDnsClientResolveAddress

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

Envoie une requête DNS de résolution d'adresses pour les enregistrements AAAA (IPv6) pour un nom d'hôte donné.

La valeur aConfig peut être NULL. Dans ce cas, la configuration par défaut (de otDnsClientGetDefaultConfig()) sera utilisée comme configuration pour cette requête. Dans une valeur aConfig non NULL, certains champs peuvent ne pas être spécifiés (valeur zéro). Les champs non spécifiés sont ensuite remplacés par les valeurs de la configuration par défaut.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aHostName
Nom d'hôte pour lequel interroger l'adresse (NE DOIT PAS être NULL).
[in] aCallback
Un pointeur de fonction qui sera appelé à la réception ou à l'expiration du délai de réponse.
[in] aContext
Pointeur vers des informations de contexte arbitraires.
[in] aConfig
Pointeur vers la configuration à utiliser pour cette requête.
Valeurs de retour
OT_ERROR_NONE
La requête a bien été envoyée. aCallback sera appelé pour signaler l'état.
OT_ERROR_NO_BUFS
Tampon insuffisant pour préparer et envoyer la requête.
OT_ERROR_INVALID_ARGS
Le format du nom d'hôte n'est pas valide.
OT_ERROR_INVALID_STATE
Impossible d'envoyer la requête, car l'interface Thread n'est pas active.

otDnsClientResolveIp4Address

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

Envoie une requête DNS de résolution d'adresses pour un ou plusieurs enregistrements A (IPv4) pour un nom d'hôte donné.

Nécessite et est disponible lorsque OPENTHREAD_CONFIG_DNS_CLIENT_NAT64_ENABLE est activé.

Lorsqu'une réponse positive est reçue, les adresses sont renvoyées par aCallback en tant que versions traduites par IPv6 NAT64 des adresses IPv4 de la réponse à la requête.

La valeur aConfig peut être NULL. Dans ce cas, la configuration par défaut (de otDnsClientGetDefaultConfig()) sera utilisée comme configuration pour cette requête. Dans une valeur aConfig non NULL, certains champs peuvent ne pas être spécifiés (valeur zéro). Les champs non spécifiés sont ensuite remplacés par les valeurs de la configuration par défaut.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aHostName
Nom d'hôte pour lequel interroger l'adresse (NE DOIT PAS être NULL).
[in] aCallback
Un pointeur de fonction qui sera appelé à la réception ou à l'expiration du délai de réponse.
[in] aContext
Pointeur vers des informations de contexte arbitraires.
[in] aConfig
Pointeur vers la configuration à utiliser pour cette requête.
Valeurs de retour
OT_ERROR_NONE
La requête a bien été envoyée. aCallback sera appelé pour signaler l'état.
OT_ERROR_NO_BUFS
Tampon insuffisant pour préparer et envoyer la requête.
OT_ERROR_INVALID_ARGS
Le format du nom d'hôte n'est pas valide ou NAT64 n'est pas activé dans la configuration.
OT_ERROR_INVALID_STATE
Impossible d'envoyer la requête, car l'interface Thread n'est pas active.

otDnsClientResolveService

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

Démarre la résolution d'une instance de service DNS pour une instance de service donnée.

Disponible lorsque OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE est activé.

La valeur aConfig peut être NULL. Dans ce cas, la configuration par défaut (de otDnsClientGetDefaultConfig()) sera utilisée comme configuration pour cette requête. Dans une valeur aConfig non NULL, certains champs peuvent ne pas être spécifiés (valeur zéro). Les champs non spécifiés sont ensuite remplacés par les valeurs de la configuration par défaut.

La fonction envoie des requêtes sur les enregistrements SRV et/ou TXT pour l'instance de service donnée. Le champ mServiceMode de otDnsQueryConfig détermine les enregistrements à interroger (SRV uniquement, TXT uniquement ou les deux) et le mode d'exécution de la requête (ensemble dans le même message, séparément en parallèle, ou en mode optimisé, où le client essaiera d'abord le même message, puis séparément s'il ne reçoit pas de réponse).

L'enregistrement SRV fournit des informations sur le port de service, la priorité et le poids, ainsi que le nom d'hôte associé à l'instance de service. Cette fonction n'effectue PAS de résolution d'adresse pour le nom d'hôte découvert à partir de l'enregistrement SRV. Le serveur/résolveur peut fournir un ou plusieurs enregistrements AAAA/A pour le nom d'hôte dans la section "Additional Data" (Données supplémentaires) de la réponse à la requête SRV/TXT. Ces informations peuvent être récupérées à l'aide de otDnsServiceResponseGetServiceInfo() dans otDnsServiceCallback. Les utilisateurs de cette API NE DOIVENT PAS supposer que l'adresse hôte sera toujours disponible à partir de otDnsServiceResponseGetServiceInfo().

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aInstanceLabel
Libellé de l'instance de service.
[in] aServiceName
Le nom du service (avec aInstanceLabel pour le nom complet de l'instance).
[in] aCallback
Un pointeur de fonction qui sera appelé à la réception ou à l'expiration du délai de réponse.
[in] aContext
Pointeur vers des informations de contexte arbitraires.
[in] aConfig
Pointeur vers la configuration à utiliser pour cette requête.
Valeurs de retour
OT_ERROR_NONE
La requête a bien été envoyée. aCallback sera appelé pour signaler l'état.
OT_ERROR_NO_BUFS
Tampon insuffisant pour préparer et envoyer la requête.
OT_ERROR_INVALID_ARGS
aInstanceLabel est NULL.

otDnsClientResolveServiceAndHostAddress

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

Démarre la résolution d'une instance de service DNS pour une instance de service donnée, avec une résolution d'adresse de suivi potentielle pour le nom d'hôte découvert pour l'instance de service.

Disponible lorsque OPENTHREAD_CONFIG_DNS_CLIENT_SERVICE_DISCOVERY_ENABLE est activé.

La valeur aConfig peut être NULL. Dans ce cas, la configuration par défaut (de otDnsClientGetDefaultConfig()) sera utilisée comme configuration pour cette requête. Dans une valeur aConfig non NULL, certains champs peuvent ne pas être spécifiés (valeur zéro). Les champs non spécifiés sont ensuite remplacés par les valeurs de la configuration par défaut. Cette fonction ne peut pas être utilisée avec mServiceMode dans la configuration DNS définie sur OT_DNS_SERVICE_MODE_TXT (par exemple, en effectuant des requêtes sur l'enregistrement TXT uniquement) et elle renvoie OT_ERROR_INVALID_ARGS.

Se comporte de la même manière que otDnsClientResolveService() envoyant des requêtes pour les enregistrements SRV et TXT. Toutefois, si le serveur/résolveur ne fournit pas d'enregistrements AAAA/A pour le nom d'hôte dans la réponse à la requête SRV (dans la section Données supplémentaires), il effectue la résolution du nom d'hôte (en envoyant une requête AAAA) pour le nom d'hôte découvert à partir de l'enregistrement SRV. Le rappel aCallback est appelé lorsque les réponses à toutes les requêtes sont reçues (c'est-à-dire que la résolution des adresses de service et d'hôte est terminée).

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aInstanceLabel
Libellé de l'instance de service.
[in] aServiceName
Le nom du service (avec aInstanceLabel pour le nom complet de l'instance).
[in] aCallback
Un pointeur de fonction qui sera appelé à la réception ou à l'expiration du délai de réponse.
[in] aContext
Pointeur vers des informations de contexte arbitraires.
[in] aConfig
Pointeur vers la configuration à utiliser pour cette requête.
Valeurs de retour
OT_ERROR_NONE
La requête a bien été envoyée. aCallback sera appelé pour signaler l'état.
OT_ERROR_NO_BUFS
Tampon insuffisant pour préparer et envoyer la requête.
OT_ERROR_INVALID_ARGS
aInstanceLabel est NULL, ou aConfig n'est pas valide.

otDnsClientSetDefaultConfig

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

Définit la configuration de requête par défaut sur le client DNS.

La valeur aConfig peut être NULL. Dans ce cas, la configuration par défaut sera définie sur les valeurs par défaut à partir des options de configuration de la prolongation OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{}. Cela rétablit la configuration de requête par défaut au démarrage de la pile OpenThread.

Dans un aConfig non NULL, l'appelant peut choisir de laisser certains champs de l'instance otDnsQueryConfig non spécifiés (valeur zéro). Les champs non spécifiés sont remplacés par les définitions d'option de configuration OT correspondantes OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_{} pour former la configuration de requête par défaut.

Lorsque OPENTHREAD_CONFIG_DNS_CLIENT_DEFAULT_SERVER_ADDRESS_AUTO_SET_ENABLE est activé, l'adresse IPv6 du serveur dans la configuration par défaut est automatiquement définie et mise à jour par le client DNS. Cela se produit uniquement lorsque l'utilisateur ne le définit pas ou ne le spécifie pas explicitement. Ce comportement nécessite l'activation du client SRP et de sa fonctionnalité de démarrage automatique. Le client SRP surveillera ensuite les données réseau Thread pour rechercher les entrées du service DNS/SRP afin de sélectionner un serveur SRP. L'adresse du serveur SRP sélectionné est également définie comme adresse de serveur DNS dans la configuration par défaut.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aConfig
Pointeur vers la nouvelle configuration de requête à utiliser par défaut.

otDnsEncodeTxtData

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

Encode une liste donnée d'entrées d'enregistrement TXT (paires clé/valeur) en données TXT (au format spécifié par le document RFC 6763).

Détails
Paramètres
[in] aTxtEntries
Pointeur vers un tableau de otDnsTxtEntry.
[in] aNumTxtEntries
Nombre d'entrées dans le tableau aTxtEntries.
[out] aTxtData
Pointeur vers un tampon pour générer les données TXT encodées.
[in,out] aTxtDataLength
À l'entrée, taille du tampon aTxtData. En sortie, longueur des données TXT encodées.
Valeurs de retour
OT_ERROR_NONE
Les données TXT ont bien été encodées. aTxtData et aTxtDataLength ont été mis à jour.
OT_ERROR_INVALID_ARGS
Le aTxtEntries n'est pas valide.
OT_ERROR_NO_BUS
Impossible d'ajuster les données encodées dans le tampon aTxtData avec son aTxtDataLength.

otDnsGetNextTxtEntry

otError otDnsGetNextTxtEntry(
  otDnsTxtEntryIterator *aIterator,
  otDnsTxtEntry *aEntry
)

Analyse les données TXT d'un itérateur et obtient l'entrée d'enregistrement TXT suivante (paire clé/valeur).

aIterator DOIT être initialisé à l'aide de otDnsInitTxtEntryIterator() avant d'appeler cette fonction, et le tampon de données TXT utilisé pour initialiser l'itérateur DOIT persister et rester inchangé. Sinon, le comportement de cette fonction n'est pas défini.

Si la longueur de la chaîne de clé analysée est inférieure ou égale à OT_DNS_TXT_KEY_ITER_MAX_LENGTH, la chaîne de clé est renvoyée dans mKey dans aEntry. Toutefois, si la clé est plus longue, mKey est défini sur NULL et l'intégralité de la chaîne d'entrée TXT encodée est renvoyée dans mValue et mValueLength.

Détails
Paramètres
[in] aIterator
Pointeur vers l'itérateur (NE DOIT PAS être NULL).
[out] aEntry
Un pointeur vers une structure otDnsTxtEntry pour générer l'entrée analysée/lue (NE DOIT PAS être NULL.)
Valeurs de retour
OT_ERROR_NONE
L'entrée suivante a bien été analysée. aEntry est mis à jour.
OT_ERROR_NOT_FOUND
Il n'y a plus d'entrées dans les données TXT.
OT_ERROR_PARSE
Les données TXT de aIterator ne sont pas au bon format.

otDnsInitTxtEntryIterator

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

Initialise un itérateur d'enregistrement TXT.

Le pointeur de tampon aTxtData et son contenu DOIVENT conserver et rester inchangés pendant l'utilisation de l'objet aIterator.

Détails
Paramètres
[in] aIterator
Pointeur vers l'itérateur à initialiser (NE DOIT PAS être NULL).
[in] aTxtData
Pointeur vers un tampon contenant les données TXT encodées.
[in] aTxtDataLength
Longueur (nombre d'octets) de aTxtData.

otDnsIsNameCompressionEnabled

bool otDnsIsNameCompressionEnabled(
  void
)

Indique si le mode "Compression de noms DNS" est activé ou non.

Cette option est destinée aux tests uniquement et disponible lorsque la configuration OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE est activée.

Détails
Renvoie
TRUE si le mode "Compression de noms DNS" est activé, FALSE dans le cas contraire.

otDnsServiceResponseGetHostAddress

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

Récupère l'adresse IPv6 de l'hôte à partir d'une réponse de résolution d'instance de service DNS.

DOIT être utilisé uniquement à partir du otDnsServiceCallback.

La réponse peut inclure zéro ou plusieurs enregistrements d'adresse IPv6. aIndex permet d'itérer la liste d'adresses. L'index zéro obtient la première adresse et ainsi de suite. Lorsque la liste est terminée, OT_ERROR_NOT_FOUND est renvoyé.

Détails
Paramètres
[in] aResponse
Un pointeur vers la réponse.
[in] aHostName
Nom d'hôte utilisé pour obtenir l'adresse (NE DOIT PAS être NULL).
[in] aIndex
Index d'enregistrement d'adresse à récupérer.
[out] aAddress
Un pointeur vers une adresse IPv6 pour générer l'adresse (NE DOIT PAS être NULL).
[out] aTtl
Pointeur vers une uint32_t pour générer la valeur TTL de l'adresse. Elle peut être NULL si l'appelant ne souhaite pas obtenir la valeur TTL.
Valeurs de retour
OT_ERROR_NONE
L'adresse a bien été lue.
OT_ERROR_NOT_FOUND
Aucune adresse enregistrée pour aHostname à aResponse à aIndex.
OT_ERROR_PARSE
Impossible d'analyser les enregistrements de aResponse.

otDnsServiceResponseGetServiceInfo

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

Récupère des informations sur une instance de service à partir d'une réponse de résolution d'instance de service DNS.

NE DOIT être utilisée qu'à partir d'une otDnsServiceCallback déclenchée par otDnsClientResolveService() ou otDnsClientResolveServiceAndHostAddress().

Lorsqu'elle est utilisée à partir d'un rappel otDnsClientResolveService(), la réponse DNS du serveur/résolveur peut inclure des enregistrements AAAA dans sa section "Autres données" pour le nom d'hôte associé à l'instance de service résolue. Cette condition DOIT, et non OBLIGATOIRE, si bien que les serveurs/résolveurs ne sont pas tenus de fournir cette information. Cette fonction tente d'analyser les enregistrements AAAA s'ils sont inclus dans la réponse. Si elle n'est pas incluse, mHostAddress est défini sur tous les zéros (adresse non spécifiée). Pour résoudre également l'adresse de l'hôte, l'utilisateur peut utiliser la fonction d'API cliente DNS otDnsClientResolveServiceAndHostAddress(), qui effectue la résolution du service suivie d'une requête de résolution du nom d'hôte (lorsque les enregistrements AAAA ne sont pas fournis par le serveur/résolveur dans la réponse à la requête SRV).

  • Si un enregistrement SRV correspondant est trouvé dans aResponse, aServiceInfo est mis à jour.
  • Si aucun enregistrement SRV correspondant n'est trouvé, OT_ERROR_NOT_FOUND est renvoyé, sauf si la configuration de cette requête utilise OT_DNS_SERVICE_MODE_TXT pour mServiceMode (ce qui signifie que la requête ne concernait que l'enregistrement TXT). Dans ce cas, nous essayons quand même d'analyser l'enregistrement SRV de la section "Additional Data" (Données supplémentaires) de la réponse (au cas où le serveur aurait fourni les informations).
  • Si aucun enregistrement TXT correspondant n'est trouvé dans aResponse, mTxtDataSize dans aServiceInfo est défini sur zéro.
  • Si la longueur des données TXT est supérieure à mTxtDataSize, elles sont lues partiellement et mTxtDataTruncated est défini sur "true".
  • Si aucun enregistrement AAAA correspondant n'est trouvé dans 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().

Détails
Paramètres
[in] aResponse
Un pointeur vers la réponse.
[out] aServiceInfo
Une valeur ServiceInfo pour générer les informations sur l'instance de service (NE DOIT PAS être NULL).
Valeurs de retour
OT_ERROR_NONE
Les informations sur l'instance de service ont été lues. aServiceInfo est mis à jour.
OT_ERROR_NOT_FOUND
Impossible de trouver un enregistrement requis dans aResponse.
OT_ERROR_NO_BUFS
Le nom d'hôte et/ou les données TXT n'ont pas pu entrer dans les tampons donnés.
OT_ERROR_PARSE
Impossible d'analyser les enregistrements de aResponse.

otDnsServiceResponseGetServiceName

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

Récupère le nom d'instance de service associé à une réponse de résolution d'instance de service DNS.

DOIT être utilisé uniquement à partir du otDnsServiceCallback.

Détails
Paramètres
[in] aResponse
Un pointeur vers la réponse.
[out] aLabelBuffer
Tableau de tampons de caractères pour générer le libellé de l'instance de service (NE DOIT PAS être NULL).
[in] aLabelBufferSize
Taille de aLabelBuffer.
[out] aNameBuffer
Tableau de tampons caractères pour générer le reste du nom du service (peut être NULL si l'utilisateur ne souhaite pas obtenir le nom.
[in] aNameBufferSize
Taille de aNameBuffer.
Valeurs de retour
OT_ERROR_NONE
Le nom du service a bien été lu.
OT_ERROR_NO_BUFS
L'étiquette ou le nom ne rentre pas dans les tampons donnés.

otDnsSetNameCompressionEnabled

void otDnsSetNameCompressionEnabled(
  bool aEnabled
)

Active/désactive le mode "Compression de noms DNS".

La compression des noms DNS est activée par défaut. Lorsque cette option est désactivée, les noms DNS sont ajoutés en tant que noms complets et ne sont jamais compressés. Cela s'applique aux modules client/serveur DNS et SRP d'OpenThread.

Cette option est destinée aux tests uniquement et disponible lorsque la configuration OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE est activée.

Notez que dans le cas où OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE est utilisé, ce mode s'applique à toutes les instances OpenThread (c'est-à-dire que l'appel de cette fonction active/désactive le mode de compression sur toutes les instances OpenThread).

Détails
Paramètres
[in] aEnabled
TRUE pour activer le mode "Compression de noms DNS", FALSE pour la désactiver.

Macros

OT_DNS_MAX_LABEL_SIZE

 OT_DNS_MAX_LABEL_SIZE 64

Taille maximale de la chaîne d'étiquette (inclure le caractère nul à la fin de la chaîne).

OT_DNS_MAX_NAME_SIZE

 OT_DNS_MAX_NAME_SIZE 255

Taille maximale de la chaîne de nom (inclut un caractère nul à la fin de la chaîne).

OT_DNS_TXT_KEY_ITER_MAX_LENGTH

 OT_DNS_TXT_KEY_ITER_MAX_LENGTH 64

Longueur maximale de la chaîne de clé TXT acceptée par otDnsTxtEntryIterator.

OT_DNS_TXT_KEY_MAX_LENGTH

 OT_DNS_TXT_KEY_MAX_LENGTH 9

Longueur maximale recommandée de la chaîne de clé d'enregistrement TXT (RFC 6763, section 6.4).

OT_DNS_TXT_KEY_MIN_LENGTH

 OT_DNS_TXT_KEY_MIN_LENGTH 1

Longueur minimale de la chaîne de clé d'enregistrement TXT (RFC 6763, section 6.4).

Ressources

Les sujets de référence de l'API OpenThread proviennent du code source, disponible sur GitHub. Pour en savoir plus ou pour contribuer à notre documentation, consultez la section Ressources.