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

ICMPv6

這個模組包含控管 ICMPv6 通訊的功能。

摘要

列舉

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
列舉
ICMPv6 訊息代碼。
otIcmp6EchoMode{
  OT_ICMP6_ECHO_HANDLER_DISABLED = 0,
  OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY = 1,
  OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY = 2,
  OT_ICMP6_ECHO_HANDLER_ALL = 3
}
列舉
ICMPv6 回音模式。
otIcmp6Type{
  OT_ICMP6_TYPE_DST_UNREACH = 1,
  OT_ICMP6_TYPE_PACKET_TO_BIG = 2,
  OT_ICMP6_TYPE_TIME_EXCEEDED = 3,
  OT_ICMP6_TYPE_PARAMETER_PROBLEM = 4,
  OT_ICMP6_TYPE_ECHO_REQUEST = 128,
  OT_ICMP6_TYPE_ECHO_REPLY = 129,
  OT_ICMP6_TYPE_ROUTER_SOLICIT = 133,
  OT_ICMP6_TYPE_ROUTER_ADVERT = 134,
  OT_ICMP6_TYPE_NEIGHBOR_SOLICIT = 135,
  OT_ICMP6_TYPE_NEIGHBOR_ADVERT = 136
}
列舉
ICMPv6 訊息類型。

Typedefs

otIcmp6Code typedef
ICMPv6 訊息代碼。
otIcmp6EchoMode typedef
ICMPv6 回音模式。
otIcmp6Handler typedef
此結構會實作 ICMPv6 訊息處理常式。
otIcmp6Header typedef
struct otIcmp6Header
這種類型代表 ICMPv6 標頭。
otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
這個回呼允許 OpenThread 通知收到的 ICMPv6 訊息。
otIcmp6Type typedef
ICMPv6 訊息類型。

變數

OT_TOOL_PACKED_END

Functions

otIcmp6GetEchoMode(otInstance *aInstance)
這個函式會指出是否已啟用 ICMPv6 Echo 處理功能。
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
這個函式會註冊處理常式,以提供收到的 ICMPv6 訊息。
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
這個函式會透過 Thread 介面傳送 ICMPv6 Echo 要求。
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
這個函式可設定是否要啟用 ICMPv6 Echo 處理功能。

結構

otIcmp6Handler

此結構會實作 ICMPv6 訊息處理常式。

otIcmp6Header

此結構代表 ICMPv6 標頭。

組合

otIcmp6Header::OT_TOOL_PACKED_FIELD

列舉

otIcmpCode

 otIcmp6Code

ICMPv6 訊息代碼。

屬性
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

無法連上目的地 (無路線)。

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

超過片段重組時間。

otIcmp6EchoMode

 otIcmp6EchoMode

ICMPv6 回音模式。

屬性
OT_ICMP6_ECHO_HANDLER_ALL

針對單點傳送和多播要求啟用 ICMPv6 Echo 處理功能。

OT_ICMP6_ECHO_HANDLER_DISABLED

ICMPv6 Echo 處理功能已停用。

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

僅針對多播要求啟用 ICMPv6 Echo 處理功能。

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

僅為單向請求啟用 ICMPv6 Echo 處理功能。

otIcmpType

 otIcmp6Type

ICMPv6 訊息類型。

屬性
OT_ICMP6_TYPE_DST_UNREACH

無法連上目的地。

OT_ICMP6_TYPE_ECHO_REPLY

引起共鳴。

OT_ICMP6_TYPE_ECHO_REQUEST

Echo 要求。

OT_ICMP6_TYPE_NEIGHBOR_ADVERT

鄰居廣告。

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

鄰近提案。

OT_ICMP6_TYPE_PACKET_TO_BIG

往大包顯示。

OT_ICMP6_TYPE_PARAMETER_PROBLEM

參數發生問題。

OT_ICMP6_TYPE_ROUTER_ADVERT

路由器廣告。

OT_ICMP6_TYPE_ROUTER_SOLICIT

求職資訊。

OT_ICMP6_TYPE_TIME_EXCEEDED

時間超過上限。

Typedefs

otIcmpCode

enum otIcmp6Code otIcmp6Code

ICMPv6 訊息代碼。

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

ICMPv6 回音模式。

otIcmpHandler

struct otIcmp6Handler otIcmp6Handler

此結構會實作 ICMPv6 訊息處理常式。

otIcmpHeader

struct otIcmp6Header otIcmp6Header

這種類型代表 ICMPv6 標頭。

otIcmp6ReceiveCallback

void(* otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader)

這個回呼允許 OpenThread 通知收到的 ICMPv6 訊息。

詳細說明
參數
[in] aContext
指向任意背景資訊的資訊。
[in] aMessage
收到訊息的指標。
[in] aMessageInfo
aMessage 相關聯的訊息資訊指標。
[in] aIcmpHeader
指向收到的 ICMPv6 標頭的指標。

otIcmpType

enum otIcmp6Type otIcmp6Type

ICMPv6 訊息類型。

變數

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

Functions

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

這個函式會指出是否已啟用 ICMPv6 Echo 處理功能。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
傳回值
OT_ICMP6_ECHO_HANDLER_DISABLED
ICMPv6 Echo 處理功能已停用。
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
僅針對單點要求啟用 ICMPv6 Echo 處理功能
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
僅針對多播要求啟用 ICMPv6 回音處理
OT_ICMP6_ECHO_HANDLER_ALL
針對單點傳送和多播要求啟用 ICMPv6 Echo 處理功能

otIcmp6RegisterHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

這個函式會註冊處理常式,以提供收到的 ICMPv6 訊息。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aHandler
指向包含回呼的處理常式的指標,收到 ICMPv6 訊息時即會呼叫。

otIcmp6SendEchoRequest

otError otIcmp6SendEchoRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  uint16_t aIdentifier
)

這個函式會透過 Thread 介面傳送 ICMPv6 Echo 要求。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMessage
指向包含 ICMPv6 酬載的訊息緩衝區的指標。
[in] aMessageInfo
aMessage 相關聯的訊息資訊參照。
[in] aIdentifier
這個 ID 可協助比對 Echo 回覆與這個 Echo 要求。可能為零。

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

這個函式可設定是否要啟用 ICMPv6 Echo 處理功能。

詳細說明
參數
[in] aInstance
指向 OpenThread 執行個體的指標。
[in] aMode
ICMPv6 Echo 處理模式。

巨集

OT_ICMP6_標頭_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

ICMPv6 Headers 的郵件專屬資料大小。

資源

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