設定
這個模組包含用於儲存非揮發性設定的平台抽象化機制。
摘要
列舉 |
|
---|---|
anonymous enum{
|
列舉 用於定義設定鍵。 |
函式 |
|
---|---|
otPlatSettingsAdd(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
|
在設定中新增值。
|
otPlatSettingsDeinit(otInstance *aInstance)
|
void
視需要對設定子系統執行所有取消初始化作業。
|
otPlatSettingsDelete(otInstance *aInstance, uint16_t aKey, int aIndex)
|
從設定商店移除設定。
|
otPlatSettingsGet(otInstance *aInstance, uint16_t aKey, int aIndex, uint8_t *aValue, uint16_t *aValueLength)
|
擷取設定值。
|
otPlatSettingsInit(otInstance *aInstance, const uint16_t *aSensitiveKeys, uint16_t aSensitiveKeysLength)
|
void
視需要對設定子系統執行任何初始化作業。
|
otPlatSettingsSet(otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
|
設定或取代設定的值。
|
otPlatSettingsWipe(otInstance *aInstance)
|
void
從設定商店移除所有設定。
|
列舉
匿名列舉
anonymous enum
用於定義設定鍵。
注意:新增設定金鑰時,如果金鑰的對應設定包含安全性機密資訊,開發人員「必須」將金鑰加入透過 otPlatSettingsInit()
傳遞的陣列 aSensitiveKeys
。
屬性 | |
---|---|
OT_SETTINGS_KEY_ACTIVE_DATASET
|
執行中的作業資料集。 |
OT_SETTINGS_KEY_BORDER_AGENT_ID
|
專屬邊界代理程式/路由器 ID。 |
OT_SETTINGS_KEY_BR_ON_LINK_PREFIXES
|
BR 本地連結前置字元。 |
OT_SETTINGS_KEY_BR_ULA_PREFIX
|
BR ULA 前置字串。 |
OT_SETTINGS_KEY_CHILD_INFO
|
。 |
OT_SETTINGS_KEY_DAD_INFO
|
重複的地址偵測 (DAD) 資訊。 |
OT_SETTINGS_KEY_NETWORK_INFO
|
執行緒網路資訊。 |
OT_SETTINGS_KEY_PARENT_INFO
|
家長資訊。 |
OT_SETTINGS_KEY_PENDING_DATASET
|
待處理的作業資料集。 |
OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY
|
用於產生語意不透明 IID 的 SLAAC 金鑰。 |
OT_SETTINGS_KEY_SRP_CLIENT_INFO
|
SRP 用戶端資訊 (已選取 SRP 伺服器位址)。 |
OT_SETTINGS_KEY_SRP_ECDSA_KEY
|
SRP 用戶端 ECDSA 公開/私密金鑰組。 |
OT_SETTINGS_KEY_SRP_SERVER_INFO
|
SRP 伺服器資訊 (UDP 通訊埠)。 |
函式
otPlatSettingsAdd
otError otPlatSettingsAdd( otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength )
在設定中新增值。
將值加到 aKey
識別的設定,但不會替換任何現有值。
請注意,基礎實作不一定能維持與特定鍵關聯的項目順序。您可以在結尾、開頭,甚至是中間的位置加入附加價值。任何現有值的順序也可能會改變。
成功呼叫此函式可能會導致系統重新排序包含多個值的不相關設定。
OpenThread 堆疊保證會針對先前由 otPlatSettingsAdd()
管理的 aKey
(即含有一或多個項目) 或空白和/或完全刪除 (不含任何值) 的 aKey
使用 otPlatSettingsAdd()
方法。
平台層可以運用這項結果來改善實作方式。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
otPlatSettingsDeinit
void otPlatSettingsDeinit( otInstance *aInstance )
視需要對設定子系統執行所有取消初始化作業。
詳細說明 | |||
---|---|---|---|
參數 |
|
otPlatSettingsDelete
otError otPlatSettingsDelete( otInstance *aInstance, uint16_t aKey, int aIndex )
從設定商店移除設定。
從設定儲存庫中,刪除由 Key 識別的設定值。
請注意,基礎實作不一定能維持與特定鍵關聯的項目順序。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
otPlatSettingsGet
otError otPlatSettingsGet( otInstance *aInstance, uint16_t aKey, int aIndex, uint8_t *aValue, uint16_t *aValueLength )
擷取設定值。
擷取 aKey
識別的設定值,並將其寫入 aValue 指向的記憶體。接著,將長度寫入 aValueLength
指向的整數。aValueLength
的初始值是寫入 aValue
的位元組上限。
只要將 aValue
和 aValueLength
設為 NULL,就能在不擷取值的情況下檢查鍵是否存在。您也可以在不擷取設定的情況下,將 aValue 設為 NULL,藉此檢查設定的長度。
請注意,實作儲存體時並不需要基礎儲存體,來維持具有多個值的設定順序。在儲存 ANY 寫入作業後,這些值的順序可能會變更。
詳細說明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回值 |
|
otPlatSettingsInit
void otPlatSettingsInit( otInstance *aInstance, const uint16_t *aSensitiveKeys, uint16_t aSensitiveKeysLength )
視需要對設定子系統執行任何初始化作業。
並將應儲存在安全區域的機密金鑰設為安全範圍。
請注意,aSensitiveKeys
指向的記憶體在刪除 aInstance
之前就不得釋放。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
otPlatSettingsSet
otError otPlatSettingsSet( otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength )
設定或取代設定的值。
設定或取代由 aKey
識別的設定值。
成功呼叫此函式可能會導致系統重新排序包含多個值的不相關設定。
OpenThread 堆疊保證會針對先前使用 otPlatSettingsSet()
設定的 aKey
(即包含單一值),或空白和/或完全刪除 (不含任何值) 的 aKey
使用 otPlatSettingsSet()
方法。
平台層可以運用這項結果來改善實作方式。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
otPlatSettingsWipe
void otPlatSettingsWipe( otInstance *aInstance )
從設定商店移除所有設定。
刪除設定存放區中的所有設定,恢復原廠設定。
詳細說明 | |||
---|---|---|---|
參數 |
|
資源
OpenThread API 參考資料主題源自原始碼,請前往 GitHub 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源。