nl::Inet

Ringkasan

Enumerasi

@7{
  kInetEvent_TCPConnectComplete = _INET_CONFIG_EVENT(0),
  kInetEvent_TCPConnectionReceived = _INET_CONFIG_EVENT(1),
  kInetEvent_TCPDataReceived = _INET_CONFIG_EVENT(2),
  kInetEvent_TCPDataSent = _INET_CONFIG_EVENT(3),
  kInetEvent_TCPError = _INET_CONFIG_EVENT(4),
  kInetEvent_UDPDataReceived = _INET_CONFIG_EVENT(5),
  kInetEvent_DNSResolveComplete = _INET_CONFIG_EVENT(6),
  kInetEvent_TunDataReceived = _INET_CONFIG_EVENT(7),
  kInetEvent_RawDataReceived = _INET_CONFIG_EVENT(8)
}
enum
Definisi jenis peristiwa lapisan Inet.
DNSOptions{
  kDNSOption_AddrFamily_Mask = 0x07,
  kDNSOption_Flags_Mask = 0xF8,
  kDNSOption_AddrFamily_Any = 0x00,
  kDNSOption_AddrFamily_IPv4Only = 0x01,
  kDNSOption_AddrFamily_IPv4Preferred = 0x02,
  kDNSOption_AddrFamily_IPv6Only = 0x03,
  kDNSOption_AddrFamily_IPv6Preferred = 0x04,
  kDNSOption_ValidFlags = 0
}
enum
Opsi yang mengontrol cara resolusi alamat IP dilakukan.
IPAddressType{
  kIPAddressType_Unknown = 0,
  kIPAddressType_IPv4 = 1,
  kIPAddressType_IPv6 = 2,
  kIPAddressType_Any = 3
}
enum
Keluarga alamat protokol internet.
IPProtocol{
  kIPProtocol_ICMPv6 = 58,
  kIPProtocol_ICMPv4 = 1
}
enum
Nomor dari beberapa protokol dalam keluarga IP.
IPV6MulticastGroup{
  kIPV6MulticastGroup_AllRouters = 2
}
enum
ID grup multicast protokol internet.
IPVersion{
  kIPVersion_6 = 6,
  kIPVersion_4 = 4
}
enum
Versi protokol IP yang digunakan.
IPv6MulticastFlag{
  kIPv6MulticastFlag_Transient = 0x01,
  kIPv6MulticastFlag_Prefix = 0x02
}
enum
Flag multicast Internet Protocol v6.
IPv6MulticastScope{
  kIPv6MulticastScope_Interface = 1,
  kIPv6MulticastScope_Link = 2,
  kIPv6MulticastScope_IPv4 = 3,
  kIPv6MulticastScope_Admin = 4,
  kIPv6MulticastScope_Site = 5,
  kIPv6MulticastScope_Organization = 8,
  kIPv6MulticastScope_Global = 14
}
enum
Cakupan alamat multicast protokol internet.

Typedef

InterfaceId typedef
struct netif *
Indikator untuk antarmuka jaringan sistem.

Variabel

sIOCTLSocket = -1
int

Fungsi

