设置
此模块包含设置的非易失性存储平台抽象。
摘要
枚举 |
|
---|---|
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
此枚举定义了设置的键。
注意:在添加新的设置密钥时,如果与该密钥对应的设置包含安全敏感信息,开发者必须将该密钥添加到 kSensitiveKeys
数组中。
属性 | |
---|---|
OT_SETTINGS_KEY_ACTIVE_DATASET
|
活跃的操作数据集。 |
OT_SETTINGS_KEY_BR_ULA_PREFIX
|
BR ULA 前缀。 |
OT_SETTINGS_KEY_CHILD_INFO
|
子级信息。 |
OT_SETTINGS_KEY_DAD_INFO
|
地址检测 (DAD) 信息重复。 |
OT_SETTINGS_KEY_LEGACY_NAT64_PREFIX
|
保留。旧 NAT64 前缀。 |
OT_SETTINGS_KEY_LEGACY_OMR_PREFIX
|
保留。旧版网状可路由 (OMR) 前缀。 |
OT_SETTINGS_KEY_NETWORK_INFO
|
线程网络信息。 |
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
|
生成语义不透明 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 标识的设置中,而不会替换任何现有值。
请注意,底层实现无需维护与特定键相关联的项的顺序。添加的值可能会添加到末尾、开头,甚至是中间位置。任何预先存在的值的顺序也可能会发生变化。
成功调用此函数可能会导致对多个值不相关的设置进行重新排序。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
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 标识的设置的值。如果之前有多个与 aKey 关联的值,则所有值都将被删除并替换为这一个条目。
成功调用此函数可能会导致对多个值不相关的设置进行重新排序。
详情 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
otPlatSettingsWipe
void otPlatSettingsWipe( otInstance *aInstance )
从设置存储区中移除所有设置。
此函数会从设置存储区中删除所有设置,并将其重置为初始出厂状态。
详情 | |||
---|---|---|---|
参数 |
|
资源
OpenThread API 参考主题源自源代码,可在 GitHub 上找到。 如需了解详情或为我们的文档做贡献,请参阅资源。