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

路由器/领导者

此模块包含线程路由器和主要任务的函数。

总结

枚举

otCacheEntryState 枚举
此枚举定义了 EID 缓存条目状态。
otNeighborTableEvent{
  OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED,
  OT_NEIGHBOR_TABLE_EVENT_CHILD_REMOVED,
  OT_NEIGHBOR_TABLE_EVENT_CHILD_MODE_CHANGED,
  OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED,
  OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED
}
枚举
此枚举定义了 otNeighborTableCallback 中用于指示邻居表中的更改的常量。

类型定义符

otCacheEntryInfo typedef
该结构表示 EID 缓存条目。
otCacheEntryIterator typedef
此类型表示用于迭代 EID 缓存表条目的迭代器。
otCacheEntryState typedef
此枚举定义了 EID 缓存条目状态。
otChildIp6AddressIterator typedef
uint16_t
用于遍历线程子条目的 IPv6 地址。
otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo) typedef
void(*
系统会调用此函数指针来通知邻居表中发生了更改。

函数

otThreadBecomeLeader(otInstance *aInstance)
成为主要副本,并开始新的分区。
otThreadBecomeRouter(otInstance *aInstance)
尝试成为路由器。
otThreadGetChildInfoById(otInstance *aInstance, uint16_t aChildId, otChildInfo *aChildInfo)
根据所关联子项的子 ID 或 RLOC16 获取诊断信息。
otThreadGetChildInfoByIndex(otInstance *aInstance, uint16_t aChildIndex, otChildInfo *aChildInfo)
该函数通过内部表索引保留附加的子项的诊断信息。
otThreadGetChildNextIp6Address(otInstance *aInstance, uint16_t aChildIndex, otChildIp6AddressIterator *aIterator, otIp6Address *aAddress)
此函数可获取给定子节点的下一个 IPv6 地址(使用迭代器)。
otThreadGetContextIdReuseDelay(otInstance *aInstance)
uint32_t
获取 Leader 角色中使用的 CONTEXT_ID_REUSE_DELAY 参数。
otThreadGetJoinerUdpPort(otInstance *aInstance)
uint16_t
获取 Joiner UDP 端口。
otThreadGetLocalLeaderWeight(otInstance *aInstance)
uint8_t
获取在担任“领导者”角色时使用的线程主要权重。
otThreadGetMaxAllowedChildren(otInstance *aInstance)
uint16_t
获取当前允许的子项数上限。
otThreadGetMaxChildIpAddresses(otInstance *aInstance)
uint8_t
获取每个 MTD 子项可在此设备上作为父项注册的最大 IP 地址。
otThreadGetMaxRouterId(otInstance *aInstance)
uint8_t
该函数会返回允许的最大路由器 ID。
otThreadGetNetworkIdTimeout(otInstance *aInstance)
uint8_t
获取路由器角色中使用的 NETWORK_ID_TIMEOUT 参数。
otThreadGetNextCacheEntry(otInstance *aInstance, otCacheEntryInfo *aEntryInfo, otCacheEntryIterator *aIterator)
此函数会获取下一个 EID 缓存条目(使用迭代器)。
otThreadGetParentPriority(otInstance *aInstance)
int8_t
获取分配的父级优先级。
otThreadGetPreferredLeaderPartitionId(otInstance *aInstance)
uint32_t
获取在担任“领导者”角色时使用的首选线程主管分区 ID。
otThreadGetPskc(otInstance *aInstance, otPskc *aPskc)
void
获取线程 PSKc。
otThreadGetPskcRef(otInstance *aInstance)
获取存储的线程 PSKc 的密钥引用。
otThreadGetRouterDowngradeThreshold(otInstance *aInstance)
uint8_t
获取路由器角色中使用的 ROUTER_DOWNGrade_THRESHOLD 参数。
otThreadGetRouterIdRange(otInstance *aInstance, uint8_t *aMinRouterId, uint8_t *aMaxRouterId)
void
此函数会获取获准分配给线程网络中的节点的路由器 ID 范围。
otThreadGetRouterIdSequence(otInstance *aInstance)
uint8_t
获取当前的路由器 ID 序列。
otThreadGetRouterInfo(otInstance *aInstance, uint16_t aRouterId, otRouterInfo *aRouterInfo)
该函数会保留给定线程路由器的诊断信息。
otThreadGetRouterSelectionJitter(otInstance *aInstance)
uint8_t
获取 REED/Router 角色中使用的 ROUTER_SELECTION_JITTER 参数。
otThreadGetRouterUpgradeThreshold(otInstance *aInstance)
uint8_t
获取 REED 角色中使用的 ROUTER_UPGrade_THRESHOLD 参数。
otThreadIsRouterEligible(otInstance *aInstance)
bool
此方法可指明设备是否符合路由器条件。
otThreadRegisterNeighborTableCallback(otInstance *aInstance, otNeighborTableCallback aCallback)
void
此函数会注册一个邻域表回调函数。
otThreadReleaseRouterId(otInstance *aInstance, uint8_t aRouterId)
释放设备在主要角色中分配的路由器 ID。
otThreadSetCcmEnabled(otInstance *aInstance, bool aEnabled)
void
此函数可设置是否使用 CCM 对设备进行调试。
otThreadSetContextIdReuseDelay(otInstance *aInstance, uint32_t aDelay)
void
设置“主要”角色中使用的 CONTEXT_ID_REUSE_DELAY 参数。
otThreadSetJoinerUdpPort(otInstance *aInstance, uint16_t aJoinerUdpPort)
设置联接器 UDP 端口。
otThreadSetLocalLeaderWeight(otInstance *aInstance, uint8_t aWeight)
void
设置在担任“领导者”角色时使用的线程主要权重。
otThreadSetMaxAllowedChildren(otInstance *aInstance, uint16_t aMaxChildren)
设置当前允许的子项数上限。
otThreadSetMaxChildIpAddresses(otInstance *aInstance, uint8_t aMaxIpAddresses)
设置或恢复每个 MTD 子项可在此设备上作为父项注册的 IP 地址数上限。
otThreadSetNetworkIdTimeout(otInstance *aInstance, uint8_t aTimeout)
void
设置主要角色所用的 NETWORK_ID_TIMEOUT 参数。
otThreadSetParentPriority(otInstance *aInstance, int8_t aParentPriority)
设置父级优先级。
otThreadSetPreferredLeaderPartitionId(otInstance *aInstance, uint32_t aPartitionId)
void
设置在主要角色操作时使用的首选线程主要分区 ID。
otThreadSetPreferredRouterId(otInstance *aInstance, uint8_t aRouterId)
设置首选路由器 ID。
otThreadSetPskc(otInstance *aInstance, const otPskc *aPskc)
设置线程 PSKc。
otThreadSetPskcRef(otInstance *aInstance, otPskcRef aKeyRef)
设置线程 PSKc。
otThreadSetRouterDowngradeThreshold(otInstance *aInstance, uint8_t aThreshold)
void
设置主要角色使用的 ROUTER_DOWNGrade_THRESHOLD 参数。
otThreadSetRouterEligible(otInstance *aInstance, bool aEligible)
此函数设置设备是否符合路由器条件。
otThreadSetRouterIdRange(otInstance *aInstance, uint8_t aMinRouterId, uint8_t aMaxRouterId)
此函数可设置允许分配给线程网络中的节点的路由器 ID 范围。
otThreadSetRouterSelectionJitter(otInstance *aInstance, uint8_t aRouterJitter)
void
设置 REED/Router 角色中使用的 ROUTER_SELECTION_JITTER 参数。
otThreadSetRouterUpgradeThreshold(otInstance *aInstance, uint8_t aThreshold)
void
设置主要角色使用的 ROUTER_UPGrade_THRESHOLD 参数。
otThreadSetSteeringData(otInstance *aInstance, const otExtAddress *aExtAddress)
void
设置带外转向数据。
otThreadSetThreadVersionCheckEnabled(otInstance *aInstance, bool aEnabled)
void
此函数可设置是否启用用于路由的安全政策 TLV 版本阈值(VR 字段)。

结构体

otCacheEntryInfo

该结构表示 EID 缓存条目。

otCacheEntryIterator

此类型表示用于迭代 EID 缓存表条目的迭代器。

otChildInfo

此结构包含线程子项的诊断信息。

otNeighborTableEntryInfo

此类型表示邻域表条目信息(子节点或路由器),并在邻域表回调 otNeighborTableCallback 中用作参数。

枚举

otCacheEntryState

 otCacheEntryState

此枚举定义了 EID 缓存条目状态。

otNeighborTableEvent

 otNeighborTableEvent

此枚举定义了 otNeighborTableCallback 中用于指示邻居表中的更改的常量。

属性
OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED

正在添加儿童。

OT_NEIGHBOR_TABLE_EVENT_CHILD_MODE_CHANGED

现有儿童模式已更改。

OT_NEIGHBOR_TABLE_EVENT_CHILD_REMOVED

正在移除儿童。

OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED

正在添加路由器。

OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED

正在移除路由器。

类型定义符

oCacheCacheEntryInfo

struct otCacheEntryInfo otCacheEntryInfo

该结构表示 EID 缓存条目。

otCacheEntryIterator

struct otCacheEntryIterator otCacheEntryIterator

此类型表示用于迭代 EID 缓存表条目的迭代器。

要初始化迭代器并从缓存表的第一个条目开始,请将结构中的所有字段设置为零(例如,memset 迭代器归零)。

otCacheEntryState

enum otCacheEntryState otCacheEntryState

此枚举定义了 EID 缓存条目状态。

otChildIp6AddressIterator

uint16_t otChildIp6AddressIterator

用于遍历线程子条目的 IPv6 地址。

otNeighborTableCallback

void(* otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo)

系统会调用此函数指针来通知邻居表中发生了更改。

详情
参数
[in] aEvent
事件标志。
[in] aEntryInfo
指向表条目信息的指针。

函数

oThreadThreadLeader

otError otThreadBecomeLeader(
  otInstance *aInstance
)

成为主要副本,并开始新的分区。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
OT_ERROR_NONE
已成功成为领先变体并启动了新的分区。
OT_ERROR_INVALID_STATE
会话已停用。

oThreadThreadRouter

otError otThreadBecomeRouter(
  otInstance *aInstance
)

尝试成为路由器。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
OT_ERROR_NONE
已成功开始尝试成为路由器。
OT_ERROR_INVALID_STATE
会话已停用。

otThreadGetChildInfoById

otError otThreadGetChildInfoById(
  otInstance *aInstance,
  uint16_t aChildId,
  otChildInfo *aChildInfo
)

根据所关联子项的子 ID 或 RLOC16 获取诊断信息。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aChildId
关联子项的子 ID 或 RLOC16。
[out] aChildInfo
指向放置子信息的指针。
返回值
OT_ERROR_NONE
已成功使用指定 ID 的信息更新了 aChildInfo
OT_ERROR_NOT_FOUND
没有使用此子 ID 的有效子级。
OT_ERROR_INVALID_ARGS
如果 aChildInfo 为 NULL。

otThreadGetChildInfoByIndex

otError otThreadGetChildInfoByIndex(
  otInstance *aInstance,
  uint16_t aChildIndex,
  otChildInfo *aChildInfo
)

该函数通过内部表索引保留附加的子项的诊断信息。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aChildIndex
表索引。
[out] aChildInfo
指向放置子信息的指针。
返回值
OT_ERROR_NONE
使用给定索引的信息成功更新了 aChildInfo
OT_ERROR_NOT_FOUND
此索引没有有效的子项。
OT_ERROR_INVALID_ARGS
aChildInfo 为 NULL,或 aChildIndex 超出范围(高于表索引的最大值)。
另请参阅
otGetMaxAllowedChildren

otThreadGetChildNextIp6Address

otError otThreadGetChildNextIp6Address(
  otInstance *aInstance,
  uint16_t aChildIndex,
  otChildIp6AddressIterator *aIterator,
  otIp6Address *aAddress
)

此函数可获取给定子节点的下一个 IPv6 地址(使用迭代器)。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aChildIndex
子索引。
[in,out] aIterator
指向迭代器的指针。成功后,迭代器将更新为指向列表中的下一个条目。要获取第一个 IPv6 地址,迭代器应设置为 OT_CHILD_IP6_ADDRESS_ITERATOR_INIT。
[out] aAddress
指向 IPv6 地址的指针,表示放置子节点的下一个地址(如果成功)。
返回值
OT_ERROR_NONE
已成功找到下一个 IPv6 地址(aAddress 已成功更新)。
OT_ERROR_NOT_FOUND
子节点没有后续 IPv6 地址条目。
OT_ERROR_INVALID_ARGS
aIteratoraAddress 为 NULL,或者 aChildIndex 中的子项无效。
另请参阅
otThreadGetChildInfoByIndex

otThreadGetContextIdReuseDelay

uint32_t otThreadGetContextIdReuseDelay(
  otInstance *aInstance
)

获取 Leader 角色中使用的 CONTEXT_ID_REUSE_DELAY 参数。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
CONTEXT_ID_REUSE_DELAY 值。
另请参阅
otThreadSetContextIdReuseDelay

otThreadGetJoinerUdpPort

uint16_t otThreadGetJoinerUdpPort(
  otInstance *aInstance
)

获取 Joiner UDP 端口。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
连接符 UDP 端口号。
另请参阅
otThreadSetJoinerUdpPort

otThreadGetLocalLeaderWeight

uint8_t otThreadGetLocalLeaderWeight(
  otInstance *aInstance
)

获取在担任“领导者”角色时使用的线程主要权重。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
线程主要副本权重值。
另请参阅
otThreadSetLeaderWeight

otThreadGetMaxAllowedChildren

uint16_t otThreadGetMaxAllowedChildren(
  otInstance *aInstance
)

获取当前允许的子项数上限。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
当前允许的子级数量上限。
另请参阅
otThreadSetMaxAllowedChildren

otThreadGetMaxChildIpAddresses

uint8_t otThreadGetMaxChildIpAddresses(
  otInstance *aInstance
)

获取每个 MTD 子项可在此设备上作为父项注册的最大 IP 地址。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
每个 MTD 子项可在此设备上作为父项注册的 IP 地址数上限。
另请参阅
otThreadSetMaxChildIpAddresses

otThreadGetMaxRouterId

uint8_t otThreadGetMaxRouterId(
  otInstance *aInstance
)

该函数会返回允许的最大路由器 ID。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
允许的路由器 ID 上限。

otThreadGetNetworkIdTimeout

uint8_t otThreadGetNetworkIdTimeout(
  otInstance *aInstance
)

获取路由器角色中使用的 NETWORK_ID_TIMEOUT 参数。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
NETWORK_ID_TIMEOUT 值。
另请参阅
otThreadSetNetworkIdTimeout

otThreadGetNextCacheEntry 类

otError otThreadGetNextCacheEntry(
  otInstance *aInstance,
  otCacheEntryInfo *aEntryInfo,
  otCacheEntryIterator *aIterator
)

此函数会获取下一个 EID 缓存条目(使用迭代器)。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[out] aEntryInfo
指向放置 EID 缓存条目信息的指针。
[in,out] aIterator
指向迭代器的指针。成功后,它将更新为指向下一个条目。要获取第一个条目,请通过将迭代器的所有字段设置为零(例如,memset 迭代器结构为零)。
返回值
OT_ERROR_NONE
已为下一个 EID 缓存条目填充 aEntryInfo
OT_ERROR_NOT_FOUND
地址缓存表中没有更多条目了。

otThreadGetParentPriority

int8_t otThreadGetParentPriority(
  otInstance *aInstance
)

获取分配的父级优先级。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
分配的父优先级值,-2 表示未分配。
另请参阅
otThreadSetParentPriority

otThreadGetPreferredLeaderPartitionId

uint32_t otThreadGetPreferredLeaderPartitionId(
  otInstance *aInstance
)

获取在担任“领导者”角色时使用的首选线程主管分区 ID。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
线程主要分区 ID 值。

otThreadGetPskc

void otThreadGetPskc(
  otInstance *aInstance,
  otPskc *aPskc
)

获取线程 PSKc。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[out] aPskc
指向 otPskc 的指针,用于返回检索到的 Thread PSKc。
另请参阅
otThreadSetPskc

otThreadGetPskcRef

otPskcRef otThreadGetPskcRef(
  otInstance *aInstance
)

获取存储的线程 PSKc 的密钥引用。

此函数需要启用构建时功能 OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
对 PSKc 的密钥引用
另请参阅
otThreadSetPskcRef

otThreadGetRouterDowngradeThreshold

uint8_t otThreadGetRouterDowngradeThreshold(
  otInstance *aInstance
)

获取路由器角色中使用的 ROUTER_DOWNGrade_THRESHOLD 参数。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
ROUTER_DOWNGrade_THRESHOLD 值。
另请参阅
otThreadSetRouterDowngradeThreshold

otThreadGetRouterIdRange

void otThreadGetRouterIdRange(
  otInstance *aInstance,
  uint8_t *aMinRouterId,
  uint8_t *aMaxRouterId
)

此函数会获取获准分配给线程网络中的节点的路由器 ID 范围。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[out] aMinRouterId
最小路由器 ID。
[out] aMaxRouterId
最大路由器 ID。
另请参阅
otThreadSetRouterIdRange

otThreadGetRouterIdSequence

uint8_t otThreadGetRouterIdSequence(
  otInstance *aInstance
)

获取当前的路由器 ID 序列。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
路由器 ID 序列。

otThreadGetRouterInfo

otError otThreadGetRouterInfo(
  otInstance *aInstance,
  uint16_t aRouterId,
  otRouterInfo *aRouterInfo
)

该函数会保留给定线程路由器的诊断信息。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aRouterId
给定路由器的路由器 ID 或 RLOC16。
[out] aRouterInfo
指向放置路由器信息的位置的指针。
返回值
OT_ERROR_NONE
已成功检索指定 ID 的路由器信息。
OT_ERROR_NOT_FOUND
没有具有指定 ID 的路由器条目。
OT_ERROR_INVALID_ARGS
aRouterInfo 为 NULL。

otThreadGetRouterSelectionJitter

uint8_t otThreadGetRouterSelectionJitter(
  otInstance *aInstance
)

获取 REED/Router 角色中使用的 ROUTER_SELECTION_JITTER 参数。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
ROUTER_SELECTION_JITTER 值。
另请参阅
otThreadSetRouterSelectionJitter

otThreadGetRouterUpgradeThreshold

uint8_t otThreadGetRouterUpgradeThreshold(
  otInstance *aInstance
)

获取 REED 角色中使用的 ROUTER_UPGrade_THRESHOLD 参数。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
退货
ROUTER_UPGrade_THRESHOLD 值。
另请参阅
otThreadSetRouterUpgradeThreshold

otThreadIsRoutereligible

bool otThreadIsRouterEligible(
  otInstance *aInstance
)

此方法可指明设备是否符合路由器条件。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
TRUE
设备是否符合路由器条件。
FALSE
如果设备不符合使用路由器的条件。

otThreadRegisterNeighborTableCallback

void otThreadRegisterNeighborTableCallback(
  otInstance *aInstance,
  otNeighborTableCallback aCallback
)

此函数会注册一个邻域表回调函数。

当邻居表发生更改(例如,添加/移除子项或路由器相邻条目,或更改现有子项的模式)时,系统将调用所提供的回调(如果为非 NULL)。

对此方法的后续调用将覆盖之前的回调。请注意,在更新相邻表/子表时,且始终在 otStateChangedCallback 之前调用此回调。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aCallback
指向回调处理程序函数的指针。

otThreadReleaseRouterId

otError otThreadReleaseRouterId(
  otInstance *aInstance,
  uint8_t aRouterId
)

释放设备在主要角色中分配的路由器 ID。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aRouterId
要释放的路由器 ID。有效范围为 [0, 62]。
返回值
OT_ERROR_NONE
已成功释放路由器 ID。
OT_ERROR_INVALID_ARGS
aRouterId 不在 [0, 62] 范围内。
OT_ERROR_INVALID_STATE
该设备目前未以主要设备运行。
OT_ERROR_NOT_FOUND
当前未分配路由器 ID。

otThreadSetCcmEnabled

void otThreadSetCcmEnabled(
  otInstance *aInstance,
  bool aEnabled
)

此函数可设置是否使用 CCM 对设备进行调试。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aEnabled
如果设备是使用 CCM 委托的,则为 TRUE;否则为 FALSE。

otThreadSetContextIdReuseDelay

void otThreadSetContextIdReuseDelay(
  otInstance *aInstance,
  uint32_t aDelay
)

设置“主要”角色中使用的 CONTEXT_ID_REUSE_DELAY 参数。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aDelay
CONTEXT_ID_REUSE_DELAY 值。
另请参阅
otThreadGetContextIdReuseDelay

otThreadSetJoinerUdpPort

otError otThreadSetJoinerUdpPort(
  otInstance *aInstance,
  uint16_t aJoinerUdpPort
)

设置联接器 UDP 端口。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aJoinerUdpPort
连接符 UDP 端口号。
返回值
OT_ERROR_NONE
已成功设置 Joiner UDP 端口。
另请参阅
otThreadGetJoinerUdpPort

otThreadSetLocalLeaderWeight

void otThreadSetLocalLeaderWeight(
  otInstance *aInstance,
  uint8_t aWeight
)

设置在担任“领导者”角色时使用的线程主要权重。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aWeight
线程主要副本权重值。
另请参阅
otThreadGetLeaderWeight

otThreadSetMaxAllowedChildren

otError otThreadSetMaxAllowedChildren(
  otInstance *aInstance,
  uint16_t aMaxChildren
)

设置当前允许的子项数上限。

此参数只能在线程协议操作停止时设置。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aMaxChildren
子项数量上限。
返回值
OT_ERROR_NONE
已成功设置
OT_ERROR_INVALID_ARGS
如果 aMaxChildren 不在 [1, OPENTHREAD_CONFIG_MLE_MAX_CHILDREN] 范围内,
OT_ERROR_INVALID_STATE
话题未停止。
另请参阅
otThreadGetMaxAllowedChildren

otThreadSetMaxChildIpAddresses

otError otThreadSetMaxChildIpAddresses(
  otInstance *aInstance,
  uint8_t aMaxIpAddresses
)

设置或恢复每个 MTD 子项可在此设备上作为父项注册的 IP 地址数上限。

传递 0 以清除设置并恢复默认设置。

启用 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 后可用。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aMaxIpAddresses
每个 MTD 子项可在此设备上作为父项注册的 IP 地址数上限。0 可清除设置并恢复默认设置。
返回值
OT_ERROR_NONE
已成功设置/清除电话号码。
OT_ERROR_INVALID_ARGS
如果超过允许的数量上限。
另请参阅
otThreadGetMaxChildIpAddresses

otThreadSetNetworkIdTimeout

void otThreadSetNetworkIdTimeout(
  otInstance *aInstance,
  uint8_t aTimeout
)

设置主要角色所用的 NETWORK_ID_TIMEOUT 参数。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aTimeout
NETWORK_ID_TIMEOUT 值。
另请参阅
otThreadGetNetworkIdTimeout

otThreadSetParentPriority

otError otThreadSetParentPriority(
  otInstance *aInstance,
  int8_t aParentPriority
)

设置父级优先级。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aParentPriority
父级优先级值。
返回值
OT_ERROR_NONE
已成功设置父级优先级。
OT_ERROR_INVALID_ARGS
如果父级优先级值不在 1、0、-1 和 -2 之间。
另请参阅
otThreadGetParentPriority

otThreadSetPreferredLeaderPartitionId

void otThreadSetPreferredLeaderPartitionId(
  otInstance *aInstance,
  uint32_t aPartitionId
)

设置在主要角色操作时使用的首选线程主要分区 ID。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aPartitionId
线程主要分区 ID 值。

otThreadSetPreferredRouterId

otError otThreadSetPreferredRouterId(
  otInstance *aInstance,
  uint8_t aRouterId
)

设置首选路由器 ID。

成为路由器/领导者后,节点会尝试使用此路由器 ID。如果首选路由器 ID 未设置或无法使用,系统会随机选择生成的路由器 ID。只有在设备角色分离或停用时才能设置此属性。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aRouterId
首选路由器 ID。
返回值
OT_ERROR_NONE
已成功设置首选路由器 ID。
OT_ERROR_INVALID_STATE
无法设置(角色未分离或已停用)

otThreadSetPskc

otError otThreadSetPskc(
  otInstance *aInstance,
  const otPskc *aPskc
)

设置线程 PSKc。

只有停用 Thread 协议后,此函数才能成功执行。成功调用此函数还将使非易失性内存中的活跃和待处理操作数据集失效。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aPskc
指向新线程 PSKc 的指针。
返回值
OT_ERROR_NONE
已成功设置线程 PSKc。
OT_ERROR_INVALID_STATE
线程协议已启用。
另请参阅
otThreadGetPskc

otThreadSetPskcRef

otError otThreadSetPskcRef(
  otInstance *aInstance,
  otPskcRef aKeyRef
)

设置线程 PSKc。

此函数需要启用构建时功能 OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE

只有停用 Thread 协议后,此函数才能成功执行。成功调用此函数还将使非易失性内存中的活跃和待处理操作数据集失效。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aKeyRef
对新线程 PSKc 的密钥引用。
返回值
OT_ERROR_NONE
已成功设置线程 PSKc。
OT_ERROR_INVALID_STATE
线程协议已启用。
另请参阅
otThreadGetPskcRef

otThreadSetRouterDowngradeThreshold

void otThreadSetRouterDowngradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

设置主要角色使用的 ROUTER_DOWNGrade_THRESHOLD 参数。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aThreshold
ROUTER_DOWNGrade_THRESHOLD 值。
另请参阅
otThreadGetRouterDowngradeThreshold

otThreadSetRoutereligible

otError otThreadSetRouterEligible(
  otInstance *aInstance,
  bool aEligible
)

此函数设置设备是否符合路由器条件。

如果 aEligible 为 false 并且设备当前作为路由器运行,此调用会导致设备分离并尝试重新连接为子项。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aEligible
如果为 True,则会将设备配置为符合路由器条件,否则为 FALSE。
返回值
OT_ERROR_NONE
已成功设置路由器配置。
OT_ERROR_NOT_CAPABLE
该设备无法成为路由器。

otThreadSetRouterIdRange

otError otThreadSetRouterIdRange(
  otInstance *aInstance,
  uint8_t aMinRouterId,
  uint8_t aMaxRouterId
)

此函数可设置允许分配给线程网络中的节点的路由器 ID 范围。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aMinRouterId
最小路由器 ID。
[in] aMaxRouterId
最大路由器 ID。
返回值
OT_ERROR_NONE
已成功设置范围。
OT_ERROR_INVALID_ARGS
aMinRouterId > aMaxRouterId,或者相应范围不包含 [0, 62]。
另请参阅
otThreadGetRouterIdRange

otThreadSetRouterSelectionJitter

void otThreadSetRouterSelectionJitter(
  otInstance *aInstance,
  uint8_t aRouterJitter
)

设置 REED/Router 角色中使用的 ROUTER_SELECTION_JITTER 参数。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aRouterJitter
ROUTER_SELECTION_JITTER 值。
另请参阅
otThreadGetRouterSelectionJitter

otThreadSetRouterUpgradeThreshold

void otThreadSetRouterUpgradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

设置主要角色使用的 ROUTER_UPGrade_THRESHOLD 参数。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aThreshold
ROUTER_UPGrade_THRESHOLD 值。
另请参阅
otThreadGetRouterUpgradeThreshold

otThreadSetSteeringData

void otThreadSetSteeringData(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

设置带外转向数据。

应设置配置选项 OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE,以启用对带外数据的转向设置。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aExtAddress
用于更新转向数据的地址。全部清除零来清除转向数据(无转向数据)。所有 0xFF 均用于设置转向数据/Bloom 过滤器,以接受/允许全部。特定的 EUI64,然后将其添加到当前转向数据/布隆过滤器。

otThreadSetThreadVersionCheckEnabled

void otThreadSetThreadVersionCheckEnabled(
  otInstance *aInstance,
  bool aEnabled
)

此函数可设置是否启用用于路由的安全政策 TLV 版本阈值(VR 字段)。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[in] aEnabled
如果为 true,则为路由启用安全政策 TLV 版本阈值,否则为 FALSE。

OT_CHILD_IP6_ADDRESS_ITERATOR_INIT

 OT_CHILD_IP6_ADDRESS_ITERATOR_INIT 0

otChildIP6AddressIterator 的初始化程序。

资源

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