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

已更改角色(已停用、已分离、子级、路由器、领导者)。

类型定义符

otChangedFlags

uint32_t otChangedFlags

此类型表示指示已更改的特定状态/配置的位字段。

查看 OT_CHANGED_* 的定义。

实例

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