Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

ICMP V6

このモジュールには、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
}
列挙型
ICMPv6 メッセージ タイプ。

Typedef

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

関数

otIcmp6GetEchoMode(otInstance *aInstance)
この関数は、ICMPv6 エコー処理が有効かどうかを示します。
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
この関数は、受信した ICMPv6 メッセージを提供するハンドラを登録します。
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
この関数は、Thread インターフェースを介して ICMPv6 エコー リクエストを送信します。
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
この関数は、ICMPv6 エコー処理を有効にするかどうかを設定します。

構造体

otIcmp6Handler

この構造は、ICMPv6 メッセージ ハンドラを実装します。

otIcmp6Header

この構造は、ICMPv6 ヘッダーを表します。

共用体

otIcmp6Header::OT_TOOL_PACKED_FIELD

列挙型

otIcmp6Code

 otIcmp6Code

ICMPv6 メッセージ コード

プロパティ
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

宛先にアクセスできません(ルートなし)。

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

Fragment Reassembly の時間を超えました。

otIcmp6EchoMode

 otIcmp6EchoMode

ICMPv6 エコー応答モード

プロパティ
OT_ICMP6_ECHO_HANDLER_ALL

ユニキャストおよびマルチキャスト リクエストの ICMPv6 エコー処理が有効になっています。

OT_ICMP6_ECHO_HANDLER_DISABLED

ICMPv6 エコー処理を無効にしました。

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

ICMPv6 エコー処理はマルチキャスト リクエストでのみ有効。

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

ICMPv6 エコー処理は、ユニキャスト リクエストに対してのみ有効になります。

otIcmp6Type

 otIcmp6Type

ICMPv6 メッセージ タイプ。

プロパティ
OT_ICMP6_TYPE_DST_UNREACH

目的地にアクセスできません。

OT_ICMP6_TYPE_ECHO_REPLY

エコー応答。

OT_ICMP6_TYPE_ECHO_REQUEST

エコー リクエスト

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

時間を超えました。

Typedef

otIcmp6Code

enum otIcmp6Code otIcmp6Code

ICMPv6 メッセージ コード

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

ICMPv6 エコー応答モード

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

この構造は、ICMPv6 メッセージ ハンドラを実装します。

otIcmp6Header

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 ヘッダーへのポインタ。

otIcmp6Type

enum otIcmp6Type otIcmp6Type

ICMPv6 メッセージ タイプ。

変数

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

関数

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

この関数は、ICMPv6 エコー処理が有効かどうかを示します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
戻り値
OT_ICMP6_ECHO_HANDLER_DISABLED
ICMPv6 エコー処理が無効になっています。
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
ICMPv6 エコー処理はユニキャスト リクエストに対してのみ有効
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
ICMPv6 エコー処理が有効(マルチキャスト リクエストの場合のみ)
OT_ICMP6_ECHO_HANDLER_ALL
ユニキャストおよびマルチキャスト リクエストの ICMPv6 エコー処理を有効にしました

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 エコー リクエストを送信します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aMessage
ICMPv6 ペイロードを含むメッセージ バッファへのポインタ。
[in] aMessageInfo
aMessage に関連付けられているメッセージ情報への参照。
[in] aIdentifier
このエコー リクエストへのエコー応答のマッチングに使用する ID。ゼロの場合もあります。

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

この関数は、ICMPv6 エコー処理を有効にするかどうかを設定します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in] aMode
ICMPv6 エコー処理モード。

マクロ

OT_ICMP6_Headers_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

ICMPv6 ヘッダーのメッセージ固有のデータのサイズ。

リソース

OpenThread API リファレンスのトピックは、GitHub で入手可能なソースコードに基づいています。 詳細またはドキュメントへの投稿については、リソースをご覧ください。