Google 致力于为黑人社区推动种族平等。查看具体行动
使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

运营数据集

包含 Operational Dataset API 的函数。

总结

仅限 FTD build,数据集更新程序包含管理数据集更新的函数。

对于 FTD 和 MTD build,Operational Dataset API 包含用于管理活跃和待处理数据集和数据集 TLV 的函数。

枚举

otMeshcopTlvType{
  OT_MESHCOP_TLV_CHANNEL = 0,
  OT_MESHCOP_TLV_PANID = 1,
  OT_MESHCOP_TLV_EXTPANID = 2,
  OT_MESHCOP_TLV_NETWORKNAME = 3,
  OT_MESHCOP_TLV_PSKC = 4,
  OT_MESHCOP_TLV_NETWORKKEY = 5,
  OT_MESHCOP_TLV_NETWORK_KEY_SEQUENCE = 6,
  OT_MESHCOP_TLV_MESHLOCALPREFIX = 7,
  OT_MESHCOP_TLV_STEERING_DATA = 8,
  OT_MESHCOP_TLV_BORDER_AGENT_RLOC = 9,
  OT_MESHCOP_TLV_COMMISSIONER_ID = 10,
  OT_MESHCOP_TLV_COMM_SESSION_ID = 11,
  OT_MESHCOP_TLV_SECURITYPOLICY = 12,
  OT_MESHCOP_TLV_GET = 13,
  OT_MESHCOP_TLV_ACTIVETIMESTAMP = 14,
  OT_MESHCOP_TLV_COMMISSIONER_UDP_PORT = 15,
  OT_MESHCOP_TLV_STATE = 16,
  OT_MESHCOP_TLV_JOINER_DTLS = 17,
  OT_MESHCOP_TLV_JOINER_UDP_PORT = 18,
  OT_MESHCOP_TLV_JOINER_IID = 19,
  OT_MESHCOP_TLV_JOINER_RLOC = 20,
  OT_MESHCOP_TLV_JOINER_ROUTER_KEK = 21,
  OT_MESHCOP_TLV_PROVISIONING_URL = 32,
  OT_MESHCOP_TLV_VENDOR_NAME_TLV = 33,
  OT_MESHCOP_TLV_VENDOR_MODEL_TLV = 34,
  OT_MESHCOP_TLV_VENDOR_SW_VERSION_TLV = 35,
  OT_MESHCOP_TLV_VENDOR_DATA_TLV = 36,
  OT_MESHCOP_TLV_VENDOR_STACK_VERSION_TLV = 37,
  OT_MESHCOP_TLV_UDP_ENCAPSULATION_TLV = 48,
  OT_MESHCOP_TLV_IPV6_ADDRESS_TLV = 49,
  OT_MESHCOP_TLV_PENDINGTIMESTAMP = 51,
  OT_MESHCOP_TLV_DELAYTIMER = 52,
  OT_MESHCOP_TLV_CHANNELMASK = 53,
  OT_MESHCOP_TLV_COUNT = 54,
  OT_MESHCOP_TLV_PERIOD = 55,
  OT_MESHCOP_TLV_SCAN_DURATION = 56,
  OT_MESHCOP_TLV_ENERGY_LIST = 57,
  OT_MESHCOP_TLV_DISCOVERYREQUEST = 128,
  OT_MESHCOP_TLV_DISCOVERYRESPONSE = 129,
  OT_MESHCOP_TLV_JOINERADVERTISEMENT = 241
}
枚举
此枚举表示 Meshcop TLV 类型。

类型定义符

otChannelMask typedef
uint32_t
此类型表示频道掩码。
otDatasetMgmtSetCallback)(otError aResult, void *aContext) typedef
void(*
当收到 MGMT_SET 请求的响应或超时时,系统会调用此函数指针。
otDatasetUpdaterCallback)(otError aError, void *aContext) typedef
void(*
当数据集更新请求完成时,系统将调用此回调函数指针,报告数据集更新请求的成功或失败状态。
otExtendedPanId typedef
此结构表示扩展 PAN ID。
otMeshLocalPrefix typedef
此结构表示网格本地前缀。
otMeshcopTlvType typedef
此枚举表示 Meshcop TLV 类型。
otNetworkKey typedef
struct otNetworkKey
此结构表示线程网络密钥。
otNetworkKeyRef typedef
此数据类型表示对 NetworkKey 的 KeyRef。
otNetworkName typedef
struct otNetworkName
此结构表示网络名称。
otOperationalDataset typedef
此结构表示活跃或待处理操作数据集。
otOperationalDatasetComponents typedef
此结构表示活跃或待处理操作数据集中不同的组件。
otOperationalDatasetTlvs typedef
此结构表示活跃或待处理操作数据集。
otPskc typedef
struct otPskc
该结构表示 PSKc。
otPskcRef typedef
此数据类型表示 PSKc 的 KeyRef。
otSecurityPolicy typedef
此结构表示安全政策。
otTimestamp typedef
struct otTimestamp
此结构表示线程数据集时间戳组件。

变量

OT_TOOL_PACKED_END

函数

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)
此函数设置待处理操作数据集。
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

