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:: Internet:: Alamat IP

#include <src/inet/IPAddress.h>

alamat protokol internet.

Ringkasan

Lapisan Nest Inet menggunakan objek kelas ini untuk mewakili alamat protokol Internet (terlepas dari versi protokol).

Atribut publik

Addr [4]
uint32_t
Array kata buram berisi alamat IP (terlepas dari versi protokol)

Atribut statis publik

Any
Objek alamat IP yang tidak ditentukan yang dibedakan.

Fungsi publik

GlobalId (void) const
uint64_t
Ekstrak pengidentifikasi jaringan global 16-bit dari alamat IPv6 ULA.
InterfaceId (void) const
uint64_t
Ekstrak IID alamat IPv6 ULA.
IsIPv4 (void) const
bool
Uji apakah alamat kompatibel dengan IPv4.
IsIPv4Broadcast (void) const
bool
Uji apakah alamat adalah siaran IPv4.
IsIPv4Multicast (void) const
bool
Uji apakah alamat multicast IPv4.
IsIPv6 (void) const
bool
Uji apakah alamat kompatibel dengan IPv6.
IsIPv6GlobalUnicast (void) const
bool
Uji apakah alamat adalah alamat unicast global IPv6.
IsIPv6LinkLocal (void) const
bool
Uji apakah alamat adalah alamat tautan-lokal IPv6 (LL).
IsIPv6Multicast (void) const
bool
Uji apakah alamat multicast IPv6.
IsIPv6ULA (void) const
bool
Uji apakah alamat adalah alamat unik-lokal (ULA) IPv6.
IsMulticast (void) const
bool
Uji apakah alamat multicast IPv4 atau IPv6.
Subnet (void) const
uint16_t
Ekstrak pengidentifikasi subnet 16-bit dari alamat IPv6 ULA.
ToIPv4 (void) const
Ekstrak alamat IPv4 sebagai struktur data platform.
ToIPv4 (void) const
struct in_addr
ToIPv6 (void) const
ip6_addr_t
Ekstrak alamat IPv6 sebagai struktur data platform.
ToIPv6 (void) const
struct in6_addr
ToString (char *buf, uint32_t bufSize) const
char *
Memancarkan alamat IP dalam format presentasi teks konvensional.
Type (void) const
IPAddressType
Ekstrak jenis alamat IP.
WriteAddress (uint8_t *& p) const
void
Memancarkan alamat IP dalam representasi jaringan standar.
operator!= (const IPAddress & other) const
bool
Bandingkan alamat IP ini dengan yang lain untuk ketidaksetaraan.
operator= (const IPAddress & other)
Operator penugasan konvensional.
operator== (const IPAddress & other) const
bool
Bandingkan alamat IP ini dengan yang lain untuk kesetaraan.

Fungsi statis publik

