邊界路由器

這個模組包含使用 OpenThread 邊界路由器管理本機網路資料的函式。

摘要

Typedefs

otBorderRouterNetDataFullCallback)(void *aContext) typedef
void(*
網路資料 (本機或領導者) 滿時叫用的函式指標回呼。

函式

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
在本機網路資料中新增邊界路由器設定。
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
在本機網路資料中新增外部路徑設定。
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
提供本機 Thread 網路資料的完整或穩定的副本。
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
取得本機網路資料中的下一個網格前置字串。
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
取得本機網路資料中的下一個外部路徑。
otBorderRouterRegister(otInstance *aInstance)
立即向區域主管註冊本機網路資料。
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
從本機網路資料中移除邊界路由器設定。
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
從本機網路資料移除外部路徑設定。
otBorderRouterSetNetDataFullCallback(otInstance *aInstance, otBorderRouterNetDataFullCallback aCallback, void *aContext)
void
設定回呼,以指出網路資料何時完整擷取。

Typedefs

otBorderRouterNetDataFullCallback

void(* otBorderRouterNetDataFullCallback)(void *aContext)

網路資料 (本機或領導者) 滿時叫用的函式指標回呼。

詳細說明
參數
[in] aContext
指向任意背景資訊的資訊。

函式

otBorderRouterAddOnMeshPrefix

otError otBorderRouterAddOnMeshPrefix(
  otInstance *aInstance,
  const otBorderRouterConfig *aConfig
)

在本機網路資料中新增邊界路由器設定。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aConfig
指向邊界路由器設定的指標。
回傳值
OT_ERROR_NONE
已成功將設定新增至區域網路資料。
OT_ERROR_INVALID_ARGS
一或多個設定參數無效。
OT_ERROR_NO_BUFS
可用空間不足,無法將設定新增至區域網路資料。
另請參閱:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

otBorderRouterAddRoute

otError otBorderRouterAddRoute(
  otInstance *aInstance,
  const otExternalRouteConfig *aConfig
)

在本機網路資料中新增外部路徑設定。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aConfig
指向外部路徑設定的指標。
回傳值
OT_ERROR_NONE
已成功將設定新增至區域網路資料。
OT_ERROR_INVALID_ARGS
一或多個設定參數無效。
OT_ERROR_NO_BUFS
可用空間不足,無法將設定新增至區域網路資料。
另請參閱:
otBorderRouterRemoveRoute
otBorderRouterRegister

otBorderRouterGetNetData

otError otBorderRouterGetNetData(
  otInstance *aInstance,
  bool aStable,
  uint8_t *aData,
  uint8_t *aDataLength
)

提供本機 Thread 網路資料的完整或穩定的副本。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aStable
複製穩定版本時為 TRUE,複製完整版本時傳回 FALSE。
[out] aData
指向資料緩衝區的指標。
[in,out] aDataLength
輸入時,aData 指向的資料緩衝區大小。結束時,複製的位元組數。

otBorderRouterGetNextOnMeshPrefix

otError otBorderRouterGetNextOnMeshPrefix(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otBorderRouterConfig *aConfig
)

取得本機網路資料中的下一個網格前置字串。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in,out] aIterator
指向網路資料疊代器結構定義的指標。如要取得第一個網格項目,請將項目設為 OT_NETWORK_DATA_ITERATOR_INIT。
[out] aConfig
指向 On 進行網格前置字串資訊的指標。
回傳值
OT_ERROR_NONE
已成功找到下一個 On 進行網格前置字元。
OT_ERROR_NOT_FOUND
Thread 網路資料中沒有後續的網格網格前置字串。

otBorderRouterGetNextRoute

otError otBorderRouterGetNextRoute(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otExternalRouteConfig *aConfig
)

取得本機網路資料中的下一個外部路徑。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in,out] aIterator
指向網路資料疊代器結構定義的指標。如要取得第一個外部路徑項目,請將其設為 OT_NETWORK_DATA_ITERATOR_INIT。
[out] aConfig
指向外部路徑資訊的指標。
回傳值
OT_ERROR_NONE
已成功找到下一個外部路徑。
OT_ERROR_NOT_FOUND
Thread 網路資料中沒有其他外部路徑項目。

otBorderRouterRegister

otError otBorderRouterRegister(
  otInstance *aInstance
)

立即向區域主管註冊本機網路資料。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
回傳值
OT_ERROR_NONE
已成功將伺服器資料要求訊息排入傳送佇列。
另請參閱:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

otError otBorderRouterRemoveOnMeshPrefix(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

從本機網路資料中移除邊界路由器設定。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aPrefix
指向 IPv6 前置字元的指標。
回傳值
OT_ERROR_NONE
已成功從區域網路資料中移除設定。
OT_ERROR_NOT_FOUND
找不到邊界路由器項目。
另請參閱:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

otError otBorderRouterRemoveRoute(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

從本機網路資料移除外部路徑設定。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aPrefix
指向 IPv6 前置字元的指標。
回傳值
OT_ERROR_NONE
已成功從區域網路資料中移除設定。
OT_ERROR_NOT_FOUND
找不到邊界路由器項目。
另請參閱:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRouterSetNetDataFullCallback

void otBorderRouterSetNetDataFullCallback(
  otInstance *aInstance,
  otBorderRouterNetDataFullCallback aCallback,
  void *aContext
)

設定回呼,以指出網路資料何時完整擷取。

需要 OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL

回呼會在以下情況下叫用:

  • 裝置做為主要運作裝置,並且從邊界路由器 (BR) 接收網路資料註冊資料,且無法新增至網路資料 (空間不足)。
  • 本裝置可做為 BR 裝置,且無法將新項目加入本機網路資料。
  • 本裝置以 BR 的身分運作,並嘗試向領先者註冊本機網路資料項目,但判定本機項目不符。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aCallback
回呼。
[in] aContext
指向 aCallback 使用的任意結構定義資訊的指標。

資源

OpenThread API 參考資料主題源自原始碼,可於 GitHub 取得。如需更多資訊或為說明文件貢獻心力,請參閱資源