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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
operator!=
bool operator!=( const IPAddress & other ) const
Bandingkan alamat IP ini dengan yang lain untuk ketidaksetaraan.
rincian | |||||
---|---|---|---|---|---|
Parameter |
| ||||
Mengembalikan Nilai |
|
operator=
IPAddress & operator=( const IPAddress & other )
Operator penugasan konvensional.
rincian | |||
---|---|---|---|
Parameter |
| ||
Kembali | Referensi untuk objek ini. |
operator==
bool operator==( const IPAddress & other ) const
Bandingkan alamat IP ini dengan yang lain untuk kesetaraan.
rincian | |||||
---|---|---|---|---|---|
Parameter |
| ||||
Mengembalikan Nilai |
|
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 |
|
rincian | |||||
---|---|---|---|---|---|
Mengembalikan Nilai |
|
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 |
|
rincian | |||||
---|---|---|---|---|---|
Mengembalikan Nilai |
|
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 |
|