Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

PIPSocket::Address Class Reference

#include <ipsock.h>

Inheritance diagram for PIPSocket::Address:

PObject List of all members.

Public Member Functions

Comparison Compare (const PObject &obj) const
 Compare two adresses.

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
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 ()
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
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.

Addressoperator= (const in_addr &addr)
 Copy an address from another IP v4 address.

Addressoperator= (const PString &dotNotation)
 Copy an address from a string.

Addressoperator= (DWORD dw)
 Copy an address from a four byte value in network order.


Static Public Member Functions

const AddressGetLoopback ()
const AddressGetBroadcast ()

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


Detailed Description

A class describing an IP address


Constructor & Destructor Documentation

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.


Member Function Documentation

PString PIPSocket::Address::AsString  )  const
 

Format an address as a string.

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.

Comparison PIPSocket::Address::Compare const PObject obj  )  const [virtual]
 

Compare two adresses.

Reimplemented from PObject.

BOOL PIPSocket::Address::FromString const PString str  ) 
 

Convert string to IP address. Returns TRUE if was a valid address.

const Address& PIPSocket::Address::GetBroadcast  )  [static]
 

const Address& PIPSocket::Address::GetLoopback  )  [static]
 

const char* PIPSocket::Address::GetPointer  )  const [inline]
 

Get the pointer to IP address data.

PINDEX PIPSocket::Address::GetSize  )  const
 

Get the address length (will be either 4 or 16).

unsigned PIPSocket::Address::GetVersion  )  const [inline]
 

Get the version of the IP address being used.

BOOL PIPSocket::Address::IsAny  ) 
 

BOOL PIPSocket::Address::IsBroadcast  )  const
 

Check for Broadcast address 255.255.255.255.

BOOL PIPSocket::Address::IsLoopback  )  const
 

Check address 127.0.0.1 or ::1.

BOOL PIPSocket::Address::IsRFC1918  )  const [inline]
 

BOOL PIPSocket::Address::IsValid  )  const
 

Check address 0.0.0.0 or ::.

PIPSocket::Address::operator DWORD  )  const
 

Return IPv4 address in network order.

PIPSocket::Address::operator in_addr  )  const
 

Return IPv4 address in network order.

PIPSocket::Address::operator PString  )  const
 

Format an address as a string.

bool PIPSocket::Address::operator!= int  i  )  const [inline]
 

bool PIPSocket::Address::operator!= DWORD  dw  )  const [inline]
 

bool PIPSocket::Address::operator!= in_addr &  addr  )  const [inline]
 

bool PIPSocket::Address::operator!= const Address addr  )  const [inline]
 

Address& PIPSocket::Address::operator= DWORD  dw  ) 
 

Copy an address from a four byte value in network order.

Address& PIPSocket::Address::operator= const PString dotNotation  ) 
 

Copy an address from a string.

Address& PIPSocket::Address::operator= const in_addr &  addr  ) 
 

Copy an address from another IP v4 address.

bool PIPSocket::Address::operator== int  i  )  const [inline]
 

bool PIPSocket::Address::operator== DWORD  dw  )  const
 

bool PIPSocket::Address::operator== in_addr &  addr  )  const
 

bool PIPSocket::Address::operator== const Address addr  )  const [inline]
 

BYTE PIPSocket::Address::operator[] PINDEX  idx  )  const
 

return specified byte of IPv4 or IPv6 address


Friends And Related Function Documentation

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


Member Data Documentation

in_addr PIPSocket::Address::four [protected]
 

union { ... } PIPSocket::Address::v [protected]
 

Runtime test of IP addresse type.

unsigned PIPSocket::Address::version [protected]
 


The documentation for this class was generated from the following file:
Generated on Sat Jul 24 15:35:59 2004 for PWLib by doxygen 1.3.7