透過集合功能整理內容 你可以依據偏好儲存及分類內容。

中樞路由器

這個模組包含 OpenThread Backbone Router Service 的功能。

摘要

列舉

otBackboneRouterDomainPrefixEvent{
  OT_BACKBONE_ROUTER_DOMAIN_PREFIX_ADDED = 0,
  OT_BACKBONE_ROUTER_DOMAIN_PREFIX_REMOVED = 1,
  OT_BACKBONE_ROUTER_DOMAIN_PREFIX_CHANGED = 2
}
列舉
代表網域前置字串事件。
otBackboneRouterMulticastListenerEvent{
  OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ADDED = 0,
  OT_BACKBONE_ROUTER_MULTICAST_LISTENER_REMOVED = 1
}
列舉
代表多播監聽器事件。
otBackboneRouterNdProxyEvent{
  OT_BACKBONE_ROUTER_NDPROXY_ADDED = 0,
  OT_BACKBONE_ROUTER_NDPROXY_REMOVED = 1,
  OT_BACKBONE_ROUTER_NDPROXY_RENEWED = 2,
  OT_BACKBONE_ROUTER_NDPROXY_CLEARED = 3
}
列舉
代表 ND Proxy 事件。
otBackboneRouterState{
  OT_BACKBONE_ROUTER_STATE_DISABLED = 0,
  OT_BACKBONE_ROUTER_STATE_SECONDARY = 1,
  OT_BACKBONE_ROUTER_STATE_PRIMARY = 2
}
列舉
代表骨幹路由器狀態。

Typedefs

