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
Kelompok alamat protokol internet.
IPProtocol{
  kIPProtocol_ICMPv6 = 58,
  kIPProtocol_ICMPv4 = 1
}
enum
Nomor 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
{i>Internet protocol multicast address scope<i}.

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
Mengingat error Inet Layer, menampilkan string C yang diakhiri dengan NULL yang dapat dibaca manusia dan 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
Dapatkan 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 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 host atau alamat 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
Daftarkan pemformat error teks untuk error Inet Layer.
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 bantuan 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 class ini merepresentasikan endpoint protokol IP yang tidak dapat dibuat instance.

nl::Inet::IPPacketInfo

Informasi tentang pesan masuk/keluar.

nl::Inet::IPPrefix

Awalan alamat protokol internet

nl::Inet::InetLayer

Layanan ini menyediakan akses ke layanan Internet, termasuk timer, resolusi Domain Name System (DNS), transportasi jaringan TCP, transportasi jaringan UDP, dan transportasi jaringan mentah, untuk satu thread.

nl::Inet::InetLayerBasis

Ini adalah class dasar objek yang dihitung dengan 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 di class ini mewakili endpoint jaringan IP mentah.

nl::Inet::SocketEvents

Merepresentasikan serangkaian peristiwa I/O yang diminta/tertunda pada soket.

nl::Inet::TCPEndPoint

Objek di class ini merepresentasikan endpoint transport TCP.

nl::Inet::TunEndPoint

Objek di class ini merepresentasikan antarmuka tunnel.

nl::Inet::UDPEndPoint

Objek di class ini merepresentasikan 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 untuk penyelesaian koneksi TCP.

kInetEvent_TCPConnectionReceived

Peristiwa untuk penerimaan koneksi TCP.

kInetEvent_TCPDataReceived

Peristiwa untuk penerimaan data melalui koneksi TCP.

kInetEvent_TCPDataSent

Peristiwa untuk transmisi data melalui koneksi TCP.

kInetEvent_TCPError

Peristiwa untuk kesalahan pada koneksi TCP.

kInetEvent_TunDataReceived

Peristiwa untuk penerimaan data melalui tunnel Weave.

kInetEvent_UDPDataReceived

Peristiwa untuk penerimaan data melalui UDP.

DNSOptions

 DNSOptions

Opsi yang mengontrol cara resolusi alamat IP dilakukan.

Properti
kDNSOption_AddrFamily_Any

Tampilkan alamat IPv4 dan/atau IPv6 dalam urutan yang dikembalikan oleh server nama.

kDNSOption_AddrFamily_IPv4Only

Hanya tampilkan alamat IPv4.

kDNSOption_AddrFamily_IPv4Preferred

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

kDNSOption_AddrFamily_IPv6Only

Hanya tampilkan alamat IPv6.

kDNSOption_AddrFamily_IPv6Preferred

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

kDNSOption_AddrFamily_Mask

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

kDNSOption_Flags_Mask

Bit dalam nilai integer DNSOptions yang dicadangkan untuk tanda.

kDNSOption_ValidFlags

Kumpulan semua tanda DNSOption yang valid.

IPAddressType

 IPAddressType

Kelompok alamat protokol internet.

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

Properti
kIPAddressType_Any

Alamat internet yang 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 beberapa protokol dalam keluarga IP.

Properti
kIPProtocol_ICMPv4

atau ICMPv4.

kIPProtocol_ICMPv6

atau ICMPv6.

IPV6MulticastGroup

 IPV6MulticastGroup

ID grup multicast protokol internet.

Nilai jenis IPV6MulticastGroup digunakan untuk memanggil metode IPAddress::MakeIPv6Multicast(). Nomor tersebut menunjukkan ID grup terkemuka yang didaftarkan oleh IETF di 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 pada IANA.

Properti
kIPv6MulticastFlag_Prefix

Alamat multicast adalah (1) berdasarkan awalan jaringan.

