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 库。
otInstanceGetId(otInstance *aInstance)
uint32_t
获取实例标识符。
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 实例的指针。

otInstanceGetId

uint32_t otInstanceGetId(
  otInstance *aInstance
)

获取实例标识符。

在构建实例时,实例标识符会设置为随机值,并且其值在初始化后不会改变。

详情
返回
实例标识符。

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
输入时,instanceInstanceBuffer 的大小。在输出时,如果 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 上获取。 如需了解详情或为我们的文档贡献内容,请参阅资源