設定
這個模組包含非揮發性儲存空間設定的平台抽象層。
摘要
列舉 |
|
---|---|
anonymous enum{
|
列舉 這個列舉項目定義了設定鍵。 |
Functions |
|
---|---|
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_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 通訊埠)。 |
Functions
otPlatSettings 新增
otError otPlatSettingsAdd( otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength )
為設定新增值。
這個函式會將值新增至 aKey
識別的設定,但不會取代任何現有的值。
請注意,基礎實作並不需要維護特定鍵關聯項目的順序。附加值可新增至結尾、開頭或中間位置的任何部分。任何現有值的順序也可能會變更。
成功呼叫這個函式可能會導致重新排序多個值的設定重新排序。
OpenThread 堆疊保證將 otPlatSettingsAdd()
方法用於先前由 otPlatSettingsAdd()
(即包含一或多個項目) 管理的 aKey
方法、或空白和/或完全刪除 (不含任何值)。
平台層可以仰賴這個事實來最佳化實作。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
otPlatSettingsDeinit
void otPlatSettingsDeinit( otInstance *aInstance )
視需要對設定子系統執行任何初始化作業。
詳細說明 | |||
---|---|---|---|
參數 |
|
otPlatSettingsDelete
otError otPlatSettingsDelete( otInstance *aInstance, uint16_t aKey, int aIndex )
從設定商店中移除設定。
這個函式會從設定存放區刪除 aKey 指定設定中的特定值。
請注意,基礎實作並不需要維護特定鍵關聯項目的順序。
詳細說明 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
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 即可檢查。
請注意,如果實作包含多個值的設定,則不需要基礎基礎儲存空間的實作。對商店進行任何寫入作業之後,這類值的順序可能會改變。
詳細說明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回值 |
|
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 堆疊保證會使用 aKey
方法的 otPlatSettingsSet()
方法 (如果原先使用 otPlatSettingsSet()
設定,包含單一值) 或為空白且/或完全刪除 (不含任何值)。
平台層可以仰賴這個事實來最佳化實作。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
otPlatSettingsWipe
void otPlatSettingsWipe( otInstance *aInstance )
從設定存放區中移除所有設定。
這項函式會從設定存放區刪除所有設定,並重設為初始工廠狀態。
詳細說明 | |||
---|---|---|---|
參數 |
|
資源
OpenThread API 參考資料主題出自原始碼,可於 GitHub 取得。如需更多資訊,或想參閱我們的說明文件,請參閱資源。