路由器/领导者
此模块包含针对 Thread Router 和 Leader 的函数。
摘要
枚举 |
|
---|---|
otCacheEntryState
|
枚举 定义 EID 缓存条目状态。 |
otNeighborTableEvent{
|
枚举 定义 otNeighborTableCallback 中用于表示相邻表中变化的常量。 |
otPowerSupply{
|
枚举 表示设备上的电源属性。 |
类型定义符 |
|
---|---|
otCacheEntryInfo
|
typedefstruct otCacheEntryInfo
表示 EID 缓存条目。 |
otCacheEntryIterator
|
typedefstruct otCacheEntryIterator
表示用于迭代 EID 缓存表条目的迭代器。 |
otCacheEntryState
|
typedefenum otCacheEntryState
定义 EID 缓存条目状态。 |
otChildIp6AddressIterator
|
typedefuint16_t
用于遍历线程子条目的 IPv6 地址。 |
otDeviceProperties
|
typedefstruct otDeviceProperties
表示用于计算设备上的本地主要权重的设备属性。 |
otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo)
|
typedefvoid(*
系统会调用指针来通知相邻表发生了更改。 |
函数 |
|
---|---|
otThreadBecomeLeader(otInstance *aInstance)
|
成为领导者并启动新的分区。
|
otThreadBecomeRouter(otInstance *aInstance)
|
尝试成为路由器。
|
otThreadGetAdvertisementTrickleIntervalMax(otInstance *aInstance)
|
uint32_t
获取广告微妙计时器使用的当前间隔最大值。
|
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 地址(使用迭代器)。
|
otThreadGetChildRouterLinks(otInstance *aInstance)
|
uint8_t
获取在 REED 角色中使用的 MLE_CHILD_ROUTER_LINKS 参数。
|
otThreadGetContextIdReuseDelay(otInstance *aInstance)
|
uint32_t
获取 Leader 角色中使用的 CONTEXT_ID_REUSE_DELAY 参数。
|
otThreadGetDeviceProperties(otInstance *aInstance)
|
const otDeviceProperties *
获取当前设备属性。
|
otThreadGetJoinerUdpPort(otInstance *aInstance)
|
uint16_t
获取联接器 UDP 端口。
|
otThreadGetLocalLeaderWeight(otInstance *aInstance)
|
uint8_t
获取以 Leader 角色执行操作时使用的线程引导加载程序权重。
|
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 缓存条目(使用迭代器)。
|
otThreadGetNextHopAndPathCost(otInstance *aInstance, uint16_t aDestRloc16, uint16_t *aNextHopRloc16, uint8_t *aPathCost)
|
void
获取指向给定 RLOC16 目标的下一个跃点和路径费用。
|
otThreadGetParentPriority(otInstance *aInstance)
|
int8_t
获取已分配的父级优先级。
|
otThreadGetPreferredLeaderPartitionId(otInstance *aInstance)
|
uint32_t
获取以 Leader 角色执行操作时使用的首选 Thread Leader 分区 ID。
|
otThreadGetPskc(otInstance *aInstance, otPskc *aPskc)
|
void
获取线程 PSKc。
|
otThreadGetPskcRef(otInstance *aInstance)
|
获取已存储的线程 PSKc 的键引用。
|
otThreadGetRouterDowngradeThreshold(otInstance *aInstance)
|
uint8_t
获取 Router 角色中使用的 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)
|
该函数会保留给定 Thread Router 的诊断信息。
|
otThreadGetRouterSelectionJitter(otInstance *aInstance)
|
uint8_t
获取用于 REED/Router 角色的 ROUTER_SELECTION_JITTER 参数。
|
otThreadGetRouterUpgradeThreshold(otInstance *aInstance)
|
uint8_t
获取在 REED 角色中使用的 ROUTER_UPGRADE_THRESHOLD 参数。
|
otThreadIsRouterEligible(otInstance *aInstance)
|
bool
指明设备是否支持路由器。
|
otThreadIsRouterIdAllocated(otInstance *aInstance, uint8_t aRouterId)
|
bool
指示当前是否已分配路由器 ID。
|
otThreadRegisterNeighborTableCallback(otInstance *aInstance, otNeighborTableCallback aCallback)
|
void
注册相邻表回调函数。
|
otThreadReleaseRouterId(otInstance *aInstance, uint8_t aRouterId)
|
释放由具有 Leader 角色的设备分配的路由器 ID。
|
otThreadSetCcmEnabled(otInstance *aInstance, bool aEnabled)
|
void
设置设备是否使用 CCM 调试。
|
otThreadSetChildRouterLinks(otInstance *aInstance, uint8_t aChildRouterLinks)
|
设置 REED 角色中使用的 MLE_CHILD_ROUTER_LINKS 参数。
|
otThreadSetContextIdReuseDelay(otInstance *aInstance, uint32_t aDelay)
|
void
设置主管角色中使用的 CONTEXT_ID_REUSE_DELAY 参数。
|
otThreadSetDeviceProperties(otInstance *aInstance, const otDeviceProperties *aDeviceProperties)
|
void
设置设备属性,然后使用这些属性确定和设置主要权重。
|
otThreadSetJoinerUdpPort(otInstance *aInstance, uint16_t aJoinerUdpPort)
|
设置联接器 UDP 端口。
|
otThreadSetLocalLeaderWeight(otInstance *aInstance, uint8_t aWeight)
|
void
设置以 Leader 角色执行操作时使用的线程引导加载程序权重。
|
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
设置以 Leader 角色执行操作时使用的首选 Thread Leader 分区 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
设置 Leader 角色中使用的 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
设置 Leader 角色中使用的 ROUTER_UPGRADE_THRESHOLD 参数。
|
otThreadSetSteeringData(otInstance *aInstance, const otExtAddress *aExtAddress)
|
void
设置带外数据转移。
|
otThreadSetThreadVersionCheckEnabled(otInstance *aInstance, bool aEnabled)
|
void
设置是否启用路由的安全政策 TLV 版本阈值(VR 字段)。
|
结构体 |
|
---|---|
otCacheEntryInfo |
表示 EID 缓存条目。 |
otCacheEntryIterator |
表示用于迭代 EID 缓存表条目的迭代器。 |
otChildInfo |
保存 Thread 子级的诊断信息。 |
otDeviceProperties |
表示用于计算设备上的本地主要权重的设备属性。 |
otNeighborTableEntryInfo |
表示相邻表条目信息(子表或路由器),并用作相邻表回调 |
枚举
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
|
正在移除 1 个孩子。 |
OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED
|
正在添加路由器。 |
OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED
|
正在移除路由器。 |
otPowerSupply
otPowerSupply
表示设备上的电源属性。
此属性在 otDeviceProperties
中用作属性,用于计算领先变体权重。
属性 | |
---|---|
OT_POWER_SUPPLY_BATTERY
|
电池供电。 |
OT_POWER_SUPPLY_EXTERNAL
|
外部供电(电源供电)。 |
OT_POWER_SUPPLY_EXTERNAL_STABLE
|
使用备用电池或 UPS 的稳定外部电源。 |
OT_POWER_SUPPLY_EXTERNAL_UNSTABLE
|
外部电源可能不稳定(例如,通过开关供电的灯泡)。 |
类型定义符
otCacheEntryIterator
struct otCacheEntryIterator otCacheEntryIterator
表示用于迭代 EID 缓存表条目的迭代器。
要初始化迭代器并从缓存表中的第一个条目开始,请将其结构中的所有字段设置为零(例如,使用 memset
将迭代器设为零)。
otChildIp6AddressIterator
uint16_t otChildIp6AddressIterator
用于遍历线程子条目的 IPv6 地址。
otDeviceProperties
struct otDeviceProperties otDeviceProperties
表示用于计算设备上的本地主要权重的设备属性。
这些参数设置依据为设备的功能、是否充当边界路由器、其电源配置等。
mIsUnstable
表示设备的运行稳定性,由供应商专用机制决定。可能包括以下情况:
- 设备内部检测到它丢失外部电源的频率比平时高。通常由供应商决定。
- 设备在内部检测到它重启的频率比平时高。通常由供应商决定。
otNeighborTableCallback
void(* otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo)
系统会调用指针来通知相邻表发生了更改。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
函数
otThreadBecomeLeader
otError otThreadBecomeLeader( otInstance *aInstance )
成为领导者并启动新的分区。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otThreadBecomeRouter
otError otThreadBecomeRouter( otInstance *aInstance )
尝试成为路由器。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otThreadGetAdvertisementTrickleIntervalMax
uint32_t otThreadGetAdvertisementTrickleIntervalMax( otInstance *aInstance )
获取广告微妙计时器使用的当前间隔最大值。
此 API 需要 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
,且仅用于测试。
具体说明 | |
---|---|
返回值 |
广告间隔最大时间间隔计时器(以毫秒为单位)。
|
otThreadGetChildInfoById
otError otThreadGetChildInfoById( otInstance *aInstance, uint16_t aChildId, otChildInfo *aChildInfo )
按子项 ID 或 RLOC16 获取附加子项的诊断信息。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otThreadGetChildInfoByIndex
otError otThreadGetChildInfoByIndex( otInstance *aInstance, uint16_t aChildIndex, otChildInfo *aChildInfo )
该函数按内部表索引保留附加子项的诊断信息。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otGetMaxAllowedChildren
otThreadGetChildNextIp6Address
otError otThreadGetChildNextIp6Address( otInstance *aInstance, uint16_t aChildIndex, otChildIp6AddressIterator *aIterator, otIp6Address *aAddress )
获取指定子项的下一个 IPv6 地址(使用迭代器)。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
otThreadGetChildInfoByIndex
otThreadGetChildRouterLinks
uint8_t otThreadGetChildRouterLinks( otInstance *aInstance )
获取在 REED 角色中使用的 MLE_CHILD_ROUTER_LINKS 参数。
此参数用于指定设备(作为 FED)将尝试与之建立链接的相邻路由器的最大数量。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
MLE_CHILD_ROUTER_LINKS 值。
|
otThreadSetChildRouterLinks
otThreadGetContextIdReuseDelay
uint32_t otThreadGetContextIdReuseDelay( otInstance *aInstance )
获取 Leader 角色中使用的 CONTEXT_ID_REUSE_DELAY 参数。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
CONTEXT_ID_REUSE_DELAY 值。
|
otThreadSetContextIdReuseDelay
otThreadGetDeviceProperties
const otDeviceProperties * otThreadGetDeviceProperties( otInstance *aInstance )
获取当前设备属性。
需要 OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE
。
具体说明 | |
---|---|
返回值 |
设备属性
otDeviceProperties 。 |
otThreadGetJoinerUdpPort
uint16_t otThreadGetJoinerUdpPort( otInstance *aInstance )
获取联接器 UDP 端口。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
联接器 UDP 端口号。
|
otThreadSetJoinerUdpPort
otThreadGetLocalLeaderWeight
uint8_t otThreadGetLocalLeaderWeight( otInstance *aInstance )
获取以 Leader 角色执行操作时使用的线程引导加载程序权重。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
线程主管权重值。
|
otThreadSetLeaderWeight
otThreadSetDeviceProperties
otThreadGetMaxAllowedChildren
uint16_t otThreadGetMaxAllowedChildren( otInstance *aInstance )
获取当前允许的子项数上限。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
目前允许的儿童数量上限。
|
otThreadSetMaxAllowedChildren
otThreadGetMaxChildIpAddresses
uint8_t otThreadGetMaxChildIpAddresses( otInstance *aInstance )
获取每个 MTD 子级可在此设备中注册为父级的 IP 地址数量上限。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
每个 MTD 子级此设备可注册为父级的 IP 地址数量上限。
|
otThreadSetMaxChildIpAddresses
otThreadGetMaxRouterId
uint8_t otThreadGetMaxRouterId( otInstance *aInstance )
该函数会返回允许的最大路由器 ID。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
允许的最大路由器 ID 数。
|
otThreadGetNetworkIdTimeout
uint8_t otThreadGetNetworkIdTimeout( otInstance *aInstance )
获取 NETWORK_ID_TIMEOUT
参数。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
NETWORK_ID_TIMEOUT 值。 |
otThreadSetNetworkIdTimeout
otThreadGetNextCacheEntry
otError otThreadGetNextCacheEntry( otInstance *aInstance, otCacheEntryInfo *aEntryInfo, otCacheEntryIterator *aIterator )
获取下一个 EID 缓存条目(使用迭代器)。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otThreadGetNextHopAndPathCost
void otThreadGetNextHopAndPathCost( otInstance *aInstance, uint16_t aDestRloc16, uint16_t *aNextHopRloc16, uint8_t *aPathCost )
获取指向给定 RLOC16 目标的下一个跃点和路径费用。
可与 aNextHopRloc16
或 aPathCost
为 NULL(表示调用方不想获取值)一起使用。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
otThreadGetParentPriority
int8_t otThreadGetParentPriority( otInstance *aInstance )
获取已分配的父级优先级。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
已分配的父级优先级值,-2 表示未分配。
|
otThreadSetParentPriority
otThreadGetPreferredLeaderPartitionId
uint32_t otThreadGetPreferredLeaderPartitionId( otInstance *aInstance )
获取以 Leader 角色执行操作时使用的首选 Thread Leader 分区 ID。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
Thread Leader 分区 ID 值。
|
otThreadGetPskc
void otThreadGetPskc( otInstance *aInstance, otPskc *aPskc )
获取线程 PSKc。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otThreadSetPskc
otThreadGetPskcRef
otPskcRef otThreadGetPskcRef( otInstance *aInstance )
获取已存储的线程 PSKc 的键引用。
需要启用构建时功能 OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
对 PSKc 的键引用
|
otThreadSetPskcRef
otThreadGetRouterDowngradeThreshold
uint8_t otThreadGetRouterDowngradeThreshold( otInstance *aInstance )
获取 Router 角色中使用的 ROUTER_DOWNGRADE_THRESHOLD 参数。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
ROUTER_DOWNGRADE_THRESHOLD 值。
|
otThreadSetRouterDowngradeThreshold
otThreadGetRouterIdRange
void otThreadGetRouterIdRange( otInstance *aInstance, uint8_t *aMinRouterId, uint8_t *aMaxRouterId )
获取允许分配给线程网络中的节点的路由器 ID 范围。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
otThreadSetRouterIdRange
otThreadGetRouterIdSequence
uint8_t otThreadGetRouterIdSequence( otInstance *aInstance )
获取当前的路由器 ID 序列。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
路由器 ID 序列。
|
otThreadGetRouterInfo
otError otThreadGetRouterInfo( otInstance *aInstance, uint16_t aRouterId, otRouterInfo *aRouterInfo )
该函数会保留给定 Thread Router 的诊断信息。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otThreadGetRouterSelectionJitter
uint8_t otThreadGetRouterSelectionJitter( otInstance *aInstance )
获取用于 REED/Router 角色的 ROUTER_SELECTION_JITTER 参数。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
ROUTER_SELECTION_JITTER 值。
|
otThreadSetRouterSelectionJitter
otThreadGetRouterUpgradeThreshold
uint8_t otThreadGetRouterUpgradeThreshold( otInstance *aInstance )
获取在 REED 角色中使用的 ROUTER_UPGRADE_THRESHOLD 参数。
具体说明 | |||
---|---|---|---|
参数 |
|
||
返回值 |
ROUTER_UPGRADE_THRESHOLD 值。
|
otThreadSetRouterUpgradeThreshold
otThreadIsRouterEligible
bool otThreadIsRouterEligible( otInstance *aInstance )
指明设备是否支持路由器。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otThreadIsRouterIdAllocated
bool otThreadIsRouterIdAllocated( otInstance *aInstance, uint8_t aRouterId )
指示当前是否已分配路由器 ID。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otThreadRegisterNeighborTableCallback
void otThreadRegisterNeighborTableCallback( otInstance *aInstance, otNeighborTableCallback aCallback )
注册相邻表回调函数。
当相邻表发生变化(例如,添加/移除子项或路由器相邻条目,或现有子项的模式发生更改)时,系统将调用提供的回调函数(如果非 NULL)。
对此方法的后续调用将覆盖之前的回调。请注意,此回调函数在相邻表/子表更新期间调用,并始终在 otStateChangedCallback
之前调用。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otThreadReleaseRouterId
otError otThreadReleaseRouterId( otInstance *aInstance, uint8_t aRouterId )
释放由具有 Leader 角色的设备分配的路由器 ID。
具体说明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
otThreadSetCcmEnabled
void otThreadSetCcmEnabled( otInstance *aInstance, bool aEnabled )
设置设备是否使用 CCM 调试。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otThreadSetChildRouterLinks
otError otThreadSetChildRouterLinks( otInstance *aInstance, uint8_t aChildRouterLinks )
设置 REED 角色中使用的 MLE_CHILD_ROUTER_LINKS 参数。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otThreadGetChildRouterLinks
otThreadSetContextIdReuseDelay
void otThreadSetContextIdReuseDelay( otInstance *aInstance, uint32_t aDelay )
设置主管角色中使用的 CONTEXT_ID_REUSE_DELAY 参数。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otThreadGetContextIdReuseDelay
otThreadSetDeviceProperties
void otThreadSetDeviceProperties( otInstance *aInstance, const otDeviceProperties *aDeviceProperties )
设置设备属性,然后使用这些属性确定和设置主要权重。
需要 OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE
。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otThreadSetJoinerUdpPort
otError otThreadSetJoinerUdpPort( otInstance *aInstance, uint16_t aJoinerUdpPort )
设置联接器 UDP 端口。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otThreadGetJoinerUdpPort
otThreadSetLocalLeaderWeight
void otThreadSetLocalLeaderWeight( otInstance *aInstance, uint8_t aWeight )
设置以 Leader 角色执行操作时使用的线程引导加载程序权重。
直接将主要权重设为新值,替换其先前的值(可能根据当前 otDeviceProperties
确定)。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otThreadGetLeaderWeight
otThreadSetMaxAllowedChildren
otError otThreadSetMaxAllowedChildren( otInstance *aInstance, uint16_t aMaxChildren )
设置当前允许的子项数上限。
此参数只能在 Thread 协议操作停止时设置。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otThreadGetMaxAllowedChildren
otThreadSetMaxChildIpAddresses
otError otThreadSetMaxChildIpAddresses( otInstance *aInstance, uint8_t aMaxIpAddresses )
设置或恢复每个 MTD 子级可在此设备中注册为父级的 IP 地址数量上限。
传递 0
可清除设置并恢复默认值。
启用 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
后可用。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otThreadGetMaxChildIpAddresses
otThreadSetNetworkIdTimeout
void otThreadSetNetworkIdTimeout( otInstance *aInstance, uint8_t aTimeout )
设置 NETWORK_ID_TIMEOUT
参数。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otThreadGetNetworkIdTimeout
otThreadSetParentPriority
otError otThreadSetParentPriority( otInstance *aInstance, int8_t aParentPriority )
设置父级优先级。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otThreadGetParentPriority
otThreadSetPreferredLeaderPartitionId
void otThreadSetPreferredLeaderPartitionId( otInstance *aInstance, uint32_t aPartitionId )
设置以 Leader 角色执行操作时使用的首选 Thread Leader 分区 ID。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otThreadSetPreferredRouterId
otError otThreadSetPreferredRouterId( otInstance *aInstance, uint8_t aRouterId )
设置首选路由器 ID。
成为路由器/领导者后,该节点会尝试使用此路由器 ID。如果未设置首选路由器 ID 或无法使用此路由器 ID,则系统会选择随机生成的路由器 ID。只有在设备角色已分离或已停用时,才能设置此属性。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otThreadSetPskc
otError otThreadSetPskc( otInstance *aInstance, const otPskc *aPskc )
设置线程 PSKc。
只有在停用 Thread 协议时才会成功。成功调用此函数也会使非易失性内存中的活跃和待处理操作数据集失效。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otThreadGetPskc
otThreadSetPskcRef
otError otThreadSetPskcRef( otInstance *aInstance, otPskcRef aKeyRef )
将键引用设置为线程 PSKc。
需要启用构建时功能 OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
。
只有在停用 Thread 协议时才会成功。操作成功后,非易失性内存中的活跃和待处理操作数据集也会失效。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otThreadGetPskcRef
otThreadSetRouterDowngradeThreshold
void otThreadSetRouterDowngradeThreshold( otInstance *aInstance, uint8_t aThreshold )
设置 Leader 角色中使用的 ROUTER_DOWNGRADE_THRESHOLD 参数。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otThreadGetRouterDowngradeThreshold
otThreadSetRouterEligible
otError otThreadSetRouterEligible( otInstance *aInstance, bool aEligible )
设置设备是否支持路由器。
如果 aEligible
为 false,并且设备当前作为路由器运行,则此调用会导致设备分离并尝试重新挂接为子节点。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
|
otThreadSetRouterIdRange
otError otThreadSetRouterIdRange( otInstance *aInstance, uint8_t aMinRouterId, uint8_t aMaxRouterId )
设置允许分配给线程网络中的节点的路由器 ID 范围。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
otThreadGetRouterIdRange
otThreadSetRouterSelectionJitter
void otThreadSetRouterSelectionJitter( otInstance *aInstance, uint8_t aRouterJitter )
设置 REED/Router 角色中使用的 ROUTER_SELECTION_JITTER 参数。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otThreadGetRouterSelectionJitter
otThreadSetRouterUpgradeThreshold
void otThreadSetRouterUpgradeThreshold( otInstance *aInstance, uint8_t aThreshold )
设置 Leader 角色中使用的 ROUTER_UPGRADE_THRESHOLD 参数。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otThreadGetRouterUpgradeThreshold
otThreadSetSteeringData
void otThreadSetSteeringData( otInstance *aInstance, const otExtAddress *aExtAddress )
设置带外数据转移。
应设置配置选项 OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
,以启用带外控制数据的设置。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otThreadSetThreadVersionCheckEnabled
void otThreadSetThreadVersionCheckEnabled( otInstance *aInstance, bool aEnabled )
设置是否启用路由的安全政策 TLV 版本阈值(VR 字段)。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
宏
OT_CHILD_IP6_ADDRESS_ITERATOR_INIT
OT_CHILD_IP6_ADDRESS_ITERATOR_INIT 0
otChildIP6AddressIterator 的初始化程序。
资源
OpenThread API 参考文档源自 GitHub 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源。