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
获取“主管”角色中使用的 CONTEXT_ID_REUSE_DELAY 参数。
otThreadGetJoinerUdpPort(otInstance *aInstance)
uint16_t
获取联接 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

正在移除一个路由器。

类型定义符

otCacheEntryInfo

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
话题已停用。

oThreadThreadRoute 变为

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
)

获取“主管”角色中使用的 CONTEXT_ID_REUSE_DELAY 参数。

详细信息
参数
[in] aInstance
指向 OpenThread 实例的指针。
返回值
CONTEXT_ID_REUSE_DELAY 值。
另请参阅
otThreadSetContextIdReuseDelay

otThreadGetJoinerUdpPort

uint16_t otThreadGetJoinerUdpPort(
  otInstance *aInstance
)

获取联接 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 的指针,用于返回检索到的线程 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 地址数量上限。

详细信息
参数
[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,随后添加到当前方向转向数据/Bloom 过滤器。

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