此结构表示线程网络密钥。

otNetworkName

此结构表示网络名称。

otOperationalDataset

此结构表示活跃或待处理操作数据集。

otOperationalDatasetComponents

此结构表示活跃或待处理操作数据集中不同的组件。

otOperationalDatasetTlvs

此结构表示活跃或待处理操作数据集。

otPskc

该结构表示 PSKc。

otSecurityPolicy

此结构表示安全政策。

otTimestamp

此结构表示线程数据集时间戳组件。

枚举

OTT 服务类型

 otMeshcopTlvType

此枚举表示 Meshcop TLV 类型。

属性
OT_MESHCOP_TLV_ACTIVETIMESTAMP

Meshcop Active Timestamp TLV

OT_MESHCOP_TLV_BORDER_AGENT_RLOC

Meshcop 边界代理定位器 TLV

OT_MESHCOP_TLV_CHANNEL

Meshcop 通道 TLV

OT_MESHCOP_TLV_CHANNELMASK

Meshcop 通道掩码 TLV

OT_MESHCOP_TLV_COMMISSIONER_ID

Meshcop Commissioner ID TLV

OT_MESHCOP_TLV_COMMISSIONER_UDP_PORT

Meshcop Commissioner UDP 端口 TLV

OT_MESHCOP_TLV_COMM_SESSION_ID

Meshcop Commissioner 会话 ID TLV

OT_MESHCOP_TLV_COUNT

网状网数量 TLV

OT_MESHCOP_TLV_DELAYTIMER

Meshcop 延迟计时器 TLV

OT_MESHCOP_TLV_DISCOVERYREQUEST

Meshcop Discovery 请求 TLV

OT_MESHCOP_TLV_DISCOVERYRESPONSE

Meshcop Discovery 响应 TLV

OT_MESHCOP_TLV_ENERGY_LIST

Meshcop 能源清单 TLV

OT_MESHCOP_TLV_EXTPANID

Meshcop Extended Pan Id TLV

OT_MESHCOP_TLV_GET

Meshcop 获取 TLV

OT_MESHCOP_TLV_IPV6_ADDRESS_TLV

Meshcop IPv6 地址 TLV

OT_MESHCOP_TLV_JOINERADVERTISEMENT

Meshcop Joiner 广告 TLV

OT_MESHCOP_TLV_JOINER_DTLS

Meshcop Joiner DTLS 封装 TLV

OT_MESHCOP_TLV_JOINER_IID

网格控制器连接符 IID TLV

OT_MESHCOP_TLV_JOINER_RLOC

Meshcop 连接器路由器定位器 TLV

OT_MESHCOP_TLV_JOINER_ROUTER_KEK

Meshcop Joiner Router KEK TLV

OT_MESHCOP_TLV_JOINER_UDP_PORT

Meshcop Joiner UDP 端口 TLV

OT_MESHCOP_TLV_MESHLOCALPREFIX

Meshcop Mesh 本地前缀 TLV

OT_MESHCOP_TLV_NETWORKKEY

Meshcop 网络密钥 TLV

OT_MESHCOP_TLV_NETWORKNAME

Meshcop 网络名称 TLV

OT_MESHCOP_TLV_NETWORK_KEY_SEQUENCE

Meshcop 网络密钥序列 TLV

OT_MESHCOP_TLV_PANID

Meshcop Pan Id TLV

OT_MESHCOP_TLV_PENDINGTIMESTAMP

Meshcop 待处理时间戳 TLV

OT_MESHCOP_TLV_PERIOD

Meshcop Period TLV

OT_MESHCOP_TLV_PROVISIONING_URL

Meshcop 配置网址 TLV

OT_MESHCOP_TLV_PSKC

Meshcop PSKc TLV

OT_MESHCOP_TLV_SCAN_DURATION

Meshcop 扫描时长 TLV

