一般措施
此模块包含所有 Thread 角色的函数。
摘要
网络数据发布者通过监控网络数据以及管理是否或何时添加或移除条目,提供了限制 Thread 网络数据中类似服务和/或前缀(网状前缀或外部路由)条目的数量的机制。
此模块中的所有函数都需要启用 OPENTHREAD_CONFIG_NETDATA_PUBLISHER_ENABLE。
| 类型定义符 | |
|---|---|
| otBorderRouterConfig | typedef struct otBorderRouterConfig表示边界路由器配置。 | 
| otDetachGracefullyCallback)(void *aContext) | typedef void(*此回调通知应用分离过程已完成。 | 
| otExternalRouteConfig | typedef struct otExternalRouteConfig表示外部路由配置。 | 
| otIpCounters | typedef struct otIpCounters表示 IP 级计数器。 | 
| otLeaderData | typedef struct otLeaderData表示线程前导数据。 | 
| otLinkModeConfig | typedef struct otLinkModeConfig表示 MLE 链接模式配置。 | 
| otLowpanContextInfo | typedef struct otLowpanContextInfo表示与网络数据中的前缀关联的 6LoWPAN 上下文 ID 信息。 | 
| otMleCounters | typedef struct otMleCounters表示 Thread MLE 计数器。 | 
| otNeighborInfoIterator | typedef int16_t用于遍历相邻表。 | 
| otNetDataDnsSrpServicePublisherCallback)(otNetDataPublisherEvent aEvent, void *aContext) | typedef void(*指针类型定义了在向 Thread 网络数据添加或从中移除“DNS/SRP 服务”条目时用于通知的回调。 | 
| otNetDataPrefixPublisherCallback)(otNetDataPublisherEvent aEvent, const otIp6Prefix *aPrefix, void *aContext) | typedef void(*指针类型定义了在向 Thread 网络数据添加或从中移除前缀(网状网络或外部路由)条目时用于通知的回调。 | 
| otNetDataPublisherEvent | typedef 表示从发布商回调报告的事件。 | 
| otNetworkDataIterator | typedef uint32_t用于遍历网络数据信息。 | 
| otNetworkDiagChildEntry | typedef struct otNetworkDiagChildEntry表示网络诊断子表条目。 | 
| otNetworkDiagConnectivity | typedef struct otNetworkDiagConnectivity表示网络诊断连接值。 | 
| otNetworkDiagIterator | typedef uint16_t用于迭代 Network Diagnostic TLV。 | 
| otNetworkDiagMacCounters | typedef struct otNetworkDiagMacCounters表示网络诊断 Mac 计数器值。 | 
| otNetworkDiagMleCounters | typedef struct otNetworkDiagMleCounters表示网络诊断 MLE 计数器值。 | 
| otNetworkDiagRoute | typedef struct otNetworkDiagRoute表示网络诊断路由 TLV 值。 | 
| otNetworkDiagRouteData | typedef struct otNetworkDiagRouteData表示网络诊断路由数据。 | 
| otNetworkDiagTlv | typedef struct otNetworkDiagTlv表示网络诊断 TLV。 | 
| otReceiveDiagnosticGetCallback)(otError aError, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext) | typedef void(*收到网络诊断获取响应时,系统会调用指针。 | 
| otRoutePreference | typedef enum otRoutePreference | 
| otServerConfig | typedef struct otServerConfig表示服务器配置。 | 
| otServiceConfig | typedef struct otServiceConfig表示 Service 配置。 | 
| otThreadAnycastLocatorCallback)(void *aContext, otError aError, const otIp6Address *aMeshLocalAddress, uint16_t aRloc16) | typedef void(*指针类型定义了用于通知  otThreadLocateAnycastDestination()请求结果的回调。 | 
| otThreadDiscoveryRequestCallback)(const otThreadDiscoveryRequestInfo *aInfo, void *aContext) | typedef void(*每次收到 MLE 发现请求消息时都会调用指针。 | 
| otThreadDiscoveryRequestInfo | typedef struct otThreadDiscoveryRequestInfo表示线程发现请求数据。 | 
| otThreadParentResponseCallback)(otThreadParentResponseInfo *aInfo, void *aContext) | typedef void(*每次收到 MLE 父级响应消息时都会调用指针。 | 
| otThreadParentResponseInfo | typedef struct otThreadParentResponseInfo表示 MLE 父响应数据。 | 
| 函数 | |
|---|---|
| otConvertDurationInSecondsToString(uint32_t aDuration, char *aBuffer, uint16_t aSize) | void将  uint32_t时长(以秒为单位)转换为直观易懂的字符串。 | 
| otNetDataContainsOmrPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix) | bool检查给定的前缀是否可以充当有效的 OMR 前缀,以及领先的网络数据是否包含此前缀。 | 
| otNetDataGet(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength) | 提供分区的 Thread 网络数据的完整或稳定副本。 | 
| otNetDataGetCommissioningDataset(otInstance *aInstance, otCommissioningDataset *aDataset) | void从分区的网络数据中获取调试数据集。 | 
| otNetDataGetLength(otInstance *aInstance) | uint8_t获取分区的线程网络数据的当前长度(字节数)。 | 
| otNetDataGetMaxLength(otInstance *aInstance) | uint8_t获取自从 OT 堆栈初始化或上次调用  otNetDataResetMaxLength()以来观察到的线程网络数据的最大长度。 | 
| otNetDataGetNextLowpanContextInfo(otInstance *aInstance, otNetworkDataIterator *aIterator, otLowpanContextInfo *aContextInfo) | 获取该分区的网络数据中的下一个 6LoWPAN 上下文 ID 信息。 | 
| otNetDataGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig) | 获取分区的网络数据中的下一个网状网络前缀。 | 
| otNetDataGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig) | 获取分区的网络数据中的下一个外部路由。 | 
| otNetDataGetNextService(otInstance *aInstance, otNetworkDataIterator *aIterator, otServiceConfig *aConfig) | 获取分区的网络数据中的下一个服务。 | 
| otNetDataGetStableVersion(otInstance *aInstance) | uint8_t获取稳定版网络数据版本。 | 
| otNetDataGetVersion(otInstance *aInstance) | uint8_t获取网络数据版本。 | 
| otNetDataIsDnsSrpServiceAdded(otInstance *aInstance) | bool指明“DNS/SRP 服务”条目当前是否已添加到 Thread 网络数据中。 | 
| otNetDataIsPrefixAdded(otInstance *aInstance, const otIp6Prefix *aPrefix) | bool指示当前是否已将已发布的前缀条目(网状网络或外部路由)添加到 Thread 网络数据中。 | 
| otNetDataPublishDnsSrpServiceAnycast(otInstance *aInstance, uint8_t aSequenceNUmber) | void请求在 Thread Network Data 中发布“DNS/SRP 服务任播地址”。 | 
| otNetDataPublishDnsSrpServiceUnicast(otInstance *aInstance, const otIp6Address *aAddress, uint16_t aPort) | void请求在 Thread Network Data 中发布“DNS/SRP 服务单播地址”。 | 
| otNetDataPublishDnsSrpServiceUnicastMeshLocalEid(otInstance *aInstance, uint16_t aPort) | void请求在 Thread Network Data 中发布“DNS/SRP 服务单播地址”。 | 
| otNetDataPublishExternalRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig) | 请求要在 Thread Network Data 中发布的外部路由前缀。 | 
| otNetDataPublishOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig) | 请求网状前缀,以便在 Thread 网络数据中发布。 | 
| otNetDataReplacePublishedExternalRoute(otInstance *aInstance, const otIp6Prefix *aPrefix, const otExternalRouteConfig *aConfig) | 替换 Thread 网络数据中之前发布的外部路由。 | 
| otNetDataResetMaxLength(otInstance *aInstance) | void重置 Thread 网络数据跟踪的最大长度。 | 
| otNetDataSetDnsSrpServicePublisherCallback(otInstance *aInstance, otNetDataDnsSrpServicePublisherCallback aCallback, void *aContext) | void设置回调,以便在已发布的“DNS/SRP 服务”实际添加到 Thread 网络数据或从 Thread 网络数据中移除时发出通知。 | 
| otNetDataSetPrefixPublisherCallback(otInstance *aInstance, otNetDataPrefixPublisherCallback aCallback, void *aContext) | void设置回调,以便在实际向 Thread 网络数据添加或从中移除已发布的前缀条目时发出通知。 | 
| otNetDataSteeringDataCheckJoiner(otInstance *aInstance, const otExtAddress *aEui64) | 检查导向数据是否包含连接符。 | 
| otNetDataSteeringDataCheckJoinerWithDiscerner(otInstance *aInstance, const struct otJoinerDiscerner *aDiscerner) | 检查导向数据是否包含具有给定识别器值的联接器。 | 
| otNetDataUnpublishDnsSrpService(otInstance *aInstance) | void从 Thread 网络数据中取消发布之前添加的任何 DNS/SRP(任播或 Unicast)服务条目。 | 
| otNetDataUnpublishPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix) | 取消发布之前发布的网状网或外部路由前缀。 | 
| otThreadBecomeChild(otInstance *aInstance) | 尝试重新附加为子文件。 | 
| otThreadBecomeDetached(otInstance *aInstance) | 与 Thread 网络分离。 | 
| otThreadDetachGracefully(otInstance *aInstance, otDetachGracefullyCallback aCallback, void *aContext) | 通知网络中的其他节点(如果有),然后停止 Thread 协议操作。 | 
| otThreadDeviceRoleToString(otDeviceRole aRole) | const char *将设备角色转换为人类可读的字符串。 | 
| otThreadDiscover(otInstance *aInstance, uint32_t aScanChannels, uint16_t aPanId, bool aJoiner, bool aEnableEui64Filtering, otHandleActiveScanResult aCallback, void *aCallbackContext) | 启动 Thread Discovery 扫描。 | 
| otThreadGetChildTimeout(otInstance *aInstance) | uint32_t获取以 Child 角色执行操作时使用的 Thread Child Timeout(以秒为单位)。 | 
| otThreadGetDeviceRole(otInstance *aInstance) | 获取设备角色。 | 
| otThreadGetDomainName(otInstance *aInstance) | const char *获取线程域名。 | 
| otThreadGetExtendedPanId(otInstance *aInstance) | const otExtendedPanId *获取 IEEE 802.15.4 扩展 PAN ID。 | 
| otThreadGetFixedDuaInterfaceIdentifier(otInstance *aInstance) | const otIp6InterfaceIdentifier *获取为线程网域 Unicast 地址手动指定的接口标识符。 | 
| otThreadGetIp6Counters(otInstance *aInstance) | const otIpCounters *获取 IPv6 计数器。 | 
| otThreadGetKeySequenceCounter(otInstance *aInstance) | uint32_t获取 thrKeySequenceCounter。 | 
| otThreadGetKeySwitchGuardTime(otInstance *aInstance) | uint32_t获取 thrKeySwitchGuardTime(以小时为单位)。 | 
| otThreadGetLeaderData(otInstance *aInstance, otLeaderData *aLeaderData) | 获取线程主管数据。 | 
| otThreadGetLeaderRloc(otInstance *aInstance, otIp6Address *aLeaderRloc) | 返回指向主管的 RLOC 的指针。 | 
| otThreadGetLeaderRouterId(otInstance *aInstance) | uint8_t获取主管的路由器 ID。 | 
| otThreadGetLeaderWeight(otInstance *aInstance) | uint8_t获取队长的体重。 | 
| otThreadGetLinkLocalAllThreadNodesMulticastAddress(otInstance *aInstance) | const otIp6Address *获取 Thread Link-Local 所有线程节点的多播地址。 | 
| otThreadGetLinkLocalIp6Address(otInstance *aInstance) | const otIp6Address *获取 Thread 链路本地 IPv6 地址。 | 
| otThreadGetLinkMode(otInstance *aInstance) | 获取 MLE 链接模式配置。 | 
| otThreadGetMaxTimeInQueue(otInstance *aInstance) | uint32_t获取 TX 队列中消息的最长排队时间。 | 
| otThreadGetMeshLocalEid(otInstance *aInstance) | const otIp6Address *获取网格本地 EID 地址。 | 
| otThreadGetMeshLocalPrefix(otInstance *aInstance) | const otMeshLocalPrefix *返回指向网格本地前缀的指针。 | 
| otThreadGetMleCounters(otInstance *aInstance) | const otMleCounters *获取 Thread MLE 计数器。 | 
| otThreadGetNetworkKey(otInstance *aInstance, otNetworkKey *aNetworkKey) | void获取 Thread 网络密钥。 | 
| otThreadGetNetworkKeyRef(otInstance *aInstance) | 获取 Thread 网络密钥的  otNetworkKeyRef。 | 
| otThreadGetNetworkName(otInstance *aInstance) | const char *获取 Thread 网络名称。 | 
| otThreadGetNextDiagnosticTlv(const otMessage *aMessage, otNetworkDiagIterator *aIterator, otNetworkDiagTlv *aNetworkDiagTlv) | 获取消息中的下一个网络诊断 TLV。 | 
| otThreadGetNextNeighborInfo(otInstance *aInstance, otNeighborInfoIterator *aIterator, otNeighborInfo *aInfo) | 获取下一个相邻项信息。 | 
| otThreadGetParentAverageRssi(otInstance *aInstance, int8_t *aParentRssi) | 该函数会检索线程父级的平均 RSSI。 | 
| otThreadGetParentInfo(otInstance *aInstance, otRouterInfo *aParentInfo) | 函数检索作为父级的线程路由器的诊断信息。 | 
| otThreadGetParentLastRssi(otInstance *aInstance, int8_t *aLastRssi) | 该函数会从线程父级检索最后一个数据包的 RSSI。 | 
| otThreadGetPartitionId(otInstance *aInstance) | uint32_t获取分区 ID。 | 
| otThreadGetRealmLocalAllThreadNodesMulticastAddress(otInstance *aInstance) | const otIp6Address *获取 Thread Realm-Local 所有线程节点的多播地址。 | 
| otThreadGetRloc(otInstance *aInstance) | const otIp6Address *获取线程路由定位器 (RLOC) 地址。 | 
| otThreadGetRloc16(otInstance *aInstance) | uint16_t获取 RLOC16。 | 
| otThreadGetServiceAloc(otInstance *aInstance, uint8_t aServiceId, otIp6Address *aServiceAloc) | 检索指定服务 ID 的服务 ALOC。 | 
| otThreadGetTimeInQueueHistogram(otInstance *aInstance, uint16_t *aNumBins, uint32_t *aBinInterval) | const uint32_t *获取 TX 队列中消息的排队时间直方图。 | 
| otThreadGetVendorModel(otInstance *aInstance) | const char *获取供应商模型字符串。 | 
| otThreadGetVendorName(otInstance *aInstance) | const char *获取供应商名称字符串。 | 
| otThreadGetVendorSwVersion(otInstance *aInstance) | const char *获取供应商 sw 版本字符串。 | 
| otThreadGetVersion(void) | uint16_t获取 Thread 协议版本。 | 
| otThreadIsAnycastLocateInProgress(otInstance *aInstance) | bool指示任播定位请求当前是否正在进行。 | 
| otThreadIsDiscoverInProgress(otInstance *aInstance) | bool确定 MLE 线程发现当前正在进行中。 | 
| otThreadIsSingleton(otInstance *aInstance) | bool指示节点是否是网络中唯一的路由器。 | 
| otThreadLocateAnycastDestination(otInstance *aInstance, const otIp6Address *aAnycastAddress, otThreadAnycastLocatorCallback aCallback, void *aContext) | 请求要定位的给定任播地址的最近目的地。 | 
| otThreadRegisterParentResponseCallback(otInstance *aInstance, otThreadParentResponseCallback aCallback, void *aContext) | void注册一个回调,以接收 MLE 父级响应数据。 | 
| otThreadResetIp6Counters(otInstance *aInstance) | void重置 IPv6 计数器。 | 
| otThreadResetMleCounters(otInstance *aInstance) | void重置 Thread MLE 计数器。 | 
| otThreadResetTimeInQueueStat(otInstance *aInstance) | void重置 TX 队列排队时间统计信息。 | 
| otThreadSearchForBetterParent(otInstance *aInstance) | 启动以下过程:子级搜索更好的父级,同时保持与其当前的父级保持连接。 | 
| otThreadSendAddressNotification(otInstance *aInstance, otIp6Address *aDestination, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid) | void发送主动地址通知 (ADDR_NTF.ntf) 消息。 | 
| otThreadSendDiagnosticGet(otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount, otReceiveDiagnosticGetCallback aCallback, void *aCallbackContext) | 发送网络诊断获取请求。 | 
| otThreadSendDiagnosticReset(otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount) | 发送网络诊断重置请求。 | 
| otThreadSendProactiveBackboneNotification(otInstance *aInstance, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid, uint32_t aTimeSinceLastTransaction) | 在骨干链路上发送主动骨干通知 (PRO_BB.ntf) 消息。 | 
| otThreadSetChildTimeout(otInstance *aInstance, uint32_t aTimeout) | void设置以子角色执行操作时使用的线程子超时(以秒为单位)。 | 
| otThreadSetDiscoveryRequestCallback(otInstance *aInstance, otThreadDiscoveryRequestCallback aCallback, void *aContext) | void设置回调以接收 MLE 发现请求数据。 | 
| otThreadSetDomainName(otInstance *aInstance, const char *aDomainName) | 设置线程域名。 | 
| otThreadSetEnabled(otInstance *aInstance, bool aEnabled) | 启动 Thread 协议操作。 | 
| otThreadSetExtendedPanId(otInstance *aInstance, const otExtendedPanId *aExtendedPanId) | 设置 IEEE 802.15.4 Extended PAN ID。 | 
| otThreadSetFixedDuaInterfaceIdentifier(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid) | 设置或清除为线程网域 Unicast 地址手动指定的接口标识符。 | 
| otThreadSetJoinerAdvertisement(otInstance *aInstance, uint32_t aOui, const uint8_t *aAdvData, uint8_t aAdvDataLength) | 设置发现 Thread 网络时的线程连接程序通告。 | 
| otThreadSetKeySequenceCounter(otInstance *aInstance, uint32_t aKeySequenceCounter) | void设置 thrKeySequenceCounter。 | 
| otThreadSetKeySwitchGuardTime(otInstance *aInstance, uint32_t aKeySwitchGuardTime) | void设置 thrKeySwitchGuardTime(以小时为单位)。 | 
| otThreadSetLinkMode(otInstance *aInstance, otLinkModeConfig aConfig) | 设置 MLE 链接模式配置。 | 
| otThreadSetMeshLocalPrefix(otInstance *aInstance, const otMeshLocalPrefix *aMeshLocalPrefix) | 设置网格本地前缀。 | 
| otThreadSetNetworkKey(otInstance *aInstance, const otNetworkKey *aKey) | 设置 Thread 网络密钥。 | 
| otThreadSetNetworkKeyRef(otInstance *aInstance, otNetworkKeyRef aKeyRef) | 将 Thread 网络键设置为  otNetworkKeyRef。 | 
| otThreadSetNetworkName(otInstance *aInstance, const char *aNetworkName) | 设置 Thread 网络名称。 | 
| otThreadSetVendorModel(otInstance *aInstance, const char *aVendorModel) | 设置供应商模型字符串。 | 
| otThreadSetVendorName(otInstance *aInstance, const char *aVendorName) | 设置供应商名称字符串。 | 
| otThreadSetVendorSwVersion(otInstance *aInstance, const char *aVendorSwVersion) | 设置供应商软件版本字符串。 | 
| 结构体 | |
|---|---|
| otBorderRouterConfig | 表示边界路由器配置。 | 
| otExternalRouteConfig | 表示外部路由配置。 | 
| otIpCounters | 表示 IP 级计数器。 | 
| otLeaderData | 表示线程前导数据。 | 
| otLinkModeConfig | 表示 MLE 链接模式配置。 | 
| otLowpanContextInfo | 表示与网络数据中的前缀关联的 6LoWPAN 上下文 ID 信息。 | 
| otMleCounters | 表示 Thread MLE 计数器。 | 
| otNeighborInfo | 保存相邻 Thread 节点的诊断信息。 | 
| otNetworkDiagChildEntry | 表示网络诊断子表条目。 | 
| otNetworkDiagConnectivity | 表示网络诊断连接值。 | 
| otNetworkDiagMacCounters | 表示网络诊断 Mac 计数器值。 | 
| otNetworkDiagMleCounters | 表示网络诊断 MLE 计数器值。 | 
| otNetworkDiagRoute | 表示网络诊断路由 TLV 值。 | 
| otNetworkDiagRouteData | 表示网络诊断路由数据。 | 
| otNetworkDiagTlv | 表示网络诊断 TLV。 | 
| otRouterInfo | 保存 Thread Router 的诊断信息。 | 
| otServerConfig | 表示服务器配置。 | 
| otServiceConfig | 表示 Service 配置。 | 
| otThreadDiscoveryRequestInfo 类中的方法 | 表示线程发现请求数据。 | 
| otThreadParentResponseInfo | 表示 MLE 父响应数据。 | 
枚举
匿名枚举
anonymous enum
otDeviceRole
otDeviceRole
表示 Thread 设备角色。
| 属性 | |
|---|---|
| OT_DEVICE_ROLE_CHILD | Thread Child 角色。 | 
| OT_DEVICE_ROLE_DETACHED | 当前未加入 Thread 网络/分区。 | 
| OT_DEVICE_ROLE_DISABLED | 线程堆栈已停用。 | 
| OT_DEVICE_ROLE_LEADER | “讨论帖负责人”角色。 | 
| OT_DEVICE_ROLE_ROUTER | Thread Router 角色。 | 
otNetDataPublisherEvent
otNetDataPublisherEvent
表示从发布商回调报告的事件。
| 属性 | |
|---|---|
| OT_NETDATA_PUBLISHER_EVENT_ENTRY_ADDED | 已发布的条目已添加到 Thread 网络数据中。 | 
| OT_NETDATA_PUBLISHER_EVENT_ENTRY_REMOVED | 已发布的条目已从 Thread 网络数据中移除。 | 
otRoutePreference
otRoutePreference
在 otExternalRouteConfig 和 otBorderRouterConfig 中定义有效的 mPreference 值。
| 属性 | |
|---|---|
| OT_ROUTE_PREFERENCE_HIGH | 高路线偏好。 | 
| OT_ROUTE_PREFERENCE_LOW | 路线偏好较低。 | 
| OT_ROUTE_PREFERENCE_MED | 中等路由偏好设置。 | 
类型定义符
otDetachGracefullyCallback
void(* otDetachGracefullyCallback)(void *aContext)
此回调通知应用分离过程已完成。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
otLowpanContextInfo
struct otLowpanContextInfo otLowpanContextInfo
表示与网络数据中的前缀关联的 6LoWPAN 上下文 ID 信息。
otNeighborInfoIterator
int16_t otNeighborInfoIterator
用于遍历相邻表。
otNetDataDnsSrpServicePublisherCallback
void(* otNetDataDnsSrpServicePublisherCallback)(otNetDataPublisherEvent aEvent, void *aContext)
指针类型定义了在向 Thread 网络数据添加或从中移除“DNS/SRP 服务”条目时用于通知的回调。
移除时,无论该条目是被 Publisher 移除(例如,当网络数据中已经存在太多类似条目时),还是通过调用取消发布该条目(即调用 otNetDataUnpublishDnsSrpService())移除该条目,系统都会调用回调函数。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otNetDataPrefixPublisherCallback
void(* otNetDataPrefixPublisherCallback)(otNetDataPublisherEvent aEvent, const otIp6Prefix *aPrefix, void *aContext)
指针类型定义了在向 Thread 网络数据添加或从中移除前缀(网状网络或外部路由)条目时用于通知的回调。
移除时,无论该条目是被 Publisher 移除(例如,当网络数据中已经存在太多类似条目时),还是通过调用取消发布该条目的显式调用移除该条目。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
otNetworkDataIterator
uint32_t otNetworkDataIterator
用于遍历网络数据信息。
otNetworkDiagIterator
uint16_t otNetworkDiagIterator
用于迭代 Network Diagnostic TLV。
otNetworkDiagMacCounters
struct otNetworkDiagMacCounters otNetworkDiagMacCounters
表示网络诊断 Mac 计数器值。
如需了解成员字段的定义,请参阅 RFC 2863。
otReceiveDiagnosticGetCallback
void(* otReceiveDiagnosticGetCallback)(otError aError, otMessage *aMessage, const otMessageInfo *aMessageInfo, void *aContext)
收到网络诊断获取响应时,系统会调用指针。
| 具体说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||||
otRoutePreference
enum otRoutePreference otRoutePreference
在 otExternalRouteConfig 和 otBorderRouterConfig 中定义有效的 mPreference 值。
otThreadAnycastLocatorCallback
void(* otThreadAnycastLocatorCallback)(void *aContext, otError aError, const otIp6Address *aMeshLocalAddress, uint16_t aRloc16)
指针类型定义了用于通知 otThreadLocateAnycastDestination() 请求结果的回调。
| 具体说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||||
otThreadDiscoveryRequestCallback
void(* otThreadDiscoveryRequestCallback)(const otThreadDiscoveryRequestInfo *aInfo, void *aContext)
每次收到 MLE 发现请求消息时都会调用指针。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otThreadDiscoveryRequestInfo
struct otThreadDiscoveryRequestInfo otThreadDiscoveryRequestInfo
表示线程发现请求数据。
otThreadParentResponseCallback
void(* otThreadParentResponseCallback)(otThreadParentResponseInfo *aInfo, void *aContext)
每次收到 MLE 父级响应消息时都会调用指针。
otThreadRegisterParentResponseCallback() 中会用到它。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otThreadParentResponseInfo
struct otThreadParentResponseInfo otThreadParentResponseInfo
表示 MLE 父响应数据。
函数
otConvertDurationInSecondsToString
void otConvertDurationInSecondsToString( uint32_t aDuration, char *aBuffer, uint16_t aSize )
将 uint32_t 时长(以秒为单位)转换为直观易懂的字符串。
需要启用 OPENTHREAD_CONFIG_UPTIME_ENABLE。
该字符串使用以下格式:“
如果生成的字符串不适合 aBuffer(在其 aSize 字符内),该字符串将被截断,但输出的字符串始终以空字符结尾。
旨在与 otNeighborInfo 或 otChildInfo 结构中的 mAge 或 mConnectionTime 搭配使用。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
otNetDataContainsOmrPrefix
bool otNetDataContainsOmrPrefix( otInstance *aInstance, const otIp6Prefix *aPrefix )
检查给定的前缀是否可以充当有效的 OMR 前缀,以及领先的网络数据是否包含此前缀。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 指明  aPrefix是否为有效的 OMR 前缀,以及领先企业的网络数据是否包含 OMR 前缀aPrefix。 | ||||
otNetDataGet
otError otNetDataGet( otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength )
提供分区的 Thread 网络数据的完整或稳定副本。
| 具体说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||||
| 返回值 | 
 | ||||||||