FromIPv4 (const ip4_addr_t & addr)
FromIPv4 (const struct in_addr & addr)
Suntikkan alamat IPv4 dari struktur data platform.
FromIPv6 (const ip6_addr_t & addr)
FromIPv6 (const struct in6_addr & addr)
Menyuntikkan alamat IPv6 dari struktur data platform.
FromSockAddr (const struct sockaddr & sockaddr)
Menyuntikkan alamat IPv6 dari POSIX struct sockaddr&
FromString (const char *str, IPAddress & output)
bool
Pindai alamat IP dari teks presentasi konvensionalnya.
FromString (const char *str, size_t strLen, IPAddress & output)
bool
Pindai alamat IP dari teks presentasi konvensionalnya.
MakeIPv4Broadcast (void)
Buat alamat broadcast IPv4.
MakeIPv6Multicast (uint8_t aFlags, uint8_t aScope, const uint8_t aGroupId[NL_INET_IPV6_MCAST_GROUP_LEN_IN_BYTES])
Membangun alamat multicast IPv6 dari bagian-bagiannya.
MakeIPv6Multicast (uint8_t aFlags, uint8_t aScope, uint32_t aGroupId)
Membangun alamat multicast IPv6 dari bagian-bagiannya.
MakeIPv6PrefixMulticast (uint8_t aScope, uint8_t aPrefixLength, const uint64_t & aPrefix, uint32_t aGroupId)
Buat alamat multicast IPv6 awalan sementara dari bagian-bagiannya.
MakeIPv6TransientMulticast (uint8_t aFlags, uint8_t aScope, const uint8_t aGroupId[NL_INET_IPV6_MCAST_GROUP_LEN_IN_BYTES])
Buat alamat multicast IPv6 sementara dari bagian-bagiannya.
MakeIPv6WellKnownMulticast (uint8_t aScope, uint32_t aGroupId)
Buat alamat multicast IPv6 yang terkenal dari bagian-bagiannya.
MakeLLA (uint64_t interfaceId)
Buat alamat tautan-lokal IPv6 (LL) dari IID-nya.
MakeULA (uint64_t globalId, uint16_t subnet, uint64_t interfaceId)
Bangun alamat unik-lokal (ULA) IPv6 dari bagian-bagiannya.
ReadAddress (const uint8_t *& p, IPAddress & output)
void
Memancarkan alamat IP dalam representasi jaringan standar.

Atribut publik

Tambahkan

uint32_t Addr[4]

Array kata buram berisi alamat IP (terlepas dari versi protokol)

Alamat IPv6 menggunakan semua 128-bit yang dibagi menjadi empat byte jaringan 32-bit yang dipesan bilangan bulat yang tidak ditandatangani. Alamat IPv4 adalah V4COMPAT, yaitu tiga kata pertama adalah nol, dan kata keempat berisi alamat IPv4 dalam urutan byte jaringan.

Atribut statis publik

Apa saja

IPAddress Any

Objek alamat IP yang tidak ditentukan yang dibedakan.

Objek ini digunakan sebagai konstanta untuk perbandingan ekivalensi. Itu tidak boleh diubah oleh pengguna Lapisan Nest Inet.

Fungsi publik

Id Global

uint64_t GlobalId(
  void
) const 

Ekstrak pengidentifikasi jaringan global 16-bit dari alamat IPv6 ULA.

Gunakan metode ini dengan alamat unik-lokal (ULA) IPv6 untuk mengekstrak pengenal jaringan global, yaitu 40 bit segera setelah awalan jaringan ULA yang berbeda, yaitu fd00::/8. Dengan kata lain, pengidentifikasi jaringan global terletak di lima byte dari byte ke-2 hingga ke-6 di alamat.

rincian
Kembali
Pengidentifikasi jaringan global 40-bit, atau nol jika alamat IP bukan alamat unik-lokal IPv6.

AntarmukaId

uint64_t InterfaceId(
  void
) const 

Ekstrak IID alamat IPv6 ULA.

Gunakan metode ini dengan alamat unik-lokal (ULA) IPv6 untuk mengekstrak pengidentifikasi pengenal (IID), yang merupakan 64 bit paling tidak signifikan dari alamat tersebut.

rincian
Kembali
Pengidentifikasi antarmuka 64-bit, atau nol jika alamat IP bukan alamat unik-lokal IPv6.

IsIPv4

bool IsIPv4(
  void
) const 

Uji apakah alamat kompatibel dengan IPv4.

Gunakan metode ini untuk memeriksa apakah alamat tersebut milik keluarga alamat IPv4. Perhatikan baik-baik: alamat yang tidak ditentukan bukan alamat IPv4.

rincian
Mengembalikan Nilai
true
Alamatnya adalah IPv4 dan bukan alamat yang tidak ditentukan.
false
Alamatnya adalah IPv6 atau alamat yang tidak ditentukan.

IsIPv4Broadcast

bool IsIPv4Broadcast(
  void
) const 

Uji apakah alamat adalah siaran IPv4.

Gunakan metode ini untuk memeriksa apakah alamat tersebut adalah alamat siaran IPv4 tujuan khusus.

