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

实例

此模块包含控制 OpenThread 实例的函数。

总结

枚举

anonymous enum{
  OT_CHANGED_IP6_ADDRESS_ADDED = 1 << 0,
  OT_CHANGED_IP6_ADDRESS_REMOVED = 1 << 1,
  OT_CHANGED_THREAD_ROLE = 1 << 2,
  OT_CHANGED_THREAD_LL_ADDR = 1 << 3,
  OT_CHANGED_THREAD_ML_ADDR = 1 << 4,
  OT_CHANGED_THREAD_RLOC_ADDED = 1 << 5,
  OT_CHANGED_THREAD_RLOC_REMOVED = 1 << 6,
  OT_CHANGED_THREAD_PARTITION_ID = 1 << 7,
  OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER = 1 << 8,
  OT_CHANGED_THREAD_NETDATA = 1 << 9,
  OT_CHANGED_THREAD_CHILD_ADDED = 1 << 10,
  OT_CHANGED_THREAD_CHILD_REMOVED = 1 << 11,
  OT_CHANGED_IP6_MULTICAST_SUBSCRIBED = 1 << 12,
  OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED = 1 << 13,
  OT_CHANGED_THREAD_CHANNEL = 1 << 14,
  OT_CHANGED_THREAD_PANID = 1 << 15,
  OT_CHANGED_THREAD_NETWORK_NAME = 1 << 16,
  OT_CHANGED_THREAD_EXT_PANID = 1 << 17,
  OT_CHANGED_NETWORK_KEY = 1 << 18,
  OT_CHANGED_PSKC = 1 << 19,
  OT_CHANGED_SECURITY_POLICY = 1 << 20,
  OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL = 1 << 21,
  OT_CHANGED_SUPPORTED_CHANNEL_MASK = 1 << 22,
  OT_CHANGED_COMMISSIONER_STATE = 1 << 23,
  OT_CHANGED_THREAD_NETIF_STATE = 1 << 24,
  OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE = 1 << 25,
  OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL = 1 << 26,
  OT_CHANGED_JOINER_STATE = 1 << 27,
  OT_CHANGED_ACTIVE_DATASET = 1 << 28,
  OT_CHANGED_PENDING_DATASET = 1 << 29
}
枚举
此枚举定义了作为 otStateChangedCallback 的一部分传递的标志。

类型定义符