otNetDataGetCommissioningDataset
void otNetDataGetCommissioningDataset( otInstance *aInstance, otCommissioningDataset *aDataset )
从分区的网络数据中获取调试数据集。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otNetDataGetLength
uint8_t otNetDataGetLength( otInstance *aInstance )
获取分区的线程网络数据的当前长度(字节数)。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 网络数据的长度。 | ||
otNetDataGetMaxLength
uint8_t otNetDataGetMaxLength( otInstance *aInstance )
获取自从 OT 堆栈初始化或上次调用 otNetDataResetMaxLength() 以来观察到的线程网络数据的最大长度。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 网络数据的最大长度(网络数据长度的高水印)。 | ||
otNetDataGetNextLowpanContextInfo
otError otNetDataGetNextLowpanContextInfo( otInstance *aInstance, otNetworkDataIterator *aIterator, otLowpanContextInfo *aContextInfo )
获取该分区的网络数据中的下一个 6LoWPAN 上下文 ID 信息。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otNetDataGetNextOnMeshPrefix
otError otNetDataGetNextOnMeshPrefix( otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig )
获取分区的网络数据中的下一个网状网络前缀。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otNetDataGetNextRoute
otError otNetDataGetNextRoute( otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig )
获取分区的网络数据中的下一个外部路由。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otNetDataGetNextService
otError otNetDataGetNextService( otInstance *aInstance, otNetworkDataIterator *aIterator, otServiceConfig *aConfig )
获取分区的网络数据中的下一个服务。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otNetDataGetStableVersion
uint8_t otNetDataGetStableVersion( otInstance *aInstance )
获取稳定版网络数据版本。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 稳定的网络数据版本。 | ||
otNetDataGetVersion
uint8_t otNetDataGetVersion( otInstance *aInstance )
获取网络数据版本。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 网络数据版本。 | ||
otNetDataIsDnsSrpServiceAdded
bool otNetDataIsDnsSrpServiceAdded( otInstance *aInstance )
指明“DNS/SRP 服务”条目当前是否已添加到 Thread 网络数据中。
需要启用 OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 功能。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otNetDataIsPrefixAdded
bool otNetDataIsPrefixAdded( otInstance *aInstance, const otIp6Prefix *aPrefix )
指示当前是否已将已发布的前缀条目(网状网络或外部路由)添加到 Thread 网络数据中。
需要启用 OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 功能。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otNetDataPublishDnsSrpServiceAnycast
void otNetDataPublishDnsSrpServiceAnycast( otInstance *aInstance, uint8_t aSequenceNUmber )
请求在 Thread Network Data 中发布“DNS/SRP 服务任播地址”。
需要启用 OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 功能。
调用此函数将移除并替换之前对任何 otNetDataPublishDnsSrpService{Type}() 函数的调用而发布的所有旧“DNS/SRP 服务”条目。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otNetDataPublishDnsSrpServiceUnicast
void otNetDataPublishDnsSrpServiceUnicast( otInstance *aInstance, const otIp6Address *aAddress, uint16_t aPort )
请求在 Thread Network Data 中发布“DNS/SRP 服务单播地址”。
需要启用 OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 功能。
调用此函数将移除并替换之前对任何 otNetDataPublishDnsSrpService{Type}() 函数的调用而发布的所有旧“DNS/SRP 服务”条目。
通过在服务 TLV 数据中添加地址和端口信息来发布“DNS/SRP 服务 Unicast 地址”。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
otNetDataPublishDnsSrpServiceUnicastMeshLocalEid
void otNetDataPublishDnsSrpServiceUnicastMeshLocalEid( otInstance *aInstance, uint16_t aPort )
请求在 Thread Network Data 中发布“DNS/SRP 服务单播地址”。
需要启用 OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 功能。
调用此函数将移除并替换之前对任何 otNetDataPublishDnsSrpService{Type}() 函数的调用而发布的所有旧“DNS/SRP 服务”条目。
otNetDataPublishDnsSrpServiceUnicast() 要求提供已发布的地址,并将相关信息包含在服务 TLV 数据中,而此函数与之不同,它使用设备的网状网本地 EID,并将信息包含在服务器 TLV 数据中。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otNetDataPublishExternalRoute
otError otNetDataPublishExternalRoute( otInstance *aInstance, const otExternalRouteConfig *aConfig )
请求要在 Thread Network Data 中发布的外部路由前缀。
需要启用 OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 功能。
只能发布稳定版(即aConfig.mStable 必须为 TRUE)。
对该方法的后续调用将替换之前针对相同前缀发出的请求。特别是,如果新调用仅更改标记(例如首选项级别),并且前缀已添加到网络数据中,则对标记的更改会立即反映在网络数据中。这样可以确保网络数据中的现有条目不会被突然移除。请注意,在确定还有其他节点发布了相同或更高优先级的相同前缀后,更改优先级可能会导致稍后从网络数据中删除该条目。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otNetDataPublishOnMeshPrefix
otError otNetDataPublishOnMeshPrefix( otInstance *aInstance, const otBorderRouterConfig *aConfig )
请求网状前缀,以便在 Thread 网络数据中发布。
需要启用 OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 功能。
只能发布稳定版(即aConfig.mStable 必须为 TRUE)。
对该方法的后续调用将替换之前针对相同前缀发出的请求。特别是,如果新调用仅更改标记(例如首选项级别),并且前缀已添加到网络数据中,则对标记的更改会立即反映在网络数据中。这样可以确保网络数据中的现有条目不会被突然移除。请注意,在确定还有其他节点发布了相同或更高优先级的相同前缀后,更改优先级可能会导致稍后从网络数据中删除该条目。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otNetDataReplacePublishedExternalRoute
otError otNetDataReplacePublishedExternalRoute( otInstance *aInstance, const otIp6Prefix *aPrefix, const otExternalRouteConfig *aConfig )
替换 Thread 网络数据中之前发布的外部路由。
需要启用 OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 功能。
如果之前没有发布与 aPrefix 匹配的外部路由,则此函数的行为类似于 otNetDataPublishExternalRoute(),即它会开始将 aConfig 发布为 Thread 网络数据中的外部路由。
如果存在与 aPrefix 匹配的之前发布的路由条目,系统会将其替换为 aConfig 中的新前缀。
- 如果网络数据中已添加 aPrefix,则对aConfig中新前缀的更改会立即反映在网络数据中。这可确保网络数据中的路由条目不会突然移除,并且从 aPrefix 过渡到新前缀。
- 如果之前发布的 aPrefix未添加到网络数据中,则会被替换为新的aConfig前缀,但不会立即添加。而是会开始将其发布在网络数据中(监控网络数据以确定何时/是否添加前缀,具体取决于网络数据中存在的类似前缀的数量)。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otNetDataResetMaxLength
void otNetDataResetMaxLength( otInstance *aInstance )
otNetDataSetDnsSrpServicePublisherCallback
void otNetDataSetDnsSrpServicePublisherCallback( otInstance *aInstance, otNetDataDnsSrpServicePublisherCallback aCallback, void *aContext )
设置回调,以便在已发布的“DNS/SRP 服务”实际添加到 Thread 网络数据或从 Thread 网络数据中移除时发出通知。
对此函数的后续调用将替换之前设置的任何回调函数。
需要启用 OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE 功能。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
otNetDataSetPrefixPublisherCallback
void otNetDataSetPrefixPublisherCallback( otInstance *aInstance, otNetDataPrefixPublisherCallback aCallback, void *aContext )
设置回调,以便在实际向 Thread 网络数据添加或从中移除已发布的前缀条目时发出通知。
对此函数的后续调用将替换之前设置的任何回调函数。
需要启用 OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE 功能。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
otNetDataSteeringDataCheckJoiner
otError otNetDataSteeringDataCheckJoiner( otInstance *aInstance, const otExtAddress *aEui64 )
检查导向数据是否包含连接符。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otNetDataSteeringDataCheckJoinerWithDiscerner
otError otNetDataSteeringDataCheckJoinerWithDiscerner( otInstance *aInstance, const struct otJoinerDiscerner *aDiscerner )
检查导向数据是否包含具有给定识别器值的联接器。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otNetDataUnpublishDnsSrpService
void otNetDataUnpublishDnsSrpService( otInstance *aInstance )
从 Thread 网络数据中取消发布之前添加的任何 DNS/SRP(任播或 Unicast)服务条目。
必须启用“OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE”。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
otNetDataUnpublishPrefix
otError otNetDataUnpublishPrefix( otInstance *aInstance, const otIp6Prefix *aPrefix )
取消发布之前发布的网状网或外部路由前缀。
必须启用“OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE”。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadBecomeChild
otError otThreadBecomeChild( otInstance *aInstance )
尝试重新附加为子文件。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadBecomeDetached
otError otThreadBecomeDetached( otInstance *aInstance )
与 Thread 网络分离。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadDetachGracefully
otError otThreadDetachGracefully( otInstance *aInstance, otDetachGracefullyCallback aCallback, void *aContext )
通知网络中的其他节点(如果有),然后停止 Thread 协议操作。
如果是路由器,则发送地址释放;如果是子级,则将其子节点超时设为 0。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otThreadDeviceRoleToString
const char * otThreadDeviceRoleToString( otDeviceRole aRole )
将设备角色转换为人类可读的字符串。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 一个表示  aRole的字符串。 | ||
otThreadDiscover
otError otThreadDiscover( otInstance *aInstance, uint32_t aScanChannels, uint16_t aPanId, bool aJoiner, bool aEnableEui64Filtering, otHandleActiveScanResult aCallback, void *aCallbackContext )
启动 Thread Discovery 扫描。
| 具体说明 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||||||||||
| 返回值 | 
 | ||||||||||||||
