nl:: Inet:: RawEndPoint
#include <src/inet/RawEndPoint.h>
このクラスのオブジェクトは、未加工の IP ネットワーク エンドポイントを表します。
概要
Nest Inet Layer は、IP ネットワーク エンドポイント(Linux および BSD 派生システムの SOCK_RAW ソケット)や LwIP raw プロトコル制御ブロックとやり取りするためのメソッドをカプセル化します(システムの構成は適宜変更されます)。
継承
継承元: nl::Inet::IPEndPointBasis
パブリック属性 |
|
---|---|
IPProto
|
IPProtocol
インターネット コントロール メッセージ プロトコル(ICMP)のバージョン
|
IPVer
|
IPVersion
インターネット プロトコルのバージョン。
|
パブリック関数 |
|
---|---|
Bind(IPAddressType addrType, IPAddress addr, InterfaceId intfId)
|
エンドポイントをインターフェース IP アドレスにバインドします。
|
BindIPv6LinkLocal(InterfaceId intf, IPAddress addr)
|
未加工のエンドポイントを、指定されたインターフェース インデックスの IPv6 リンクローカル スコープ アドレスにバインドします。
|
BindInterface(IPAddressType addrType, InterfaceId intf)
|
エンドポイントをネットワーク インターフェースにバインドします。
|
Close(void)
|
void
エンドポイントを閉じます。
|
Free(void)
|
void
エンドポイントを閉じてメモリをリサイクルします。
|
GetBoundInterface(void)
|
InterfaceId
このエンドポイントのバインドされたインターフェースを取得します。
|
Listen(void)
|
ICMP メッセージを受信するようにエンドポイントを準備します。
|
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
指定した宛先に ICMP メッセージを送信します。
|
SendTo(IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags) の同義語。 |
SendTo(IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
指定した宛先アドレスに ICMP メッセージを送信します。
|
SetICMPFilter(uint8_t numICMPTypes, const uint8_t *aICMPTypes)
|
ネットワーク スタックで ICMP6 フィルタ パラメータを設定します。
|
パブリック属性
IPProto
IPProtocol IPProto
インターネット コントロール メッセージ プロトコル(ICMP)のバージョン
このフィールドは可変クラス変数ですが、変更できないクラスとは不変です。
IPVer
IPVersion IPVer
インターネット プロトコルのバージョン。
このフィールドは可変クラス変数ですが、変更できないクラスとは不変です。
パブリック関数
バインド
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, InterfaceId intfId )
エンドポイントをインターフェース IP アドレスにバインドします。
指定されたネットワーク インターフェース IP アドレスにエンドポイントをバインドします。
詳細 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||||
戻り値 |
|
LwIP では、すでに取得されている LwIP スタックロックでこのメソッドを呼び出さないでください。
BindIPv6LinkLocal
INET_ERROR BindIPv6LinkLocal( InterfaceId intf, IPAddress addr )
未加工のエンドポイントを、指定されたインターフェース インデックスの IPv6 リンクローカル スコープ アドレスにバインドします。
また、リンク上の宛先との間でパケットを送信するのに適した各種の IPv6 ソケット オプションも設定します。
エンドポイントを、intf
で示されるネットワーク インターフェースの IPv6 リンクローカル アドレス addr
にバインドします。
詳細 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||
パラメータ |
|
||||||||||||
戻り値 |
|
||||||||||||
戻り値 |
成功した場合は INET_NO_ERROR、失敗した場合はマッピングされた OS エラー。無効なパラメータ リストを使用すると、INET_ERROR_WRONG_ADDRESS_TYPE が返されることがあります。未加工のエンドポイントがすでにバインドされているか、リッスンしている場合は、INET_ERROR_INCORRECT_STATE を返します。エンドポイントをインターフェース IPv6 リンクローカル アドレスにバインドします。
|
LwIP では、すでに取得されている LwIP スタックロックでこのメソッドを呼び出さないでください。
BindInterface
INET_ERROR BindInterface( IPAddressType addrType, InterfaceId intf )
エンドポイントをネットワーク インターフェースにバインドします。
指定されたネットワーク インターフェース IP アドレスにエンドポイントをバインドします。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
|
LwIP では、すでに取得されている LwIP スタックロックでこのメソッドを呼び出さないでください。
閉じる
void Close( void )
エンドポイントを閉じます。
mState != kState_Closed
の場合、エンドポイントを閉じて、通信イベントの対象となる一連のエンドポイントから削除します。
LwIP システムでは、すでに取得されている LwIP スタックロックでこのメソッドを呼び出さないでください。
無料
void Free( void )
エンドポイントを閉じてメモリをリサイクルします。
Close
メソッドを呼び出してから InetLayerBasis::Release
メソッドを呼び出して、オブジェクトをメモリプールに返します。
LwIP システムでは、すでに取得されている LwIP スタックロックでこのメソッドを呼び出さないでください。
GetBoundInterface
InterfaceId GetBoundInterface( void )
このエンドポイントのバインドされたインターフェースを取得します。
詳細 | |
---|---|
戻り値 |
InterfaceId バインドされたインターフェース ID。
|
聴く
INET_ERROR Listen( void )
ICMP メッセージを受信するようにエンドポイントを準備します。
mState
がすでに kState_Listening
になっている場合、オペレーションは実行されません。それ以外の場合は、mState
が kState_Listening
に設定され、プラットフォームのセマンティクスに従って、ICMPv6 メッセージを受信するようにエンドポイントが準備されます。
詳細 | |||
---|---|---|---|
戻り値 |
|
LwIP では、すでに取得されている LwIP スタックロックでこのメソッドを呼び出さないでください。
SendMsg
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
指定した宛先に ICMP メッセージを送信します。
Send the ICMP message \c msg using the destination information given in \c addr. Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this method deep-copies \c msg into a fresh object, and queues that for transmission, leaving the original \c msg available after return.
詳細 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||
戻り値 |
|
SendTo
INET_ERROR SendTo( IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags)
の同義語。
SendTo
INET_ERROR SendTo( IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
指定した宛先アドレスに ICMP メッセージを送信します。
Send the ICMP message in \c msg to the destination given in \c addr. Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this method deep-copies \c msg into a fresh object, and queues that for transmission, leaving the original \c msg available after return.
詳細 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||
戻り値 |
|
SetICMPFilter
INET_ERROR SetICMPFilter( uint8_t numICMPTypes, const uint8_t *aICMPTypes )
ネットワーク スタックで ICMP6 フィルタ パラメータを設定します。
aICMPTypes
内のコードの ICMPv6 フィルタリング パラメータを、システム ネットワーク スタック内の基盤となるエンドポイントに適用します。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
|