运营数据集
包含用于 Operational Dataset API 的函数。
摘要
仅适用于 FTD build,数据集更新程序包含用于管理数据集更新的函数。
对于 FTD 和 MTD build,Operational Dataset API 包含用于管理活跃和待处理数据集及数据集 TLV 的函数。
类型定义符 |
|
---|---|
otChannelMask
|
typedefuint32_t
表示频道掩码。 |
otDatasetMgmtSetCallback)(otError aResult, void *aContext)
|
typedefvoid(*
当收到对 MGMT_SET 请求的响应或超时时,系统会调用指针。 |
otDatasetUpdaterCallback)(otError aError, void *aContext)
|
typedefvoid(*
当数据集更新请求完成时,系统会调用此回调函数指针,报告数据集更新请求的成功或失败状态。 |
otExtendedPanId
|
typedefstruct otExtendedPanId
表示扩展的 PAN ID。 |
otMeshLocalPrefix
|
typedef 表示网格本地前缀。 |
otMeshcopTlvType
|
typedefenum otMeshcopTlvType
表示 Meshcop TLV 类型。 |
otNetworkKey
|
typedefstruct otNetworkKey
表示线程网络键。 |
otNetworkKeyRef
|
typedef 此数据类型表示对 NetworkKey 的 KeyRef。 |
otNetworkName
|
typedefstruct otNetworkName
表示网络名称。 |
otOperationalDataset
|
typedefstruct otOperationalDataset
表示有效或待处理的运营数据集。 |
otOperationalDatasetComponents
|
typedef 表示活跃或待处理运营数据集中是否存在不同的组件。 |
otOperationalDatasetTlvs
|
typedefstruct otOperationalDatasetTlvs
表示有效或待处理的运营数据集。 |
otPskc
|
typedefstruct otPskc
表示 PSKc。 |
otPskcRef
|
typedef 此数据类型表示对 PSKc 的 KeyRef。 |
otSecurityPolicy
|
typedefstruct otSecurityPolicy
代表安全政策。 |
otTimestamp
|
typedefstruct otTimestamp
表示线程数据集时间戳组件。 |
变量 |
|
---|---|
OT_TOOL_PACKED_END
|
OT_TOOL_PACKED_BEGIN struct otNetworkKey
|
函数 |
|
---|---|
otDatasetConvertToTlvs(const otOperationalDataset *aDataset, otOperationalDatasetTlvs *aDatasetTlvs)
|
将指定的操作数据集转换为
otOperationalDatasetTlvs 。 |
otDatasetCreateNewNetwork(otInstance *aInstance, otOperationalDataset *aDataset)
|
创建在构建新网络时使用的新运营数据集(仅限 FTD)。
|
otDatasetGeneratePskc(const char *aPassPhrase, const otNetworkName *aNetworkName, const otExtendedPanId *aExtPanId, otPskc *aPskc)
|
根据给定的密码、网络名称和扩展 PAN ID 生成 PSKc。
|
otDatasetGetActive(otInstance *aInstance, otOperationalDataset *aDataset)
|
获取活跃操作数据集。
|
otDatasetGetActiveTlvs(otInstance *aInstance, otOperationalDatasetTlvs *aDataset)
|
获取活跃操作数据集。
|
otDatasetGetDelayTimerMinimal(otInstance *aInstance)
|
uint32_t
仅适用于 FTD,获取最小延迟计时器。
|
otDatasetGetPending(otInstance *aInstance, otOperationalDataset *aDataset)
|
获取待处理的操作数据集。
|
otDatasetGetPendingTlvs(otInstance *aInstance, otOperationalDatasetTlvs *aDataset)
|
获取待处理的操作数据集。
|
otDatasetIsCommissioned(otInstance *aInstance)
|
bool
指示有效运营数据集中是否存在有效网络。
|
otDatasetParseTlvs(const otOperationalDatasetTlvs *aDatasetTlvs, otOperationalDataset *aDataset)
|
解析给定
otOperationalDatasetTlvs 中的操作数据集。 |
otDatasetSendMgmtActiveGet(otInstance *aInstance, const otOperationalDatasetComponents *aDatasetComponents, const uint8_t *aTlvTypes, uint8_t aLength, const otIp6Address *aAddress)
|
发送 MGMT_ACTIVE_GET。
|
otDatasetSendMgmtActiveSet(otInstance *aInstance, const otOperationalDataset *aDataset, const uint8_t *aTlvs, uint8_t aLength, otDatasetMgmtSetCallback aCallback, void *aContext)
|
发送 MGMT_ACTIVE_SET。
|
otDatasetSendMgmtPendingGet(otInstance *aInstance, const otOperationalDatasetComponents *aDatasetComponents, const uint8_t *aTlvTypes, uint8_t aLength, const otIp6Address *aAddress)
|
发送 MGMT_PENDING_GET。
|
otDatasetSendMgmtPendingSet(otInstance *aInstance, const otOperationalDataset *aDataset, const uint8_t *aTlvs, uint8_t aLength, otDatasetMgmtSetCallback aCallback, void *aContext)
|
发送 MGMT_PENDING_SET。
|
otDatasetSetActive(otInstance *aInstance, const otOperationalDataset *aDataset)
|
设置活跃操作数据集。
|
otDatasetSetActiveTlvs(otInstance *aInstance, const otOperationalDatasetTlvs *aDataset)
|
设置活跃操作数据集。
|
otDatasetSetDelayTimerMinimal(otInstance *aInstance, uint32_t aDelayTimerMinimal)
|
仅适用于 FTD,设置最小延迟计时器。
|
otDatasetSetPending(otInstance *aInstance, const otOperationalDataset *aDataset)
|
设置待处理操作数据集。
|
otDatasetSetPendingTlvs(otInstance *aInstance, const otOperationalDatasetTlvs *aDataset)
|
设置待处理操作数据集。
|
otDatasetUpdateTlvs(const otOperationalDataset *aDataset, otOperationalDatasetTlvs *aDatasetTlvs)
|
更新给定的操作数据集。
|
otDatasetUpdaterCancelUpdate(otInstance *aInstance)
|
void
取消正在进行的(如有)操作数据集更新请求。
|
otDatasetUpdaterIsUpdateOngoing(otInstance *aInstance)
|
bool
指明是否有正在进行的操作数据集更新请求。
|
otDatasetUpdaterRequestUpdate(otInstance *aInstance, const otOperationalDataset *aDataset, otDatasetUpdaterCallback aCallback, void *aContext)
|
请求更新操作数据集。
|
otNetworkNameFromString(otNetworkName *aNetworkName, const char *aNameString)
|
根据指定的以 null 终止的 C 字符串设置
otNetworkName 实例。 |
结构体 |
|
---|---|
otExtendedPanId |
表示扩展的 PAN ID。 |
otNetworkKey |
表示线程网络键。 |
otNetworkNameotNetworkName |
表示网络名称。 |
otOperationalDataset |
表示有效或待处理的运营数据集。 |
otOperationalDatasetComponents |
表示活跃或待处理运营数据集中是否存在不同的组件。 |
otOperationalDatasetTlvs |
表示有效或待处理的运营数据集。 |
otPskc |
表示 PSKc。 |
otSecurityPolicy |
代表安全政策。 |
otTimestamp |
表示线程数据集时间戳组件。 |
枚举
otMeshcopTlvType
otMeshcopTlvType
表示 Meshcop TLV 类型。
类型定义符
otChannelMask
uint32_t otChannelMask
表示频道掩码。
otDatasetMgmtSetCallback
void(* otDatasetMgmtSetCallback)(otError aResult, void *aContext)
当收到对 MGMT_SET 请求的响应或超时时,系统会调用指针。
具体说明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
|
otDatasetUpdaterCallback
void(* otDatasetUpdaterCallback)(otError aError, void *aContext)
当数据集更新请求完成时,系统会调用此回调函数指针,报告数据集更新请求的成功或失败状态。
启用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE
后可用。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otNetworkName
struct otNetworkName otNetworkName
表示网络名称。
otNetworkName
是以 null 结尾的 C 字符串(即m8
个字符数组必须以 null 字符 \0
结尾。
otOperationalDataset
struct otOperationalDataset otOperationalDataset
表示有效或待处理的运营数据集。
数据集中的组件是可选的。mComponents
结构指定数据集中显示的组件。
otOperationalDatasetComponents
struct otOperationalDatasetComponents otOperationalDatasetComponents
表示活跃或待处理运营数据集中是否存在不同的组件。
otOperationalDatasetTlvs
struct otOperationalDatasetTlvs otOperationalDatasetTlvs
表示有效或待处理的运营数据集。
操作数据集按 Thread 指定的方式进行 TLV 编码。
变量
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otNetworkKey OT_TOOL_PACKED_END
函数
otDatasetConvertToTlvs
otError otDatasetConvertToTlvs( const otOperationalDataset *aDataset, otOperationalDatasetTlvs *aDatasetTlvs )
将指定的操作数据集转换为 otOperationalDatasetTlvs
。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otDatasetCreateNewNetwork
otError otDatasetCreateNewNetwork( otInstance *aInstance, otOperationalDataset *aDataset )
创建在构建新网络时使用的新运营数据集(仅限 FTD)。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otDatasetGeneratePskc
otError otDatasetGeneratePskc( const char *aPassPhrase, const otNetworkName *aNetworkName, const otExtendedPanId *aExtPanId, otPskc *aPskc )
根据给定的密码、网络名称和扩展 PAN ID 生成 PSKc。
PSKc 用于建立委员会会话。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
otDatasetGetActive
otError otDatasetGetActive( otInstance *aInstance, otOperationalDataset *aDataset )
获取活跃操作数据集。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otDatasetGetActiveTlvs
otError otDatasetGetActiveTlvs( otInstance *aInstance, otOperationalDatasetTlvs *aDataset )
获取活跃操作数据集。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otDatasetGetDelayTimerMinimal
uint32_t otDatasetGetDelayTimerMinimal( otInstance *aInstance )
仅适用于 FTD,获取最小延迟计时器。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
|
otDatasetGetPending
otError otDatasetGetPending( otInstance *aInstance, otOperationalDataset *aDataset )
获取待处理的操作数据集。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otDatasetGetPendingTlvs
otError otDatasetGetPendingTlvs( otInstance *aInstance, otOperationalDatasetTlvs *aDataset )
获取待处理的操作数据集。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otDatasetIsCommissioned
bool otDatasetIsCommissioned( otInstance *aInstance )
指示有效运营数据集中是否存在有效网络。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果有效运营数据集中存在有效网络,则为 TRUE,否则为 FALSE。
|
otDatasetParseTlvs
otError otDatasetParseTlvs( const otOperationalDatasetTlvs *aDatasetTlvs, otOperationalDataset *aDataset )
解析给定 otOperationalDatasetTlvs
中的操作数据集。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otDatasetSendMgmtActiveGet
otError otDatasetSendMgmtActiveGet( otInstance *aInstance, const otOperationalDatasetComponents *aDatasetComponents, const uint8_t *aTlvTypes, uint8_t aLength, const otIp6Address *aAddress )
发送 MGMT_ACTIVE_GET。
具体说明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
|
otDatasetSendMgmtActiveSet
otError otDatasetSendMgmtActiveSet( otInstance *aInstance, const otOperationalDataset *aDataset, const uint8_t *aTlvs, uint8_t aLength, otDatasetMgmtSetCallback aCallback, void *aContext )
发送 MGMT_ACTIVE_SET。
具体说明 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
|
otDatasetSendMgmtPendingGet
otError otDatasetSendMgmtPendingGet( otInstance *aInstance, const otOperationalDatasetComponents *aDatasetComponents, const uint8_t *aTlvTypes, uint8_t aLength, const otIp6Address *aAddress )
发送 MGMT_PENDING_GET。
具体说明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
|
otDatasetSendMgmtPendingSet
otError otDatasetSendMgmtPendingSet( otInstance *aInstance, const otOperationalDataset *aDataset, const uint8_t *aTlvs, uint8_t aLength, otDatasetMgmtSetCallback aCallback, void *aContext )
发送 MGMT_PENDING_SET。
具体说明 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
|
otDatasetSetActive
otError otDatasetSetActive( otInstance *aInstance, const otOperationalDataset *aDataset )
设置活跃操作数据集。
如果数据集不包含活跃时间戳,则表示数据集仅部分完成。
如果在具有部分完整有效数据集的设备上启用 Thread,则设备将尝试使用数据集中的任何现有信息连接到现有 Thread 网络。只需使用 Thread 网络密钥即可连接到网络。
如果数据集中不包含该通道,则设备将跨不同通道发送 MLE Announce 消息,以查找其他通道上的相邻通道。
如果设备成功连接到 Thread 网络,则会从其父级检索完整的活跃数据集。请注意,支持路由器的设备在具有完整的活跃数据集之前,不会转换为 Router 或 Leader 角色。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otDatasetSetActiveTlvs
otError otDatasetSetActiveTlvs( otInstance *aInstance, const otOperationalDatasetTlvs *aDataset )
设置活跃操作数据集。
如果数据集不包含活跃时间戳,则表示数据集仅部分完成。
如果在具有部分完整有效数据集的设备上启用 Thread,则设备将尝试使用数据集中的任何现有信息连接到现有 Thread 网络。只需使用 Thread 网络密钥即可连接到网络。
如果数据集中不包含该通道,则设备将跨不同通道发送 MLE Announce 消息,以查找其他通道上的相邻通道。
如果设备成功连接到 Thread 网络,则会从其父级检索完整的活跃数据集。请注意,支持路由器的设备在具有完整的活跃数据集之前,不会转换为 Router 或 Leader 角色。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otDatasetSetDelayTimerMinimal
otError otDatasetSetDelayTimerMinimal( otInstance *aInstance, uint32_t aDelayTimerMinimal )
仅适用于 FTD,设置最小延迟计时器。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otDatasetSetPending
otError otDatasetSetPending( otInstance *aInstance, const otOperationalDataset *aDataset )
设置待处理操作数据集。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otDatasetSetPendingTlvs
otError otDatasetSetPendingTlvs( otInstance *aInstance, const otOperationalDatasetTlvs *aDataset )
设置待处理操作数据集。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otDatasetUpdateTlvs
otError otDatasetUpdateTlvs( const otOperationalDataset *aDataset, otOperationalDatasetTlvs *aDatasetTlvs )
更新给定的操作数据集。
aDataset
包含要更新的字段及其新值。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otDatasetUpdaterCancelUpdate
void otDatasetUpdaterCancelUpdate( otInstance *aInstance )
取消正在进行的(如有)操作数据集更新请求。
启用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE
后可用。
具体说明 | |||
---|---|---|---|
参数 |
|
otDatasetUpdaterIsUpdateOngoing
bool otDatasetUpdaterIsUpdateOngoing( otInstance *aInstance )
指明是否有正在进行的操作数据集更新请求。
启用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE
后可用。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otDatasetUpdaterRequestUpdate
otError otDatasetUpdaterRequestUpdate( otInstance *aInstance, const otOperationalDataset *aDataset, otDatasetUpdaterCallback aCallback, void *aContext )
请求更新操作数据集。
启用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE
后可用。
aDataset
应包含要更新的字段及其新值。此字段不得包含“有效”或“待处理时间戳”字段。Delay 字段是可选字段;如果未提供该字段,则会使用默认值(1000 毫秒)。
具体说明 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||
返回值 |
|
otNetworkNameFromString
otError otNetworkNameFromString( otNetworkName *aNetworkName, const char *aNameString )
根据指定的以 null 终止的 C 字符串设置 otNetworkName
实例。
aNameString
必须遵循 UTF-8 编码,并且网络名称的长度不得超过 OT_NETWORK_NAME_MAX_SIZE
。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
宏
OT_CHANNEL_10_MASK
OT_CHANNEL_10_MASK (1 << 10)
渠道 10。
OT_CHANNEL_11_MASK
OT_CHANNEL_11_MASK (1 << 11)
频道 11。
OT_CHANNEL_12_MASK
OT_CHANNEL_12_MASK (1 << 12)
频道 12。
OT_CHANNEL_13_MASK
OT_CHANNEL_13_MASK (1 << 13)
频道 13。
OT_CHANNEL_14_MASK
OT_CHANNEL_14_MASK (1 << 14)
频道 14。
OT_CHANNEL_15_MASK
OT_CHANNEL_15_MASK (1 << 15)
频道 15。
OT_CHANNEL_16_MASK
OT_CHANNEL_16_MASK (1 << 16)
频道 16。
OT_CHANNEL_17_MASK
OT_CHANNEL_17_MASK (1 << 17)
频道 17。
OT_CHANNEL_18_MASK
OT_CHANNEL_18_MASK (1 << 18)
频道 18。
OT_CHANNEL_19_MASK
OT_CHANNEL_19_MASK (1 << 19)
频道 19。
OT_CHANNEL_1_MASK
OT_CHANNEL_1_MASK (1 << 1)
渠道 1.
OT_CHANNEL_20_MASK
OT_CHANNEL_20_MASK (1 << 20)
频道 20。
OT_CHANNEL_21_MASK
OT_CHANNEL_21_MASK (1 << 21)
频道 21。
OT_CHANNEL_22_MASK
OT_CHANNEL_22_MASK (1 << 22)
频道 22。
OT_CHANNEL_23_MASK
OT_CHANNEL_23_MASK (1 << 23)
频道 23。
OT_CHANNEL_24_MASK
OT_CHANNEL_24_MASK (1 << 24)
频道 24。
OT_CHANNEL_25_MASK
OT_CHANNEL_25_MASK (1 << 25)
频道 25。
OT_CHANNEL_26_MASK
OT_CHANNEL_26_MASK (1 << 26)
频道 26。
OT_CHANNEL_2_MASK
OT_CHANNEL_2_MASK (1 << 2)
渠道 2.
OT_CHANNEL_3_MASK
OT_CHANNEL_3_MASK (1 << 3)
渠道 3.
OT_CHANNEL_4_MASK
OT_CHANNEL_4_MASK (1 << 4)
渠道 4.
OT_CHANNEL_5_MASK
OT_CHANNEL_5_MASK (1 << 5)
渠道 5.
OT_CHANNEL_6_MASK
OT_CHANNEL_6_MASK (1 << 6)
渠道 6.
OT_CHANNEL_7_MASK
OT_CHANNEL_7_MASK (1 << 7)
频道 7.
OT_CHANNEL_8_MASK
OT_CHANNEL_8_MASK (1 << 8)
频道 8。
OT_CHANNEL_9_MASK
OT_CHANNEL_9_MASK (1 << 9)
频道 9。
OT_EXT_PAN_ID_SIZE
OT_EXT_PAN_ID_SIZE 8
线程 PAN ID 大小(字节)
OT_MESH_LOCAL_PREFIX_SIZE
OT_MESH_LOCAL_PREFIX_SIZE OT_IP6_PREFIX_SIZE
网状网本地前缀的大小(字节)
OT_NETWORK_KEY_SIZE
OT_NETWORK_KEY_SIZE 16
线程网络键的大小(字节)
OT_NETWORK_NAME_MAX_SIZE
OT_NETWORK_NAME_MAX_SIZE 16
“Thread Network Name”字段的大小上限(字节)
OT_OPERATIONAL_DATASET_MAX_LENGTH
OT_OPERATIONAL_DATASET_MAX_LENGTH 254
可操作数据集的最大长度(以字节为单位)。
OT_PSKC_MAX_SIZE
OT_PSKC_MAX_SIZE 16
PSKc 的大小上限(字节)
资源
OpenThread API 参考文档源自 GitHub 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源。