otThreadGetChildTimeout
uint32_t otThreadGetChildTimeout( otInstance *aInstance )
获取以 Child 角色执行操作时使用的 Thread Child Timeout(以秒为单位)。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | Thread Child Timeout 值(以秒为单位)。 | ||
otThreadSetChildTimeout
otThreadGetDeviceRole
otDeviceRole otThreadGetDeviceRole( otInstance *aInstance )
获取设备角色。
| 具体说明 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||||||
| 返回值 | 
 | ||||||||||
otThreadGetDomainName
const char * otThreadGetDomainName( otInstance *aInstance )
otThreadGetExtendedPanId
const otExtendedPanId * otThreadGetExtendedPanId( otInstance *aInstance )
获取 IEEE 802.15.4 扩展 PAN ID。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 指向 IEEE 802.15.4 扩展 PAN ID 的指针。 | ||
otThreadSetExtendedPanId
otThreadGetFixedDuaInterfaceIdentifier
const otIp6InterfaceIdentifier * otThreadGetFixedDuaInterfaceIdentifier( otInstance *aInstance )
获取为线程网域 Unicast 地址手动指定的接口标识符。
启用 OPENTHREAD_CONFIG_DUA_ENABLE 后可用。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 指向手动设置的接口标识符的指针,如果未设置,则为 NULL。 | ||
otThreadSetFixedDuaInterfaceIdentifier
otThreadGetIp6Counters
const otIpCounters * otThreadGetIp6Counters( otInstance *aInstance )
获取 IPv6 计数器。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 指向 IPv6 计数器的指针。 | ||
otThreadGetKeySequenceCounter
uint32_t otThreadGetKeySequenceCounter( otInstance *aInstance )
获取 thrKeySequenceCounter。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | thrKeySequenceCounter 值。 | ||
otThreadSetKeySequenceCounter
otThreadGetKeySwitchGuardTime
uint32_t otThreadGetKeySwitchGuardTime( otInstance *aInstance )
获取 thrKeySwitchGuardTime(以小时为单位)。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | thrKeySwitchGuardTime 值(以小时为单位)。 | ||
otThreadSetKeySwitchGuardTime
otThreadGetLeaderData
otError otThreadGetLeaderData( otInstance *aInstance, otLeaderData *aLeaderData )
获取线程主管数据。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadGetLeaderRloc
otError otThreadGetLeaderRloc( otInstance *aInstance, otIp6Address *aLeaderRloc )
返回指向主管的 RLOC 的指针。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otThreadGetLeaderRouterId
uint8_t otThreadGetLeaderRouterId( otInstance *aInstance )
获取主管的路由器 ID。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 领导者的路由器 ID。 | ||
otThreadGetLeaderWeight
uint8_t otThreadGetLeaderWeight( otInstance *aInstance )
获取队长的体重。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 队长的体重。 | ||
otThreadGetLinkLocalAllThreadNodesMulticastAddress
const otIp6Address * otThreadGetLinkLocalAllThreadNodesMulticastAddress( otInstance *aInstance )
获取 Thread Link-Local 所有线程节点的多播地址。
该地址是链路本地基于 Unicast 前缀的多播地址 [RFC 3306],具有:
- flgs 设置为 3(P = 1 且 T = 1)
- scop 设置为 2
- plen 设置为 64
- 网络前缀设置为网状网本地前缀
- 群组 ID 设为 1
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 指向线程链路本地所有线程节点多播地址的指针。 | ||
otThreadGetLinkLocalIp6Address
const otIp6Address * otThreadGetLinkLocalIp6Address( otInstance *aInstance )
获取 Thread 链路本地 IPv6 地址。
线程链接本地地址使用 IEEE802.15.4 扩展地址作为接口标识符派生。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 指向 Thread 链路本地 IPv6 地址的指针。 | ||
otThreadGetLinkMode
otLinkModeConfig otThreadGetLinkMode( otInstance *aInstance )
获取 MLE 链接模式配置。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | MLE 链接模式配置。 | ||
otThreadSetLinkMode
otThreadGetMaxTimeInQueue
uint32_t otThreadGetMaxTimeInQueue( otInstance *aInstance )
获取 TX 队列中消息的最长排队时间。
需要 OPENTHREAD_CONFIG_TX_QUEUE_STATISTICS_ENABLE。
排队时间仅针对直接传输进行跟踪,并测量为从消息添加到传输队列到消息传递到 MAC 层进行传输或丢弃的时长。
可以通过调用 otThreadResetTimeInQueueStat() 重置收集的统计信息。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | (目前为止)TX 队列中所有消息的排队时间上限(以毫秒为单位)。 | ||
otThreadGetMeshLocalEid
const otIp6Address * otThreadGetMeshLocalEid( otInstance *aInstance )
获取网格本地 EID 地址。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 指向网格本地 EID 地址的指针。 | ||
otThreadGetMeshLocalPrefix
const otMeshLocalPrefix * otThreadGetMeshLocalPrefix( otInstance *aInstance )
返回指向网格本地前缀的指针。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 指向网格本地前缀的指针。 | ||
otThreadGetMleCounters
const otMleCounters * otThreadGetMleCounters( otInstance *aInstance )
获取 Thread MLE 计数器。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 指向 Thread MLE 计数器的指针。 | ||
otThreadGetNetworkKey
void otThreadGetNetworkKey( otInstance *aInstance, otNetworkKey *aNetworkKey )
获取 Thread 网络密钥。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otThreadSetNetworkKey
otThreadGetNetworkKeyRef
otNetworkKeyRef otThreadGetNetworkKeyRef( otInstance *aInstance )
获取 Thread 网络密钥的 otNetworkKeyRef。
需要启用构建时功能 OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 对存储在内存中的 Thread 网络键的引用。 | ||
otThreadSetNetworkKeyRef
otThreadGetNetworkName
const char * otThreadGetNetworkName( otInstance *aInstance )
获取 Thread 网络名称。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 指向线程网络名称的指针。 | ||
otThreadSetNetworkName
otThreadGetNextDiagnosticTlv
otError otThreadGetNextDiagnosticTlv( const otMessage *aMessage, otNetworkDiagIterator *aIterator, otNetworkDiagTlv *aNetworkDiagTlv )
获取消息中的下一个网络诊断 TLV。
需要 OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE。
仅当当前返回值为 OT_ERROR_NONE 时,才允许后续调用此函数。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otThreadGetNextNeighborInfo
otError otThreadGetNextNeighborInfo( otInstance *aInstance, otNeighborInfoIterator *aIterator, otNeighborInfo *aInfo )
获取下一个相邻项信息。
它用于遍历相邻表的条目。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otThreadGetParentAverageRssi
otError otThreadGetParentAverageRssi( otInstance *aInstance, int8_t *aParentRssi )
该函数会检索线程父级的平均 RSSI。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otThreadGetParentInfo
otError otThreadGetParentInfo( otInstance *aInstance, otRouterInfo *aParentInfo )
函数检索作为父级的线程路由器的诊断信息。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otThreadGetParentLastRssi
otError otThreadGetParentLastRssi( otInstance *aInstance, int8_t *aLastRssi )
该函数会从线程父级检索最后一个数据包的 RSSI。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otThreadGetPartitionId
uint32_t otThreadGetPartitionId( otInstance *aInstance )
获取分区 ID。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 分区 ID。 | ||
otThreadGetRealmLocalAllThreadNodesMulticastAddress
const otIp6Address * otThreadGetRealmLocalAllThreadNodesMulticastAddress( otInstance *aInstance )
获取 Thread Realm-Local 所有线程节点的多播地址。
该地址是基于领域本地的基于 Unicast 前缀的多播地址 [RFC 3306],具有:
- flgs 设置为 3(P = 1 且 T = 1)
- scop 设置为 3
- plen 设置为 64
- 网络前缀设置为网状网本地前缀
- 群组 ID 设为 1
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 指向 Thread Realm-Local 所有线程节点多播地址的指针。 | ||
otThreadGetRloc
const otIp6Address * otThreadGetRloc( otInstance *aInstance )
获取线程路由定位器 (RLOC) 地址。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 指向线程路由定位器 (RLOC) 地址的指针。 | ||
otThreadGetRloc16
uint16_t otThreadGetRloc16( otInstance *aInstance )
获取 RLOC16。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | RLOC16。 | ||
otThreadGetServiceAloc
otError otThreadGetServiceAloc( otInstance *aInstance, uint8_t aServiceId, otIp6Address *aServiceAloc )
检索指定服务 ID 的服务 ALOC。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otThreadGetTimeInQueueHistogram
const uint32_t * otThreadGetTimeInQueueHistogram( otInstance *aInstance, uint16_t *aNumBins, uint32_t *aBinInterval )
获取 TX 队列中消息的排队时间直方图。
需要 OPENTHREAD_CONFIG_TX_QUEUE_STATISTICS_ENABLE。
收集传输队列中消息的排队时间直方图。排队时间仅针对直接传输进行跟踪,并测量为从消息添加到传输队列到消息传递到 MAC 层进行传输或丢弃的时长。
直方图以包含 aNumBins 个条目的 uint32_t 值数组返回。数组中的第一个条目(位于索引 0 处)表示排队时间小于 aBinInterval 的消息数量。第二个条目表示排队时间大于或等于 aBinInterval 但小于 2 * aBinInterval 的消息数量。等等。 最后一个条目表示排队时间大于或等于 (aNumBins - 1) * aBinInterval 的消息数量。
可以通过调用 otThreadResetTimeInQueueStat() 重置收集的统计信息。自初始化 OpenThread 实例或上次通过调用 otThreadResetTimeInQueueStat() 重置统计信息收集后,系统会收集直方图信息。
指针 aNumBins 和 aBinInterval 不得为 NULL。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 指向  aNumBins条目数组的指针,该条目表示收集到的直方图信息。 | ||||||
otThreadGetVendorModel
const char * otThreadGetVendorModel( otInstance *aInstance )
获取供应商模型字符串。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 供应商模型字符串。 | ||
otThreadGetVendorName
const char * otThreadGetVendorName( otInstance *aInstance )
获取供应商名称字符串。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 供应商名称字符串。 | ||
otThreadGetVendorSwVersion
const char * otThreadGetVendorSwVersion( otInstance *aInstance )
获取供应商 sw 版本字符串。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 供应商 sw 版本字符串。 | ||
otThreadGetVersion
uint16_t otThreadGetVersion( void )
获取 Thread 协议版本。
| 具体说明 | |
|---|---|
| 返回值 | Thread 协议版本 | 
otThreadIsAnycastLocateInProgress
bool otThreadIsAnycastLocateInProgress( otInstance *aInstance )
指示任播定位请求当前是否正在进行。
仅当启用 OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE 时可用。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 如果当前正在进行任播定位请求,则为 TRUE,否则为 FALSE。 | ||
otThreadIsDiscoverInProgress
bool otThreadIsDiscoverInProgress( otInstance *aInstance )
确定 MLE 线程发现当前正在进行中。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
otThreadIsSingleton
bool otThreadIsSingleton( otInstance *aInstance )
指示节点是否是网络中唯一的路由器。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadLocateAnycastDestination
otError otThreadLocateAnycastDestination( otInstance *aInstance, const otIp6Address *aAnycastAddress, otThreadAnycastLocatorCallback aCallback, void *aContext )
请求要定位的给定任播地址的最近目的地。
仅当启用 OPENTHREAD_CONFIG_TMF_ANYCAST_LOCATOR_ENABLE 时可用。
如果上一个请求仍在进行,对此函数的后续调用将取消并替换之前的请求。
| 具体说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||||
| 返回值 | 
 | ||||||||
