#include <ipsock.h>
Inheritance diagram for PIPSocket::Address:
Address constructors | |
Address () | |
Create an IPv4 address with the default address: 127.0.0.1 (loopback). | |
Address (const PString &dotNotation) | |
Address (PINDEX len, const BYTE *bytes) | |
Create an IPv4 or IPv6 address from 4 or 16 byte values. | |
Address (BYTE b1, BYTE b2, BYTE b3, BYTE b4) | |
Create an IP address from four byte values. | |
Address (DWORD dw) | |
Create an IPv4 address from a four byte value in network byte order. | |
Address (const in_addr &addr) | |
Create an IPv4 address from an in_addr structure. | |
Address & | operator= (const in_addr &addr) |
Copy an address from another IP v4 address. | |
Address & | operator= (const PString &dotNotation) |
Copy an address from a string. | |
Address & | operator= (DWORD dw) |
Copy an address from a four byte value in network order. | |
Public Member Functions | |
Comparison | Compare (const PObject &obj) const |
Compare two adresses for absolute (in)equality. | |
bool | operator== (const Address &addr) const |
bool | operator!= (const Address &addr) const |
bool | operator== (in_addr &addr) const |
bool | operator!= (in_addr &addr) const |
bool | operator== (DWORD dw) const |
bool | operator!= (DWORD dw) const |
bool | operator== (int i) const |
bool | operator!= (int i) const |
bool | operator *= (const Address &addr) const |
PString | AsString () const |
Format an address as a string. | |
BOOL | FromString (const PString &str) |
Convert string to IP address. Returns TRUE if was a valid address. | |
operator PString () const | |
Format an address as a string. | |
operator in_addr () const | |
Return IPv4 address in network order. | |
operator DWORD () const | |
Return IPv4 address in network order. | |
BYTE | Byte1 () const |
Return first byte of IPv4 address. | |
BYTE | Byte2 () const |
Return second byte of IPv4 address. | |
BYTE | Byte3 () const |
Return third byte of IPv4 address. | |
BYTE | Byte4 () const |
Return fourth byte of IPv4 address. | |
BYTE | operator[] (PINDEX idx) const |
return specified byte of IPv4 or IPv6 address | |
PINDEX | GetSize () const |
Get the address length (will be either 4 or 16). | |
const char * | GetPointer () const |
Get the pointer to IP address data. | |
unsigned | GetVersion () const |
Get the version of the IP address being used. | |
BOOL | IsValid () const |
Check address 0.0.0.0 or ::. | |
BOOL | IsAny () const |
BOOL | IsLoopback () const |
Check address 127.0.0.1 or ::1. | |
BOOL | IsBroadcast () const |
Check for Broadcast address 255.255.255.255. | |
BOOL | IsRFC1918 () const |
Static Public Member Functions | |
static const Address & | GetLoopback () |
static const Address & | GetBroadcast () |
Protected Attributes | |
union { | |
in_addr four | |
} | v |
Runtime test of IP addresse type. | |
unsigned | version |
Friends | |
ostream & | operator<< (ostream &s, const Address &a) |
output IPv6 & IPv4 address as a string to the specified string | |
istream & | operator>> (istream &s, Address &a) |
input IPv4 (not IPv6 yet!) address as a string from the specified string |
PIPSocket::Address::Address | ( | ) |
Create an IPv4 address with the default address: 127.0.0.1 (loopback).
PIPSocket::Address::Address | ( | const PString & | dotNotation | ) |
Create an IP address from string notation. eg dot notation x.x.x.x. for IPv4, or colon notation x:x:x::xxx for IPv6
PIPSocket::Address::Address | ( | PINDEX | len, | |
const BYTE * | bytes | |||
) |
Create an IPv4 or IPv6 address from 4 or 16 byte values.
PIPSocket::Address::Address | ( | BYTE | b1, | |
BYTE | b2, | |||
BYTE | b3, | |||
BYTE | b4 | |||
) |
Create an IP address from four byte values.
PIPSocket::Address::Address | ( | DWORD | dw | ) |
Create an IPv4 address from a four byte value in network byte order.
PIPSocket::Address::Address | ( | const in_addr & | addr | ) |
Create an IPv4 address from an in_addr structure.
Address& PIPSocket::Address::operator= | ( | const in_addr & | addr | ) |
Copy an address from another IP v4 address.
Copy an address from a string.
Address& PIPSocket::Address::operator= | ( | DWORD | dw | ) |
Copy an address from a four byte value in network order.
Comparison PIPSocket::Address::Compare | ( | const PObject & | obj | ) | const [virtual] |
bool PIPSocket::Address::operator== | ( | const Address & | addr | ) | const [inline] |
bool PIPSocket::Address::operator!= | ( | const Address & | addr | ) | const [inline] |
bool PIPSocket::Address::operator== | ( | in_addr & | addr | ) | const |
bool PIPSocket::Address::operator!= | ( | in_addr & | addr | ) | const [inline] |
bool PIPSocket::Address::operator== | ( | DWORD | dw | ) | const |
bool PIPSocket::Address::operator!= | ( | DWORD | dw | ) | const [inline] |
bool PIPSocket::Address::operator== | ( | int | i | ) | const [inline] |
bool PIPSocket::Address::operator!= | ( | int | i | ) | const [inline] |
bool PIPSocket::Address::operator *= | ( | const Address & | addr | ) | const [inline] |
Compare two addresses for equivalence. This will return TRUE if the two addresses are equivalent even if they are IPV6 and IPV4
PString PIPSocket::Address::AsString | ( | ) | const |
Format an address as a string.
BOOL PIPSocket::Address::FromString | ( | const PString & | str | ) |
Convert string to IP address. Returns TRUE if was a valid address.
PIPSocket::Address::operator PString | ( | ) | const |
Format an address as a string.
PIPSocket::Address::operator in_addr | ( | ) | const |
Return IPv4 address in network order.
PIPSocket::Address::operator DWORD | ( | ) | const |
Return IPv4 address in network order.
BYTE PIPSocket::Address::Byte1 | ( | ) | const |
Return first byte of IPv4 address.
BYTE PIPSocket::Address::Byte2 | ( | ) | const |
Return second byte of IPv4 address.
BYTE PIPSocket::Address::Byte3 | ( | ) | const |
Return third byte of IPv4 address.
BYTE PIPSocket::Address::Byte4 | ( | ) | const |
Return fourth byte of IPv4 address.
BYTE PIPSocket::Address::operator[] | ( | PINDEX | idx | ) | const |
return specified byte of IPv4 or IPv6 address
PINDEX PIPSocket::Address::GetSize | ( | ) | const |
Get the address length (will be either 4 or 16).
const char* PIPSocket::Address::GetPointer | ( | ) | const [inline] |
Get the pointer to IP address data.
unsigned PIPSocket::Address::GetVersion | ( | ) | const [inline] |
Get the version of the IP address being used.
BOOL PIPSocket::Address::IsValid | ( | ) | const |
Check address 0.0.0.0 or ::.
BOOL PIPSocket::Address::IsAny | ( | ) | const |
BOOL PIPSocket::Address::IsLoopback | ( | ) | const |
Check address 127.0.0.1 or ::1.
BOOL PIPSocket::Address::IsBroadcast | ( | ) | const |
Check for Broadcast address 255.255.255.255.
BOOL PIPSocket::Address::IsRFC1918 | ( | ) | const |
static const Address& PIPSocket::Address::GetLoopback | ( | ) | [static] |
static const Address& PIPSocket::Address::GetBroadcast | ( | ) | [static] |
ostream& operator<< | ( | ostream & | s, | |
const Address & | a | |||
) | [friend] |
output IPv6 & IPv4 address as a string to the specified string
istream& operator>> | ( | istream & | s, | |
Address & | a | |||
) | [friend] |
input IPv4 (not IPv6 yet!) address as a string from the specified string
in_addr PIPSocket::Address::four [protected] |
union { ... } PIPSocket::Address::v [protected] |
Runtime test of IP addresse type.
unsigned PIPSocket::Address::version [protected] |