CheckMulticastGroupArgs(InterfaceId aInterfaceId, const IPAddress & aAddress)
CloseIOCTLSocket(void)
void
Tutup soket global yang dibuat oleh GetIOCTLSocket.
FormatInetLayerError(char *buf, uint16_t bufSize, int32_t err)
bool
Dengan mempertimbangkan error Inet Layer, menampilkan string C yang dihentikan NULL dan dapat dibaca manusia yang menjelaskan error tersebut.
GetIOCTLSocket(void)
int
Menampilkan soket tujuan umum global yang berguna untuk memanggil IOCTL jaringan tertentu.
GetInterfaceName(InterfaceId intfId, char *nameBuf, size_t nameBufSize)
NL_DLL_EXPORT INET_ERROR
Mendapatkan nama antarmuka jaringan.
INET_IsInetEvent(Weave::System::EventType aType)
bool
Periksa untuk memverifikasi apakah System::EventType adalah jenis peristiwa lapisan Inet yang valid.
InterfaceNameToId(const char *intfName, InterfaceId & intfId)
NL_DLL_EXPORT INET_ERROR
Telusuri daftar antarmuka jaringan untuk nama yang ditunjukkan.
LwIPBindInterface(struct raw_pcb *aRaw, InterfaceId intfId)
LwIPBindInterface(struct udp_pcb *aUDP, InterfaceId intfId)
NetmaskToPrefixLength(const uint8_t *netmask, uint16_t netmaskLen)
uint8_t
Hitung panjang awalan dari netmask dengan panjang variabel.
ParseHostAndPort(const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort)
Mengurai string yang dapat dibaca manusia yang berisi alamat host atau IP dan nomor port opsional (dipisahkan dengan ':'), yang mendukung format berikut:
ParseHostPortAndInterface(const char *aString, uint16_t aStringLen, const char *& aHost, uint16_t & aHostLen, uint16_t & aPort, const char *& aInterface, uint16_t & aInterfaceLen)
Mengurai string yang dapat dibaca manusia yang berisi host atau alamat IP, nomor port opsional (dipisahkan dengan ':'), dan nama antarmuka opsional (dipisahkan dengan ''), yang mendukung format berikut:
RegisterInetLayerErrorFormatter(void)
void
Mendaftarkan pemformat error teks untuk error Lapisan Inet.
SocketsIPv4JoinLeaveMulticastGroup(int aSocket, InterfaceId aInterfaceId, const IPAddress & aAddress, int aCommand)
SocketsIPv6JoinLeaveMulticastGroup(int aSocket, InterfaceId aInterfaceId, const IPAddress & aAddress, int aCommand)
SocketsSetMulticastLoopback(int aSocket, bool aLoopback, int aProtocol, int aOption)
SocketsSetMulticastLoopback(int aSocket, IPVersion aIPVersion, bool aLoopback)

Class

nl::Inet::AsyncDNSResolverSockets

Ini adalah class internal untuk InetLayer yang menyediakan API helper untuk resolusi Asynchronous Domain Name System (DNS) di InetLayer.

nl::Inet::DNSResolver

Ini adalah class internal untuk InetLayer yang menyediakan abstraksi resolusi Domain Name System (DNS) di InetLayer.

nl::Inet::EndPointBasis

Dasar class endpoint transportasi internet.

nl::Inet::IPAddress

Alamat protokol internet.

nl::Inet::IPEndPointBasis

Objek di class ini mewakili endpoint protokol IP yang tidak dapat dibuat instance-nya.

nl::Inet::IPPacketInfo

Informasi tentang pesan/koneksi masuk/keluar.

nl::Inet::IPPrefix

Awalan alamat protokol internet.

nl::Inet::InetLayer

Ini menyediakan akses ke layanan internet, termasuk penghitung waktu, resolusi Domain Name System (DNS), transportasi jaringan TCP, transportasi jaringan UDP, dan transport jaringan mentah, untuk satu thread.

nl::Inet::InetLayerBasis

Ini adalah class dasar untuk objek yang dihitung referensi yang dikelola oleh objek InetLayer.

nl::Inet::InterfaceAddressIterator

Iterator untuk daftar alamat IP antarmuka jaringan sistem.

nl::Inet::InterfaceIterator

Iterator untuk daftar antarmuka jaringan sistem.

nl::Inet::RawEndPoint

Objek dari class ini mewakili endpoint jaringan IP mentah.

nl::Inet::SocketEvents

Menggambarkan kumpulan peristiwa I/O yang diminta/tertunda pada soket.

nl::Inet::TCPEndPoint

Objek dari class ini mewakili endpoint transpor TCP.

nl::Inet::TunEndPoint

Objek dari class ini mewakili antarmuka tunnel.

nl::Inet::UDPEndPoint

Objek dari class ini mewakili endpoint transpor UDP.

Serikat

nl::Inet::PeerSockAddr

Namespace

nl::Inet::Platform

Enumerasi

@7

 @7

Definisi jenis peristiwa lapisan Inet.

Properti
kInetEvent_DNSResolveComplete

Peristiwa untuk penyelesaian resolusi nama DNS.

kInetEvent_RawDataReceived

Peristiwa untuk penerimaan data melalui endpoint mentah InetLayer.

kInetEvent_TCPConnectComplete

Peristiwa penyelesaian koneksi TCP.

kInetEvent_TCPConnectionReceived

Kejadian untuk penerimaan koneksi TCP.

kInetEvent_TCPDataReceived

Kejadian untuk penerimaan data melalui koneksi TCP.

