设置
此模块包含用于非易失性存储设置的平台抽象。
摘要
枚举 |
|
---|---|
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
使用 otPlatSettingsAdd()
方法。
平台层可以依赖并利用这一点来优化其实现。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
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 )
根据需要对设置子系统执行初始化。
还会设置应存储在安全区域的敏感密钥。
请注意,在销毁 aInstance
之前,不得释放 aSensitiveKeys
所指向的内存。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
otPlatSettingsSet
otError otPlatSettingsSet( otInstance *aInstance, uint16_t aKey, const uint8_t *aValue, uint16_t aValueLength )
设置或替换设置的值。
设置或替换由 aKey
标识的设置的值。
成功调用此函数可能会导致具有多个值的不相关设置重新排序。
OpenThread 堆栈保证将 otPlatSettingsSet()
方法用于之前使用 otPlatSettingsSet()
设置(即包含单个值)或为空且/或已完全删除(不包含任何值)的 aKey
。
平台层可以依赖并利用这一点来优化其实现。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
otPlatSettingsWipe
void otPlatSettingsWipe( otInstance *aInstance )
从设置存储区中移除所有设置。
从设置存储区中删除所有设置,并将其重置为初始出厂状态。
具体说明 | |||
---|---|---|---|
参数 |
|
资源
OpenThread API 参考文档源自 GitHub 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源。