OT_MESHCOP_TLV_SECURITYPOLICY

Meshcop 安全政策 TLV

OT_MESHCOP_TLV_STATE

网格模型状态 TLV

OT_MESHCOP_TLV_STEERING_DATA

Meshcop 转向数据 TLV

OT_MESHCOP_TLV_UDP_ENCAPSULATION_TLV

Meshcop UDP 封装 TLV

OT_MESHCOP_TLV_VENDOR_DATA_TLV

Meshcop 供应商数据 TLV

OT_MESHCOP_TLV_VENDOR_MODEL_TLV

Meshcop 供应商模型 TLV

OT_MESHCOP_TLV_VENDOR_NAME_TLV

Meshcop 供应商名称 TLV

OT_MESHCOP_TLV_VENDOR_STACK_VERSION_TLV

Meshcop 供应商堆栈版本 TLV

OT_MESHCOP_TLV_VENDOR_SW_VERSION_TLV

Meshcop 供应商软件版本 TLV

类型定义符

otChannelMask

uint32_t otChannelMask

此类型表示频道掩码。

otDatasetMgmtSetCallback

void(* otDatasetMgmtSetCallback)(otError aResult, void *aContext)

当收到 MGMT_SET 请求的响应或超时时,系统会调用此函数指针。

详情
参数
[in] aResult
操作的结果。
[in] aContext
指向特定于应用的上下文的指针。
返回值
OT_ERROR_NONE
主管已接受请求。
OT_ERROR_REJECTED
队长拒绝了该请求。
OT_ERROR_PARSE
解析响应时出错。
OT_ERROR_ABORT
对方已重置该请求。
OT_ERROR_RESPONSE_TIMEOUT
在超时期限内未收到任何响应或确认。

otDatasetUpdaterCallback

void(* otDatasetUpdaterCallback)(otError aError, void *aContext)

当数据集更新请求完成时,系统将调用此回调函数指针,报告数据集更新请求的成功或失败状态。

启用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE 后可用。

详情
参数
[in] aError
错误状态。OT_ERROR_NONE 表示数据集更新成功。OT_ERROR_INVALID_STATE 表示因无效状态(MLE 已停用)而失败。OT_ERROR_ALREADY 表示由于网络中的另一台设备请求有冲突的数据集更新而失败。
[in] aContext
指向任意上下文的指针(由用户在 otDatasetUpdaterRequestUpdate() 中提供)。

otExtendedPanId

struct otExtendedPanId otExtendedPanId

此结构表示扩展 PAN ID。

otMeshLocalPrefix

otIp6NetworkPrefix otMeshLocalPrefix

此结构表示网格本地前缀。

OTT 服务类型

enum otMeshcopTlvType otMeshcopTlvType

此枚举表示 Meshcop TLV 类型。

otNetworkKey

struct otNetworkKey otNetworkKey

此结构表示线程网络密钥。

OTT 服务键引用

otCryptoKeyRef otNetworkKeyRef

此数据类型表示对 NetworkKey 的 KeyRef。

引用密钥

OTT 服务名称

struct otNetworkName otNetworkName

此结构表示网络名称。

otNetworkName 是终止的 C 字符串(即m8 字符数组必须以 null 字符 \0 结尾)。

otOperationalDataset

struct otOperationalDataset otOperationalDataset

此结构表示活跃或待处理操作数据集。

数据集中的组件是可选的。mComponets 结构体指定数据集中存在哪些组件。

otOperationalDatasetComponents

struct otOperationalDatasetComponents otOperationalDatasetComponents

此结构表示活跃或待处理操作数据集中不同的组件。

otOperationalDatasetTlvs

struct otOperationalDatasetTlvs otOperationalDatasetTlvs

此结构表示活跃或待处理操作数据集。

运营数据集采用 Thread 指定的 TLV 编码。

OTP 中

struct otPskc otPskc

该结构表示 PSKc。

otPskcRef

otCryptoKeyRef otPskcRef

此数据类型表示 PSKc 的 KeyRef。

引用密钥

OT 安全政策

struct otSecurityPolicy otSecurityPolicy

此结构表示安全政策。

otTimestamp

struct otTimestamp otTimestamp

此结构表示线程数据集时间戳组件。

变量

加时赛结束前

OT_TOOL_PACKED_BEGIN struct otNetworkKey OT_TOOL_PACKED_END

函数

otDatasetCreateNewNetwork

otError otDatasetCreateNewNetwork(
  otInstance *aInstance,
  otOperationalDataset *aDataset
)