kInetEvent_TCPDataSent

Kejadian untuk transmisi data melalui koneksi TCP.

kInetEvent_TCPError

Peristiwa error pada koneksi TCP.

kInetEvent_TunDataReceived

Peristiwa untuk penerimaan data melalui tunnel Weave.

kInetEvent_UDPDataReceived

Kejadian untuk penerimaan data melalui UDP.

DNSOptions

 DNSOptions

Opsi yang mengontrol cara resolusi alamat IP dilakukan.

Properti
kDNSOption_AddrFamily_Any

Mengembalikan alamat IPv4 dan/atau IPv6 dalam urutan yang ditampilkan oleh server nama.

kDNSOption_AddrFamily_IPv4Only

Hanya tampilkan alamat IPv4.

kDNSOption_AddrFamily_IPv4Preferred

Tampilkan alamat IPv4 dan/atau IPv6, dengan mencantumkan alamat IPv4 terlebih dahulu.

kDNSOption_AddrFamily_IPv6Only

Hanya tampilkan alamat IPv6.

kDNSOption_AddrFamily_IPv6Preferred

Tampilkan alamat IPv4 dan/atau IPv6, dengan mencantumkan alamat IPv6 terlebih dahulu.

kDNSOption_AddrFamily_Mask

Bit dalam nilai bilangan bulat DNSOptions yang mewakili kelompok alamat yang diinginkan.

kDNSOption_Flags_Mask

Bit dalam nilai bilangan bulat DNSOptions yang dicadangkan untuk tanda.

kDNSOption_ValidFlags

Kumpulan semua tanda DNSOption yang valid.

IPAddressType

 IPAddressType

Keluarga alamat protokol internet.

Nilai jenis IPAddressType ditampilkan oleh metode IPAddress::Type(). Alamat tersebut menunjukkan kelompok alamat yang menyertai penggunaan alamat tersebut.

Properti
kIPAddressType_Any

Alamat internet tidak ditentukan (terlepas dari versi protokol)

kIPAddressType_IPv4

Protokol internet versi 4.

kIPAddressType_IPv6

Protokol internet versi 6.

kIPAddressType_Unknown

Tidak digunakan.

IPProtocol

 IPProtocol

Nomor dari beberapa protokol dalam keluarga IP.

Properti
kIPProtocol_ICMPv4

ICMPv4.

kIPProtocol_ICMPv6

ICMPv6.

IPV6MulticastGroup

 IPV6MulticastGroup

ID grup multicast protokol internet.

Nilai jenis IPV6MulticastGroup digunakan untuk memanggil metode IPAddress::MakeIPv6Multicast(). Tanda tersebut menunjukkan ID grup khusus yang didaftarkan oleh IETF dengan IANA.

Properti
kIPV6MulticastGroup_AllRouters

RFC 4291.

IPVersion

 IPVersion

Versi protokol IP yang digunakan.

Properti
kIPVersion_4

IPv4

kIPVersion_6

IPv6

IPv6MulticastFlag

 IPv6MulticastFlag

Flag multicast Internet Protocol v6.

Nilai jenis IPv6MulticastFlag digunakan untuk memanggil metode IPAddress::MakeIPv6Multicast(). Mereka menunjukkan jenis alamat multicast IPv6 yang akan dibuat. Nomor ini didaftarkan oleh IETF ke IANA.

Properti
kIPv6MulticastFlag_Prefix

Alamat multicast adalah (1) berdasarkan awalan jaringan.

kIPv6MulticastFlag_Transient

Alamat multicast bersifat (1) sementara (yaitu ditetapkan secara dinamis) bukan (0) yang diketahui (yaitu, ditetapkan oleh IANA).

IPv6MulticastScope

 IPv6MulticastScope

Cakupan alamat multicast protokol internet.

Nilai jenis IPv6MulticastScope digunakan untuk memanggil metode IPAddress::MakeIPv6Multicast(). Parameter ini menunjukkan cakupan yang dapat dirutekan dari grup multicast yang ditentukan oleh hasilnya. Nomor ini didaftarkan oleh IETF ke IANA.

Properti
kIPv6MulticastScope_Admin

Cakupan realm-local.

kIPv6MulticastScope_Global

Cakupan global.

kIPv6MulticastScope_IPv4

Cakupan realm-local ("IPv4").

