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

基礎架構介面

這個模組包含鄰近基礎架構網路介面的平台抽象層。

摘要

Functions

otPlatInfraIfDiscoverNat64Prefix(uint32_t aInfraIfIndex)
使用 aInfraIfIndex 傳送要求,以便探索基礎架構介面上的 NAT64 前置字串。
otPlatInfraIfDiscoverNat64PrefixDone(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Prefix *aIp6Prefix)
void
基礎架構基礎架構驅動程式會呼叫這個方法來通知 OpenThread,發現 NAT64 前置字串已完成。
otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddress)
bool
這個方法會判斷紅外線介面是否已指派指定的 IPv6 位址。
otPlatInfraIfRecvIcmp6Nd(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Address *aSrcAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
void
基礎架構基礎架構驅動程式會呼叫這個方法來通知 OpenThread,表示 ICMPv6 Neighbor Discovery 訊息已送達。
otPlatInfraIfSendIcmp6Nd(uint32_t aInfraIfIndex, const otIp6Address *aDestAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
這個方法會在指定的基礎架構介面上傳送 ICMPv6 Neighbor Discovery 訊息。
otPlatInfraIfStateChanged(otInstance *aInstance, uint32_t aInfraIfIndex, bool aIsRunning)
基礎架構基礎架構驅動程式會呼叫這個方法來通知 OpenThread 介面狀態變更。

Functions

otPlatInfraIfDiscoverNat64Prefix

otError otPlatInfraIfDiscoverNat64Prefix(
  uint32_t aInfraIfIndex
)

使用 aInfraIfIndex 傳送要求,以便探索基礎架構介面上的 NAT64 前置字串。

OpenThread 會定期呼叫此方法,監控是否存在 NAT64 前置字串。

詳情
參數
[in] aInfraIfIndex
探索 NAT64 前置字串的基礎架構介面索引。
傳回值
OT_ERROR_NONE
成功要求提供 NAT64 前置字串。
OT_ERROR_FAILED
無法要求 NAT64 前置字串。

otPlatInfraIfDiscoverNat64PrefixDone

void otPlatInfraIfDiscoverNat64PrefixDone(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Prefix *aIp6Prefix
)

基礎架構基礎架構驅動程式會呼叫這個方法來通知 OpenThread,發現 NAT64 前置字串已完成。

呼叫 otPlatInfraIfDiscoverNat64Prefix 後,系統會叫用此方法。如果找不到任何 NAT64 前置字串,aIp6Prefix 會指向長度為 0 的空白前置字串。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aInfraIfIndex
發現 NAT64 前置字串的基礎架構介面索引。
[in] aIp6Prefix
指向 NAT64 前置字串的指標。

otPlatInfraIfHasAddress

bool otPlatInfraIfHasAddress(
  uint32_t aInfraIfIndex,
  const otIp6Address *aAddress
)

這個方法會判斷紅外線介面是否已指派指定的 IPv6 位址。

詳情
參數
[in] aInfraIfIndex
紅外線介面索引。
[in] aAddress
IPv6 位址。
傳回
如果基礎架構基礎架構獲派 IPv6 位址,則為 TRUE,否則傳回 FALSE。

otPlatInfraIfRecvIcmp6Nd

void otPlatInfraIfRecvIcmp6Nd(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Address *aSrcAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

基礎架構基礎架構驅動程式會呼叫這個方法來通知 OpenThread,表示 ICMPv6 Neighbor Discovery 訊息已送達。

請參閱 RFC 4861:https://tools.ietf.org/html/rfc4861

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aInfraIfIndex
接收 ICMPv6 訊息的基礎架構介面索引。
[in] aSrcAddress
收到郵件的來源地址。
[in] aBuffer
ICMPv6 訊息緩衝區。
[in] aBufferLength
ICMPv6 訊息緩衝區的長度。

otPlatInfraIfSendIcmp6Nd

otError otPlatInfraIfSendIcmp6Nd(
  uint32_t aInfraIfIndex,
  const otIp6Address *aDestAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

這個方法會在指定的基礎架構介面上傳送 ICMPv6 Neighbor Discovery 訊息。

請參閱 RFC 4861:https://tools.ietf.org/html/rfc4861

詳情
參數
[in] aInfraIfIndex
傳送這則訊息的基礎架構介面索引。
[in] aDestAddress
收到這則訊息的目的地地址。
[in] aBuffer
ICMPv6 訊息緩衝區。ICMPv6 總和檢查碼為零,平台應執行總和檢查碼計算。
[in] aBufferLength
訊息緩衝區的長度。
傳回值
OT_ERROR_NONE
已成功傳送 ICMPv6 訊息。
OT_ERROR_FAILED
無法傳送 ICMPv6 訊息。

otPlatInfraIfState 已變更

otError otPlatInfraIfStateChanged(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  bool aIsRunning
)

基礎架構基礎架構驅動程式會呼叫這個方法來通知 OpenThread 介面狀態變更。

即使介面的執行狀態並未變更,平台仍可呼叫方法。在這種情況下,轉送管理員狀態不會受到影響。

詳情
參數
[in] aInstance
OpenThread 執行個體結構。
[in] aInfraIfIndex
基礎架構介面的索引。
[in] aIsRunning
表示基礎架構介面是否正在執行的布林值。
傳回值
OT_ERROR_NONE
已成功更新基礎架構介面狀態。
OT_ERROR_INVALID_STATE
轉送管理員未初始化。
OT_ERROR_INVALID_ARGS
aInfraIfIndex 與轉送管理員初始化的基礎架構基礎架構不符。

資源

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