(仅限 FTD)。创建一个新的操作数据集,以便在形成新网络时使用。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[out] aDataset
操作数据集。
返回值
OT_ERROR_NONE
已成功创建新的操作数据集。
OT_ERROR_FAILED
未能为新参数生成随机值。

otDatasetGeneratePskc

otError otDatasetGeneratePskc(
  const char *aPassPhrase,
  const otNetworkName *aNetworkName,
  const otExtendedPanId *aExtPanId,
  otPskc *aPskc
)

此函数根据给定的密码短语、网络名称和扩展 PAN ID 生成 PSKc。

PSKc 用于建立专员会议。

详情
参数
[in] aPassPhrase
“调试”密码短语。
[in] aNetworkName
PSKc 计算的网络名称。
[in] aExtPanId
用于 PSKc 计算的扩展 PAN ID。
[out] aPskc
指向变量的指针,用于输出生成的 PSKc。
返回值
OT_ERROR_NONE
已成功生成 PSKc。
OT_ERROR_INVALID_ARGS
如果任何输入参数无效,则会发生此错误。

otDatasetGetActive

otError otDatasetGetActive(
  otInstance *aInstance,
  otOperationalDataset *aDataset
)

获取活跃的操作数据集。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[out] aDataset
指向活动操作数据集的放置位置的指针。
返回值
OT_ERROR_NONE
已成功检索到活跃操作数据集。
OT_ERROR_NOT_FOUND
设置存储区中没有对应的值。

otDatasetGetActiveTlvs

otError otDatasetGetActiveTlvs(
  otInstance *aInstance,
  otOperationalDatasetTlvs *aDataset
)

此函数会获取活跃操作数据集。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[out] aDataset
指向活动操作数据集的放置位置的指针。
返回值
OT_ERROR_NONE
已成功检索到活跃操作数据集。
OT_ERROR_NOT_FOUND
设置存储区中没有对应的值。

otDatasetGetDelayTimingMinimal

uint32_t otDatasetGetDelayTimerMinimal(
  otInstance *aInstance
)

(仅适用于 FTD)获取最短延迟计时器。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
the
最短延迟计时器的值(以毫秒为单位)。

otDatasetGetPending

otError otDatasetGetPending(
  otInstance *aInstance,
  otOperationalDataset *aDataset
)

此函数会获取待处理的操作数据集。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[out] aDataset
指向待处理操作数据集的放置位置的指针。
返回值
OT_ERROR_NONE
已成功检索到待处理操作数据集。
OT_ERROR_NOT_FOUND
设置存储区中没有对应的值。

otDatasetGetPendingTlvs

otError otDatasetGetPendingTlvs(
  otInstance *aInstance,
  otOperationalDatasetTlvs *aDataset
)

此函数会获取待处理的操作数据集。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[out] aDataset
指向待处理操作数据集的放置位置的指针。
返回值
OT_ERROR_NONE
已成功检索到待处理操作数据集。
OT_ERROR_NOT_FOUND
设置存储区中没有对应的值。

otDatasetIsCommissioned

bool otDatasetIsCommissioned(
  otInstance *aInstance
)

此函数用于指示活动操作数据集中是否存在有效网络。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
如果有效操作数据集中存在有效网络,则为 TRUE,否则为 FALSE。

otDatasetParseTlvs

otError otDatasetParseTlvs(
  const otOperationalDatasetTlvs *aDatasetTlvs,
  otOperationalDataset *aDataset
)

此函数从 otOperationalDatasetTlvs 解析操作数据集。

详情
参数
[in] aDatasetTlvs
指向数据集 TLV 的指针。
[out] aDataset
指向数据集放置位置的指针。
返回值
OT_ERROR_NONE
已成功从 aDatasetTlvs 设置 aDataset
OT_ERROR_INVALID_ARGS
aDatasetTlvs无效。

otDatasetSendMgmtActiveGet

otError otDatasetSendMgmtActiveGet(
  otInstance *aInstance,
  const otOperationalDatasetComponents *aDatasetComponents,
  const uint8_t *aTlvTypes,
  uint8_t aLength,
  const otIp6Address *aAddress
)

发送 MGMT_ACTIVE_GET。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aDatasetComponents
指向数据集组件结构体的指针,用于指定要请求的组件。
[in] aTlvTypes
指向包含要请求的其他原始 TLV 类型的数组的指针。
[in] aLength
aTlvTypes 的长度。
[in] aAddress
指向 IPv6 目标的指针(如果值为 NULL)将使用主要 ALOC 作为默认值。
返回值
OT_ERROR_NONE
成功发送 Meshcop 数据集命令。
OT_ERROR_NO_BUFS
缓冲区空间不足,无法发送。

