Google 致力于为黑人社区推动种族平等。查看具体行动

操作数据集

此模块包含数据集更新器的函数。

摘要

此数据集内的函数在启用数据集更新程序功能(即,OPENTHREAD_CONFIG_DATASET_UPDATER_ENABLE 设置为 1)时可用。此外,此功能仅适用于 FTD build。

枚举

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
此结构表示安全政策。

变量

OT_TOOL_PACKED_END

函数

otDatasetCreateNewNetwork(otInstance *aInstance, otOperationalDataset *aDataset)
此方法会创建一个新的操作数据集,以便在形成新网络时使用。
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
获取延迟最低的计时器。
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)
设置最小延迟计时器。
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

此结构表示安全政策。

枚举

otMeshcopTlvType

 otMeshcopTlvType

此枚举表示 Meshcop TLV 类型。

属性
OT_MESHCOP_TLV_ACTIVETIMESTAMP

Meshcop 活动时间戳 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 专员 ID TLV

OT_MESHCOP_TLV_COMMISSIONER_UDP_PORT

Meshcop 佣金 UDP 端口 TLV

OT_MESHCOP_TLV_COMM_SESSION_ID

Meshcop 佣金会话 ID TLV

OT_MESHCOP_TLV_COUNT

Meshcop 数量 TLV

OT_MESHCOP_TLV_DELAYTIMER

Meshcop 延迟计时器 TLV

OT_MESHCOP_TLV_DISCOVERYREQUEST

Meshcop 发现请求 TLV

OT_MESHCOP_TLV_DISCOVERYRESPONSE

Meshcop Discovery 响应 TLV

OT_MESHCOP_TLV_ENERGY_LIST

Meshcop 能源清单 TLV

OT_MESHCOP_TLV_EXTPANID

Meshcop 扩展平移 ID TLV

OT_MESHCOP_TLV_GET

Meshcop 获取 TLV

OT_MESHCOP_TLV_IPV6_ADDRESS_TLV

Meshcop IPv6 地址 TLV

OT_MESHCOP_TLV_JOINERADVERTISEMENT

Meshcop 连接设备广告 TLV

OT_MESHCOP_TLV_JOINER_DTLS

Meshcop 连接器 DTLS 封装 TLV

OT_MESHCOP_TLV_JOINER_IID

Meshcop 连接器 IID TLV

OT_MESHCOP_TLV_JOINER_RLOC

Meshcop 连接器路由器定位器 TLV

OT_MESHCOP_TLV_JOINER_ROUTER_KEK

Meshcop 连接路由器 KEK TLV

OT_MESHCOP_TLV_JOINER_UDP_PORT

Meshcop 连接器 UDP 端口 TLV

OT_MESHCOP_TLV_MESHLOCALPREFIX

Meshcop 网格本地前缀 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 平移 ID TLV

OT_MESHCOP_TLV_PENDINGTIMESTAMP

Meshcop 待处理时间戳 TLV

OT_MESHCOP_TLV_PERIOD

Meshcop 时段 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

Meshcop 州 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)

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