otBackboneRouterConfig typedef
這個結構代表 Backbone Router 設定。
otBackboneRouterDomainPrefixCallback)(void *aContext, otBackboneRouterDomainPrefixEvent aEvent, const otIp6Prefix *aDomainPrefix) typedef
void(*
每當網域前置字串變更時,系統就會呼叫這個函式指標。
otBackboneRouterMulticastListenerCallback)(void *aContext, otBackboneRouterMulticastListenerEvent aEvent, const otIp6Address *aAddress) typedef
void(*
每當多播監聽器變更時,系統會呼叫這個函式指標。
otBackboneRouterMulticastListenerInfo typedef
此結構代表骨幹路由器多播監聽器資訊。
otBackboneRouterMulticastListenerIterator typedef
uint16_t
用於透過 Multicast 事件監聽器疊代。
otBackboneRouterNdProxyCallback)(void *aContext, otBackboneRouterNdProxyEvent aEvent, const otIp6Address *aDua) typedef
void(*
只要 NN Proxy 變更,系統就會呼叫這個函式指標。
otBackboneRouterNdProxyInfo typedef
代表 Backbone Router ND Proxy 資訊。

Functions

otBackboneRouterConfigNextDuaRegistrationResponse(otInstance *aInstance, const otIp6InterfaceIdentifier *aMlIid, uint8_t aStatus)
void
這個方法會設定下一個 DUA 註冊的回應狀態。
otBackboneRouterConfigNextMulticastListenerRegistrationResponse(otInstance *aInstance, uint8_t aStatus)
void
設定下一次多播監聽器註冊的回應狀態。
otBackboneRouterGetConfig(otInstance *aInstance, otBackboneRouterConfig *aConfig)
void
取得本機 Backbone Router 設定。
otBackboneRouterGetDomainPrefix(otInstance *aInstance, otBorderRouterConfig *aConfig)
這個方法會取得本機網域前置字串設定。
otBackboneRouterGetNdProxyInfo(otInstance *aInstance, const otIp6Address *aDua, otBackboneRouterNdProxyInfo *aNdProxyInfo)
這個方法會取得 Backbone Router ND Proxy 資訊。
otBackboneRouterGetPrimary(otInstance *aInstance, otBackboneRouterConfig *aConfig)
這個函式會在 Thread 網路中取得主要中樞路由器資訊。
otBackboneRouterGetRegistrationJitter(otInstance *aInstance)
uint8_t
這個方法會傳回 Backbone 路由器註冊時基誤差值。
otBackboneRouterGetState(otInstance *aInstance)
取得 Backbone RouterotBackboneRouterState
otBackboneRouterMulticastListenerAdd(otInstance *aInstance, const otIp6Address *aAddress, uint32_t aTimeout)
新增含有逾時值的多播監聽器 (以秒為單位)。
otBackboneRouterMulticastListenerClear(otInstance *aInstance)
void
清除多播監聽器。
otBackboneRouterMulticastListenerGetNext(otInstance *aInstance, otBackboneRouterMulticastListenerIterator *aIterator, otBackboneRouterMulticastListenerInfo *aListenerInfo)
此函式會取得下一個多播監聽器資訊 (使用疊代器)。
otBackboneRouterRegister(otInstance *aInstance)
明確註冊本機返回的路由器設定。
otBackboneRouterSetConfig(otInstance *aInstance, const otBackboneRouterConfig *aConfig)
設定本機 Backbone Router 設定 otBackboneRouterConfig
otBackboneRouterSetDomainPrefixCallback(otInstance *aInstance, otBackboneRouterDomainPrefixCallback aCallback, void *aContext)
void
這個方法會設定 Backbone Router Domain Prefix 回呼。
otBackboneRouterSetEnabled(otInstance *aInstance, bool aEnable)
void
啟用或停用 Backbone 功能。
otBackboneRouterSetMulticastListenerCallback(otInstance *aInstance, otBackboneRouterMulticastListenerCallback aCallback, void *aContext)
void
這個方法會設定 Backbone Router Multicast Listener 回呼。
otBackboneRouterSetNdProxyCallback(otInstance *aInstance, otBackboneRouterNdProxyCallback aCallback, void *aContext)
void
這個方法會設定 Backbone Router ND Proxy 回呼。
otBackboneRouterSetRegistrationJitter(otInstance *aInstance, uint8_t aJitter)
void
這個方法會設定 Backbone Router 註冊時基誤差值。

結構

otBackboneRouterConfig

這個結構代表 Backbone Router 設定。

otBackboneRouterMulticastListenerInfo

此結構代表骨幹路由器多播監聽器資訊。

otBackboneRouterNdProxyInfo

代表 Backbone Router ND Proxy 資訊。

列舉

otBackboneRouterDomainPrefixEvent

 otBackboneRouterDomainPrefixEvent

代表網域前置字串事件。

屬性
OT_BACKBONE_ROUTER_DOMAIN_PREFIX_ADDED

已新增網域前置字串。

OT_BACKBONE_ROUTER_DOMAIN_PREFIX_CHANGED

已變更網域前置字串。

OT_BACKBONE_ROUTER_DOMAIN_PREFIX_REMOVED

已移除網域前置字串。

otBackboneRouterMulticastListenerEvent

 otBackboneRouterMulticastListenerEvent

代表多播監聽器事件。

屬性
OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ADDED

已新增多播監聽器。

OT_BACKBONE_ROUTER_MULTICAST_LISTENER_REMOVED

多播監聽器已移除或已過期。

otBackboneRouterNdProxyEvent

 otBackboneRouterNdProxyEvent

代表 ND Proxy 事件。

屬性
OT_BACKBONE_ROUTER_NDPROXY_ADDED

已新增 ND Proxy。

OT_BACKBONE_ROUTER_NDPROXY_CLEARED

已清除所有 ND Prox。

OT_BACKBONE_ROUTER_NDPROXY_REMOVED

已移除 ND Proxy。

OT_BACKBONE_ROUTER_NDPROXY_RENEWED

ND Proxy 已更新。

otBackboneRouterState

 otBackboneRouterState

代表骨幹路由器狀態。

屬性
OT_BACKBONE_ROUTER_STATE_DISABLED

已停用中樞函式。

OT_BACKBONE_ROUTER_STATE_PRIMARY

主要中樞路由器。

OT_BACKBONE_ROUTER_STATE_SECONDARY

次要中樞路由器。

Typedefs

otBackboneRouterConfig

struct otBackboneRouterConfig otBackboneRouterConfig

這個結構代表 Backbone Router 設定。

otBackboneRouterDomainPrefixCallback

void(* otBackboneRouterDomainPrefixCallback)(void *aContext, otBackboneRouterDomainPrefixEvent aEvent, const otIp6Prefix *aDomainPrefix)

每當網域前置字串變更時,系統就會呼叫這個函式指標。

詳情
參數
[in] aContext
使用者情境指標。
[in] aEvent
網域前置字串事件。
[in] aDomainPrefix
新增或變更的 Domain Prefix (否則為空值)。

otBackboneRouterMulticastListenerCallback

void(* otBackboneRouterMulticastListenerCallback)(void *aContext, otBackboneRouterMulticastListenerEvent aEvent, const otIp6Address *aAddress)

每當多播監聽器變更時,系統會呼叫這個函式指標。

詳情
參數
[in] aContext
使用者情境指標。
[in] aEvent
多播監聽器事件。
[in] aAddress
多播監聽器的 IPv6 多播位址。

otBackboneRouterMulticastListenerInfo

struct otBackboneRouterMulticastListenerInfo otBackboneRouterMulticastListenerInfo

此結構代表骨幹路由器多播監聽器資訊。

otBackboneRouterMulticastListenerIterator

uint16_t otBackboneRouterMulticastListenerIterator

用於透過 Multicast 事件監聽器疊代。

otBackboneRouterNdProxyCallback

void(* otBackboneRouterNdProxyCallback)(void *aContext, otBackboneRouterNdProxyEvent aEvent, const otIp6Address *aDua)

只要 NN Proxy 變更,系統就會呼叫這個函式指標。

詳情
參數
[in] aContext
使用者情境指標。
[in] aEvent
ND Proxy 事件。
[in] aDua
ND Proxy 的網域 Unicast 位址;如果 aEventOT_BACKBONE_ROUTER_NDPROXY_CLEARED,則使用 nullptr

otBackboneRouterNdProxyInfo

struct otBackboneRouterNdProxyInfo otBackboneRouterNdProxyInfo

代表 Backbone Router ND Proxy 資訊。

Functions

otBackboneRouterConfigNextDuaRegistrationResponse

void otBackboneRouterConfigNextDuaRegistrationResponse(
  otInstance *aInstance,
  const otIp6InterfaceIdentifier *aMlIid,
  uint8_t aStatus
)

這個方法會設定下一個 DUA 註冊的回應狀態。

注意:必須啟用 OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE,才能使用此功能。僅用於測試和認證。

待辦事項:(DUA) 支援差距錯誤代碼和相應的程序認證。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMlIid
指向網格本機 IID 的指標。如果為 NULL,則使用 aStatus 回應任何即將推出的 DUA.req,否則請只回應符合 aMlIid 的 DUA。
[in] aStatus
回應狀態,

otBackboneRouterConfigNextMulticastListenerRegistrationResponse

void otBackboneRouterConfigNextMulticastListenerRegistrationResponse(
  otInstance *aInstance,
  uint8_t aStatus
)

設定下一次多播監聽器註冊的回應狀態。

啟用OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLEOPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLEOPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE後才能使用。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aStatus
回應狀態,

otBackboneRouterGetConfig

void otBackboneRouterGetConfig(
  otInstance *aInstance,
  otBackboneRouterConfig *aConfig
)

取得本機 Backbone Router 設定。

必須啟用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 才能使用此功能。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aConfig
用來放置本機返回裝潢路由器設定的指標。
另請參閱:
otBackboneRouterSetEnabled
otBackboneRouterGetState
otBackboneRouterSetConfig
otBackboneRouterRegister

otBackboneRouterGetDomainPrefix

otError otBackboneRouterGetDomainPrefix(
  otInstance *aInstance,
  otBorderRouterConfig *aConfig
)

這個方法會取得本機網域前置字串設定。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aConfig
指向 Domain Prefix 設定的指標。
傳回值
OT_ERROR_NONE
已成功取得網域前置字串設定。
OT_ERROR_NOT_FOUND
未設定網域前置字串。

otBackboneRouterGetNdProxyInfo

otError otBackboneRouterGetNdProxyInfo(
  otInstance *aInstance,
  const otIp6Address *aDua,
  otBackboneRouterNdProxyInfo *aNdProxyInfo
)

這個方法會取得 Backbone Router ND Proxy 資訊。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aDua
網域單點傳送地址。
[out] aNdProxyInfo
ND Proxy 資訊指標。
傳回值
OT_ERROR_NONE
已成功取得 ND Proxy 資訊。
OT_ERROR_NOT_FOUND
在 ND Proxy 表格中找不到網域 Unicast 位址。

otBackboneRouterGetPrimary

otError otBackboneRouterGetPrimary(
  otInstance *aInstance,
  otBackboneRouterConfig *aConfig
)

這個函式會在 Thread 網路中取得主要中樞路由器資訊。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[out] aConfig
指向主要中樞路由器資訊的位置。
傳回值
OT_ERROR_NONE
已成功取得主要中樞路由器資訊。
OT_ERROR_NOT_FOUND
沒有主要的中樞路由器。

otBackboneRouterGetRegistrationJitter

uint8_t otBackboneRouterGetRegistrationJitter(
  otInstance *aInstance
)

這個方法會傳回 Backbone 路由器註冊時基誤差值。

詳情
傳回
骨幹路由器註冊時基誤差值。
另請參閱:
otBackboneRouterSetRegistrationJitter

otBackboneRouterGetState

otBackboneRouterState otBackboneRouterGetState(
  otInstance *aInstance
)

取得 Backbone RouterotBackboneRouterState

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回值
OT_BACKBONE_ROUTER_STATE_DISABLED
已停用中樞功能。
OT_BACKBONE_ROUTER_STATE_SECONDARY
次要中樞路由器。
OT_BACKBONE_ROUTER_STATE_PRIMARY
主要中樞路由器。
另請參閱:
otBackboneRouterSetEnabled
otBackboneRouterGetConfig
otBackboneRouterSetConfig
otBackboneRouterRegister

otBackboneRouterMulticastListenerAdd

otError otBackboneRouterMulticastListenerAdd(
  otInstance *aInstance,
  const otIp6Address *aAddress,
  uint32_t aTimeout
)

新增含有逾時值的多播監聽器 (以秒為單位)。

使用 0,即可使用預設的 MLR 逾時。

啟用OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLEOPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLEOPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE後才能使用。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aAddress
多播監聽器位址。
[in] aTimeout
多播事件監聽器的逾時時間 (以秒為單位),或使用 0 來使用預設的 MLR 逾時時間。
傳回值
OT_ERROR_NONE
如果成功新增多播監聽器。
OT_ERROR_INVALID_ARGS
如果多播監聽器地址無效,
OT_ERROR_NO_BUFS
可用空間不足,無法儲存多播監聽器。
另請參閱:
otBackboneRouterMulticastListenerClear
otBackboneRouterMulticastListenerGetNext

otBackboneRouterMulticastListenerClear

void otBackboneRouterMulticastListenerClear(
  otInstance *aInstance
)

清除多播監聽器。

啟用OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLEOPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLEOPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE後才能使用。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
另請參閱:
otBackboneRouterMulticastListenerAdd
otBackboneRouterMulticastListenerGetNext

otBackboneRouterMulticastListenerGetNext

otError otBackboneRouterMulticastListenerGetNext(
  otInstance *aInstance,
  otBackboneRouterMulticastListenerIterator *aIterator,
  otBackboneRouterMulticastListenerInfo *aListenerInfo
)

此函式會取得下一個多播監聽器資訊 (使用疊代器)。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in,out] aIterator
指向疊代器的指標。成功後,疊代器會更新為指向下一個多播監聽器。如要取得第一個項目,請將 iterator 設為 OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ITERATOR_INIT。
[out] aListenerInfo
指向 otBackboneRouterMulticastListenerInfo 成功放置下一個多播事件監聽器的指標。
傳回值
OT_ERROR_NONE
已成功找到下一個多播監聽器資訊 (aListenerInfo 已成功更新)。
OT_ERROR_NOT_FOUND
找不到後續的 Multicast 事件監聽器資訊。
另請參閱:
otBackboneRouterMulticastListenerClear
otBackboneRouterMulticastListenerAdd

