路由器/主管

這個模組包含 Thread 路由器和領導者。

摘要

列舉

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 中用來表示相鄰資料表變動的常數。

Typedefs

otCacheEntryInfo typedef
這個結構代表 EID 快取項目。
otCacheEntryIterator typedef
這個類型代表疊代透過 EID 快取表格項目進行疊代作業。
otCacheEntryState typedef
此列舉定義 EID 快取項目的狀態。
otChildIp6AddressIterator typedef
uint16_t
用來疊代 Thread 子項項目的 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
取得偏好的 Lead Leader 分區 ID (用於領導角色)。
otThreadGetPskc(otInstance *aInstance, otPskc *aPskc)
void
取得 Thread PSKc。
otThreadGetPskcRef(otInstance *aInstance)
取得關於 Thread 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)
設定 Thread PSKc。
otThreadSetPskcRef(otInstance *aInstance, otPskcRef aKeyRef)
設定 Thread 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

這個結構包含 Thread 子項的診斷資訊。

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

正在移除路由器。

Typedefs

otCacheEntryInfo 資訊

struct otCacheEntryInfo otCacheEntryInfo

這個結構代表 EID 快取項目。

otCacheEntryIterator

struct otCacheEntryIterator otCacheEntryIterator

這個類型代表疊代透過 EID 快取表格項目進行疊代作業。

如果要初始化疊代器,並從快取表格中的第一個項目開始,將結構中的所有欄位設為零 (例如,將 memset 疊代器設為零)。

otCacheEntryState

enum otCacheEntryState otCacheEntryState

此列舉定義 EID 快取項目的狀態。

otChildIp6AddressIterator

uint16_t otChildIp6AddressIterator

用來疊代 Thread 子項項目的 IPv6 位址。

otNeighborTable 回呼

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

系統會呼叫這個函式指標來通知鄰近資料表有變化。

詳細資料
參數
[in] aEvent
事件標記。
[in] aEntryInfo
指向表格項目資訊的指標。

函式

OTThread

otError otThreadBecomeLeader(
  otInstance *aInstance
)

成為領導者並建立新分區。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回值
OT_ERROR_NONE
成功成為領導者,並開始建立新分區。
OT_ERROR_INVALID_STATE
執行緒已停用。

otThreadMakeRouter

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
已成功將「aChildInfo」更新為指定 ID 的資訊。
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

otThreadGetChildNextIp6 位址

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 (otThreadGetLocalLeaderWeight)

uint8_t otThreadGetLocalLeaderWeight(
  otInstance *aInstance
)

取得負責人在領導角色中負責任的領袖重量。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
Thread 領導者價值。
另請參閱:
otThreadSetLeaderWeight

otThreadGetMaxAllowedChildren

uint16_t otThreadGetMaxAllowedChildren(
  otInstance *aInstance
)

取得目前允許的兒童人數上限。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
目前允許的兒童人數上限。
另請參閱:
otThreadSetMaxAllowedChildren

otThreadGetMaxChildIpAddress

uint8_t otThreadGetMaxChildIpAddresses(
  otInstance *aInstance
)

這個函式會取得每個 MTD 子女向這個裝置註冊為上層的 IP 位址數量上限。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
每部 MTD 兒童可在這部裝置上以家長註冊的 IP 位址數量上限。
另請參閱:
otThreadSetMaxChildIpAddress

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
指向疊代器的指標。系統會在更新成功後將其更新為下一個項目。如要取得第一個項目,請將所有欄位設為 0 (例如,memset) 將疊代器結構設為 0)。
傳回值
OT_ERROR_NONE
已成功為下一個 EID 快取項目填入 aEntryInfo
OT_ERROR_NOT_FOUND
地址快取表格中沒有其他項目。

otThreadGetParentPriority

int8_t otThreadGetParentPriority(
  otInstance *aInstance
)

取得系統指派的上層優先順序。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
已指派的上層優先順序值 -2 表示未指派。
另請參閱:
otThreadSetParentPriority

otThreadGetPreferredLeader 分區 ID

uint32_t otThreadGetPreferredLeaderPartitionId(
  otInstance *aInstance
)

取得偏好的 Lead Leader 分區 ID (用於領導角色)。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回
執行緒負責人分區 ID 值。

otThreadGetPskc

void otThreadGetPskc(
  otInstance *aInstance,
  otPskc *aPskc
)

取得 Thread PSKc。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aPskc
指向 otPskc 的指向點,傳回擷取的 Thread PSKc。
另請參閱:
otThreadSetPskc

otThreadGetPskcRef

otPskcRef otThreadGetPskcRef(
  otInstance *aInstance
)

取得關於 Thread 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

otThreadIsRouter 符合資格

bool otThreadIsRouterEligible(
  otInstance *aInstance
)

這個方法會指出裝置是否符合路由器使用資格。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回值
TRUE
如果裝置支援路由器
FALSE
如果裝置無法使用路由器功能,

otThreadRegisterNeighborTable 回呼

void otThreadRegisterNeighborTableCallback(
  otInstance *aInstance,
  otNeighborTableCallback aCallback
)

此函式會註冊相鄰資料表回呼函式。

當相鄰資料表發生變更時 (例如新增/移除子或路由器相鄰項目,或是現有子模式改變),系統會叫用所提供的回呼 (如果非空值)。

