Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl::Inet::RawEndPoint

#include <src/inet/RawEndPoint.h>

Objek class ini mewakili endpoint jaringan IP mentah.

Ringkasan

Nest Inet Layer merangkum metode untuk berinteraksi dengan endpoint jaringan IP (soket SOCK_RAW pada sistem turunan Linux dan BSD) atau blok kontrol protokol mentah LwIP, sebagaimana sistem dikonfigurasi sebagaimana mestinya.

Warisan

Mewarisi dari: nl::Inet::IPEndPointBasis

Atribut publik

IPProto
IPProtocol
versi Internet Control Message Protocol (ICMP)
IPVer
IPVersion
Versi protokol Internet.

Fungsi publik

Bind(IPAddressType addrType, IPAddress addr, InterfaceId intfId)
Ikat endpoint dengan alamat IP antarmuka.
BindIPv6LinkLocal(InterfaceId intf, IPAddress addr)
Ikat endpoint mentah ke alamat cakupan link-lokal IPv6 di indeks antarmuka yang ditentukan.
BindInterface(IPAddressType addrType, InterfaceId intf)
Ikat endpoint dengan antarmuka jaringan.
Close(void)
void
Tutup endpoint.
Free(void)
void
Tutup endpoint dan daur ulang memorinya.
GetBoundInterface(void)
InterfaceId
Dapatkan antarmuka terikat di endpoint ini.
Listen(void)
Siapkan endpoint untuk menerima pesan ICMP.
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Mengirim pesan ICMP ke tujuan yang ditentukan.
SendTo(IPAddress addr, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Sinonim untuk SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags).
SendTo(IPAddress addr, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Mengirim pesan ICMP ke alamat tujuan yang ditentukan.
SetICMPFilter(uint8_t numICMPTypes, const uint8_t *aICMPTypes)
Menetapkan parameter filter ICMP6 di tumpukan jaringan.

Atribut publik

IPPro

IPProtocol IPProto

versi Internet Control Message Protocol (ICMP)

Meskipun kolom ini adalah variabel class yang dapat berubah, kolom ini merupakan invarian class yang tidak dapat diubah.

IPV

IPVersion IPVer

Versi protokol Internet.

Meskipun kolom ini adalah variabel class yang dapat berubah, kolom ini merupakan invarian class yang tidak dapat diubah.

Fungsi publik

Ikat

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  InterfaceId intfId
)

Ikat endpoint dengan alamat IP antarmuka.

Mengikat endpoint ke alamat IP antarmuka jaringan yang ditentukan.

Detail
Parameter
[in] addrType
versi protokol alamat IP
[in] addr
alamat IP (harus berupa alamat antarmuka)
[in] intfId
indikator antarmuka jaringan opsional
Nilai yang Ditampilkan
INET_NO_ERROR
successful: endpoint terikat ke alamat
INET_ERROR_INCORRECT_STATE
endpoint telah diikat sebelumnya
INET_NO_MEMORY
memori tidak cukup untuk endpoint
INET_ERROR_UNKNOWN_INTERFACE
Di beberapa platform, antarmuka yang ditentukan secara opsional tidak ada.
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType tidak cocok dengan IPVer.
INET_ERROR_WRONG_ADDRESS_TYPE
addrType adalah kIPAddressType_Any, atau jenis addr tidak sama dengan addrType.
other
error platform atau sistem lain

Di LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh.

BindIPv6LinkLocal

INET_ERROR BindIPv6LinkLocal(
  InterfaceId intf,
  IPAddress addr
)

Ikat endpoint mentah ke alamat cakupan link-lokal IPv6 di indeks antarmuka yang ditentukan.

Juga menetapkan berbagai opsi soket IPv6 yang sesuai untuk mentransmisikan paket ke dan dari tujuan di tautan.

Mem-binding endpoint ke alamat link-local IPv6 addr di antarmuka jaringan yang ditunjukkan oleh intf.

Detail
Parameter
[in] intf
InterfaceId untuk mengidentifikasi cakupan alamat.
[in] addr
Objek IPAddress cakupan lokal link IPv6.
Parameter
[in] intf
indikator antarmuka jaringan
[in] addr
alamat IP (harus berupa alamat antarmuka)
Nilai yang Ditampilkan
INET_NO_ERROR
successful: endpoint terikat ke alamat
INET_ERROR_INCORRECT_STATE
endpoint telah diikat sebelumnya
INET_NO_MEMORY
memori tidak cukup untuk endpoint
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType tidak cocok dengan IPVer.
INET_ERROR_WRONG_ADDRESS_TYPE
addr bukan alamat link-local IPv6 atau intf adalah INET_NULL_INTERFACEID.
other
error platform atau sistem lain
Menampilkan
INET_NO_ERROR saat berhasil, atau kesalahan OS yang dipetakan jika gagal. Daftar parameter yang tidak valid dapat mengakibatkan INET_ERROR_WRONG_ADDRESS_TYPE. Jika endpoint mentah sudah terikat atau sedang memproses, maka menampilkan INET_ERROR_INCORRECT_STATE. Ikat endpoint ke alamat link-local IPv6 antarmuka.

Di LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh.

BindInterface

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

Ikat endpoint dengan antarmuka jaringan.

