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

ICMPv6

このモジュールでは、ICMPv6 通信を制御する関数が含まれています。

まとめ

列挙型

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
enum
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
}
enum
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
}
enum
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 メッセージ タイプ。

Variables

OT_TOOL_PACKED_END

関数

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

列挙型

otIcmp6Code

 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 のエコー処理を有効にしました。

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_NEIGHBOR_ADVERT

Neighbor Advertising。

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

近隣勧誘。

OT_ICMP6_TYPE_PACKET_TO_BIG

大きなパケット

OT_ICMP6_TYPE_PARAMETER_PROBLEM

パラメータの問題。

OT_ICMP6_TYPE_ROUTER_ADVERT

Router アドバタイズ。

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 メッセージ ハンドラを実装します。

otIcmp6 ヘッダー

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 メッセージ タイプ。

Variables

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

関数

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 のエコー処理を有効にした

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 です。0 の場合もあります。

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

ICMPv6 Echo 処理を有効にするかどうかを設定します。

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

マクロ

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

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

リソース

OpenThread API リファレンスのトピックは、GitHub で入手可能なソースコードから始まります。詳細や Google のドキュメントへの貢献については、リソースをご覧ください。