otDatasetSendMgmtActiveSet

otError otDatasetSendMgmtActiveSet(
  otInstance *aInstance,
  const otOperationalDataset *aDataset,
  const uint8_t *aTlvs,
  uint8_t aLength,
  otDatasetMgmtSetCallback aCallback,
  void *aContext
)

发送 MGMT_ACTIVE_SET。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aDataset
指向操作数据集的指针。
[in] aTlvs
指向 TLV 的指针。
[in] aLength
TLV 的长度。
[in] aCallback
指向在收到响应或超时时调用的函数的指针。
[in] aContext
指向 aCallback 的应用特定上下文的指针。
返回值
OT_ERROR_NONE
成功发送 Meshcop 数据集命令。
OT_ERROR_NO_BUFS
缓冲区空间不足,无法发送。
OT_ERROR_BUSY
之前的请求正在处理中。

otDatasetSendMgmtPendingGet

otError otDatasetSendMgmtPendingGet(
  otInstance *aInstance,
  const otOperationalDatasetComponents *aDatasetComponents,
  const uint8_t *aTlvTypes,
  uint8_t aLength,
  const otIp6Address *aAddress
)

发送 MGMT_PENDING_GET。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aDatasetComponents
指向数据集组件结构体的指针,用于指定要请求的组件。
[in] aTlvTypes
指向包含要请求的其他原始 TLV 类型的数组的指针。
[in] aLength
aTlvTypes 的长度。
[in] aAddress
指向 IPv6 目标的指针(如果值为 NULL)将使用主要 ALOC 作为默认值。
返回值
OT_ERROR_NONE
成功发送 Meshcop 数据集命令。
OT_ERROR_NO_BUFS
缓冲区空间不足,无法发送。

otDatasetSendMgmtPendingSet

otError otDatasetSendMgmtPendingSet(
  otInstance *aInstance,
  const otOperationalDataset *aDataset,
  const uint8_t *aTlvs,
  uint8_t aLength,
  otDatasetMgmtSetCallback aCallback,
  void *aContext
)

发送 MGMT_PENDING_SET。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aDataset
指向操作数据集的指针。
[in] aTlvs
指向 TLV 的指针。
[in] aLength
TLV 的长度。
[in] aCallback
指向在收到响应或超时时调用的函数的指针。
[in] aContext
指向 aCallback 的应用特定上下文的指针。
返回值
OT_ERROR_NONE
成功发送 Meshcop 数据集命令。
OT_ERROR_NO_BUFS
缓冲区空间不足,无法发送。
OT_ERROR_BUSY
之前的请求正在处理中。

otDatasetSetActive

otError otDatasetSetActive(
  otInstance *aInstance,
  const otOperationalDataset *aDataset
)

设置活跃操作数据集。

如果数据集不包含有效时间戳,则数据集仅部分完成。

如果在具有部分完整活跃数据集的设备上启用了线程,设备将尝试使用数据集中的任何现有信息连接到现有线程网络。只有线程网络密钥才能附加到网络。

如果数据集内未包含频道,设备将跨不同频道发送 MLE 公告消息,以查找其他频道中的邻居。

如果设备成功连接到 Thread 网络,则会从其父级检索完整的活跃数据集。请注意,具有路由器功能的设备在具有完整的活跃数据集之前不会转换为路由器或主要角色。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aDataset
指向活跃操作数据集的指针。
返回值
OT_ERROR_NONE
已成功设置活跃操作数据集。
OT_ERROR_NO_BUFS
缓冲区空间不足,无法设置活动操作数据集。
OT_ERROR_NOT_IMPLEMENTED
平台未实现设置功能。

otDatasetSetActiveTlvs

otError otDatasetSetActiveTlvs(
  otInstance *aInstance,
  const otOperationalDatasetTlvs *aDataset
)

此函数设置活跃操作数据集。

如果数据集不包含有效时间戳,则数据集仅部分完成。

如果在具有部分完整活跃数据集的设备上启用了线程,设备将尝试使用数据集中的任何现有信息连接到现有线程网络。只有线程网络密钥才能附加到网络。

如果数据集内未包含频道,设备将跨不同频道发送 MLE 公告消息,以查找其他频道中的邻居。