otThreadRegisterParentResponseCallback
void otThreadRegisterParentResponseCallback( otInstance *aInstance, otThreadParentResponseCallback aCallback, void *aContext )
注册一个回调,以接收 MLE 父级响应数据。
需要 OPENTHREAD_CONFIG_MLE_PARENT_RESPONSE_CALLBACK_API_ENABLE。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
otThreadResetIp6Counters
void otThreadResetIp6Counters( otInstance *aInstance )
重置 IPv6 计数器。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
otThreadResetMleCounters
void otThreadResetMleCounters( otInstance *aInstance )
重置 Thread MLE 计数器。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
otThreadResetTimeInQueueStat
void otThreadResetTimeInQueueStat( otInstance *aInstance )
重置 TX 队列排队时间统计信息。
需要 OPENTHREAD_CONFIG_TX_QUEUE_STATISTICS_ENABLE。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
otThreadSearchForBetterParent
otError otThreadSearchForBetterParent( otInstance *aInstance )
启动以下过程:子级搜索更好的父级,同时保持与其当前的父级保持连接。
当设备作为儿童连接时,必须使用。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 返回值 | 
 | ||||
otThreadSendAddressNotification
void otThreadSendAddressNotification( otInstance *aInstance, otIp6Address *aDestination, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid )
发送主动地址通知 (ADDR_NTF.ntf) 消息。
仅当启用 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 时可用。
| 具体说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||||
otThreadSendDiagnosticGet
otError otThreadSendDiagnosticGet( otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount, otReceiveDiagnosticGetCallback aCallback, void *aCallbackContext )
发送网络诊断获取请求。
需要 OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE。
| 具体说明 | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||||||||
| 返回值 | 
 | ||||||||||||