rincian
Mengembalikan Nilai
true
Alamat adalah siaran IPv44
false
Jika tidak

IsIPv4Multicast

bool IsIPv4Multicast(
  void
) const 

Uji apakah alamat multicast IPv4.

Gunakan metode ini untuk memeriksa apakah alamat tersebut adalah alamat multicast IPv4.

rincian
Mengembalikan Nilai
true
Alamatnya adalah multicast IPv4
false
Jika tidak

IsIPv6

bool IsIPv6(
  void
) const 

Uji apakah alamat kompatibel dengan IPv6.

Gunakan metode ini untuk memeriksa apakah alamat tersebut milik keluarga alamat IPv6. Perhatikan baik-baik: alamat yang tidak ditentukan bukan alamat IPv6.

rincian
Mengembalikan Nilai
true
Alamatnya adalah IPv6 dan bukan alamat yang tidak ditentukan.
false
Alamatnya adalah IPv4 atau alamat yang tidak ditentukan.

IsIPv6GlobalUnicast

bool IsIPv6GlobalUnicast(
  void
) const 

Uji apakah alamat adalah alamat unicast global IPv6.

Gunakan metode ini untuk memeriksa apakah alamat tersebut milik keluarga alamat IPv6 dan memiliki awalan alamat unicast global.

rincian
Mengembalikan Nilai
true
Alamatnya adalah unicast global IPv6
false
Jika tidak

IsIPv6LinkLocal

bool IsIPv6LinkLocal(
  void
) const 

Uji apakah alamat adalah alamat tautan-lokal IPv6 (LL).

Gunakan metode ini untuk memeriksa apakah alamat tersebut milik keluarga alamat IPv6 dan memiliki prefiks alamat tautan-lokal IPv6 yang dicadangkan.

rincian
Mengembalikan Nilai
true
Alamatnya adalah tautan-lokal IPv6
false
Jika tidak

IsIPv6Multicast

bool IsIPv6Multicast(
  void
) const 

Uji apakah alamat multicast IPv6.

Gunakan metode ini untuk memeriksa apakah alamat tersebut milik keluarga alamat IPv6 dan memiliki awalan alamat multicast IPv6 yang dicadangkan.

rincian
Mengembalikan Nilai
true
Alamatnya adalah multicast IPv6
false
Jika tidak

IsIPv6ULA

bool IsIPv6ULA(
  void
) const 

Uji apakah alamat adalah alamat unik-lokal (ULA) IPv6.

Gunakan metode ini untuk memeriksa apakah alamat tersebut milik keluarga alamat IPv6 dan memiliki awalan alamat unik-lokal IPv6 yang dicadangkan.

rincian
Mengembalikan Nilai
true
Alamat adalah IPv6 unik-lokal
false
Jika tidak

Multicast

bool IsMulticast(
  void
) const 

Uji apakah alamat multicast IPv4 atau IPv6.

Gunakan metode ini untuk memeriksa apakah alamat tersebut milik keluarga alamat IPv4 atau IPv6 dan memiliki prefiks alamat multicast IPv4 atau IPv6 yang dicadangkan.

rincian
Mengembalikan Nilai
true
Alamatnya adalah multicast IPv4 atau IPv6
false
Jika tidak

Subnet

uint16_t Subnet(
  void
) const 

Ekstrak pengidentifikasi subnet 16-bit dari alamat IPv6 ULA.

Gunakan metode ini dengan alamat unik-lokal (ULA) IPv6 untuk mengekstrak pengidentifikasi subnet, yang merupakan 16 bit paling tidak signifikan dari awalan jaringan. Awalan jaringan adalah 64 bit alamat yang paling signifikan. Dengan kata lain, pengidentifikasi subnet terletak di byte ke-7 dan ke-8 dari alamat 16-byte.

rincian
Kembali
Pengidentifikasi subnet 16-bit, atau nol jika alamat IP bukan alamat unik-lokal IPv6.

UntukIPv4

