SRP

Ce module inclut des fonctions qui contrôlent le comportement du client SRP.

Résumé

Ce module inclut des fonctions du protocole d'enregistrement de service.

Ce module inclut des fonctions pour les tampons client et le pool de services SRP.

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

Énumérations

otSrpClientItemState{
  OT_SRP_CLIENT_ITEM_STATE_TO_ADD,
  OT_SRP_CLIENT_ITEM_STATE_ADDING,
  OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH,
  OT_SRP_CLIENT_ITEM_STATE_REFRESHING,
  OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE,
  OT_SRP_CLIENT_ITEM_STATE_REMOVING,
  OT_SRP_CLIENT_ITEM_STATE_REGISTERED,
  OT_SRP_CLIENT_ITEM_STATE_REMOVED
}
enum
Spécifie l'état d'un élément de client SRP (informations sur le service ou l'hôte).
otSrpServerAddressMode{
  OT_SRP_SERVER_ADDRESS_MODE_UNICAST = 0,
  OT_SRP_SERVER_ADDRESS_MODE_ANYCAST = 1
}
enum
Représente le mode d'adresse utilisé par le serveur SRP.
otSrpServerState{
  OT_SRP_SERVER_STATE_DISABLED = 0,
  OT_SRP_SERVER_STATE_RUNNING = 1,
  OT_SRP_SERVER_STATE_STOPPED = 2
}
enum
Représente l'état du serveur SRP.

Typedefs

otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext) typedef
void(*
Le type de pointeur définit le rappel utilisé par le client SRP pour avertir l'utilisateur lorsqu'il est démarré ou arrêté automatiquement.
otSrpClientBuffersServiceEntry typedef
Représente une entrée de pool de services client SRP.
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) typedef
void(*
Le type de pointeur définit le rappel utilisé par le client SRP pour avertir l'utilisateur des modifications, des événements ou des erreurs.
otSrpClientHostInfo typedef
Représente les informations d'un hôte de client SRP.
otSrpClientService typedef
Représente un service client SRP.
otSrpServerAddressMode typedef
Représente le mode d'adresse utilisé par le serveur SRP.
otSrpServerHost typedef
Ce type opaque représente un hôte de service SRP.
otSrpServerLeaseConfig typedef
Inclut les configurations "LEASE" et "KEY-LEASE" du serveur SRP.
otSrpServerLeaseInfo typedef
Inclut les informations de bail de serveur SRP d'un hôte/d'un service.
otSrpServerResponseCounters typedef
Inclut les statistiques des réponses du serveur SRP.
otSrpServerService typedef
Ce type opaque représente un service SRP.
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) typedef
void(*
Gère les mises à jour du service SRP.
otSrpServerServiceUpdateId typedef
uint32_t
ID d'une transaction de mise à jour du service SRP sur le serveur SRP.
otSrpServerTtlConfig typedef
Inclut les configurations TTL du serveur SRP.

distantes

otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
Ajoute un service à enregistrer auprès du serveur.
otSrpClientBuffersAllocateService(otInstance *aInstance)
Alloue une nouvelle entrée de service à partir du pool.
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
void
Libère toutes les entrées de service précédemment allouées.
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
void
Libère une entrée de service précédemment allouée.
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
Récupère le tableau d'entrées d'adresses IPv6 à utiliser comme liste d'adresses d'hôte du client SRP.
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
char *
Récupère le tampon de chaîne à utiliser pour le nom d'hôte du client SRP.
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Récupère le tampon de chaîne pour le nom de l'instance de service à partir d'une entrée de service.
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
char *
Récupère le tampon de chaîne pour le nom du service à partir d'une entrée de service.
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
uint8_t *
Récupère le tampon pour l'enregistrement TXT à partir d'une entrée de service.
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
const char **
Récupère le tableau contenant les étiquettes de sous-type de service à partir de l'entrée de service.
otSrpClientClearHostAndServices(otInstance *aInstance)
void
Efface toutes les informations sur l'hôte et tous les services.
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
Efface un service et le supprime immédiatement de la liste des services client.
otSrpClientDisableAutoStartMode(otInstance *aInstance)
void
Désactive le mode de démarrage automatique.
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
Active le mode d'adresse automatique de l'hôte.
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
void
Active le mode de démarrage automatique.
otSrpClientGetDomainName(otInstance *aInstance)
const char *
Récupère le nom de domaine utilisé par le client SRP.
otSrpClientGetHostInfo(otInstance *aInstance)
Récupère les informations sur l'hôte.
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
uint32_t
Récupère l'intervalle de bail de clés par défaut utilisé dans les requêtes de mise à jour de la SRP.
otSrpClientGetLeaseInterval(otInstance *aInstance)
uint32_t
Récupère l'intervalle de bail par défaut utilisé dans les requêtes de mise à jour de la SRP.
otSrpClientGetServerAddress(otInstance *aInstance)
const otSockAddr *
Récupère l'adresse de socket (adresse IPv6 et numéro de port) du serveur SRP utilisé par le client SRP.
otSrpClientGetServices(otInstance *aInstance)
Récupère la liste des services gérés par le client.
otSrpClientGetTtl(otInstance *aInstance)
uint32_t
Récupère la valeur TTL de chaque enregistrement inclus dans les requêtes de mise à jour de la SRP.
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
bool
Indique l'état actuel du mode de démarrage automatique (activé ou désactivé).
otSrpClientIsRunning(otInstance *aInstance)
bool
Indique si le client SRP est en cours d'exécution ou non.
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
bool
Indique si le mode "Inclusion d'enregistrements de clés de service" est activé ou désactivé.
otSrpClientItemStateToString(otSrpClientItemState aItemState)
const char *
Convertit une valeur otSrpClientItemState en chaîne.
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
Lance le processus de suppression des informations sur l'hôte et de tous les services.
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
Demande l'annulation de l'enregistrement d'un service auprès du serveur.
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
void
Définit le rappel pour avertir l'appelant des événements/modifications du client SRP.
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
Définit le nom de domaine que le client SRP doit utiliser.
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
Définit/met à jour la liste des adresses IPv6 de l'hôte.
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
Définit le libellé du nom d'hôte.
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Définit l'intervalle de bail de clés par défaut utilisé dans les requêtes de mise à jour SRP.
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
void
Définit l'intervalle de bail par défaut utilisé dans les requêtes de mise à jour SRP.
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
void
Active/désactive le mode "inclusion des enregistrements de clé de service".
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
void
Définit la valeur TTL de chaque enregistrement inclus dans les demandes de mise à jour de la SRP.
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
Lance l'opération du client SRP.
otSrpClientStop(otInstance *aInstance)
void
Arrête l'opération du client SRP.
otSrpServerGetAddressMode(otInstance *aInstance)
Renvoie le mode d'adresse utilisé par le serveur SRP.
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
uint8_t
Renvoie le numéro de séquence utilisé avec le mode d'adresse Anycast.
otSrpServerGetDomain(otInstance *aInstance)
const char *
Renvoie le domaine autorisé au serveur SRP.
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
void
Renvoie les configurations LEASE et KEY-LEASE du serveur SRP.
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
const otSrpServerHost *
Renvoie l'hôte enregistré suivant sur le serveur SRP.
otSrpServerGetPort(otInstance *aInstance)
uint16_t
Renvoie le port écouté par le serveur SRP.
otSrpServerGetResponseCounters(otInstance *aInstance)
Renvoie les compteurs de réponses du serveur SRP.
otSrpServerGetState(otInstance *aInstance)
Renvoie l'état du serveur SRP.
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
void
Renvoie la configuration TTL du serveur SRP.
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
void
Indique le résultat du traitement d'une mise à jour de la SRP au serveur SRP.
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
const otIp6Address *
Renvoie les adresses d'un hôte donné.
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
const char *
Renvoie le nom complet de l'hôte.
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
void
Renvoie les informations LEASE et KEY-LEASE d'un hôte donné.
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
Renvoie le service suivant de l'hôte donné.
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
bool
Indique si l'hôte du service SRP a été supprimé.
otSrpServerHostMatchesFullName(const otSrpServerHost *aHost, const char *aFullName)
bool
Indique si l'hôte correspond à un nom d'hôte donné.
otSrpServerIsAutoEnableMode(otInstance *aInstance)
bool
Indique si le mode d'activation automatique est activé ou désactivé.
otSrpServerParseSubTypeServiceName(const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize)
Analyse le nom de service d'un sous-type (nom complet) et extrait le libellé du sous-type.
otSrpServerServiceGetHost(const otSrpServerService *aService)
const otSrpServerHost *
Renvoie l'hôte sur lequel réside l'instance de service.
otSrpServerServiceGetInstanceLabel(const otSrpServerService *aService)
const char *
Renvoie le libellé de l'instance de service (premier libellé du nom de l'instance) du service.
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
const char *
Renvoie le nom d'instance complet du service.
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
void
Renvoie les informations LEASE et KEY-LEASE d'un service donné.
otSrpServerServiceGetNumberOfSubTypes(const otSrpServerService *aService)
uint16_t
Récupère le nombre de sous-types du service.
otSrpServerServiceGetPort(const otSrpServerService *aService)
uint16_t
Renvoie le port de l'instance de service.
otSrpServerServiceGetPriority(const otSrpServerService *aService)
uint16_t
Renvoie la priorité de l'instance de service.
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
const char *
Renvoie le nom complet du service.
otSrpServerServiceGetSubTypeServiceNameAt(const otSrpServerService *aService, uint16_t aIndex)
const char *
Récupère le nom de service du sous-type (nom complet) du service dans un index donné.
otSrpServerServiceGetTtl(const otSrpServerService *aService)
uint32_t
Renvoie la valeur TTL de l'instance de service.
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
const uint8_t *
Renvoie les données d'enregistrement TXT de l'instance de service.
otSrpServerServiceGetWeight(const otSrpServerService *aService)
uint16_t
Renvoie la pondération de l'instance de service.
otSrpServerServiceHasSubTypeServiceName(const otSrpServerService *aService, const char *aSubTypeServiceName)
bool
Indique si le service possède un sous-type donné.
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
bool
Indique si le service SRP a été supprimé ou non.
otSrpServerServiceMatchesInstanceName(const otSrpServerService *aService, const char *aInstanceName)
bool
Indique si ce service correspond à un nom d'instance de service donné.
otSrpServerServiceMatchesServiceName(const otSrpServerService *aService, const char *aServiceName)
bool
Indique si ce service correspond à un nom de service donné.
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
Définit le mode d'adresse que le serveur SRP doit utiliser.
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
Définit le numéro de séquence utilisé avec le mode d'adresse Anycast.
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
void
Active/désactive le mode d'activation automatique sur le serveur SRP.
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
Définit le domaine sur le serveur SRP.
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
void
Active/désactive le serveur SRP.
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
Définit les configurations LEASE et KEY-LEASE du serveur SRP.
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
void
Définit le gestionnaire de mises à jour du service SRP sur le serveur SRP.
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
Définit la configuration TTL du serveur SRP.