otThreadSendDiagnosticReset
otError otThreadSendDiagnosticReset( otInstance *aInstance, const otIp6Address *aDestination, const uint8_t aTlvTypes[], uint8_t aCount )
发送网络诊断重置请求。
需要 OPENTHREAD_CONFIG_TMF_NETDIAG_CLIENT_ENABLE。
| 具体说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||||
| 返回值 | 
 | ||||||||
otThreadSendProactiveBackboneNotification
otError otThreadSendProactiveBackboneNotification( otInstance *aInstance, otIp6Address *aTarget, otIp6InterfaceIdentifier *aMlIid, uint32_t aTimeSinceLastTransaction )
在骨干链路上发送主动骨干通知 (PRO_BB.ntf) 消息。
仅当启用 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 时可用。
| 具体说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||||
| 返回值 | 
 | ||||||||
otThreadSetChildTimeout
void otThreadSetChildTimeout( otInstance *aInstance, uint32_t aTimeout )
设置以子角色执行操作时使用的线程子超时(以秒为单位)。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otThreadGetChildTimeout
otThreadSetDiscoveryRequestCallback
void otThreadSetDiscoveryRequestCallback( otInstance *aInstance, otThreadDiscoveryRequestCallback aCallback, void *aContext )
设置回调以接收 MLE 发现请求数据。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
otThreadSetDomainName
otError otThreadSetDomainName( otInstance *aInstance, const char *aDomainName )
设置线程域名。
只有在停用 Thread 协议时才会成功。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadGetDomainName
otThreadSetEnabled
otError otThreadSetEnabled( otInstance *aInstance, bool aEnabled )
启动 Thread 协议操作。
调用此函数时,该接口必须处于启动状态。
在 aEnabled 设为 FALSE 的情况下调用此函数会停止任何由 otThreadDetachGracefully() 启动的分离程序。系统会调用其回调。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadSetExtendedPanId
otError otThreadSetExtendedPanId( otInstance *aInstance, const otExtendedPanId *aExtendedPanId )
设置 IEEE 802.15.4 Extended PAN ID。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadGetExtendedPanId
otThreadSetFixedDuaInterfaceIdentifier
otError otThreadSetFixedDuaInterfaceIdentifier( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
设置或清除为线程网域 Unicast 地址手动指定的接口标识符。
启用 OPENTHREAD_CONFIG_DUA_ENABLE 后可用。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadGetFixedDuaInterfaceIdentifier
otThreadSetJoinerAdvertisement
otError otThreadSetJoinerAdvertisement( otInstance *aInstance, uint32_t aOui, const uint8_t *aAdvData, uint8_t aAdvDataLength )
设置发现 Thread 网络时的线程连接程序通告。
通过 Thread 联接器通告可让联接器通过新提议的联接器通告 TLV 通告自己的应用特定信息(例如供应商 ID、产品 ID、判别器等),并且无需人为干预即可向委员或委员候选人提供这些信息。
| 具体说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||||
| 返回值 | 
 | ||||||||
otThreadSetKeySequenceCounter
void otThreadSetKeySequenceCounter( otInstance *aInstance, uint32_t aKeySequenceCounter )
设置 thrKeySequenceCounter。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otThreadGetKeySequenceCounter
otThreadSetKeySwitchGuardTime
void otThreadSetKeySwitchGuardTime( otInstance *aInstance, uint32_t aKeySwitchGuardTime )
设置 thrKeySwitchGuardTime(以小时为单位)。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otThreadGetKeySwitchGuardTime
otThreadSetLinkMode
otError otThreadSetLinkMode( otInstance *aInstance, otLinkModeConfig aConfig )
设置 MLE 链接模式配置。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadGetLinkMode
otThreadSetMeshLocalPrefix
otError otThreadSetMeshLocalPrefix( otInstance *aInstance, const otMeshLocalPrefix *aMeshLocalPrefix )
设置网格本地前缀。
只有在停用 Thread 协议时才会成功。成功调用此函数会使非易失性内存中的活跃和待处理操作数据集失效。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadSetNetworkKey
otError otThreadSetNetworkKey( otInstance *aInstance, const otNetworkKey *aKey )
设置 Thread 网络密钥。
只有在停用 Thread 协议时才会成功。成功调用此函数会使非易失性内存中的活跃和待处理操作数据集失效。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadGetNetworkKey
otThreadSetNetworkKeyRef
otError otThreadSetNetworkKeyRef( otInstance *aInstance, otNetworkKeyRef aKeyRef )
将 Thread 网络键设置为 otNetworkKeyRef。
只有在停用 Thread 协议时才会成功。成功调用此函数会使非易失性内存中的活跃和待处理操作数据集失效。
需要启用构建时功能 OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadGetNetworkKeyRef
otThreadSetNetworkName
otError otThreadSetNetworkName( otInstance *aInstance, const char *aNetworkName )
设置 Thread 网络名称。
只有在停用 Thread 协议时才会成功。成功调用此函数会使非易失性内存中的活跃和待处理操作数据集失效。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadGetNetworkName
otThreadSetVendorModel
otError otThreadSetVendorModel( otInstance *aInstance, const char *aVendorModel )
设置供应商模型字符串。
需要 OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE。
“aVendorModel”应采用 UTF8 编码格式,长度上限为 32 个字符 (MAX_VENDOR_MODEL_TLV_LENGTH)。长度上限不包括空的 \0 字符。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadSetVendorName
otError otThreadSetVendorName( otInstance *aInstance, const char *aVendorName )
设置供应商名称字符串。
需要 OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE。
“aVendorName”应采用 UTF8 编码格式,长度上限为 32 个字符 (MAX_VENDOR_NAME_TLV_LENGTH)。长度上限不包括空的 \0 字符。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otThreadSetVendorSwVersion
otError otThreadSetVendorSwVersion( otInstance *aInstance, const char *aVendorSwVersion )
设置供应商软件版本字符串。
需要 OPENTHREAD_CONFIG_NET_DIAG_VENDOR_INFO_SET_API_ENABLE。
“aVendorSwVersion”应采用 UTF8 编码格式,长度上限为 16 个字符(MAX_VENDOR_SW_VERSION_TLV_LENGTH)。长度上限不包括空的 \0 字符。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
宏
OT_DURATION_STRING_SIZE
OT_DURATION_STRING_SIZE 21
uint32_t 时长的字符串表示形式(以秒为单位)的建议大小。
OT_JOINER_ADVDATA_MAX_LENGTH
OT_JOINER_ADVDATA_MAX_LENGTH 64
联接器通告的 AdvData 长度上限。
OT_NEIGHBOR_INFO_ITERATOR_INIT
OT_NEIGHBOR_INFO_ITERATOR_INIT 0
otNeighborInfoIterator 的初始化程序。
OT_NETWORK_BASE_TLV_MAX_LENGTH
OT_NETWORK_BASE_TLV_MAX_LENGTH 254
线程基 TLV 的最大值长度。
OT_NETWORK_DATA_ITERATOR_INIT
OT_NETWORK_DATA_ITERATOR_INIT 0
用于初始化 otNetworkDataIterator 的值。
OT_NETWORK_DIAGNOSTIC_CHILD_TABLE_ENTRY_SIZE
OT_NETWORK_DIAGNOSTIC_CHILD_TABLE_ENTRY_SIZE 3
网络诊断子表条目的大小。
OT_NETWORK_DIAGNOSTIC_ITERATOR_INIT
OT_NETWORK_DIAGNOSTIC_ITERATOR_INIT 0
otNetworkDiagIterator 的初始化程序。
OT_NETWORK_DIAGNOSTIC_MAX_THREAD_STACK_VERSION_TLV_LENGTH
OT_NETWORK_DIAGNOSTIC_MAX_THREAD_STACK_VERSION_TLV_LENGTH 64
线程堆栈版本 TLV 的最大长度。
OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_MODEL_TLV_LENGTH
OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_MODEL_TLV_LENGTH 32
供应商模型 TLV 的最大长度。
OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_NAME_TLV_LENGTH
OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_NAME_TLV_LENGTH 32
供应商名称 TLV 的最大长度。
OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_SW_VERSION_TLV_LENGTH
OT_NETWORK_DIAGNOSTIC_MAX_VENDOR_SW_VERSION_TLV_LENGTH 16
供应商软件版本 TLV 的最大长度。
OT_NETWORK_DIAGNOSTIC_TYPELIST_MAX_ENTRIES
OT_NETWORK_DIAGNOSTIC_TYPELIST_MAX_ENTRIES 19
要请求或重置的网络诊断 TLV 类型的数量上限。
OT_NETWORK_MAX_ROUTER_ID
OT_NETWORK_MAX_ROUTER_ID 62
最大路由器 ID。
OT_SERVER_DATA_MAX_SIZE
OT_SERVER_DATA_MAX_SIZE 248
服务器数据的大小上限(以字节为单位)。理论上的限值,实际上要低得多。
OT_SERVICE_DATA_MAX_SIZE
OT_SERVICE_DATA_MAX_SIZE 252
服务数据的大小上限(以字节为单位)。
资源
OpenThread API 参考文档源自 GitHub 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源。