Mengikat endpoint ke alamat IP antarmuka jaringan yang ditentukan.

Detail
Parameter
[in] addrType
versi protokol alamat IP.
[in] intf
indikator antarmuka jaringan.
Nilai yang Ditampilkan
INET_NO_ERROR
successful: endpoint terikat ke alamat
INET_NO_MEMORY
memori tidak cukup untuk endpoint
INET_ERROR_NOT_IMPLEMENTED
penerapan sistem tidak lengkap.
INET_ERROR_UNKNOWN_INTERFACE
Di beberapa platform, antarmuka tidak ada.
other
error platform atau sistem lain

Di LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh.

Tutup

void Close(
  void
)

Tutup endpoint.

Jika mState != kState_Closed, lalu menutup endpoint, menghapusnya dari kumpulan endpoint yang memenuhi syarat untuk peristiwa komunikasi.

Pada sistem LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh.

Gratis

void Free(
  void
)

Tutup endpoint dan daur ulang memorinya.

Memanggil metode Close, lalu memanggil metode InetLayerBasis::Release untuk mengembalikan objek ke kumpulan memorinya.

Pada sistem LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh.

GetBoundInterface

InterfaceId GetBoundInterface(
  void
)

Dapatkan antarmuka terikat di endpoint ini.

Detail
Menampilkan
InterfaceId ID antarmuka terikat.

Dengarkan

INET_ERROR Listen(
  void
)

Siapkan endpoint untuk menerima pesan ICMP.

Jika mState sudah kState_Listening, tidak ada operasi yang dilakukan, jika tidak, mState akan ditetapkan ke kState_Listening dan endpoint siap untuk menerima pesan ICMPv6, sesuai dengan semantik platform.

Detail
Nilai yang Ditampilkan
INET_NO_ERROR
selalu dikembalikan.

Di LwIP, metode ini tidak boleh dipanggil dengan kunci stack LwIP yang sudah diperoleh

KirimPesan

INET_ERROR SendMsg(
  const IPPacketInfo *pktInfo,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

Mengirim pesan ICMP ke tujuan yang ditentukan.

 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.

Detail
Parameter
[in] pktInfo
informasi tujuan untuk pesan
[in] msg
buffering paket yang berisi pesan UDP
[in] sendFlags
tanda opsi transmisi opsional
Nilai yang Ditampilkan
INET_NO_ERROR
berhasil: msg dimasukkan dalam antrean untuk transmisi.
INET_ERROR_NOT_SUPPORTED
sistem tidak mendukung operasi yang diminta.
INET_ERROR_WRONG_ADDRESS_TYPE
alamat tujuan dan alamat antarmuka terikat tidak memiliki versi protokol atau jenis alamat yang cocok.
INET_ERROR_MESSAGE_TOO_LONG
msg tidak berisi seluruh pesan ICMP.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
Di beberapa platform, hanya sebagian msg yang terpotong yang telah dimasukkan ke antrean untuk dikirim.
other
error platform atau sistem lain

Kirim ke

INET_ERROR SendTo(
  IPAddress addr,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

Sinonim untuk SendTo(addr, INET_NULL_INTERFACEID, msg, sendFlags).

Kirim ke

INET_ERROR SendTo(
  IPAddress addr,
  InterfaceId intfId,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

Mengirim pesan ICMP ke alamat tujuan yang ditentukan.

 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.

Detail
Parameter
[in] addr
alamat IP tujuan
[in] intfId
indikator antarmuka jaringan opsional
[in] msg
buffering paket yang berisi pesan UDP
[in] sendFlags
tanda opsi transmisi opsional
Nilai yang Ditampilkan
INET_NO_ERROR
berhasil: msg dimasukkan dalam antrean untuk transmisi.
INET_ERROR_NOT_SUPPORTED
sistem tidak mendukung operasi yang diminta.
INET_ERROR_WRONG_ADDRESS_TYPE
alamat tujuan dan alamat antarmuka terikat tidak memiliki versi protokol atau jenis alamat yang cocok.
INET_ERROR_MESSAGE_TOO_LONG
msg tidak berisi seluruh pesan ICMP.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
Di beberapa platform, hanya sebagian msg yang terpotong yang telah dimasukkan ke antrean untuk dikirim.
other
error platform atau sistem lain

SetICMPFilter

INET_ERROR SetICMPFilter(
  uint8_t numICMPTypes,
  const uint8_t *aICMPTypes
)

Menetapkan parameter filter ICMP6 di tumpukan jaringan.

Terapkan parameter pemfilteran ICMPv6 untuk kode di aICMPTypes ke endpoint pokok pada stack jaringan sistem.

Detail
Parameter
[in] numICMPTypes
panjang array pada aICMPTypes
[in] aICMPTypes
kumpulan kode jenis ICMPv6 yang akan difilter.
Nilai yang Ditampilkan
INET_NO_ERROR
berhasil: tetapkan parameter filter
INET_ERROR_NOT_IMPLEMENTED
sistem tidak menerapkan
INET_ERROR_WRONG_ADDRESS_TYPE
endpoint bukan jenis IPv6
INET_ERROR_WRONG_PROTOCOL_TYPE
endpoint bukan jenis ICMP6
other
error platform atau sistem lain