Impostazioni

Questo modulo include l'astrazione della piattaforma per l'archiviazione permanente delle impostazioni.

Riepilogo

Enumerazioni

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
Definisce le chiavi delle impostazioni.

Funzioni

otPlatSettingsAdd(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
Aggiunge un valore a un'impostazione.
otPlatSettingsDeinit(otInstance *aInstance)
void
Esegue l'eventuale de-inizializzazione per il sottosistema delle impostazioni, se necessario.
otPlatSettingsDelete(otInstance *aInstance, uint16_t aKey, int aIndex)
Rimuove un'impostazione dall'archivio delle impostazioni.
otPlatSettingsGet(otInstance *aInstance, uint16_t aKey, int aIndex, uint8_t *aValue, uint16_t *aValueLength)
Recupera il valore di un'impostazione.
otPlatSettingsInit(otInstance *aInstance, const uint16_t *aSensitiveKeys, uint16_t aSensitiveKeysLength)
void
Esegue qualsiasi inizializzazione per il sottosistema delle impostazioni, se necessario.
otPlatSettingsSet(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
Consente di impostare o sostituire il valore di un'impostazione.
otPlatSettingsWipe(otInstance *aInstance)
void
Rimuove tutte le impostazioni dallo store delle impostazioni.

Enumerazioni

enum anonimo

 anonymous enum

Definisce le chiavi delle impostazioni.

Nota: quando aggiungi una nuova chiave delle impostazioni, se le impostazioni corrispondenti alla chiave contengono informazioni sensibili per la sicurezza, lo sviluppatore DEVE aggiungere la chiave all'array aSensitiveKeys che viene trasmesso in otPlatSettingsInit().

Proprietà
OT_SETTINGS_KEY_ACTIVE_DATASET

Set di dati operativo attivo.

OT_SETTINGS_KEY_BORDER_AGENT_ID

ID agente di confine/router univoco.

OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES

Prefissi locali sul link in Brasile.

OT_SETTINGS_KEY_BR_ULA_PREFIX

Prefisso BR ULA.

OT_SETTINGS_KEY_CHILD_INFO

Informazioni sul bambino/a.

OT_SETTINGS_KEY_DAD_INFO

Informazioni sul rilevamento di indirizzi duplicati (DAD).

OT_SETTINGS_KEY_NETWORK_INFO

Informazioni di rete sui thread.

OT_SETTINGS_KEY_PARENT_INFO

Informazioni sul genitore.

OT_SETTINGS_KEY_PENDING_DATASET

Set di dati operativo in attesa.

OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY

Chiave SLAAC per generare un IID semanticamente opaco.

OT_SETTINGS_KEY_SRP_CLIENT_INFO

Le informazioni sul client SRP (indirizzo del server SRP selezionato).

OT_SETTINGS_KEY_SRP_ECDSA_KEY

Coppia di chiavi pubbliche/private ECDSA client SRP.

OT_SETTINGS_KEY_SRP_SERVER_INFO

Le informazioni sul server SRP (porta UDP).

Funzioni

otPlatSettingsAdd

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

Aggiunge un valore a un'impostazione.

Aggiunge il valore a un'impostazione identificata da aKey, senza sostituire i valori esistenti.

Tieni presente che l'implementazione di base non è necessaria per mantenere l'ordine degli elementi associati a una chiave specifica. Il valore aggiunto può essere aggiunto alla fine, all'inizio o anche in qualche punto centrale. Potrebbe cambiare anche l'ordine dei valori preesistenti.

La chiamata corretta di questa funzione potrebbe causare il riordinamento di impostazioni non correlate con più valori.

Lo stack OpenThread garantisce l'utilizzo del metodo otPlatSettingsAdd() per un aKey precedentemente gestito da otPlatSettingsAdd() (ovvero che contiene uno o più elementi) oppure vuoto e/o completamente eliminato (non contiene valori).

Il livello di piattaforma può affidarsi a questo fatto e utilizzarlo per ottimizzare la sua implementazione.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aKey
La chiave associata all'impostazione da modificare.
[in] aValue
Un puntatore al quale deve essere letto il nuovo valore dell'impostazione. NON DEVE essere NULL se il valore aValueLength è diverso da zero.
[in] aValueLength
La lunghezza dei dati a cui puntano aValue. Può essere zero.
Valori restituiti
OT_ERROR_NONE
L'impostazione specificata è stata aggiunta o configurata in modo temporaneo per essere aggiunta.
OT_ERROR_NOT_IMPLEMENTED
Questa funzione non è implementata su questa piattaforma.
OT_ERROR_NO_BUFS
Spazio esaurito per archiviare l'impostazione specificata.

otPlatSettingsDeinit

void otPlatSettingsDeinit(
  otInstance *aInstance
)

Esegue l'eventuale de-inizializzazione per il sottosistema delle impostazioni, se necessario.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.

otPlatSettingsDelete

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

Rimuove un'impostazione dall'archivio delle impostazioni.

Elimina un valore specifico dall'impostazione identificata da aKey dall'archivio impostazioni.

Tieni presente che l'implementazione di base non è necessaria per mantenere l'ordine degli elementi associati a una chiave specifica.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aKey
La chiave associata all'impostazione richiesta.
[in] aIndex
L'indice del valore da rimuovere. Se il valore è impostato su -1, tutti i valori di aKey verranno rimossi.
Valori restituiti
OT_ERROR_NONE
La chiave e l'indice specificati sono stati trovati e rimossi.
OT_ERROR_NOT_FOUND
Impossibile trovare la chiave o l'indice specificato nell'archivio delle impostazioni.
OT_ERROR_NOT_IMPLEMENTED
Questa funzione non è implementata su questa piattaforma.

otPlatSettingsGet

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

Recupera il valore di un'impostazione.

Recupera il valore dell'impostazione identificata da aKey e lo scrive nella memoria a cui punta aValue. Quindi scrive la lunghezza nel numero intero a cui punta aValueLength. Il valore iniziale di aValueLength corrisponde al numero massimo di byte da scrivere in aValue.

Può essere utilizzato per verificare l'esistenza di una chiave senza recuperare il valore impostando aValue e aValueLength su NULL. Puoi anche verificare la lunghezza dell'impostazione senza recuperarla impostando solo aValue su NULL.

Tieni presente che l'implementazione dello spazio di archiviazione sottostante non è necessaria per mantenere l'ordine delle impostazioni con più valori. L'ordine di tali valori POTREBBE cambiare dopo QUALSIASI operazione di scrittura sullo store.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aKey
La chiave associata all'impostazione richiesta.
[in] aIndex
L'indice dell'elemento specifico da ottenere.
[out] aValue
Un puntatore al punto in cui deve essere scritto il valore dell'impostazione. Può essere impostato su NULL per il solo test della presenza o della durata di un'impostazione.
[in,out] aValueLength
Un puntatore alla lunghezza del valore. Quando viene chiamato, questo puntatore deve puntare a un numero intero contenente la dimensione massima del valore che può essere scritta in aValue. In cambio, viene scritta la lunghezza effettiva dell'impostazione. Potrebbe essere impostato su NULL se esegui un controllo della presenza di persone.
Valori restituiti
OT_ERROR_NONE
L'impostazione specificata è stata trovata e recuperata correttamente.
OT_ERROR_NOT_FOUND
L'impostazione specificata non è stata trovata nell'archivio delle impostazioni.
OT_ERROR_NOT_IMPLEMENTED
Questa funzione non è implementata su questa piattaforma.

otPlatSettingsInit

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

Esegue qualsiasi inizializzazione per il sottosistema delle impostazioni, se necessario.

Consente anche di impostare le chiavi sensibili che devono essere archiviate nell'area protetta.

Tieni presente che la memoria a cui punta aSensitiveKeys DEVE essere rilasciata prima dell'eliminazione di aInstance.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aSensitiveKeys
Un puntatore a un array contenente l'elenco di chiavi sensibili. Può essere NULL solo se aSensitiveKeysLength è 0, il che significa che non sono presenti chiavi sensibili.
[in] aSensitiveKeysLength
Il numero di voci nell'array aSensitiveKeys.

otPlatSettingsSet

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

Consente di impostare o sostituire il valore di un'impostazione.

Consente di impostare o sostituire il valore di un'impostazione identificata da aKey.

La chiamata corretta di questa funzione potrebbe causare il riordinamento di impostazioni non correlate con più valori.

Lo stack OpenThread garantisce l'utilizzo del metodo otPlatSettingsSet() per un valore aKey precedentemente impostato utilizzando otPlatSettingsSet() (che contiene un valore singolo) oppure vuoto e/o completamente eliminato (non contiene alcun valore).

Il livello di piattaforma può affidarsi a questo fatto e utilizzarlo per ottimizzare la sua implementazione.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.
[in] aKey
La chiave associata all'impostazione da modificare.
[in] aValue
Un puntatore al quale deve essere letto il nuovo valore dell'impostazione. NON DEVE essere NULL se il valore aValueLength è diverso da zero.
[in] aValueLength
La lunghezza dei dati a cui punta un valore. Può essere zero.
Valori restituiti
OT_ERROR_NONE
L'impostazione specificata è stata modificata o temporanea.
OT_ERROR_NOT_IMPLEMENTED
Questa funzione non è implementata su questa piattaforma.
OT_ERROR_NO_BUFS
Spazio esaurito per archiviare l'impostazione specificata.

otPlatSettingsWipe

void otPlatSettingsWipe(
  otInstance *aInstance
)

Rimuove tutte le impostazioni dallo store delle impostazioni.

Elimina tutte le impostazioni dallo store delle impostazioni, ripristinando lo stato di fabbrica iniziale del dispositivo.

Dettagli
Parametri
[in] aInstance
La struttura dell'istanza OpenThread.

Risorse

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