kIPv6MulticastScope_Interface

Cakupan lokal antarmuka.

kIPv6MulticastScope_Link

Cakupan link-lokal.

kIPv6MulticastScope_Organization

Cakupan lokal organisasi.

kIPv6MulticastScope_Site

Cakupan realm-local.

Typedef

InterfaceId

struct netif * InterfaceId

Indikator untuk antarmuka jaringan sistem.

Portabilitas bergantung pada tidak pernah melihat alias ini. Class ini dapat diganti dengan class buram konkret di masa mendatang.

Catatan: Istilah "interface identifier" secara konvensional juga mengacu pada 64 bit yang lebih rendah dari alamat IPv6 di semua dokumen standar IETF yang relevan, di mana singkatan "IID" sering digunakan. Dalam teks ini, istilah "indikator antarmuka" mengacu pada nilai jenis alias.

Variabel

sIOCTLSocket

int sIOCTLSocket = -1

Fungsi

CheckMulticastGroupArgs

INET_ERROR CheckMulticastGroupArgs(
  InterfaceId aInterfaceId,
  const IPAddress & aAddress
)

CloseIOCTLSocket

void CloseIOCTLSocket(
  void
)

Tutup soket global yang dibuat oleh GetIOCTLSocket.

Fungsi ini disediakan untuk kasus yang membiarkan soket IOCTL global terbuka akan dianggap sebagai kebocoran.

Catatan: Fungsi ini TIDAK aman untuk thread sehubungan dengan GetIOCTLSocket.

FormatInetLayerError

bool FormatInetLayerError(
  char *buf,
  uint16_t bufSize,
  int32_t err
)

Dengan mempertimbangkan error Inet Layer, menampilkan string C yang dihentikan NULL dan dapat dibaca manusia yang menjelaskan error tersebut.

Detail
Parameter
[in] buf
Buffer tempat string error akan ditempatkan.
[in] bufSize
Ukuran buffer yang diberikan dalam byte.
[in] err
Error yang perlu dijelaskan.
Hasil
true Jika string deskripsi ditulis ke buffering yang disediakan.
Hasil
false Jika error yang diberikan bukan merupakan error Inet Layer.

GetIOCTLSocket

int GetIOCTLSocket(
  void
)

Menampilkan soket tujuan umum global yang berguna untuk memanggil IOCTL jaringan tertentu.

Fungsi ini aman untuk thread di semua platform.

GetInterfaceName

NL_DLL_EXPORT INET_ERROR GetInterfaceName(
  InterfaceId intfId,
  char *nameBuf,
  size_t nameBufSize
)

Mendapatkan nama antarmuka jaringan.

Writes the name of the network interface as \c NUL terminated text string
at \c nameBuf. The name of the unspecified network interface is the empty
string.

Detail
Parameter
[in] intfId
antarmuka jaringan
[in] nameBuf
region memori untuk menulis nama antarmuka
[in] nameBufSize
ukuran wilayah yang dilambangkan dengan nameBuf
Nilai Pengembalian
INET_NO_ERROR
hasil berhasil, nama antarmuka ditulis
INET_ERROR_NO_MEMORY
nama terlalu besar untuk ditulis dalam buffer
other
error sistem atau platform lain

INET_IsInetEvent

bool INET_IsInetEvent(
  Weave::System::EventType aType
)

Periksa untuk memverifikasi apakah System::EventType adalah jenis peristiwa lapisan Inet yang valid.

Detail
Parameter
[in] aType
Jenis peristiwa Weave System Layer.
Hasil
benar jika berada dalam rentang yang disebutkan; jika tidak, salah.

InterfaceNameToId

NL_DLL_EXPORT INET_ERROR InterfaceNameToId(
  const char *intfName,
  InterfaceId & intfId
)

Telusuri daftar antarmuka jaringan untuk nama yang ditunjukkan.

On LwIP, this function must be called with the LwIP stack lock acquired.

The \c intfId parameter is not updated unless the value returned is
\c INET_NO_ERROR. It should be initialized with \c INET_NULL_INTERFACEID
before calling this function.

Detail
Parameter
[in] intfName
nama antarmuka jaringan untuk menemukan
[out] intfId
indikator antarmuka jaringan untuk menetapkan
Nilai Pengembalian
INET_NO_ERROR
berhasil, ditunjukkan antarmuka jaringan
INET_ERROR_UNKNOWN_INTERFACE
antarmuka jaringan tidak ditemukan
other
error sistem atau platform lain