otBackboneRouterRegister

otError otBackboneRouterRegister(
  otInstance *aInstance
)

明確註冊本機返回的路由器設定。

系統會為連接的裝置觸發伺服器資料要求訊息 SRV_DATA.ntf

必須啟用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 才能使用此功能。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回值
OT_ERROR_NO_BUFS
空間不足,無法新增 Backbone Router 服務。
OT_ERROR_NONE
已成功將伺服器資料要求訊息加入佇列。
另請參閱:
otBackboneRouterSetEnabled
otBackboneRouterGetState
otBackboneRouterGetConfig
otBackboneRouterSetConfig

otBackboneRouterSetConfig

otError otBackboneRouterSetConfig(
  otInstance *aInstance,
  const otBackboneRouterConfig *aConfig
)

設定本機 Backbone Router 設定 otBackboneRouterConfig

如果主要中樞路由器的 BBR 資料集有所變更,伺服器資料要求訊息 SRV_DATA.ntf 將會自動啟動。

必須啟用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 才能使用此功能。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aConfig
指向 Backbone 路由器設定的指標。
傳回值
OT_ERROR_NONE
已成功更新設定。
OT_ERROR_INVALID_ARGS
aConfig」中的設定無效。
另請參閱:
otBackboneRouterSetEnabled
otBackboneRouterGetState
otBackboneRouterGetConfig
otBackboneRouterRegister