kIPv6MulticastFlag_Transient

Alamat multicast adalah (1) sementara (yaitu, ditetapkan secara dinamis) daripada (0) terkenal (yaitu, ditetapkan IANA).

IPv6MulticastScope

 IPv6MulticastScope

{i>Internet protocol multicast address scope<i}.

Nilai jenis IPv6MulticastScope digunakan untuk memanggil metode IPAddress::MakeIPv6Multicast(). Mereka menunjukkan {i>routable scope<i} dari grup multicast yang ditentukan oleh hasil. Nomor ini didaftarkan oleh IETF pada IANA.

Properti
kIPv6MulticastScope_Admin

Cakupan realm-local.

kIPv6MulticastScope_Global

Cakupan global.

kIPv6MulticastScope_IPv4

Cakupan realm-local ("IPv4").

kIPv6MulticastScope_Interface

Cakupan antarmuka-lokal.

kIPv6MulticastScope_Link

Link-local cakupan.

kIPv6MulticastScope_Organization

Cakupan organisasi-lokal.

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 digantikan dengan class buram konkret pada masa mendatang.

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

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-kasus yang membiarkan soket IOCTL global terbuka dan dianggap sebagai kebocoran.

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

FormatInetLayerError

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

Mengingat error Inet Layer, menampilkan string C yang diakhiri dengan NULL yang dapat dibaca manusia dan menjelaskan error tersebut.

Detail
Parameter
[in] buf
Buffer tempat string error akan ditempatkan.
[in] bufSize
Ukuran buffer yang disediakan dalam byte.
[in] err
Error yang akan dijelaskan.
Hasil
true Jika string deskripsi ditulis ke dalam buffer yang disediakan.
Hasil
false Jika error yang diberikan bukan 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
)

Dapatkan 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 yang Ditampilkan
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 Lapisan Sistem Weave.
Hasil
benar (true) jika berada dalam rentang yang dienumerasi; jika tidak, salah (false).

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
Nilai yang Ditampilkan
INET_NO_ERROR
berhasil, antarmuka jaringan menunjukkan
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 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 host atau alamat IP dan nomor port opsional (dipisahkan dengan ':'), yang mendukung format berikut:

  • :
  • :
  • []:

Detail
Parameter
[in] aString
String yang dapat di-uraikan oleh manusia.
[in] aStringLen
Panjang, dalam karakter, dari aString.
[out] aHost
Pointer ke bagian nama host dari string yang diuraikan.
[out] aHostLen
Panjang, dalam karakter, dari host.
[out] aPort
Nomor port, jika ada dan berhasil diuraikan; sebaliknya, 0.
Hasil
INET_ERROR_INVALID_HOST_NAME Jika panjang input yang akan diuraikan adalah nol atau salah format.
Hasil
INET_ERROR_HOST_NAME_TOO_LONG Jika nama host melebihi 253 karakter.
Hasil
INET_NO_ERROR Jika 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 di-uraikan oleh manusia.
[in] aStringLen
Panjang, dalam karakter, dari aString.
[out] aHost
Pointer ke bagian nama host dari string yang diuraikan.
[out] aHostLen
Panjang, dalam karakter, dari host.
[out] aPort
Nomor port, jika ada dan berhasil diuraikan; sebaliknya, 0.
[out] aInterface
Pointer ke bagian antarmuka string yang diuraikan.
[out] aInterfaceLen
Panjang antarmuka, dalam karakter.
Hasil
INET_ERROR_INVALID_HOST_NAME Jika panjang input yang akan diuraikan adalah nol atau salah format.
Hasil
INET_ERROR_HOST_NAME_TOO_LONG Jika nama host melebihi 253 karakter.
Hasil
INET_NO_ERROR Jika berhasil.

RegisterInetLayerErrorFormatter

void RegisterInetLayerErrorFormatter(
  void
)

Daftarkan pemformat error teks untuk error Inet Layer.

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
)