如果设备成功连接到 Thread 网络,则会从其父级检索完整的活跃数据集。请注意,具有路由器功能的设备在具有完整的活跃数据集之前不会转换为路由器或主要角色。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aDataset
指向活跃操作数据集的指针。
返回值
OT_ERROR_NONE
已成功设置活跃操作数据集。
OT_ERROR_NO_BUFS
缓冲区空间不足,无法设置活动操作数据集。
OT_ERROR_NOT_IMPLEMENTED
平台未实现设置功能。

otDatasetSetDelayTimingMinimal

otError otDatasetSetDelayTimerMinimal(
  otInstance *aInstance,
  uint32_t aDelayTimerMinimal
)

(仅适用于 FTD)设置最短延迟计时器。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aDelayTimerMinimal
最短延迟计时器的值(以毫秒为单位)。
返回值
OT_ERROR_NONE
已成功设置最短延迟计时器。
OT_ERROR_INVALID_ARGS
如果 aDelayTimerMinimal 无效,则会发生此错误。

otDatasetSetPending

otError otDatasetSetPending(
  otInstance *aInstance,
  const otOperationalDataset *aDataset
)

设置待处理的操作数据集。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aDataset
指向待处理操作数据集的指针。
返回值
OT_ERROR_NONE
已成功设置待处理的操作数据集。
OT_ERROR_NO_BUFS
缓冲区空间不足,无法设置待处理操作数据集。
OT_ERROR_NOT_IMPLEMENTED
平台未实现设置功能。

otDatasetSetPendingTlvs

otError otDatasetSetPendingTlvs(
  otInstance *aInstance,
  const otOperationalDatasetTlvs *aDataset
)

此函数设置待处理操作数据集。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aDataset
指向待处理操作数据集的指针。
返回值
OT_ERROR_NONE
已成功设置待处理的操作数据集。
OT_ERROR_NO_BUFS
缓冲区空间不足,无法设置待处理操作数据集。
OT_ERROR_NOT_IMPLEMENTED
平台未实现设置功能。

otDatasetUpdaterCancelUpdate

void otDatasetUpdaterCancelUpdate(
  otInstance *aInstance
)

此函数会取消正在进行(如有)的操作数据集更新请求。

启用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE 后可用。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。

otDatasetUpdaterIsUpdateOngoing

bool otDatasetUpdaterIsUpdateOngoing(
  otInstance *aInstance
)

此函数用于指示是否存在待处理的操作数据集更新请求。

启用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE 后可用。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
TRUE
有一项持续更新。
FALSE
没有持续更新。

otDatasetUpdaterRequestUpdate

otError otDatasetUpdaterRequestUpdate(
  otInstance *aInstance,
  const otOperationalDataset *aDataset,
  otDatasetUpdaterCallback aCallback,
  void *aContext
)

此函数请求更新操作数据集。

启用 OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE 后可用。

aDataset 应包含要更新的字段及其新值。不得包含“有效”或“待处理时间戳”字段。“延迟”字段为选填字段,如果未提供,系统将使用默认值 (1000 ms)。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aDataset
指向包含要更改的字段的数据集的指针。
[in] aCallback
用于指示数据集更新请求何时完成的回调。
[in] aContext
传递给回调的任意上下文。
返回值
OT_ERROR_NONE
已成功开始数据集更新(完成后将调用 aCallback)。
OT_ERROR_INVALID_STATE
设备已停用(MLE 已停用)。
OT_ERROR_INVALID_ARGS
aDataset 无效(包含有效时间戳或待处理时间戳)。
OT_ERROR_BUSY
无法开始更新,上一个更新正在进行。
OT_ERROR_NO_BUFS
无法分配缓冲区来保存数据集。

otNetworkNameFromString

otError otNetworkNameFromString(
  otNetworkName *aNetworkName,
  const char *aNameString
)

根据给定的以 null 结尾的 C 字符串设置 otNetworkName 实例。

aNameString 必须遵循 UTF-8 编码,并且网络名称长度不得超过 OT_NETWORK_NAME_MAX_SIZE

详情
参数
[out] aNetworkName
指向要设置的 otNetworkName 的指针。
[in] aNameString
名称 C 字符串。
返回值
OT_ERROR_NONE
已成功从 aNameString 设置 aNetworkName
OT_ERROR_INVALID_ARGS
aNameStrng 无效(过长或未采用 UTF-8 编码)。

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 上获取。如需了解详情或为我们的文档做贡献,请参阅资源