ip4_addr_t ToIPv4(
  void
) const 

Ekstrak alamat IPv4 sebagai struktur data platform.

Gunakan ToIPv4() const untuk mengekstrak konten sebagai alamat IPv4, jika memungkinkan. Alamat IPv6 dan alamat yang tidak ditentukan diekstrak sebagai 0.0.0.0 .

Hasilnya adalah salah satu dari jenis struct in_addr (pada POSIX) atau ip4_addr_t (pada lwIP).

rincian
Kembali
Alamat dikemas IPv4, atau 0.0.0.0 jika alamat tersebut baik tidak ditentukan atau tidak alamat IPv4.

UntukIPv4

struct in_addr ToIPv4(
  void
) const 

UntukIPv6

ip6_addr_t ToIPv6(
  void
) const 

Ekstrak alamat IPv6 sebagai struktur data platform.

Gunakan ToIPv6() const untuk mengekstrak konten sebagai alamat IPv6, jika memungkinkan. Alamat IPv4 dan alamat yang tidak ditentukan diekstrak sebagai [::] .

Hasilnya adalah salah satu dari jenis struct in6_addr (pada POSIX) atau ip6_addr_t (pada lwIP).

rincian
Kembali
Alamat IPv4 yang dikemas, atau [::] if the address is either unspecified or not an IPv4 address.

UntukIPv6

struct in6_addr ToIPv6(
  void
) const 

ToString

char * ToString(
  char *buf,
  uint32_t bufSize
) const 

Memancarkan alamat IP dalam format presentasi teks konvensional.

Gunakan ToString(char *buf, uint32_t bufSize) const untuk menulis bentuk presentasi teks konvensional dari alamat IP ke memori terletak di buf dan memperluas sebanyak bufSize byte, termasuk karakter NUL selesainya.

rincian
Parameter
[out] buf
Alamat teks yang dipancarkan.
[in] bufSize
Ukuran buffer untuk teks yang dipancarkan.

Catatan Yah: tidak sesuai dengan RFC 5952 pada beberapa platform. Secara khusus, kompresi nol tidak dapat diterapkan sesuai dengan bagian 4.2.

rincian
Kembali
Argumen buf jika ada kesalahan format, atau nol sebaliknya.

Tipe

IPAddressType Type(
  void
) const 

Ekstrak jenis alamat IP.

Gunakan metode ini untuk mengembalikan nilai tipe disebutkan IPAddressType untuk menunjukkan jenis alamat IP.

rincian
Mengembalikan Nilai
kIPAddressType_IPv4
Alamatnya adalah IPv4.
kIPAddressType_IPv6
Alamatnya adalah IPv6.
kIPAddressType_Any
Alamatnya adalah alamat yang tidak ditentukan.

TulisAlamat

void WriteAddress(
  uint8_t *& p
) const 

Memancarkan alamat IP dalam representasi jaringan standar.

Gunakan WriteAddress(uint8_t *&p) untuk mengkodekan alamat IP dalam format biner yang didefinisikan oleh RFC 4291 untuk alamat IPv6. Alamat IPv4 dikodekan menurut bagian 2.5.5.1 "Alamat IPv6 yang Kompatibel dengan IPv4" (V4COMPAT).

rincian
Parameter
[in,out] p
Referensi kursor yang akan digunakan untuk menulis.

operator!=

bool operator!=(
  const IPAddress & other
) const 

Bandingkan alamat IP ini dengan yang lain untuk ketidaksetaraan.

rincian
Parameter
[in] other
Alamat untuk membandingkan.
Mengembalikan Nilai
true
Jika setara dengan other
false
Jika tidak

operator=

IPAddress & operator=(
  const IPAddress & other
)

Operator penugasan konvensional.

rincian
Parameter
[in] other
Alamat untuk disalin.
Kembali
Referensi untuk objek ini.

operator==

bool operator==(
  const IPAddress & other
) const 

Bandingkan alamat IP ini dengan yang lain untuk kesetaraan.