otChangedFlags typedef
uint32_t
此类型是一个位字段,用于指示已更改的特定状态/配置。
otInstance typedef
struct otInstance
此结构表示 OpenThread 实例结构。
otStateChangedCallback)(otChangedFlags aFlags, void *aContext) typedef
void(*
可调用此函数指针来通知 OpenThread 中的某些配置或状态更改。

函数

otGetRadioVersionString(otInstance *aInstance)
const char *
此函数会获取 OpenThread 单选按钮版本字符串。
otGetVersionString(void)
const char *
此函数会获取 OpenThread 版本字符串。
otInstanceErasePersistentInfo(otInstance *aInstance)
此函数会清除存储在非易失性内存中的所有 OpenThread 持久性信息(网络设置)。
otInstanceFactoryReset(otInstance *aInstance)
void
删除存储在非易失性内存中的所有设置,然后触发平台重置。
otInstanceFinalize(otInstance *aInstance)
void
此函数会停用 OpenThread 库。
otInstanceGetUptime(otInstance *aInstance)
uint64_t
此函数会返回当前实例正常运行时间(以毫秒为单位)。
otInstanceGetUptimeAsString(otInstance *aInstance, char *aBuffer, uint16_t aSize)
void
此函数以用户可读的字符串形式返回当前实例正常运行时间。
otInstanceInit(void *aInstanceBuffer, size_t *aInstanceBufferSize)
此函数会初始化 OpenThread 库。
otInstanceInitSingle(void)
此函数会初始化 OpenThread 库的静态单个实例。
otInstanceIsInitialized(otInstance *aInstance)
bool
此函数可指示实例是否有效/初始化。
otInstanceReset(otInstance *aInstance)
void
此方法会触发平台重置。
otInstanceResetRadioStack(otInstance *aInstance)
void
此方法会重置 OpenThread 无线装置堆栈的内部状态。
otRemoveStateChangeCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
void
此函数会移除一个回调,用于指示 OpenThread 中的特定配置或状态何时发生更改。
otSetStateChangedCallback(otInstance *aInstance, otStateChangedCallback aCallback, void *aContext)
此函数注册一个回调,用于指示 OpenThread 中的特定配置或状态何时发生更改。

枚举

匿名枚举

 anonymous enum

此枚举定义了作为 otStateChangedCallback 的一部分传递的标志。

属性
OT_CHANGED_ACTIVE_DATASET

活跃操作数据集已更改。

OT_CHANGED_CHANNEL_MANAGER_NEW_CHANNEL

频道管理器有新的待处理讨论帖渠道已更改。

OT_CHANGED_COMMISSIONER_STATE

委员状态已更改。

OT_CHANGED_IP6_ADDRESS_ADDED

添加了 IPv6 地址。

OT_CHANGED_IP6_ADDRESS_REMOVED

已移除 IPv6 地址。

OT_CHANGED_IP6_MULTICAST_SUBSCRIBED

已订阅 IPv6 多播地址。

OT_CHANGED_IP6_MULTICAST_UNSUBSCRIBED

退订 IPv6 多播地址。

OT_CHANGED_JOINER_STATE

联接状态已更改。

OT_CHANGED_NETWORK_KEY

网络密钥已更改。

OT_CHANGED_PENDING_DATASET

待处理操作数据集已更改。

OT_CHANGED_PSKC

PSKc 已更改。

OT_CHANGED_SECURITY_POLICY

安全政策已更改。

OT_CHANGED_SUPPORTED_CHANNEL_MASK

支持的渠道掩码已更改。

OT_CHANGED_THREAD_BACKBONE_ROUTER_LOCAL

本地主干路由器配置已更改。

OT_CHANGED_THREAD_BACKBONE_ROUTER_STATE

骨干路由器状态已更改。

OT_CHANGED_THREAD_CHANNEL

话题网络渠道已更改。

OT_CHANGED_THREAD_CHILD_ADDED

已添加儿童。

OT_CHANGED_THREAD_CHILD_REMOVED

已移除儿童。

OT_CHANGED_THREAD_EXT_PANID

线程网络扩展 PAN ID 已更改。

OT_CHANGED_THREAD_KEY_SEQUENCE_COUNTER

话题键序列已更改。

OT_CHANGED_THREAD_LL_ADDR

本地链接地址已更改。

OT_CHANGED_THREAD_ML_ADDR

网格本地地址已更改。

OT_CHANGED_THREAD_NETDATA

线程网络数据已更改。

OT_CHANGED_THREAD_NETIF_STATE

线程网络接口状态已更改。

OT_CHANGED_THREAD_NETWORK_NAME

话题网络名称已更改。

OT_CHANGED_THREAD_PANID

线程网络 PAN ID 已更改。

OT_CHANGED_THREAD_PARTITION_ID

已更改分区 ID。

OT_CHANGED_THREAD_RLOC_ADDED

添加了 RLOC。

OT_CHANGED_THREAD_RLOC_REMOVED

RLOC 已移除。

OT_CHANGED_THREAD_ROLE

角色(已停用、已分离、子级、路由器、主要副本)已更改。

类型定义符

otChanged flag

uint32_t otChangedFlags

此类型是一个位字段,用于指示已更改的特定状态/配置。

请参阅 OT_CHANGED_* 定义。

OT 实例

struct otInstance otInstance

此结构表示 OpenThread 实例结构。

otStateChangedCallback

void(* otStateChangedCallback)(otChangedFlags aFlags, void *aContext)

可调用此函数指针来通知 OpenThread 中的某些配置或状态更改。

详情
参数
[in] aFlags
一个位字段,指示已更改的特定状态。请参阅 OT_CHANGED_* 定义。
[in] aContext
指向特定于应用的上下文的指针。

函数

otGetRadioVersionString

const char * otGetRadioVersionString(
  otInstance *aInstance
)

此函数会获取 OpenThread 单选按钮版本字符串。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
指向 OpenThread 电台版本的指针。

otGetVersionString

const char * otGetVersionString(
  void
)

此函数会获取 OpenThread 版本字符串。

详情
退货
指向 OpenThread 版本的指针。

otInstanceErasePersistentInfo

otError otInstanceErasePersistentInfo(
  otInstance *aInstance
)

此函数会清除存储在非易失性内存中的所有 OpenThread 持久性信息(网络设置)。

只有在设备处于 disabled 状态/角色时,才能擦除设备。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
OT_ERROR_NONE
所有持久性信息/状态均已被成功清空。
OT_ERROR_INVALID_STATE
设备未处于 disabled 状态/角色。

otInstanceFactoryReset

void otInstanceFactoryReset(
  otInstance *aInstance
)

删除存储在非易失性内存中的所有设置,然后触发平台重置。

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

otInstanceFinalize

void otInstanceFinalize(
  otInstance *aInstance
)

此函数会停用 OpenThread 库。

当 OpenThread 不再使用时调用此函数。

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

otInstanceGetUptime

uint64_t otInstanceGetUptime(
  otInstance *aInstance
)

此函数会返回当前实例正常运行时间(以毫秒为单位)。

此功能需要启用 OPENTHREAD_CONFIG_UPTIME_ENABLE

正常运行时间以 OpenThread 实例初始化后的毫秒数表示。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
正常运行时间(毫秒数)。

otInstanceGetUptimeAsString

void otInstanceGetUptimeAsString(
  otInstance *aInstance,
  char *aBuffer,
  uint16_t aSize
)

此函数以用户可读的字符串形式返回当前实例正常运行时间。

此功能需要启用 OPENTHREAD_CONFIG_UPTIME_ENABLE

该字符串遵循“::.”格式,表示小时、分钟、秒和毫秒(如果正常运行时间短于一天)或“

d.::.”(如果超过一天)。

如果生成的字符串不适合 aBuffer(在其 aSize 个字符内),则字符串将被截断,但输出的字符串始终以 null 结尾。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[out] aBuffer
指向输出字符的字符串字符指针。
[in] aSize
aBuffer 的大小(以字节为单位)。建议使用 OT_UPTIME_STRING_SIZE

otInstanceInit 类

otInstance * otInstanceInit(
  void *aInstanceBuffer,
  size_t *aInstanceBufferSize
)

此函数会初始化 OpenThread 库。

此函数会初始化 OpenThread,并使其为后续 OpenThread API 调用做好准备。此函数必须在对 OpenThread 进行任何其他调用之前调用。

此函数可用,并且只有在启用了对多个 OpenThread 实例的支持时才能使用。

详情
参数
[in] aInstanceBuffer
用于分配 otInstance 结构的 OpenThread 缓冲区。
[in,out] aInstanceBufferSize
输入时,实例实例的大小。输出时,如果没有足够的 otInstance 空间,则为 otInstance 所需的字节数。
退货
指向新 OpenThread 实例的指针。
另请参阅
otInstanceFinalize

otInstanceInitSingle

otInstance * otInstanceInitSingle(
  void
)

此函数会初始化 OpenThread 库的静态单个实例。

此函数会初始化 OpenThread,并使其为后续 OpenThread API 调用做好准备。此函数必须在对 OpenThread 进行任何其他调用之前调用。

此函数可用,并且只有在停用了对多个 OpenThread 实例的支持时才能使用。

详情
退货
指向单个 OpenThread 实例的指针。

otInstanceIsInitialized

bool otInstanceIsInitialized(
  otInstance *aInstance
)

此函数可指示实例是否有效/初始化。

如果使用 otInstanceInitSingle()(在单个实例中)或 otInstanceInit()(在多实例情况下)获取并初始化该实例,则该实例被视为有效。对 otInstanceFinalize() 的后续调用会导致实例被视为未初始化。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
如果给定实例有效/初始化,则为 TRUE,否则为 FALSE。

otInstanceReset

void otInstanceReset(
  otInstance *aInstance
)

此方法会触发平台重置。

重置过程可确保清空所有 OpenThread 状态/信息(存储在易失性内存中)。请注意,otPlatformReset 不会清除保存在非易失性内存中的任何永久性状态/信息。

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

otInstanceResetRadioStack

void otInstanceResetRadioStack(
  otInstance *aInstance
)

此方法会重置 OpenThread 无线装置堆栈的内部状态。

回调和配置会保留。

此 API 仅适用于无线装置 build (OPENTHREAD_RADIO = 1)。

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

otRemoveStateChangeCallback

void otRemoveStateChangeCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

此函数会移除一个回调,用于指示 OpenThread 中的特定配置或状态何时发生更改。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aCallback
指向通过特定配置或状态更改调用的函数的指针。
[in] aContext
指向特定于应用的上下文的指针。

otSetStateChangedCallback

otError otSetStateChangedCallback(
  otInstance *aInstance,
  otStateChangedCallback aCallback,
  void *aContext
)

此函数注册一个回调,用于指示 OpenThread 中的特定配置或状态何时发生更改。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aCallback
指向通过特定配置或状态更改调用的函数的指针。
[in] aContext
指向特定于应用的上下文的指针。
返回值
OT_ERROR_NONE
已将回调添加到回调列表中。
OT_ERROR_ALREADY
此回调已注册。
OT_ERROR_NO_BUFS
由于资源限制,无法添加回调。

第 OT_UPTIME_STRING_SIZE 次加时赛

 OT_UPTIME_STRING_SIZE 24

建议用于字符串正常运行时间的大小。

资源

OpenThread API 参考主题源自源代码,可在 GitHub 上获取。如需了解详情或为我们的文档做贡献,请参阅资源