Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

設定值

該模塊包括用於非易失性存儲設置的平台抽象。

概括

枚舉

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_RESERVED = 0x0006,
OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY = 0x0007,
OT_SETTINGS_KEY_DAD_INFO = 0x0008,
OT_SETTINGS_KEY_OMR_PREFIX = 0x0009,
OT_SETTINGS_KEY_ON_LINK_PREFIX = 0x000a,
OT_SETTINGS_KEY_SRP_ECDSA_KEY = 0x000b
}
枚舉
該枚舉定義了設置鍵。

功能

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)
void
如有必要,對設置子系統執行任何初始化。
otPlatSettingsSet ( otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength)
設置或替換設置的值。
otPlatSettingsSetCriticalKeys ( otInstance *aInstance, const uint16_t *aKeys, uint16_t aKeysLength)
void
此功能設置應存儲在安全區域中的關鍵密鑰。
otPlatSettingsWipe ( otInstance *aInstance)
void
從設置存儲中刪除所有設置。

枚舉

匿名枚舉

 anonymous enum

該枚舉定義了設置鍵。

注意:添加新的設置密鑰時,如果與密鑰相對應的設置包含安全敏感信息,則開發人員必須將密鑰添加到數組kCriticalKeys

特性
OT_SETTINGS_KEY_ACTIVE_DATASET

活動操作數據集。

OT_SETTINGS_KEY_CHILD_INFO

兒童信息。

OT_SETTINGS_KEY_DAD_INFO

重複地址檢測(DAD)信息。

OT_SETTINGS_KEY_NETWORK_INFO

線程網絡信息。

OT_SETTINGS_KEY_OMR_PREFIX

離網可路由(OMR)前綴。

OT_SETTINGS_KEY_ON_LINK_PREFIX

基礎結構鏈接的鏈接前前綴。

OT_SETTINGS_KEY_PARENT_INFO

家長信息。

OT_SETTINGS_KEY_PENDING_DATASET

待定操作數據集。

OT_SETTINGS_KEY_RESERVED

保留(以前自動啟動)。

OT_SETTINGS_KEY_SLAAC_IID_SECRET_KEY

SLAAC密鑰,用於生成語義上不透明的IID。

OT_SETTINGS_KEY_SRP_ECDSA_KEY

SRP客戶端ECDSA公鑰/私鑰對。

功能

otPlatSettingsAdd

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

向設置添加值。

此功能將值添加到由aKey標識的設置中,而不替換任何現有值。

請注意,不需要底層實現來維護與特定鍵關聯的項的順序。附加值可以添加到結尾,開頭甚至中間的某個位置。任何預先存在的值的順序也可能會更改。

成功調用此函數可能會導致對具有多個值的不相關設置進行重新排序。

細節
參數
[in] aInstance
OpenThread實例結構。
[in] aKey
與要更改的設置關聯的鍵。
[in] aValue
指向應該從中讀取設置新值的指針。如果aValueLength不為零,則不得為NULL。
[in] aValueLength
aValue指向的數據長度。可能為零。
返回值
OT_ERROR_NONE
給定的設置已添加或已分階段添加。
OT_ERROR_NOT_IMPLEMENTED
該功能未在該平台上實現。
OT_ERROR_NO_BUFS
沒有剩餘空間來存儲給定的設置。

otPlatSettingsDeinit

void otPlatSettingsDeinit(
  otInstance *aInstance
)

如有必要,對設置子系統執行任何取消初始化操作。

細節
參數
[in] aInstance
OpenThread實例結構。

otPlatSettingsDelete

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

從設置存儲中刪除設置。

此功能從設置存儲中由aKey標識的設置中刪除特定值。

請注意,不需要底層實現來維護與特定鍵關聯的項的順序。

細節
參數
[in] aInstance
OpenThread實例結構。
[in] aKey
與請求的設置關聯的密鑰。
[in] aIndex
要刪除的值的索引。如果設置為-1,則此aKey的所有值都將被刪除。
返回值
OT_ERROR_NONE
找到並成功刪除了給定的鍵和索引。
OT_ERROR_NOT_FOUND
在設置存儲中找不到給定的鍵或索引。
OT_ERROR_NOT_IMPLEMENTED
該功能未在該平台上實現。

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來檢查設置的長度而無需獲取設置。

請注意,不需要基礎存儲實現即可維護具有多個值的設置順序。在對存儲進行任何寫操作後,此類值的順序可能會更改。

細節
參數
[in] aInstance
OpenThread實例結構。
[in] aKey
與請求的設置關聯的密鑰。
[in] aIndex
要獲取的特定項目的索引。
[out] aValue
指向應該將設置值寫入何處的指針。如果僅測試設置的存在或長度,則可以將其設置為NULL。
[in,out] aValueLength
指向值長度的指針。調用時,此指針應指向一個整數,該整數包含可以寫入aValue的最大值。返回時,將寫入設置的實際長度。如果執行狀態檢查,則可以將其設置為NULL。
返回值
OT_ERROR_NONE
找到並成功獲取給定的設置。
OT_ERROR_NOT_FOUND
在設置存儲中找不到給定的設置。
OT_ERROR_NOT_IMPLEMENTED
該功能未在該平台上實現。

otPlatSettingsInit

void otPlatSettingsInit(
  otInstance *aInstance
)

如有必要,對設置子系統執行任何初始化。

細節
參數
[in] aInstance
OpenThread實例結構。

otPlatSettingsSet

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

設置或替換設置的值。

此功能設置或替換由aKey標識的設置的值。如果先前有多個與aKey關聯的值,則將它們全部刪除並替換為該單個條目。

成功調用此函數可能會導致對具有多個值的不相關設置進行重新排序。

細節
參數
[in] aInstance
OpenThread實例結構。
[in] aKey
與要更改的設置關聯的鍵。
[in] aValue
指向應該從中讀取設置新值的指針。如果aValueLength不為零,則不得為NULL。
[in] aValueLength
aValue指向的數據長度。可能為零。
返回值
OT_ERROR_NONE
給定的設置已更改或上演。
OT_ERROR_NOT_IMPLEMENTED
該功能未在該平台上實現。
OT_ERROR_NO_BUFS
沒有剩餘空間來存儲給定的設置。

otPlatSettingsSetCriticalKeys

void otPlatSettingsSetCriticalKeys(
  otInstance *aInstance,
  const uint16_t *aKeys,
  uint16_t aKeysLength
)

此功能設置應存儲在安全區域中的關鍵密鑰。

請注意,在銷毀aInstance之前,不得釋放由aKeys指向的內存。

細節
參數
[in] aInstance
OpenThread實例結構。
[in] aKeys
指向包含關鍵鍵列表的數組的指針。
[in] aKeysLength
aKeys數組中的條目數。

otPlatSettingsWipe

void otPlatSettingsWipe(
  otInstance *aInstance
)

從設置存儲中刪除所有設置。

此功能從設置存儲中刪除所有設置,並將其重置為初始出廠狀態。

細節
參數
[in] aInstance
OpenThread實例結構。