详情
参数
[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

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

otMeshcopTlvType

enum otMeshcopTlvType otMeshcopTlvType

此枚举表示 Meshcop TLV 类型。

otNetworkKey

struct otNetworkKey otNetworkKey

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

otNetworkKeyRef

otCryptoKeyRef otNetworkKeyRef

此数据类型表示指向 NetworkKey 的 KeyRef。

对键的引用

otNetworkName

struct otNetworkName otNetworkName

此结构表示网络名称。

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

otOperationalDataset

struct otOperationalDataset otOperationalDataset

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

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

otOperationalDatasetComponents

struct otOperationalDatasetComponents otOperationalDatasetComponents

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

otOperationalDatasetTlv

struct otOperationalDatasetTlvs otOperationalDatasetTlvs

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

操作数据集由线程指定的 TLV 编码。

otPskc

struct otPskc otPskc

此结构表示的是 PSKc。

otPskcRef

otCryptoKeyRef otPskcRef

此数据类型表示指向 PSKc 的 KeyRef。

对键的引用

otSecurityPolicy

struct otSecurityPolicy otSecurityPolicy

此结构表示安全政策。

变量

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otNetworkKey OT_TOOL_PACKED_END

函数

otDatasetCreateNewNetwork

otError otDatasetCreateNewNetwork(
  otInstance *aInstance,
  otOperationalDataset *aDataset
)

此方法会创建一个新的操作数据集,以便在形成新网络时使用。

详情
参数
[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
设置存储区中没有对应的值。

otDatasetGetActiveTlv

otError otDatasetGetActiveTlvs(
  otInstance *aInstance,
  otOperationalDatasetTlvs *aDataset
)

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

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

otDatasetGetDelayTimeoutMinimal

uint32_t otDatasetGetDelayTimerMinimal(
  otInstance *aInstance
)

获取延迟最低的计时器。

详情
参数
[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。

otDatasetParseTlv

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 语音消息,以在其他频道上查找邻居。

如果设备成功附加到线程网络,则将从其父级检索完整的活动数据集。注意,具有路由器功能的设备在拥有完整的活跃数据集之前,不会转换为路由器或领导者角色。

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

otDatasetSetActiveTlv

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

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

如果数据集不包含活动时间戳,则该数据集将仅部分完成。

如果在已启用部分完整活跃数据集的设备上启用线程,则设备将尝试使用数据集中的现有信息连接到现有线程网络。仅需要线程网络密钥即可连接到网络。

如果数据集不包含,设备将通过不同的通道发送 MLE 语音消息,以在其他频道上查找邻居。

如果设备成功附加到线程网络,则将从其父级检索完整的活动数据集。注意,具有路由器功能的设备在拥有完整的活跃数据集之前,不会转换为路由器或领导者角色。

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

otDatasetSetDelayIntervalMinimal

otError otDatasetSetDelayTimerMinimal(
  otInstance *aInstance,
  uint32_t aDelayTimerMinimal
)

设置最小延迟计时器。

详情
参数
[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
平台未实现设置功能。

otDatasetSetPendingTlv

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
)

此函数将取消正在进行的操作数据集(如有)。

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

otDatasetUpdaterIsUpdateOngoing

bool otDatasetUpdaterIsUpdateOngoing(
  otInstance *aInstance
)

此函数指示是否存在正在运行的操作数据集更新请求。

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

otDatasetUpdaterRequestUpdate

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

以下函数请求更新操作数据集。

aDataset 应包含要更新的字段及其新值。不能包含“活动时间戳”或“待处理时间戳”字段。“延迟”字段为选填项;如果未提供,系统会使用默认值(1000 毫秒)。

详情
参数
[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_频道_10_MASK

 OT_CHANNEL_10_MASK (1 << 10)

频道 10.

OT_频道_11_MASK

 OT_CHANNEL_11_MASK (1 << 11)

频道 11.

OT_频道_12_MASK

 OT_CHANNEL_12_MASK (1 << 12)

频道 12.

OT_频道_13_MASK

 OT_CHANNEL_13_MASK (1 << 13)

13 频道。

OT_频道_14_MASK

 OT_CHANNEL_14_MASK (1 << 14)

14.

OT_频道_15_MASK

 OT_CHANNEL_15_MASK (1 << 15)

15.

OT_频道_16_MASK

 OT_CHANNEL_16_MASK (1 << 16)

16.

OT_频道_17_MASK

 OT_CHANNEL_17_MASK (1 << 17)

17 频道。

OT_频道_18_MASK

 OT_CHANNEL_18_MASK (1 << 18)

18 频道。

OT_频道_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_频道_23_MASK

 OT_CHANNEL_23_MASK (1 << 23)

频道 23.

OT_CHANNEL_24_MASK

 OT_CHANNEL_24_MASK (1 << 24)

频道 24.

OT_频道_25_MASK

 OT_CHANNEL_25_MASK (1 << 25)

25 频道。

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