Paramètres

Ce module inclut l'abstraction de la plate-forme pour le stockage non volatile des paramètres.

Résumé

Énumérations

anonymous enum{
  OT_SETTINGS_KEY_ACTIVE_DATASET = 0x0001,
  OT_SETTINGS_KEY_PENDING_DATASET = 0x0002,
  OT_SETTINGS_KEY_NETWORK_INFO = 0x0003,
  OT_SETTINGS_KEY_PARENT_INFO = 0x0004,
  OT_SETTINGS_KEY_CHILD_INFO = 0x0005,
  OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY = 0x0007,
  OT_SETTINGS_KEY_DAD_INFO = 0x0008,
  OT_SETTINGS_KEY_SRP_ECDSA_KEY = 0x000b,
  OT_SETTINGS_KEY_SRP_CLIENT_INFO = 0x000c,
  OT_SETTINGS_KEY_SRP_SERVER_INFO = 0x000d,
  OT_SETTINGS_KEY_BR_ULA_PREFIX = 0x000f,
  OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES = 0x0010,
  OT_SETTINGS_KEY_BORDER_AGENT_ID = 0x0011
}
enum
Définit les clés des paramètres.

distantes

otPlatSettingsAdd(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
Ajoute une valeur à un paramètre.
otPlatSettingsDeinit(otInstance *aInstance)
void
Effectue toute réinitialisation du sous-système de paramètres, si nécessaire.
otPlatSettingsDelete(otInstance *aInstance, uint16_t aKey, int aIndex)
Supprime un paramètre du magasin de paramètres.
otPlatSettingsGet(otInstance *aInstance, uint16_t aKey, int aIndex, uint8_t *aValue, uint16_t *aValueLength)
Récupère la valeur d'un paramètre.
otPlatSettingsInit(otInstance *aInstance, const uint16_t *aSensitiveKeys, uint16_t aSensitiveKeysLength)
void
Initialise le sous-système de paramètres, si nécessaire.
otPlatSettingsSet(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
Définit ou remplace la valeur d'un paramètre.
otPlatSettingsWipe(otInstance *aInstance)
void
Supprime tous les paramètres du magasin de paramètres.

Énumérations

énumération anonyme

 anonymous enum

Définit les clés des paramètres.

Remarque: Lors de l'ajout d'une clé de paramètres, si les paramètres correspondant à la clé contiennent des informations sensibles concernant la sécurité, le développeur DOIT ajouter la clé au tableau aSensitiveKeys qui est transmis dans otPlatSettingsInit().

Propriétés
OT_SETTINGS_KEY_ACTIVE_DATASET

Ensemble de données opérationnel actif.

OT_SETTINGS_KEY_BORDER_AGENT_ID

ID unique de l'agent/du routeur de bordure

OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES

Préfixes de liaison locaux BR.

OT_SETTINGS_KEY_BR_ULA_PREFIX

Préfixe ULA BR.

OT_SETTINGS_KEY_CHILD_INFO

Informations sur l'enfant.

OT_SETTINGS_KEY_DAD_INFO

Informations de détection d'adresses en double (DAD).

OT_SETTINGS_KEY_NETWORK_INFO

Informations sur le réseau Thread.

OT_SETTINGS_KEY_PARENT_INFO

Informations sur le parent.

OT_SETTINGS_KEY_PENDING_DATASET

Ensemble de données opérationnel en attente.

OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY

SLAAC pour générer un IID sémantiquement opaque.

OT_SETTINGS_KEY_SRP_CLIENT_INFO

Les informations sur le client SRP (adresse du serveur SRP sélectionnée)

OT_SETTINGS_KEY_SRP_ECDSA_KEY

Paire de clés publiques/privées ECDSA du client SRP.

OT_SETTINGS_KEY_SRP_SERVER_INFO

Informations sur le serveur SRP (port UDP).

distantes

otPlatSettingsAdd

otError otPlatSettingsAdd(
  otInstance *aInstance,
  uint16_t aKey,
  const uint8_t *aValue,
  uint16_t aValueLength
)

Ajoute une valeur à un paramètre.

Ajoute la valeur à un paramètre identifié par aKey, sans remplacer les valeurs existantes.

Notez que l'implémentation sous-jacente n'est pas nécessaire pour conserver l'ordre des éléments associés à une clé spécifique. La valeur ajoutée peut être ajoutée à la fin, au début ou même quelque part au milieu. L'ordre des valeurs préexistantes peut également changer.

L'appel réussi de cette fonction peut entraîner la réorganisation des paramètres non liés comportant plusieurs valeurs.

La pile OpenThread garantit d'utiliser la méthode otPlatSettingsAdd() pour un aKey qui était soit précédemment géré par otPlatSettingsAdd() (c'est-à-dire qui contient un ou plusieurs éléments), soit vide et/ou entièrement supprimé (ne contient aucune valeur).

La couche de la plate-forme peut s'appuyer sur cette information et l'utiliser pour optimiser son implémentation.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aKey
Clé associée au paramètre à modifier.
[in] aValue
Pointeur vers l'endroit à partir duquel la nouvelle valeur du paramètre doit être lue. NE DOIT PAS être NULL si aValueLength est différent de zéro.
[in] aValueLength
Longueur des données vers lesquelles pointe aValue. Peut être égal à zéro.
Valeurs de retour
OT_ERROR_NONE
Le paramètre donné a été ajouté ou préparé pour être ajouté.
OT_ERROR_NOT_IMPLEMENTED
Cette fonction n'est pas implémentée sur cette plate-forme.
OT_ERROR_NO_BUFS
Espace insuffisant pour stocker le paramètre donné.

otPlatSettingsDeinit

void otPlatSettingsDeinit(
  otInstance *aInstance
)

Effectue toute réinitialisation du sous-système de paramètres, si nécessaire.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.

otPlatSettingsDelete

otError otPlatSettingsDelete(
  otInstance *aInstance,
  uint16_t aKey,
  int aIndex
)

Supprime un paramètre du magasin de paramètres.

Supprime une valeur spécifique du paramètre identifié par aKey du magasin de paramètres.

Notez que l'implémentation sous-jacente n'est pas nécessaire pour conserver l'ordre des éléments associés à une clé spécifique.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aKey
Clé associée au paramètre demandé.
[in] aIndex
Index de la valeur à supprimer. Si ce paramètre est défini sur -1, toutes les valeurs de ce aKey seront supprimées.
Valeurs de retour
OT_ERROR_NONE
La clé et l'index indiqués ont été trouvés et supprimés.
OT_ERROR_NOT_FOUND
La clé ou l'index indiqués sont introuvables dans le magasin de paramètres.
OT_ERROR_NOT_IMPLEMENTED
Cette fonction n'est pas implémentée sur cette plate-forme.

otPlatSettingsGet

otError otPlatSettingsGet(
  otInstance *aInstance,
  uint16_t aKey,
  int aIndex,
  uint8_t *aValue,
  uint16_t *aValueLength
)

Récupère la valeur d'un paramètre.

Récupère la valeur du paramètre identifié par aKey et écrive-la dans la mémoire vers laquelle pointe l'élément aValue. Il écrit ensuite la longueur au niveau de l'entier indiqué par aValueLength. La valeur initiale de aValueLength correspond au nombre maximal d'octets à écrire dans aValue.

Permet de vérifier l'existence d'une clé sans récupérer la valeur en définissant aValue et aValueLength sur NULL. Vous pouvez également vérifier la longueur du paramètre sans le récupérer en ne définissant qu'aValue sur NULL.

Notez que l'implémentation du stockage sous-jacente n'est pas nécessaire pour conserver l'ordre des paramètres avec plusieurs valeurs. L'ordre de ces valeurs PEUT changer après N'IMPORTE QUEL opération d'écriture sur le magasin.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aKey
Clé associée au paramètre demandé.
[in] aIndex
Index de l'élément spécifique à récupérer.
[out] aValue
Pointeur vers l'emplacement où la valeur du paramètre doit être écrite. Peut être défini sur "NULL" si vous souhaitez seulement tester la présence ou la durée d'un paramètre.
[in,out] aValueLength
Pointeur vers la longueur de la valeur. Lorsqu'il est appelé, ce pointeur doit pointer vers un entier contenant la taille maximale de la valeur pouvant être écrite dans aValue. En retour, la longueur réelle du paramètre est écrite. Il peut être défini sur "NULL" si vous effectuez une vérification de présence.
Valeurs de retour
OT_ERROR_NONE
Le paramètre donné a été trouvé et récupéré.
OT_ERROR_NOT_FOUND
Le paramètre donné est introuvable dans le magasin de paramètres.
OT_ERROR_NOT_IMPLEMENTED
Cette fonction n'est pas implémentée sur cette plate-forme.

otPlatSettingsInit

void otPlatSettingsInit(
  otInstance *aInstance,
  const uint16_t *aSensitiveKeys,
  uint16_t aSensitiveKeysLength
)

Initialise le sous-système de paramètres, si nécessaire.

Définit également les clés sensibles à stocker dans la zone sécurisée.

Notez que la mémoire référencée par aSensitiveKeys NE DOIT pas être libérée avant la destruction de aInstance.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aSensitiveKeys
Pointeur vers un tableau contenant la liste des clés sensibles. Ne peut être NULL que si aSensitiveKeysLength est défini sur 0, ce qui signifie qu'il n'y a pas de clés sensibles.
[in] aSensitiveKeysLength
Nombre d'entrées dans le tableau aSensitiveKeys.

otPlatSettingsSet

otError otPlatSettingsSet(
  otInstance *aInstance,
  uint16_t aKey,
  const uint8_t *aValue,
  uint16_t aValueLength
)

Définit ou remplace la valeur d'un paramètre.

Définit ou remplace la valeur d'un paramètre identifié par aKey.

L'appel réussi de cette fonction peut entraîner la réorganisation des paramètres non liés comportant plusieurs valeurs.

La pile OpenThread garantit d'utiliser la méthode otPlatSettingsSet() pour un aKey qui a été défini précédemment à l'aide de otPlatSettingsSet() (c'est-à-dire qu'il contient une seule valeur), ou qui est vide et/ou entièrement supprimé (ne contient aucune valeur).

La couche de la plate-forme peut s'appuyer sur cette information et l'utiliser pour optimiser son implémentation.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.
[in] aKey
Clé associée au paramètre à modifier.
[in] aValue
Pointeur vers l'endroit à partir duquel la nouvelle valeur du paramètre doit être lue. NE DOIT PAS être NULL si aValueLength est différent de zéro.
[in] aValueLength
Longueur des données vers lesquelles pointe l'élément aValue. Peut être égal à zéro.
Valeurs de retour
OT_ERROR_NONE
Le paramètre donné a été modifié ou préproduit.
OT_ERROR_NOT_IMPLEMENTED
Cette fonction n'est pas implémentée sur cette plate-forme.
OT_ERROR_NO_BUFS
Espace insuffisant pour stocker le paramètre donné.

otPlatSettingsWipe

void otPlatSettingsWipe(
  otInstance *aInstance
)

Supprime tous les paramètres du magasin de paramètres.

Supprime tous les paramètres du magasin de paramètres et rétablit leur configuration d'usine.

Détails
Paramètres
[in] aInstance
Structure de l'instance OpenThread.

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.