rincian
Parameter
[in] other
Alamat untuk membandingkan.
Mengembalikan Nilai
true
Jika setara dengan other
false
Jika tidak

Fungsi statis publik

Dari IPv4

IPAddress FromIPv4(
  const ip4_addr_t & addr
)

Ini adalah fungsi anggota yang kelebihan beban, disediakan untuk kenyamanan. Ini berbeda dari fungsi di atas hanya dalam argumen apa yang diterimanya.

Dari IPv4

IPAddress FromIPv4(
  const struct in_addr & addr
)

Suntikkan alamat IPv4 dari struktur data platform.

Gunakan FromIPv4(const ip4_addr_t &addr) untuk menyuntikkan addr sebagai alamat IPv4.

Argumen addr adalah salah satu dari jenis const struct in_addr& (pada POSIX) atau const ip4_addr_t& (di lwIP).

rincian
Kembali
Alamat IP yang dibangun.

Dari IPv6

IPAddress FromIPv6(
  const ip6_addr_t & addr
)

Ini adalah fungsi anggota yang kelebihan beban, disediakan untuk kenyamanan. Ini berbeda dari fungsi di atas hanya dalam argumen apa yang diterimanya.

Dari IPv6

IPAddress FromIPv6(
  const struct in6_addr & addr
)

Menyuntikkan alamat IPv6 dari struktur data platform.

Gunakan FromIPv6(const ip6_addr_t &addr) untuk menyuntikkan addr sebagai alamat IPv6.

Argumen addr adalah salah satu dari jenis const struct in6_addr& (pada POSIX) atau const ip6_addr_t& (di lwIP).

rincian
Kembali
Alamat IP yang dibangun.

Dari SockAddr

IPAddress FromSockAddr(
  const struct sockaddr & sockaddr
)

Menyuntikkan alamat IPv6 dari POSIX struct sockaddr&

Gunakan FromSockAddr(const struct sockaddr& sockaddr) untuk menyuntikkan sockaddr.sa_addr sebagai alamat IPv6.

rincian
Kembali
Alamat IP yang dibangun.

FromString

bool FromString(
  const char *str,
  IPAddress & output
)

Pindai alamat IP dari teks presentasi konvensionalnya.

Gunakan FromString(const char *str, IPAddress& output) menimpa alamat IP dengan memindai presentasi teks konvensional terletak di str .

rincian
Parameter
[in] str
Alamat teks yang dipancarkan.
[out] output
Objek yang akan disetel ke alamat yang dipindai.

rincian
Mengembalikan Nilai
true
Format presentasi valid
false
Jika tidak

FromString

bool FromString(
  const char *str,
  size_t strLen,
  IPAddress & output
)

Pindai alamat IP dari teks presentasi konvensionalnya.

Gunakan FromString(const char *str, size_t strLen, IPAddress& output) menimpa alamat IP dengan memindai presentasi teks konvensional terletak di str .

rincian
Parameter
[in] str
Sebuah pointer ke teks yang akan dipindai.
[in] strLen
Panjang teks yang akan dipindai.
[out] output
Objek yang akan disetel ke alamat yang dipindai.

rincian
Mengembalikan Nilai
true
Format presentasi valid
false
Jika tidak

BuatIPv4Broadcast

IPAddress MakeIPv4Broadcast(
  void
)

Membangun alamat siaran IPv4.

rincian
Kembali
Alamat IP yang dibangun.

BuatIPv6Multicast

IPAddress MakeIPv6Multicast(
  uint8_t aFlags,
  uint8_t aScope,
  const uint8_t aGroupId[NL_INET_IPV6_MCAST_GROUP_LEN_IN_BYTES]
)

Membangun alamat multicast IPv6 dari bagian-bagiannya.

Gunakan MakeIPv6Multicast(uint8_t flags, uint8_t scope, uint8_t groupId[14]) untuk membangun sebuah alamat multicast IPv6 dengan flags untuk routing lingkup scope dan oktet kelompok identifier groupId .