LwIPBindInterface

INET_ERROR LwIPBindInterface(
  struct raw_pcb *aRaw,
  InterfaceId intfId
)

LwIPBindInterface

INET_ERROR LwIPBindInterface(
  struct udp_pcb *aUDP,
  InterfaceId intfId
)

NetmaskToPrefixLength

uint8_t NetmaskToPrefixLength(
  const uint8_t *netmask,
  uint16_t netmaskLen
)

Hitung panjang awalan dari netmask dengan panjang variabel.

ParseHostAndPort

INET_ERROR ParseHostAndPort(
  const char *aString,
  uint16_t aStringLen,
  const char *& aHost,
  uint16_t & aHostLen,
  uint16_t & aPort
)

Mengurai string yang dapat dibaca manusia yang berisi alamat host atau IP dan nomor port opsional (dipisahkan dengan ':'), yang mendukung format berikut:

  • :
  • :
  • []:

Detail
Parameter
[in] aString
String yang dapat diurai oleh manusia.
[in] aStringLen
Panjang, dalam karakter, {i>aString<i}.
[out] aHost
Pointer ke bagian nama host dari string yang diuraikan.
[out] aHostLen
Panjang, dalam karakter, Host.
[out] aPort
Nomor port, jika ada dan berhasil diuraikan; jika tidak, 0.
Hasil
INET_ERROR_INVALID_HOST_NAME Jika input yang akan diurai memiliki panjang nol atau salah format.
Hasil
INET_ERROR_HOST_NAME_TOO_LONG Jika nama host melebihi 253 karakter.
Hasil
INET_NO_ERROR Saat berhasil.

ParseHostPortAndInterface

INET_ERROR ParseHostPortAndInterface(
  const char *aString,
  uint16_t aStringLen,
  const char *& aHost,
  uint16_t & aHostLen,
  uint16_t & aPort,
  const char *& aInterface,
  uint16_t & aInterfaceLen
)

Mengurai string yang dapat dibaca manusia yang berisi host atau alamat IP, nomor port opsional (dipisahkan dengan ':'), dan nama antarmuka opsional (dipisahkan dengan ''), yang mendukung format berikut:

  • %
  • :
  • :%
  • %
  • :
  • :%
  • %
  • []:
  • []:%

Detail
Parameter
[in] aString
String yang dapat diurai oleh manusia.
[in] aStringLen
Panjang, dalam karakter, {i>aString<i}.
[out] aHost
Pointer ke bagian nama host dari string yang diuraikan.
[out] aHostLen
Panjang, dalam karakter, Host.
[out] aPort
Nomor port, jika ada dan berhasil diuraikan; jika tidak, 0.
[out] aInterface
Pointer ke bagian antarmuka dari string yang diurai.
[out] aInterfaceLen
Panjang, dalam karakter, aInterface.
Hasil
INET_ERROR_INVALID_HOST_NAME Jika input yang akan diurai memiliki panjang nol atau salah format.
Hasil
INET_ERROR_HOST_NAME_TOO_LONG Jika nama host melebihi 253 karakter.
Hasil
INET_NO_ERROR Saat berhasil.

RegisterInetLayerErrorFormatter

void RegisterInetLayerErrorFormatter(
  void
)

Mendaftarkan pemformat error teks untuk error Lapisan Inet.

SocketsIPv4JoinLeaveMulticastGroup

INET_ERROR SocketsIPv4JoinLeaveMulticastGroup(
  int aSocket,
  InterfaceId aInterfaceId,
  const IPAddress & aAddress,
  int aCommand
)

SocketsIPv6JoinLeaveMulticastGroup

INET_ERROR SocketsIPv6JoinLeaveMulticastGroup(
  int aSocket,
  InterfaceId aInterfaceId,
  const IPAddress & aAddress,
  int aCommand
)

SocketsSetMulticastLoopback

INET_ERROR SocketsSetMulticastLoopback(
  int aSocket,
  bool aLoopback,
  int aProtocol,
  int aOption
)

SocketsSetMulticastLoopback

INET_ERROR SocketsSetMulticastLoopback(
  int aSocket,
  IPVersion aIPVersion,
  bool aLoopback
)