Structs

otSrpClientBuffersServiceEntry

Représente une entrée de pool de services client SRP.

otSrpClientHostInfo

Représente les informations d'un hôte de client SRP.

otSrpClientService

Représente un service client SRP.

otSrpServerLeaseConfig

Inclut les configurations "LEASE" et "KEY-LEASE" du serveur SRP.

otSrpServerLeaseInfo

Inclut les informations de bail de serveur SRP d'un hôte/d'un service.

otSrpServerResponseCounters

Inclut les statistiques des réponses du serveur SRP.

otSrpServerTtlConfig

Inclut les configurations TTL du serveur SRP.

Énumérations

otSrpClientItemState

 otSrpClientItemState

Spécifie l'état d'un élément de client SRP (informations sur le service ou l'hôte).

Propriétés
OT_SRP_CLIENT_ITEM_STATE_ADDING

L'article est en cours d'ajout/d'enregistrement.

OT_SRP_CLIENT_ITEM_STATE_REFRESHING

L'élément est en cours d'actualisation.

OT_SRP_CLIENT_ITEM_STATE_REGISTERED

L'élément est enregistré auprès du serveur.

OT_SRP_CLIENT_ITEM_STATE_REMOVED

Élément supprimé.

OT_SRP_CLIENT_ITEM_STATE_REMOVING

Suppression de l'élément...

OT_SRP_CLIENT_ITEM_STATE_TO_ADD

Élément à ajouter/enregistrer.

OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH

Élément à actualiser (réenregistrer pour renouveler le bail).

OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE

Élément à supprimer.

otSrpServerAddressMode

 otSrpServerAddressMode

Représente le mode d'adresse utilisé par le serveur SRP.

Le mode adresse spécifie la manière dont l'adresse et le numéro de port sont déterminés par le serveur SRP, ainsi que la manière dont ces informations sont publiées dans les données réseau Thread.

Propriétés
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST

Mode d'adresse Anycast

OT_SRP_SERVER_ADDRESS_MODE_UNICAST

Mode d'adresse unicast

otSrpServerState

 otSrpServerState

Représente l'état du serveur SRP.

Propriétés
OT_SRP_SERVER_STATE_DISABLED

Le serveur SRP est désactivé.

OT_SRP_SERVER_STATE_RUNNING

Le serveur SRP est activé et en cours d'exécution.

OT_SRP_SERVER_STATE_STOPPED

Le serveur SRP est activé, mais s'est arrêté.

Typedefs

otSrpClientAutoStartCallback

void(* otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)

Le type de pointeur définit le rappel utilisé par le client SRP pour avertir l'utilisateur lorsqu'il est démarré ou arrêté automatiquement.

Utilisé uniquement lorsque la fonctionnalité de démarrage automatique OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE est activée.

Ce rappel est invoqué lorsque le mode de démarrage automatique est activé et que le client SRP démarre ou s'arrête automatiquement.

Détails
Paramètres
[in] aServerSockAddr
Un pointeur non NULL indique que le serveur SRP a été démarré, et un pointeur fournit l'adresse de socket du serveur sélectionnée. Un pointeur NULL indique que le serveur SRP a été arrêté.
[in] aContext
Pointeur vers un contexte arbitraire (fourni lorsque le rappel a été enregistré).

otSrpClientBuffersServiceEntry

struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry

Représente une entrée de pool de services client SRP.

otSrpClientCallback

void(* otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)

Le type de pointeur définit le rappel utilisé par le client SRP pour avertir l'utilisateur des modifications, des événements ou des erreurs.

Ce rappel est invoqué lors de l'enregistrement réussi d'une mise à jour (ajout/suppression des informations sur l'hôte et/ou de certains services) auprès du serveur SRP, ou en cas d'échec ou d'erreur (par exemple, lorsque le serveur refuse une demande de mise à jour ou que le client expire en attendant la réponse, etc.).

En cas de réenregistrement réussi d'une mise à jour, le paramètre aError serait OT_ERROR_NONE. Les informations sur l'hôte et la liste complète des services sont fournies en tant que paramètres d'entrée du rappel. Notez que les informations et les services hôtes suivent chacun leur propre état dans la variable membre mState correspondante de la structure de données associée (état indiquant si les informations sur l'hôte/le service sont enregistrés ou supprimés, ou encore en cours d'ajout/suppression, etc.).

La liste des services supprimés est transmise via sa propre liste associée aRemovedServices dans le rappel. Notez que lorsque le rappel est appelé, le client SRP (implémentation d'OpenThread) utilise les instances de service supprimées répertoriées dans aRemovedServices et ne les suit plus/ne les stocke plus (par exemple, si à partir du rappel, nous appelons otSrpClientGetServices(), les services supprimés ne seront pas présents dans la liste renvoyée). Fournir une liste distincte des services supprimés dans le rappel permet d'indiquer à l'utilisateur quels éléments sont à présent supprimés et de lui permettre de revendiquer à nouveau les instances ou de les réutiliser.

Si le serveur refuse une demande de mise à jour SRP, le code de réponse DNS (RFC 2136) est mappé sur les erreurs suivantes:

  • (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

Les erreurs suivantes sont également possibles:

  • OT_ERROR_response_TIMEOUT : le délai a expiré dans l'attente de la réponse du serveur (le client continue à effectuer une nouvelle tentative).
  • OT_ERROR_INVALID_ARGS : la structure du service fournie n'est pas valide (par exemple, nom de service incorrect ou otDnsTxtEntry).
  • OT_ERROR_NO_BUFS : tampon insuffisant pour préparer ou envoyer le message de mise à jour.

Notez qu'en cas d'échec, le client poursuit l'opération, c'est-à-dire qu'il prépare et (re)transmet le message de mise à jour SRP au serveur, après un certain intervalle d'attente. L'intervalle d'attente avant une nouvelle tentative commence à partir de la valeur minimale. Il est augmenté du facteur de croissance à chaque échec jusqu'à la valeur maximale (pour en savoir plus, consultez le paramètre de configuration OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL et les paramètres associés).

Détails
Paramètres
[in] aError
L'erreur (voir ci-dessus).
[in] aHostInfo
Pointeur vers les informations sur l'hôte.
[in] aServices
En-tête de la liste associée contenant tous les services (à l'exception de ceux supprimés). NULL si la liste est vide.
[in] aRemovedServices
En-tête de la liste associée contenant tous les services supprimés. NULL si la liste est vide.
[in] aContext
Pointeur vers un contexte arbitraire (fourni lorsque le rappel a été enregistré).

otSrpClientHostInfo

struct otSrpClientHostInfo otSrpClientHostInfo

Représente les informations d'un hôte de client SRP.

otSrpClientService

struct otSrpClientService otSrpClientService

Représente un service client SRP.

Les valeurs de cette structure, y compris les tampons de chaîne pour les noms et les entrées d'enregistrement TXT, DOIVENT persister et rester constantes après qu'une instance de cette structure est transmise à OpenThread depuis otSrpClientAddService() ou otSrpClientRemoveService().

Les champs mState, mData et mNext ne sont utilisés/gérés que par les cœurs OT. Leur valeur est ignorée lorsqu'une instance de otSrpClientService est transmise dans otSrpClientAddService(), otSrpClientRemoveService() ou d'autres fonctions. L'appelant n'a pas besoin de définir ces champs.

Les champs mLease et mKeyLease spécifient les baux et les intervalles de bail de clés souhaités pour ce service. La valeur zéro indique que l'intervalle n'est pas spécifié. Les intervalles de bail ou de bail de clés par défaut de otSrpClientGetLeaseInterval() et otSrpClientGetKeyLeaseInterval() sont alors utilisés pour ce service. Si l'intervalle de bail de clés (défini explicitement ou déterminé par défaut) est plus court que l'intervalle de bail d'un service, le client SRP réutilisera la valeur de l'intervalle de bail de clés pour cet intervalle. Par exemple, si mLease est explicitement défini sur "2 jours" dans le service, que mKeyLease est défini sur zéro et que le bail de clés par défaut est de 1 jour, lors de l'enregistrement de ce service, le bail de clés demandé pour ce service sera également défini sur deux jours.

otSrpServerAddressMode

enum otSrpServerAddressMode otSrpServerAddressMode

Représente le mode d'adresse utilisé par le serveur SRP.

Le mode adresse spécifie la manière dont l'adresse et le numéro de port sont déterminés par le serveur SRP, ainsi que la manière dont ces informations sont publiées dans les données réseau Thread.

otSrpServerHost

struct otSrpServerHost otSrpServerHost

Ce type opaque représente un hôte de service SRP.

otSrpServerLeaseConfig

struct otSrpServerLeaseConfig otSrpServerLeaseConfig

Inclut les configurations "LEASE" et "KEY-LEASE" du serveur SRP.

otSrpServerLeaseInfo

struct otSrpServerLeaseInfo otSrpServerLeaseInfo

Inclut les informations de bail de serveur SRP d'un hôte/d'un service.

otSrpServerResponseCounters

struct otSrpServerResponseCounters otSrpServerResponseCounters

Inclut les statistiques des réponses du serveur SRP.

otSrpServerService

struct otSrpServerService otSrpServerService

Ce type opaque représente un service SRP.

otSrpServerServiceUpdateHandler

void(* otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)

Gère les mises à jour du service SRP.

est appelé par le serveur SRP pour avertir qu'un hôte SRP et éventuellement des services SRP sont en cours de mise à jour. Il est important que les mises à jour de la SRP ne soient pas validées tant que le gestionnaire n'a pas renvoyé le résultat en appelant otSrpServerHandleServiceUpdateResult ou avant l'expiration du délai après aTimeout.

Un observateur de service SRP doit toujours appeler otSrpServerHandleServiceUpdateResult avec le code d'erreur OT_ERROR_NONE immédiatement après avoir reçu les événements de mise à jour.

Un gestionnaire plus générique peut effectuer des validations sur les hôtes/services SRP et refuser les mises à jour SRP en cas d'échec d'une validation. Par exemple, un proxy publicitaire doit annoncer (ou supprimer) l'hôte et les services sur un lien compatible avec la multidiffusion et renvoyer un code d'erreur spécifique en cas d'échec.

Détails
Paramètres
[in] aId
ID de transaction de mise à jour du service. Cet ID doit être renvoyé avec otSrpServerHandleServiceUpdateResult.
[in] aHost
Pointeur vers l'objet otSrpServerHost qui contient les mises à jour de la SRP. Le gestionnaire doit publier ou annuler la publication de l'hôte, et chaque service pointe vers cet hôte selon les règles ci-dessous:
  1. Si l'hôte n'est pas supprimé (indiqué par otSrpServerHostIsDeleted), il doit être publié ou mis à jour via mDNS. Sinon, la publication de l'hôte devrait être annulée (supprimez les RR AAAA).
  2. Pour chaque service pointant vers cet hôte, la publication de l'hôte doit être annulée. Sinon, le gestionnaire doit publier ou mettre à jour le service lorsqu'il n'est pas supprimé (indiqué par otSrpServerServiceIsDeleted) et annuler sa publication lorsqu'il est supprimé.
[in] aTimeout
Durée maximale, en millisecondes, pendant laquelle le gestionnaire traite l'événement de service.
[in] aContext
Pointeur vers un contexte spécifique à l'application.
Voir aussi:
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult

otSrpServerServiceUpdateId

uint32_t otSrpServerServiceUpdateId

ID d'une transaction de mise à jour du service SRP sur le serveur SRP.

otSrpServerTtlConfig

struct otSrpServerTtlConfig otSrpServerTtlConfig

Inclut les configurations TTL du serveur SRP.

distantes

otSrpClientAddService

otError otSrpClientAddService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Ajoute un service à enregistrer auprès du serveur.

Après un appel réussi à cette fonction, otSrpClientCallback est appelé pour indiquer l'état de l'ajout ou de l'enregistrement du service auprès du serveur SRP.

L'instance otSrpClientService vers laquelle aService pointe DOIT conserver et rester inchangée après le retour de cette fonction (avec OT_ERROR_NONE). OpenThread enregistrera le pointeur sur l'instance de service.

L'instance otSrpClientService n'est plus suivie par OpenThread et ne peut être récupérée que lorsque

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aService
Pointeur vers une instance otSrpClientService à ajouter.
Valeurs de retour
OT_ERROR_NONE
L'ajout du service a démarré. otSrpClientCallback sera appelé pour signaler l'état.
OT_ERROR_ALREADY
Un service ayant les mêmes noms de service et d'instance figure déjà dans la liste.
OT_ERROR_INVALID_ARGS
La structure du service n'est pas valide (par exemple, nom de service ou otDnsTxtEntry incorrect).

otSrpClientBuffersAllocateService

otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService(
  otInstance *aInstance
)

Alloue une nouvelle entrée de service à partir du pool.

L'instance d'entrée de service renvoyée sera initialisée comme suit:

  • mService.mName pointera vers un tampon de chaîne alloué qui peut être récupéré à l'aide de la fonction otSrpClientBuffersGetServiceEntryServiceNameString().
  • mService.mInstanceName pointera vers un tampon de chaîne alloué qui peut être récupéré à l'aide de la fonction otSrpClientBuffersGetServiceEntryInstanceNameString().
  • mService.mSubTypeLabels pointe vers un tableau renvoyé par otSrpClientBuffersGetSubTypeLabelsArray().
  • mService.mTxtEntries pointera vers mTxtEntry.
  • mService.mNumTxtEntries sera défini sur un.
  • Les autres champs mService (port, priority, weight) sont définis sur zéro.
  • mTxtEntry.mKey est défini sur NULL (la valeur est traitée comme déjà encodée).
  • mTxtEntry.mValue pointera vers un tampon alloué qui peut être récupéré à l'aide de la fonction otSrpClientBuffersGetServiceEntryTxtBuffer().
  • mTxtEntry.mValueLength est défini sur zéro.
  • Tous les tampons et tableaux de données/chaînes associés sont effacés.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
Renvoie
Pointeur vers l'entrée de service nouvellement allouée ou NULL si aucune entrée supplémentaire n'est disponible dans le pool.

otSrpClientBuffersFreeAllServices

void otSrpClientBuffersFreeAllServices(
  otInstance *aInstance
)

Libère toutes les entrées de service précédemment allouées.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.

otSrpClientBuffersFreeService

void otSrpClientBuffersFreeService(
  otInstance *aInstance,
  otSrpClientBuffersServiceEntry *aService
)

Libère une entrée de service précédemment allouée.

Le aService DOIT être précédemment alloué à l'aide de otSrpClientBuffersAllocateService() et n'a pas encore été libéré. Sinon, le comportement de cette fonction n'est pas défini.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aService
Pointeur vers l'entrée de service sur "free" (ne DOIT PAS être NULL).

otSrpClientBuffersGetHostAddressesArray

otIp6Address * otSrpClientBuffersGetHostAddressesArray(
  otInstance *aInstance,
  uint8_t *aArrayLength
)

Récupère le tableau d'entrées d'adresses IPv6 à utiliser comme liste d'adresses d'hôte du client SRP.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[out] aArrayLength
Pointeur vers une variable permettant de renvoyer la longueur du tableau, c'est-à-dire le nombre d'entrées d'adresse IPv6 dans le tableau (NE DOIT PAS être NULL).
Renvoie
Pointeur vers un tableau d'entrées otIp6Address (le nombre d'entrées est renvoyé dans aArrayLength).

otSrpClientBuffersGetHostNameString

char * otSrpClientBuffersGetHostNameString(
  otInstance *aInstance,
  uint16_t *aSize
)

Récupère le tampon de chaîne à utiliser pour le nom d'hôte du client SRP.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[out] aSize
Pointeur vers une variable pour renvoyer la taille (nombre d'octets) du tampon de chaîne (NE DOIT PAS être NULL).
Renvoie
Pointeur vers le tampon de caractères à utiliser pour le nom d'hôte du client SRP.

otSrpClientBuffersGetServiceEntryInstanceNameString

char * otSrpClientBuffersGetServiceEntryInstanceNameString(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

Récupère le tampon de chaîne pour le nom de l'instance de service à partir d'une entrée de service.

Détails
Paramètres
[in] aEntry
Pointeur vers une entrée de service précédemment allouée (NE DOIT PAS être NULL).
[out] aSize
Pointeur vers une variable pour renvoyer la taille (nombre d'octets) du tampon de chaîne (NE DOIT PAS être NULL).
Renvoie
Pointeur vers le tampon de chaîne.

otSrpClientBuffersGetServiceEntryServiceNameString

char * otSrpClientBuffersGetServiceEntryServiceNameString(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

Récupère le tampon de chaîne pour le nom du service à partir d'une entrée de service.

Détails
Paramètres
[in] aEntry
Pointeur vers une entrée de service précédemment allouée (NE DOIT PAS être NULL).
[out] aSize
Pointeur vers une variable pour renvoyer la taille (nombre d'octets) du tampon de chaîne (NE DOIT PAS être NULL).
Renvoie
Pointeur vers le tampon de chaîne.

otSrpClientBuffersGetServiceEntryTxtBuffer

uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aSize
)

Récupère le tampon pour l'enregistrement TXT à partir d'une entrée de service.

Détails
Paramètres
[in] aEntry
Pointeur vers une entrée de service précédemment allouée (NE DOIT PAS être NULL).
[out] aSize
Pointeur vers une variable pour renvoyer la taille (nombre d'octets) du tampon (NE DOIT PAS être NULL).
Renvoie
Pointeur vers le tampon.

otSrpClientBuffersGetSubTypeLabelsArray

const char ** otSrpClientBuffersGetSubTypeLabelsArray(
  otSrpClientBuffersServiceEntry *aEntry,
  uint16_t *aArrayLength
)

Récupère le tableau contenant les étiquettes de sous-type de service à partir de l'entrée de service.

Détails
Paramètres
[in] aEntry
Pointeur vers une entrée de service précédemment allouée (NE DOIT PAS être NULL).
[out] aArrayLength
Pointeur vers une variable pour renvoyer la longueur du tableau (NE DOIT PAS être NULL).
Renvoie
Un pointeur vers le tableau.

otSrpClientClearHostAndServices

void otSrpClientClearHostAndServices(
  otInstance *aInstance
)

Efface toutes les informations sur l'hôte et tous les services.

Contrairement à otSrpClientRemoveHostAndServices(), qui envoie un message de mise à jour au serveur pour supprimer toutes les informations, cette fonction efface toutes les informations immédiatement, sans aucune interaction avec le serveur.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.

otSrpClientClearService

otError otSrpClientClearService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Efface un service et le supprime immédiatement de la liste des services client.

Contrairement à otSrpClientRemoveService(), qui envoie un message de mise à jour au serveur pour supprimer le service, cette fonction efface le service de la liste des services du client sans aucune interaction avec le serveur. Lors d'un appel réussi à cette fonction, otSrpClientCallback n'est PAS appelé et l'entrée aService peut être récupérée et réutilisée par l'appelant immédiatement.

Peut être utilisé avec un appel ultérieur à otSrpClientAddService() (en réutilisant potentiellement la même entrée aService avec les mêmes noms de service et d'instance) pour mettre à jour certains des paramètres d'un service existant.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aService
Pointeur vers une instance otSrpClientService à supprimer.
Valeurs de retour
OT_ERROR_NONE
aService a bien été supprimé. Il peut être récupéré et réutilisé immédiatement.
OT_ERROR_NOT_FOUND
Le service est introuvable dans la liste.

otSrpClientDisableAutoStartMode

void otSrpClientDisableAutoStartMode(
  otInstance *aInstance
)

Désactive le mode de démarrage automatique.

Cette option n'est disponible que lorsque la fonctionnalité de démarrage automatique OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE est activée.

La désactivation du mode de démarrage automatique n'arrête pas le client s'il est déjà en cours d'exécution, mais il cesse de surveiller les données réseau Thread pour vérifier que le serveur SRP sélectionné y est toujours présent.

Notez qu'un appel à otSrpClientStop() désactive également le mode de démarrage automatique.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.

otSrpClientEnableAutoHostAddress

otError otSrpClientEnableAutoHostAddress(
  otInstance *aInstance
)

Active le mode d'adresse automatique de l'hôte.

Lorsque cette option est activée, les adresses IPv6 de l'hôte sont automatiquement définies par le client SRP à l'aide de toutes les adresses unicast privilégiées sur le netif Thread, à l'exception des adresses de liaison locale et du réseau maillé. S'il n'y a pas d'adresse préférée, l'adresse EID du réseau maillé est ajoutée. Le client SRP se réinscrit automatiquement lorsque des adresses sont mises à jour sur Thread Nettif (de nouvelles adresses sont ajoutées, ou des adresses existantes sont supprimées ou marquées comme non préférées).

Le mode d'adresse automatique de l'hôte peut être activé avant le démarrage ou pendant l'utilisation du client SRP, sauf lorsque les informations sur l'hôte sont en cours de suppression (le client est en train de traiter une demande de suppression d'un appel à otSrpClientRemoveHostAndServices(), et les informations sur l'hôte sont toujours à l'état STATE_TO_REMOVE ou STATE_REMOVING).

Une fois le mode d'adresse automatique de l'hôte activé, vous pouvez le désactiver en appelant otSrpClientSetHostAddresses() qui définit ensuite explicitement les adresses hôtes.

Détails
Valeurs de retour
OT_ERROR_NONE
Le mode d'adresse de l'hôte automatique a bien été activé.
OT_ERROR_INVALID_STATE
L'hôte est en cours de suppression et ne peut donc pas activer le mode d'adresse de l'hôte automatique.

otSrpClientEnableAutoStartMode

void otSrpClientEnableAutoStartMode(
  otInstance *aInstance,
  otSrpClientAutoStartCallback aCallback,
  void *aContext
)

Active le mode de démarrage automatique.

Cette option n'est disponible que lorsque la fonctionnalité de démarrage automatique OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE est activée.

L'option de configuration OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE spécifie le mode de démarrage automatique par défaut (qu'il soit activé ou désactivé au début de la pile OT).

Lorsque le démarrage automatique est activé, le client SRP surveille les données réseau Thread pour détecter les serveurs SRP et sélectionner le serveur préféré, puis démarrer et arrêter automatiquement le client lorsqu'un serveur SRP est détecté.

Trois catégories d'entrées de données réseau indiquent la présence d'un serveur SRP. Elles sont recommandées dans l'ordre suivant:

1) Entrées unicast privilégiées pour lesquelles l'adresse du serveur est incluse dans les données du service S'il existe plusieurs options, préférez celle dont l'adresse IPv6 numérique est la plus basse.

2) Entrées Anycast ayant chacune un numéro de séquence. Un numéro de séquence plus grand, au sens spécifié par la logique arithmétique du numéro de série dans le document RFC-1982, est considéré comme plus récent et donc privilégié. Il est préférable d'utiliser le plus grand nombre de suite en arithmétique des numéros de série s'il est bien défini (c'est-à-dire que le numéro de séquence est supérieur à tous les autres nombres seq). S'il n'est pas bien défini, il est préférable d'utiliser le chiffre suivant le plus grand nombre.

3) Entrées Unicast dont les informations d'adresse du serveur sont incluses dans les données du serveur S'il existe plusieurs options, préférez celle dont l'adresse IPv6 numérique est la plus basse.

En cas de modification des entrées de données réseau, le client vérifie que le serveur actuellement sélectionné est toujours présent dans les données réseau et reste le serveur privilégié. Sinon, le client basculera sur le nouveau serveur préféré ou s'arrêtera s'il n'y en a pas.

Lorsque le client SRP est explicitement démarré via un appel réussi à otSrpClientStart(), l'adresse du serveur SRP indiquée dans otSrpClientStart() continue d'être utilisée indépendamment de l'état du mode de démarrage automatique et de la découverte ou non de la même adresse de serveur SRP dans les données réseau Thread. Dans ce cas, seul un appel otSrpClientStop() explicite arrêtera le client.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aCallback
Rappel pour avertir le client lorsqu'il démarre ou s'arrête automatiquement. Peut être NULL si ce n'est pas nécessaire.
[in] aContext
Contexte à transmettre lors de l'appel de aCallback.

otSrpClientGetDomainName

const char * otSrpClientGetDomainName(
  otInstance *aInstance
)

Récupère le nom de domaine utilisé par le client SRP.

Nécessite l'activation de OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

Si le nom de domaine n'est pas défini, "default.service.arpa" est utilisé.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
Renvoie
Chaîne du nom de domaine.

otSrpClientGetHostInfo

const otSrpClientHostInfo * otSrpClientGetHostInfo(
  otInstance *aInstance
)

Récupère les informations sur l'hôte.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
Renvoie
Pointeur vers la structure d'informations de l'hôte.

otSrpClientGetKeyLeaseInterval

uint32_t otSrpClientGetKeyLeaseInterval(
  otInstance *aInstance
)

Récupère l'intervalle de bail de clés par défaut utilisé dans les requêtes de mise à jour de la SRP.

L'intervalle par défaut n'est utilisé que pour les instances otSrpClientService où la valeur mKeyLease est définie sur zéro.

Notez qu'il s'agit de la durée de location demandée par le client SRP. Le serveur peut choisir d'accepter un intervalle de bail différent.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
Renvoie
Intervalle de bail de clé (en secondes).

otSrpClientGetLeaseInterval

uint32_t otSrpClientGetLeaseInterval(
  otInstance *aInstance
)

Récupère l'intervalle de bail par défaut utilisé dans les requêtes de mise à jour de la SRP.

L'intervalle par défaut n'est utilisé que pour les instances otSrpClientService où la valeur mLease est définie sur zéro.

Notez qu'il s'agit de la durée de location demandée par le client SRP. Le serveur peut choisir d'accepter un intervalle de bail différent.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
Renvoie
Intervalle de bail (en secondes).

otSrpClientGetServerAddress

const otSockAddr * otSrpClientGetServerAddress(
  otInstance *aInstance
)

Récupère l'adresse de socket (adresse IPv6 et numéro de port) du serveur SRP utilisé par le client SRP.

Si le client n'est pas en cours d'exécution, l'adresse n'est pas spécifiée (toute zéro) et aucun numéro de port n'est indiqué.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
Renvoie
Pointeur vers l'adresse de socket du serveur SRP (toujours non NULL).

otSrpClientGetServices

const otSrpClientService * otSrpClientGetServices(
  otInstance *aInstance
)

Récupère la liste des services gérés par le client.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
Renvoie
Pointeur vers l'en-tête de la liste associée de tous les services ou valeur NULL si la liste est vide.

otSrpClientGetTtl

uint32_t otSrpClientGetTtl(
  otInstance *aInstance
)

Récupère la valeur TTL de chaque enregistrement inclus dans les requêtes de mise à jour de la SRP.

Notez qu'il s'agit de la valeur TTL demandée par le client SRP. Le serveur peut choisir d'accepter une valeur TTL différente.

Par défaut, la valeur TTL est égale à l'intervalle du bail. Si vous transmettez 0 ou une valeur supérieure à l'intervalle de bail via otSrpClientSetTtl(), la valeur TTL sera également égale à l'intervalle du bail.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
Renvoie
Valeur TTL (en secondes).

otSrpClientIsAutoStartModeEnabled

bool otSrpClientIsAutoStartModeEnabled(
  otInstance *aInstance
)

Indique l'état actuel du mode de démarrage automatique (activé ou désactivé).

Cette option n'est disponible que lorsque la fonctionnalité de démarrage automatique OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE est activée.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
Renvoie
TRUE si le mode de démarrage automatique est activé, FALSE dans le cas contraire.

otSrpClientIsRunning

bool otSrpClientIsRunning(
  otInstance *aInstance
)

Indique si le client SRP est en cours d'exécution ou non.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
Renvoie
TRUE si le client SRP est en cours d'exécution, FALSE dans le cas contraire.

otSrpClientIsServiceKeyRecordEnabled

bool otSrpClientIsServiceKeyRecordEnabled(
  otInstance *aInstance
)

Indique si le mode "Inclusion d'enregistrements de clés de service" est activé ou désactivé.

Disponible lorsque la configuration OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE est activée.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
Renvoie
TRUE si le mode "inclusion des enregistrements de clé de service" est activé, FALSE dans le cas contraire.

otSrpClientItemStateToString

const char * otSrpClientItemStateToString(
  otSrpClientItemState aItemState
)

Convertit une valeur otSrpClientItemState en chaîne.

Détails
Paramètres
[in] aItemState
État de l'élément.
Renvoie
Représentation de aItemState sous forme de chaîne.

otSrpClientRemoveHostAndServices

otError otSrpClientRemoveHostAndServices(
  otInstance *aInstance,
  bool aRemoveKeyLease,
  bool aSendUnregToServer
)

Lance le processus de suppression des informations sur l'hôte et de tous les services.

Une fois cette fonction renvoyée, otSrpClientCallback sera appelé pour signaler l'état de la demande de suppression auprès du serveur SRP.

Si les informations sur l'hôte doivent être définitivement supprimées du serveur, aRemoveKeyLease doit être défini sur true, ce qui supprime le bail de clé associé à l'hôte sur le serveur. Sinon, l'enregistrement du bail de clé est conservé comme auparavant, ce qui garantit que le serveur détient le nom d'hôte en réserve lorsque le client est à nouveau en mesure de fournir et d'enregistrer ses services.

aSendUnregToServer détermine le comportement lorsque les informations sur l'hôte ne sont pas encore enregistrées auprès du serveur. Si aSendUnregToServer est défini sur false (valeur par défaut/attendue), le client SRP supprime immédiatement les informations et les services hôtes sans envoyer de message de mise à jour au serveur (il n'est pas nécessaire de mettre à jour le serveur si rien n'est encore enregistré auprès de celui-ci). Si aSendUnregToServer est défini sur true, le client SRP envoie un message de mise à jour au serveur. Notez que si les informations sur l'hôte sont enregistrées, la valeur de aSendUnregToServer n'a pas d'importance et le client SRP envoie toujours un message de mise à jour au serveur demandant la suppression de toutes les informations.

aSendUnregToServer peut être utile lors de la réinitialisation ou du redémarrage de l'appareil. L'appelant peut vouloir supprimer tous les services précédemment enregistrés auprès du serveur. Dans ce cas, l'appelant peut otSrpClientSetHostName(), puis demander otSrpClientRemoveHostAndServices() avec aSendUnregToServer comme true.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aRemoveKeyLease
Booléen indiquant si le bail de la clé hôte doit également être supprimé.
[in] aSendUnregToServer
Booléen indiquant si une mise à jour doit être envoyée au serveur lorsque les informations de l'hôte ne sont pas enregistrées.
Valeurs de retour
OT_ERROR_NONE
La suppression des services et des informations sur l'hôte a bien commencé. otSrpClientCallback sera appelé pour signaler l'état.
OT_ERROR_ALREADY
Les informations sur l'hôte ont déjà été supprimées.

otSrpClientRemoveService

otError otSrpClientRemoveService(
  otInstance *aInstance,
  otSrpClientService *aService
)

Demande l'annulation de l'enregistrement d'un service auprès du serveur.

Après un appel réussi à cette fonction, otSrpClientCallback est appelé pour signaler l'état de la demande de suppression auprès du serveur SRP.

L'instance otSrpClientService vers laquelle aService pointe DOIT conserver et rester inchangée après le retour de cette fonction (avec OT_ERROR_NONE). OpenThread conservera l'instance de service pendant le processus de suppression. Seul l'appel de otSrpClientCallback indique que l'instance de service est supprimée de la liste des services client SRP et peut être libérée/réutilisée.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aService
Pointeur vers une instance otSrpClientService à supprimer.
Valeurs de retour
OT_ERROR_NONE
La suppression du service a bien démarré. otSrpClientCallback sera appelé pour signaler l'état.
OT_ERROR_NOT_FOUND
Le service est introuvable dans la liste.

otSrpClientSetCallback

void otSrpClientSetCallback(
  otInstance *aInstance,
  otSrpClientCallback aCallback,
  void *aContext
)

Définit le rappel pour avertir l'appelant des événements/modifications du client SRP.

Le client SRP autorise l'enregistrement d'un seul rappel. Ainsi, les appels consécutifs effectués vers cette fonction écraseront toutes les fonctions de rappel précédemment définies.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aCallback
Rappel permettant de notifier les événements et les modifications. Peut être NULL si ce n'est pas nécessaire.
[in] aContext
Contexte arbitraire utilisé avec aCallback.

otSrpClientSetDomainName

otError otSrpClientSetDomainName(
  otInstance *aInstance,
  const char *aName
)

Définit le nom de domaine que le client SRP doit utiliser.

Nécessite l'activation de OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE.

Si cette règle n'est pas configurée, "default.service.arpa" est utilisé.

Le tampon de chaîne de nom vers lequel pointe aName DOIT persister et rester inchangé après le retour de cette fonction. OpenThread gardera le pointeur sur la chaîne.

Le nom de domaine peut être défini avant le démarrage du client ou après le démarrage, mais avant l'enregistrement des informations sur l'hôte auprès du serveur (les informations sur l'hôte doivent se trouver dans STATE_TO_ADD ou STATE_TO_REMOVE).

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aName
Pointeur vers la chaîne du nom de domaine. Si la valeur est NULL, il est défini sur "default.service.arpa" par défaut.
Valeurs de retour
OT_ERROR_NONE
Le libellé du nom de domaine a bien été défini.
OT_ERROR_INVALID_STATE
Les informations sur l'hôte sont déjà enregistrées auprès du serveur.

otSrpClientSetHostAddresses

otError otSrpClientSetHostAddresses(
  otInstance *aInstance,
  const otIp6Address *aIp6Addresses,
  uint8_t aNumAddresses
)

Définit/met à jour la liste des adresses IPv6 de l'hôte.

Les adresses IPv6 hôtes peuvent être définies/modifiées avant le démarrage ou pendant l'utilisation du client SRP (par exemple, pour ajouter/supprimer ou modifier une adresse hôte déjà enregistrée), sauf lorsque les informations sur l'hôte sont supprimées (le client traite une demande de suppression d'un appel précédent à otSrpClientRemoveHostAndServices(), et les informations sur l'hôte sont toujours à l'état STATE_TO_REMOVE ou STATE_REMOVING).

Le tableau d'adresses IPv6 hôte pointé par aIp6Addresses DOIT persister et rester inchangé après le renvoi de cette fonction (avec OT_ERROR_NONE). OpenThread enregistrera le pointeur dans le tableau.

Après un appel réussi à cette fonction, otSrpClientCallback est appelé pour indiquer l'état de l'enregistrement de l'adresse auprès du serveur SRP.

L'appel de cette fonction désactive le mode d'adresse automatique de l'hôte s'il a été activé lors d'un appel réussi à otSrpClientEnableAutoHostAddress().

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aIp6Addresses
Pointeur vers le tableau contenant les adresses IPv6 d'hôte.
[in] aNumAddresses
Nombre d'adresses dans le tableau aIp6Addresses.
Valeurs de retour
OT_ERROR_NONE
La modification de la liste d'adresses IPv6 de l'hôte a bien démarré. Le otSrpClientCallback sera appelé pour indiquer l'état de l'enregistrement des adresses auprès du serveur.
OT_ERROR_INVALID_ARGS
La liste d'adresses n'est pas valide (elle doit contenir au moins une adresse, par exemple).
OT_ERROR_INVALID_STATE
L'hôte est en cours de suppression et ne peut donc pas modifier son adresse.

otSrpClientSetHostName

otError otSrpClientSetHostName(
  otInstance *aInstance,
  const char *aName
)

Définit le libellé du nom d'hôte.

Après un appel réussi à cette fonction, otSrpClientCallback est appelé pour signaler l'état de l'enregistrement des informations de l'hôte auprès du serveur SRP.

Le tampon de chaîne de nom vers lequel pointe aName DOIT persister et rester inchangé après le retour de cette fonction. OpenThread gardera le pointeur sur la chaîne.

Le nom d'hôte peut être défini avant le démarrage du client ou après le démarrage, mais avant que les informations sur l'hôte soient enregistrées auprès du serveur (elles doivent se trouver dans STATE_TO_ADD ou STATE_REMOVED).

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aName
Pointeur vers la chaîne d'étiquette du nom d'hôte (NE DOIT PAS être NULL). Le pointeur vers le tampon de chaîne DOIT persister et rester valide et constant après le retour de cette fonction.
Valeurs de retour
OT_ERROR_NONE
Le libellé du nom d'hôte a bien été défini.
OT_ERROR_INVALID_ARGS
aName est NULL.
OT_ERROR_INVALID_STATE
Le nom d'hôte est déjà défini et enregistré auprès du serveur.

otSrpClientSetKeyLeaseInterval

void otSrpClientSetKeyLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Définit l'intervalle de bail de clés par défaut utilisé dans les requêtes de mise à jour SRP.

L'intervalle par défaut n'est utilisé que pour les instances otSrpClientService où la valeur mKeyLease est définie sur zéro.

La modification de l'intervalle de bail n'a pas d'incidence sur l'intervalle de bail accepté pour les services/informations sur l'hôte déjà enregistrés. Elle n'a d'incidence que sur les futurs messages de mise à jour de la SRP (ajout de services et/ou actualisations de services existants, par exemple).

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aInterval
Intervalle de bail de clé (en secondes). Si zéro, la valeur par défaut spécifiée par OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_KEY_LEASE est utilisée.

otSrpClientSetLeaseInterval

void otSrpClientSetLeaseInterval(
  otInstance *aInstance,
  uint32_t aInterval
)

Définit l'intervalle de bail par défaut utilisé dans les requêtes de mise à jour SRP.

L'intervalle par défaut n'est utilisé que pour les instances otSrpClientService où la valeur mLease est définie sur zéro.

La modification de l'intervalle de bail n'a aucune incidence sur l'intervalle de bail accepté pour les services/informations sur l'hôte déjà enregistrés. Elle n'a d'incidence que sur les futurs messages de mise à jour de la SRP (par exemple, l'ajout de nouveaux services et/ou l'actualisation des services existants).

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aInterval
Intervalle de bail (en secondes). Si zéro, la valeur par défaut spécifiée par OPENTHREAD_CONFIG_SRP_CLIENT_DEFAULT_LEASE est utilisée.

otSrpClientSetServiceKeyRecordEnabled

void otSrpClientSetServiceKeyRecordEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Active/désactive le mode "inclusion des enregistrements de clé de service".

Lorsque cette option est activée, le client SRP inclut l'enregistrement KEY dans les instructions de description du service dans les messages de mise à jour SRP qu'il envoie.

Disponible lorsque la configuration OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE est activée.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aEnabled
TRUE pour activer, FALSE pour désactiver le mode "inclusion des enregistrements de clé de service".

otSrpClientSetTtl

void otSrpClientSetTtl(
  otInstance *aInstance,
  uint32_t aTtl
)

Définit la valeur TTL de chaque enregistrement inclus dans les demandes de mise à jour de la SRP.

La modification de la valeur TTL n'a aucune incidence sur la valeur TTL des services/informations sur l'hôte déjà enregistrés. Elle n'a d'incidence que sur les futurs messages de mise à jour de la SRP (ajout de services et/ou actualisations de services existants, par exemple).

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aTtl
Valeur TTL (en secondes). Si la valeur est égale à zéro ou supérieure à l'intervalle de bail, la valeur TTL est définie sur l'intervalle de bail.

otSrpClientStart

otError otSrpClientStart(
  otInstance *aInstance,
  const otSockAddr *aServerSockAddr
)

Lance l'opération du client SRP.

Le client SRP prépare et envoie le message de mise à jour SRP au serveur SRP lorsque toutes les conditions suivantes sont remplies:

L'ordre d'appel de ces fonctions n'a pas d'importance. Lorsque toutes les conditions sont remplies, le client SRP attend un court délai avant de préparer un message de mise à jour SRP et de l'envoyer au serveur. Ce délai permet à l'utilisateur d'ajouter plusieurs services et/ou adresses IPv6 avant l'envoi du premier message de mise à jour de la SRP (en veillant à ce qu'une seule mise à jour de la SRP soit envoyée avec toutes les informations). La configuration OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY spécifie l'intervalle de délai.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.
[in] aServerSockAddr
Adresse de socket (adresse IPv6 et numéro de port) du serveur SRP.
Valeurs de retour
OT_ERROR_NONE
L'opération du client SRP a démarré correctement, ou elle est déjà en cours d'exécution avec la même adresse de socket et le même rappel.
OT_ERROR_BUSY
Le client SRP est occupé avec une adresse de socket différente.
OT_ERROR_FAILED
Échec de l'ouverture ou de la connexion du socket UDP du client.

otSrpClientStop

void otSrpClientStop(
  otInstance *aInstance
)

Arrête l'opération du client SRP.

Arrête toute autre interaction avec le serveur SRP. Notez que cela ne supprime ni n'efface les informations sur l'hôte et/ou la liste des services. Elle indique que tous les services doivent être ajoutés/supprimés à nouveau une fois que le client est (re)démarré.

Détails
Paramètres
[in] aInstance
Un pointeur vers l'instance OpenThread.

otSrpServerGetAddressMode

otSrpServerAddressMode otSrpServerGetAddressMode(
  otInstance *aInstance
)

Renvoie le mode d'adresse utilisé par le serveur SRP.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Renvoie
Mode d'adresse du serveur SRP.

otSrpServerGetAnycastModeSequenceNumber

uint8_t otSrpServerGetAnycastModeSequenceNumber(
  otInstance *aInstance
)

Renvoie le numéro de séquence utilisé avec le mode d'adresse Anycast.

Le numéro de séquence est inclus dans l'entrée "Adresse Anycast du service DNS/SRP" publiée dans les données réseau.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Renvoie
Numéro de séquence Anycast.

otSrpServerGetDomain

const char * otSrpServerGetDomain(
  otInstance *aInstance
)

Renvoie le domaine autorisé au serveur SRP.

Si le domaine n'est pas défini par SetDomain, "default.service.arpa." s'affiche. Un point est toujours ajouté à la fin, même si le domaine est défini sans.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Renvoie
Pointeur vers la chaîne de domaine jointe par point.

otSrpServerGetLeaseConfig

void otSrpServerGetLeaseConfig(
  otInstance *aInstance,
  otSrpServerLeaseConfig *aLeaseConfig
)

Renvoie les configurations LEASE et KEY-LEASE du serveur SRP.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[out] aLeaseConfig
Un pointeur vers une instance otSrpServerLeaseConfig.

otSrpServerGetNextHost

const otSrpServerHost * otSrpServerGetNextHost(
  otInstance *aInstance,
  const otSrpServerHost *aHost
)

Renvoie l'hôte enregistré suivant sur le serveur SRP.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aHost
Pointeur vers l'hôte actuel. Utilisez la valeur NULL pour obtenir le premier hôte.
Renvoie
Pointeur vers l'hôte enregistré. NULL, si aucun autre hôte n'est trouvé.

otSrpServerGetPort

uint16_t otSrpServerGetPort(
  otInstance *aInstance
)

Renvoie le port écouté par le serveur SRP.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Renvoie
Port du serveur SRP. Elle renvoie 0 si le serveur n'est pas en cours d'exécution.

otSrpServerGetResponseCounters

const otSrpServerResponseCounters * otSrpServerGetResponseCounters(
  otInstance *aInstance
)

Renvoie les compteurs de réponses du serveur SRP.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Renvoie
Un pointeur vers les compteurs de réponse du serveur SRP.

otSrpServerGetState

otSrpServerState otSrpServerGetState(
  otInstance *aInstance
)

Renvoie l'état du serveur SRP.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Renvoie
État actuel du serveur SRP.

otSrpServerGetTtlConfig

void otSrpServerGetTtlConfig(
  otInstance *aInstance,
  otSrpServerTtlConfig *aTtlConfig
)

Renvoie la configuration TTL du serveur SRP.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[out] aTtlConfig
Un pointeur vers une instance otSrpServerTtlConfig.

otSrpServerHandleServiceUpdateResult

void otSrpServerHandleServiceUpdateResult(
  otInstance *aInstance,
  otSrpServerServiceUpdateId aId,
  otError aError
)

Indique le résultat du traitement d'une mise à jour de la SRP au serveur SRP.

Le gestionnaire de mises à jour du service doit appeler cette fonction pour renvoyer le résultat du traitement d'une mise à jour de la SRP.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aId
ID de transaction de mise à jour du service. Il doit correspondre à l'ID fourni via otSrpServerServiceUpdateHandler.
[in] aError
Erreur à renvoyer au serveur SRP. Utilisez OT_ERROR_DUPLICATED pour représenter les conflits de noms DNS.

otSrpServerHostGetAddresses

const otIp6Address * otSrpServerHostGetAddresses(
  const otSrpServerHost *aHost,
  uint8_t *aAddressesNum
)

Renvoie les adresses d'un hôte donné.

Détails
Paramètres
[in] aHost
Pointeur vers l'hôte de service SRP.
[out] aAddressesNum
Pointeur vers l'emplacement de sortie du nombre d'adresses.
Renvoie
Pointeur vers le tableau d'adresses IPv6.

otSrpServerHostGetFullName

const char * otSrpServerHostGetFullName(
  const otSrpServerHost *aHost
)

Renvoie le nom complet de l'hôte.

Détails
Paramètres
[in] aHost
Pointeur vers l'hôte de service SRP.
Renvoie
Pointeur vers la chaîne du nom d'hôte clôturée par une valeur nulle.

otSrpServerHostGetLeaseInfo

void otSrpServerHostGetLeaseInfo(
  const otSrpServerHost *aHost,
  otSrpServerLeaseInfo *aLeaseInfo
)

Renvoie les informations LEASE et KEY-LEASE d'un hôte donné.

Détails
Paramètres
[in] aHost
Un pointeur vers l'hôte du serveur SRP.
[out] aLeaseInfo
Pointeur vers l'emplacement de sortie des informations LEASE et KEY-LEASE.

otSrpServerHostGetNextService

const otSrpServerService * otSrpServerHostGetNextService(
  const otSrpServerHost *aHost,
  const otSrpServerService *aService
)

Renvoie le service suivant de l'hôte donné.

Détails
Paramètres
[in] aHost
Pointeur vers l'hôte de service SRP.
[in] aService
Pointeur vers l'instance de service SRP actuelle. Utilisez la valeur NULL pour obtenir le premier service.
Renvoie
Un pointeur vers le service suivant ou la valeur NULL s'il n'y a plus de services.

otSrpServerHostIsDeleted

bool otSrpServerHostIsDeleted(
  const otSrpServerHost *aHost
)

Indique si l'hôte du service SRP a été supprimé.

Un hôte de service SRP peut être supprimé, mais conserve son nom pour une utilisation ultérieure. Dans ce cas, l'instance hôte n'est pas supprimée du serveur/registre SRP.

Détails
Paramètres
[in] aHost
Pointeur vers l'hôte de service SRP.
Renvoie
TRUE si l'hôte a été supprimé, FALSE dans le cas contraire.

otSrpServerHostMatchesFullName

bool otSrpServerHostMatchesFullName(
  const otSrpServerHost *aHost,
  const char *aFullName
)

Indique si l'hôte correspond à un nom d'hôte donné.

Les correspondances de noms DNS sont effectuées à l'aide d'une comparaison de chaînes non sensibles à la casse (par exemple, "Abc" et "aBc" sont considérés comme identiques).

Détails
Paramètres
[in] aHost
Pointeur vers l'hôte de service SRP.
[in] aFullName
Nom d'hôte complet.
Valeurs de retour
TRUE
Si l'hôte correspond au nom d'hôte.
FALSE
Si l'hôte ne correspond pas au nom d'hôte.

otSrpServerIsAutoEnableMode

bool otSrpServerIsAutoEnableMode(
  otInstance *aInstance
)

Indique si le mode d'activation automatique est activé ou désactivé.

Nécessite la fonctionnalité OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
Valeurs de retour
TRUE
Le mode d'activation automatique est activé.
FALSE
Le mode d'activation automatique est désactivé.

otSrpServerParseSubTypeServiceName

otError otSrpServerParseSubTypeServiceName(
  const char *aSubTypeServiceName,
  char *aLabel,
  uint8_t aLabelSize
)

Analyse le nom de service d'un sous-type (nom complet) et extrait le libellé du sous-type.

Le nom complet d'un sous-type de service suit "._sub...".

Détails
Paramètres
[in] aSubTypeServiceName
Un nom de service de sous-type (nom complet).
[out] aLabel
Pointeur vers un tampon pour copier le libellé de sous-type extrait.
[in] aLabelSize
Taille maximale de la mémoire tampon : aLabel
Valeurs de retour
OT_ERROR_NONE
Le nom a bien été analysé et aLabel a été mis à jour.
OT_ERROR_NO_BUFS
L'étiquette de sous-type n'a pas pu tenir dans le tampon aLabel (le nombre de caractères du libellé qui pourraient tenir sont copiés dans aLabel en s'assurant qu'il est nul et non terminé).
OT_ERROR_INVALID_ARGS
aSubTypeServiceName n'est pas un format de sous-type valide.

otSrpServerServiceGetHost

const otSrpServerHost * otSrpServerServiceGetHost(
  const otSrpServerService *aService
)

Renvoie l'hôte sur lequel réside l'instance de service.

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
Renvoie
Un pointeur vers l'instance hôte.

otSrpServerServiceGetInstanceLabel

const char * otSrpServerServiceGetInstanceLabel(
  const otSrpServerService *aService
)

Renvoie le libellé de l'instance de service (premier libellé du nom de l'instance) du service.

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
Renvoie
Pointeur vers la chaîne de libellé de l'instance de service interrompue par une valeur nulle.

otSrpServerServiceGetInstanceName

const char * otSrpServerServiceGetInstanceName(
  const otSrpServerService *aService
)

Renvoie le nom d'instance complet du service.

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
Renvoie
Pointeur vers la chaîne du nom de l'instance de service clôturée par une valeur nulle.

otSrpServerServiceGetLeaseInfo

void otSrpServerServiceGetLeaseInfo(
  const otSrpServerService *aService,
  otSrpServerLeaseInfo *aLeaseInfo
)

Renvoie les informations LEASE et KEY-LEASE d'un service donné.

Détails
Paramètres
[in] aService
Pointeur vers le service du serveur SRP.
[out] aLeaseInfo
Pointeur vers l'emplacement de sortie des informations LEASE et KEY-LEASE.

otSrpServerServiceGetNumberOfSubTypes

uint16_t otSrpServerServiceGetNumberOfSubTypes(
  const otSrpServerService *aService
)

Récupère le nombre de sous-types du service.

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
Renvoie
Nombre de sous-types de aService.

otSrpServerServiceGetPort

uint16_t otSrpServerServiceGetPort(
  const otSrpServerService *aService
)

Renvoie le port de l'instance de service.

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
Renvoie
Port du service.

otSrpServerServiceGetPriority

uint16_t otSrpServerServiceGetPriority(
  const otSrpServerService *aService
)

Renvoie la priorité de l'instance de service.

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
Renvoie
Priorité du service.

otSrpServerServiceGetServiceName

const char * otSrpServerServiceGetServiceName(
  const otSrpServerService *aService
)

Renvoie le nom complet du service.

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
Renvoie
Pointeur vers la chaîne du nom du service clôturée par une valeur nulle.

otSrpServerServiceGetSubTypeServiceNameAt

const char * otSrpServerServiceGetSubTypeServiceNameAt(
  const otSrpServerService *aService,
  uint16_t aIndex
)

Récupère le nom de service du sous-type (nom complet) du service dans un index donné.

Le nom complet d'un sous-type de service suit "._sub...".

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
[in] aIndex
Index à obtenir.
Renvoie
Pointeur vers le nom de service du sous-type sur aIndex ou NULL si aucun sous-type n'existe dans cet index.

otSrpServerServiceGetTtl

uint32_t otSrpServerServiceGetTtl(
  const otSrpServerService *aService
)

Renvoie la valeur TTL de l'instance de service.

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
Renvoie
Valeur TTL de l'instance de service...

otSrpServerServiceGetTxtData

const uint8_t * otSrpServerServiceGetTxtData(
  const otSrpServerService *aService,
  uint16_t *aDataLength
)

Renvoie les données d'enregistrement TXT de l'instance de service.

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
[out] aDataLength
Pointeur permettant de renvoyer la longueur des données de l'enregistrement TXT. NE DOIT PAS être NULL.
Renvoie
Pointeur vers le tampon contenant les données d'enregistrement TXT (la longueur des données TXT est renvoyée dans aDataLength).

otSrpServerServiceGetWeight

uint16_t otSrpServerServiceGetWeight(
  const otSrpServerService *aService
)

Renvoie la pondération de l'instance de service.

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
Renvoie
Pondération du service.

otSrpServerServiceHasSubTypeServiceName

bool otSrpServerServiceHasSubTypeServiceName(
  const otSrpServerService *aService,
  const char *aSubTypeServiceName
)

Indique si le service possède un sous-type donné.

Les correspondances de noms DNS sont effectuées à l'aide d'une comparaison de chaînes non sensibles à la casse (par exemple, "Abc" et "aBc" sont considérés comme identiques).

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
[in] aSubTypeServiceName
Nom du sous-type du service (nom complet) à vérifier.
Valeurs de retour
TRUE
Le service contient le sous-type aSubTypeServiceName.
FALSE
Le service ne contient pas le sous-type aSubTypeServiceName.

otSrpServerServiceIsDeleted

bool otSrpServerServiceIsDeleted(
  const otSrpServerService *aService
)

Indique si le service SRP a été supprimé ou non.

Un service SRP peut être supprimé, mais conserve son nom pour une utilisation ultérieure. Dans ce cas, l'instance de service n'est pas supprimée du serveur/registre SRP. La suppression de tous les services est garantie si l'hôte est supprimé.

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
Renvoie
TRUE si le service a été supprimé, FALSE dans le cas contraire.

otSrpServerServiceMatchesInstanceName

bool otSrpServerServiceMatchesInstanceName(
  const otSrpServerService *aService,
  const char *aInstanceName
)

Indique si ce service correspond à un nom d'instance de service donné.

Les correspondances de noms DNS sont effectuées à l'aide d'une comparaison de chaînes non sensibles à la casse (par exemple, "Abc" et "aBc" sont considérés comme identiques).

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
[in] aInstanceName
Nom de l'instance de service.
Valeurs de retour
TRUE
Si "service" correspond au nom de l'instance de service.
FALSE
Si le service ne correspond pas au nom de l'instance de service.

otSrpServerServiceMatchesServiceName

bool otSrpServerServiceMatchesServiceName(
  const otSrpServerService *aService,
  const char *aServiceName
)

Indique si ce service correspond à un nom de service donné.

Les correspondances de noms DNS sont effectuées à l'aide d'une comparaison de chaînes non sensibles à la casse (par exemple, "Abc" et "aBc" sont considérés comme identiques).

Détails
Paramètres
[in] aService
Pointeur vers le service SRP.
[in] aServiceName
Nom du service.
Valeurs de retour
TRUE
Si le service correspond au nom du service.
FALSE
Si le service ne correspond pas au nom du service.

otSrpServerSetAddressMode

otError otSrpServerSetAddressMode(
  otInstance *aInstance,
  otSrpServerAddressMode aMode
)

Définit le mode d'adresse que le serveur SRP doit utiliser.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aMode
Mode d'adresse à utiliser.
Valeurs de retour
OT_ERROR_NONE
Le mode d'adresse a bien été défini.
OT_ERROR_INVALID_STATE
Le serveur SRP est activé et le mode d'adresse ne peut pas être modifié.

otSrpServerSetAnycastModeSequenceNumber

otError otSrpServerSetAnycastModeSequenceNumber(
  otInstance *aInstance,
  uint8_t aSequenceNumber
)

Définit le numéro de séquence utilisé avec le mode d'adresse Anycast.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aSequenceNumber
Numéro de séquence à utiliser.
Valeurs de retour
OT_ERROR_NONE
Le mode d'adresse a bien été défini.
OT_ERROR_INVALID_STATE
Le serveur SRP est activé et le numéro de séquence ne peut pas être modifié.

otSrpServerSetAutoEnableMode

void otSrpServerSetAutoEnableMode(
  otInstance *aInstance,
  bool aEnabled
)

Active/désactive le mode d'activation automatique sur le serveur SRP.

Nécessite la fonctionnalité OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

Lorsque ce mode est activé, le gestionnaire de routage d'acheminement détermine si et quand activer ou désactiver le serveur SRP. Le serveur SRP est activé automatiquement si/quand le routage frontal est lancé, et avec le préfixe et les configurations de routage initiaux (lorsque les préfixes OMR et sur la liaison sont déterminés, annoncés dans un message d'annonce de routeur émis côté infrastructure et publié dans les données réseau Thread). Le serveur SRP est automatiquement désactivé si/quand le BR est arrêté (en cas de panne de l'interface réseau de l'infrastructure ou si le BR est dissocié, par exemple).

Ce mode peut être désactivé via un appel otSrpServerSetAutoEnableMode() avec aEnabled défini sur false, ou si le serveur SRP est explicitement activé ou désactivé par un appel à la fonction otSrpServerSetEnabled(). La désactivation du mode d'activation automatique à l'aide de otSrpServerSetAutoEnableMode(false) ne modifie pas l'état actuel du serveur SRP (par exemple, s'il est activé, il le reste).

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aEnabled
Valeur booléenne permettant d'activer ou de désactiver le mode d'activation automatique.

otSrpServerSetDomain

otError otSrpServerSetDomain(
  otInstance *aInstance,
  const char *aDomain
)

Définit le domaine sur le serveur SRP.

Un point final sera ajouté à aDomain s'il n'est pas déjà présent. Ne doit être appelé qu'avant l'activation du serveur SRP.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aDomain
Domaine à définir. NE DOIT PAS être NULL.
Valeurs de retour
OT_ERROR_NONE
Le domaine a bien été défini sur aDomain.
OT_ERROR_INVALID_STATE
Le serveur SRP est déjà activé et le domaine ne peut pas être modifié.
OT_ERROR_INVALID_ARGS
L'argument aDomain n'est pas un nom de domaine DNS valide.
OT_ERROR_NO_BUFS
Pas de mémoire pour stocker le contenu de aDomain.

otSrpServerSetEnabled

void otSrpServerSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Active/désactive le serveur SRP.

Sur un routeur de bordure, il est recommandé d'utiliser plutôt otSrpServerSetAutoEnableMode().

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aEnabled
Valeur booléenne permettant d'activer ou de désactiver le serveur SRP.

otSrpServerSetLeaseConfig

otError otSrpServerSetLeaseConfig(
  otInstance *aInstance,
  const otSrpServerLeaseConfig *aLeaseConfig
)

Définit les configurations LEASE et KEY-LEASE du serveur SRP.

Lorsqu'une durée de LEASE non nulle est demandée à un client, la valeur accordée est limitée dans la plage [aMinLease, aMaxLease] et une valeur KEY-LEASE non nulle est accordée dans la plage [aMinKeyLease, aMaxKeyLease]. Si vous n'avez pas le LEASE ou le MOINS de CLÉ, la valeur zéro est accordée.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aLeaseConfig
Un pointeur vers une instance otSrpServerLeaseConfig.
Valeurs de retour
OT_ERROR_NONE
Les plages LEASE et KEY-LEASE ont bien été définies.
OT_ERROR_INVALID_ARGS
La plage LEASE ou KEY-LEASE n'est pas valide.

otSrpServerSetServiceUpdateHandler

void otSrpServerSetServiceUpdateHandler(
  otInstance *aInstance,
  otSrpServerServiceUpdateHandler aServiceHandler,
  void *aContext
)

Définit le gestionnaire de mises à jour du service SRP sur le serveur SRP.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aServiceHandler
Pointeur vers un gestionnaire de services. Utilisez la valeur NULL pour supprimer le gestionnaire.
[in] aContext
Pointeur vers des informations de contexte arbitraires. Peut être NULL s'il n'est pas utilisé.

otSrpServerSetTtlConfig

otError otSrpServerSetTtlConfig(
  otInstance *aInstance,
  const otSrpServerTtlConfig *aTtlConfig
)

Définit la configuration TTL du serveur SRP.

La valeur TTL accordée ne sera toujours pas supérieure à l'intervalle de bail maximal configuré via otSrpServerSetLeaseConfig(), quelle que soit la configuration TTL minimale et maximale.

Détails
Paramètres
[in] aInstance
Un pointeur vers une instance OpenThread.
[in] aTtlConfig
Un pointeur vers une instance otSrpServerTtlConfig.
Valeurs de retour
OT_ERROR_NONE
La configuration TTL a bien été définie.
OT_ERROR_INVALID_ARGS
La configuration TTL n'est pas valide.

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.