otBackboneRouterSetDomainPrefixCallback

void otBackboneRouterSetDomainPrefixCallback(
  otInstance *aInstance,
  otBackboneRouterDomainPrefixCallback aCallback,
  void *aContext
)

這個方法會設定 Backbone Router Domain Prefix 回呼。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aCallback
指向 Domain Prefix 回呼的指標。
[in] aContext
使用者情境指標。

otBackboneRouterSetEnabled

void otBackboneRouterSetEnabled(
  otInstance *aInstance,
  bool aEnable
)

啟用或停用 Backbone 功能。

啟用這項設定後,如果 Thread 網路資料中沒有骨骼路由器服務,則系統會針對附加的裝置觸發伺服器資料要求訊息 SRV_DATA.ntf

如果停用這個選項,則如果中樞路由器處於主要狀態,就會觸發 SRV_DATA.ntf

必須啟用 OPENTHREAD_CONFIG_BACKBONE_ROUTER_ENABLE 才能使用此功能。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aEnable
TRUE 可啟用 Backbone 功能,否則為 FALSE。
另請參閱:
otBackboneRouterGetState
otBackboneRouterGetConfig
otBackboneRouterSetConfig
otBackboneRouterRegister

otBackboneRouterSetMulticastListenerCallback

void otBackboneRouterSetMulticastListenerCallback(
  otInstance *aInstance,
  otBackboneRouterMulticastListenerCallback aCallback,
  void *aContext
)