對該方法的後續呼叫會覆寫先前的回呼。請注意,在更新鄰近/子項資料表時,系統一律會呼叫此回呼,並且一律在 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。

otThreadSetCcm 已啟用

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
已成功設定彙整器 UDP 通訊埠。
另請參閱:
otThreadGetjoinerUdpPort

otThreadSetLocalLeaderWeight (otThreadSetLocalLeaderWeight)

void otThreadSetLocalLeaderWeight(
  otInstance *aInstance,
  uint8_t aWeight
)

設定在領導者角色中所使用的會話串領導者權重。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aWeight
Thread 領導者價值。
另請參閱:
otThreadGetLeaderWeight

otThreadSetMaxAllowedChildren

otError otThreadSetMaxAllowedChildren(
  otInstance *aInstance,
  uint16_t aMaxChildren
)

設定目前允許的兒童人數上限。

只有 Thread 通訊協定作業已停止時,才能設定這個參數。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMaxChildren
允許的最大兒童數。
傳回值
OT_ERROR_NONE
成功設定最高
OT_ERROR_INVALID_ARGS
如果 aMaxChildren 不在範圍 [1, OPENGUIDANCE_CONFIG_MLE_MAX_CHILDREN] 範圍內。
OT_ERROR_INVALID_STATE
如果 Thread 未停止。
另請參閱:
otThreadGetMaxAllowedChildren

otThreadSetMaxChildIpAddress

otError otThreadSetMaxChildIpAddresses(
  otInstance *aInstance,
  uint8_t aMaxIpAddresses
)

這個函式可設定/儲存每個 MTD 子裝置向家長註冊時可使用的 IP 位址數量上限,

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMaxIpAddresses
每部 MTD 兒童可在這部裝置上以家長註冊的 IP 位址數量上限。0 即可清除設定並還原預設值。
傳回值
OT_ERROR_NONE
已成功設定/清除號碼。
OT_ERROR_INVALID_ARGS
如果超過允許的數量上限。
另請參閱:
otThreadGetMaxChildIpAddress

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

otThreadSetPreferredLeader 分區 ID

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,系統會隨機挑選路由器 ID。只有在裝置角色卸離或停用時,才能設定這個屬性。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aRouterId
偏好的路由器 ID。
傳回值
OT_ERROR_NONE
已成功設定偏好的路由器 ID。
OT_ERROR_INVALID_STATE
無法設定 (角色未卸離或停用)

otThreadSetPskc

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

設定 Thread PSKc。

只有停用 Thread 通訊協定時,函式才會成功執行。成功呼叫此函式也會使非變性記憶體中的有效和待處理作業資料集失效。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aPskc
指向新 Thread PSKc 的指標。
傳回值
OT_ERROR_NONE
已成功設定 Thread PSKc。
OT_ERROR_INVALID_STATE
已啟用 Thread 通訊協定。
另請參閱:
otThreadGetPskc

otThreadSetPskcRef

otError otThreadSetPskcRef(
  otInstance *aInstance,
  otPskcRef aKeyRef
)

設定 Thread PSKc。

這項功能需要啟用「建構時間」功能 OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE

只有停用 Thread 通訊協定時,函式才會成功執行。成功呼叫此函式也會使非變性記憶體中的有效和待處理作業資料集失效。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aKeyRef
新執行緒 PSKc 的金鑰參考資料。
傳回值
OT_ERROR_NONE
已成功設定 Thread PSKc。
OT_ERROR_INVALID_STATE
已啟用 Thread 通訊協定。
另請參閱:
otThreadGetPskcRef

otThreadSetRouterDowngradeThreshold

void otThreadSetRouterDowngradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

設定「領導」角色使用的 ROUTER_DOWNGRADE_THRESHOLD 參數。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aThreshold
ROUTER_DOWNGRADE_THRESHOLD 值。
另請參閱:
otThreadGetRouterDowngradeThreshold

otThreadSetRouter 符合資格

otError otThreadSetRouterEligible(
  otInstance *aInstance,
  bool aEligible
)

這項功能會設定裝置是否支援路由器。

aEligible

詳細資料
參數
[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
用來更新轉向資料的位址。全部的 0 以清除方向資料 (沒有任何轉向資料)。所有 0xFF 來設定方向資料/花卉篩選器,以便接受/允許全部。特定的 EUI64 會加到指導轉盤資料/花卉篩選器中。

otThreadSetThreadVersionCheckEnabled

void otThreadSetThreadVersionCheckEnabled(
  otInstance *aInstance,
  bool aEnabled
)

這個函式可設定是否啟用安全性政策的 TLV 版本安全性門檻 (VR 欄位)。

詳細資料
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aEnabled
如果為轉送功能啟用 TLV 版本門檻,則設為 TRUE;其他情況下則設為 FALSE。

巨集

OT_CHILD_IP6_ADDRESS_ITERATOR_INIT

 OT_CHILD_IP6_ADDRESS_ITERATOR_INIT 0

otChildIP6AddressIterator 的初始化工具。

資源

OpenThread API 參考主題源自原始碼,可從 GitHub 取得。如要瞭解詳情或參閱說明文件,請參閱資源