rincian
Kembali
Alamat IP yang dibangun.

BuatIPv6Multicast

IPAddress MakeIPv6Multicast(
  uint8_t aFlags,
  uint8_t aScope,
  uint32_t aGroupId
)

Membangun alamat multicast IPv6 dari bagian-bagiannya.

Gunakan MakeIPv6Multicast(uint8_t flags, uint8_t scope, uint32_t groupId) untuk membangun sebuah alamat multicast IPv6 dengan flags untuk routing lingkup scope dan kelompok identifier groupId .

rincian
Kembali
Alamat IP yang dibangun.

MakeIPv6PrefixMulticast

IPAddress MakeIPv6PrefixMulticast(
  uint8_t aScope,
  uint8_t aPrefixLength,
  const uint64_t & aPrefix,
  uint32_t aGroupId
)

Buat alamat multicast IPv6 awalan sementara dari bagian-bagiannya.

Gunakan MakeIPv6PrefixMulticast(uint8_t scope, uint8_t prefixlen, const uint64_t prefix, uint32_t groupId) untuk membangun transien, prefix IPv6 multicast address dengan untuk routing lingkup scope dan oktet kelompok identifier groupId , berkualitas dengan awalan prefix panjang prefixlen bit.

rincian
Kembali
Alamat IP yang dibangun.

MakeIPv6TransientMulticast

IPAddress MakeIPv6TransientMulticast(
  uint8_t aFlags,
  uint8_t aScope,
  const uint8_t aGroupId[NL_INET_IPV6_MCAST_GROUP_LEN_IN_BYTES]
)

Buat alamat multicast IPv6 sementara dari bagian-bagiannya.

Gunakan MakeIPv6TransientMulticast(uint8_t flags, uint8_t scope, uint8_t groupId[14]) untuk membangun sebuah transient IPv6 multicast address dengan flags untuk routing lingkup scope dan oktet kelompok identifier groupId .

rincian
Kembali
Alamat IP yang dibangun.

JadikanIPv6Terkenal Multicast

IPAddress MakeIPv6WellKnownMulticast(
  uint8_t aScope,
  uint32_t aGroupId
)

Buat alamat multicast IPv6 yang terkenal dari bagian-bagiannya.

Gunakan MakeIPv6WellKnownMulticast(uint8_t scope, uint32_t groupId) untuk membangun sebuah alamat multicast IPv6 untuk routing lingkup scope dan kelompok identifier groupId .

rincian
Kembali
Alamat IP yang dibangun.

Buat LLA

IPAddress MakeLLA(
  uint64_t interfaceId
)

Buat alamat tautan-lokal IPv6 (LL) dari IID-nya.

Gunakan MakeLLA(uint64_t interfaceId) untuk membangun sebuah link-local address IPv6 (LL) dengan antarmuka identifier interfaceId .

rincian
Kembali
Alamat IP yang dibangun.

MakeULA

IPAddress MakeULA(
  uint64_t globalId,
  uint16_t subnet,
  uint64_t interfaceId
)

Bangun alamat unik-lokal (ULA) IPv6 dari bagian-bagiannya.

Gunakan MakeULA(uint64_t globalId, uint16_t subnet, uint64_t interfaceId) untuk membangun sebuah alamat unik-lokal (ULA) dengan jaringan global identifier globalId , subnet identifier subnet dan antarmuka identifier (IID) interfaceId .

rincian
Kembali
Alamat IP yang dibangun.

BacaAlamat

void ReadAddress(
  const uint8_t *& p,
  IPAddress & output
)

Memancarkan alamat IP dalam representasi jaringan standar.

Gunakan ReadAddress(uint8_t *&p, IPAddress &output) untuk memecahkan kode alamat IP di p ke objek output .

rincian
Parameter
[in,out] p
Referensi ke kursor yang akan digunakan untuk membaca.
[out] output
Objek untuk menerima alamat IP yang didekodekan.