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,
  OT_CHANGED_NAT64_TRANSLATOR_STATE = 1 << 30
}
枚举
此枚举定义作为 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_NAT64_TRANSLATOR_STATE

NAT64 转换工具的状态发生了变化。

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

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

类型定义符

otChangedFlags

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
OpenThread 用于分配 otInstance 结构的缓冲区。
[in,out] aInstanceBufferSize
输入时,InstanceBuffer 的大小。输出时,如果 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
由于资源限制,无法添加回调。

第 UP_UPTIME_STRING_SIZE 次加时赛

 OT_UPTIME_STRING_SIZE 24

建议以字符串形式表示的正常运行时间。

资源

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