這個方法會設定 Backbone Router Multicast Listener 回呼。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aCallback
指向多播監聽器回呼的指標。
[in] aContext
使用者情境指標。

otBackboneRouterSetNdProxyCallback

void otBackboneRouterSetNdProxyCallback(
  otInstance *aInstance,
  otBackboneRouterNdProxyCallback aCallback,
  void *aContext
)

這個方法會設定 Backbone Router ND Proxy 回呼。

詳情
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aCallback
ND Proxy 回呼指標。
[in] aContext
使用者情境指標。

otBackboneRouterSetRegistrationJitter

void otBackboneRouterSetRegistrationJitter(
  otInstance *aInstance,
  uint8_t aJitter
)

這個方法會設定 Backbone Router 註冊時基誤差值。

詳情
參數
[in] aJitter
要設定的 Backbone Router 註冊時基誤差值。
另請參閱:
otBackboneRouterGetEnrollmentJitter

巨集

OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ITERATOR_INIT

 OT_BACKBONE_ROUTER_MULTICAST_LISTENER_ITERATOR_INIT 0

otBackboneRouterMulticastListenerIterator 的初始化器。

資源

OpenThread API 參考資料主題出自原始碼,可於 GitHub 取得。如需更多資訊,或想參閱我們的說明文件,請參閱資源