UCommon
address.h File Reference

Network addresses and sockets related classes. More...

#include <commoncpp/config.h>
#include <commoncpp/thread.h>
#include <commoncpp/exception.h>
Include dependency graph for address.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  ost::IPV4Address
 The network name and address objects are all derived from a common IPV4Address base class. More...
 
class  ost::IPV4Broadcast
 The broadcast address object is used to store the broadcast address for a specific subnet. More...
 
class  ost::IPV4Cidr
 The CIDR class is used to support routing tables and validate address policies. More...
 
class  ost::IPV4Host
 This object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket. More...
 
class  ost::IPV4Mask
 Internet addresses used specifically as masking addresses (such as " 255.255.255.0") are held in the IPV4Mask derived object. More...
 
class  ost::IPV4Multicast
 A specialization of IPV4Address that provides address validation for multicast addresses. More...
 
class  ost::IPV4MulticastValidator
 Class for the function object that validates multicast addresses. More...
 
class  ost::IPV4Validator
 Classes derived from IPV4Address would require an specific validator to pass to the IPV4Address constructor. More...
 
class  ost::IPV6Address
 The network name and address objects are all derived from a common IPV6Address base class. More...
 
class  ost::IPV6Broadcast
 The broadcast address object is used to store the broadcast address for a specific subnet. More...
 
class  ost::IPV6Cidr
 The CIDR class is used to support routing tables and validate address policies. More...
 
class  ost::IPV6Host
 This object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket. More...
 
class  ost::IPV6Mask
 Internet addresses used specifically as masking addresses (such as " 255.255.255.0") are held in the IPV6Mask derived object. More...
 
class  ost::IPV6Multicast
 A specialization of IPV6Address that provides address validation for multicast addresses. More...
 
class  ost::IPV6MulticastValidator
 Class for the function object that validates multicast addresses. More...
 
class  ost::IPV6Validator
 Classes derived from IPV6Address would require an specific validator to pass to the IPV6Address constructor. More...
 

Macros

#define BroadcastAddress   IPV4Broadcast
 
#define CIDR   IPV4Cidr
 
#define CIDR_IPV4_ADDRESS_SIZE   32
 
#define CIDR_IPV6_ADDRESS_SIZE   45
 
#define INET_IPV4_ADDRESS_SIZE   16
 
#define INET_IPV6_ADDRESS_SIZE   40
 
#define InetAddress   IPV4Address
 
#define InetAddrValidator   IPV4Validator
 
#define InetHostAddress   IPV4Host
 
#define InetMaskAddress   IPV4Mask
 
#define InetMcastAddress   IPV4Multicast
 
#define InetMcastAddressValidator   IPV4MulticastValidator
 

Typedefs

typedef in_port_t ost::tpport_t
 Transport Protocol Ports.
 

Functions

struct in_addr ost::getaddress (const IPV4Address &ia)
 
struct in6_addr ost::getaddress (const IPV6Address &ia)
 
std::ostream & ost::operator<< (std::ostream &os, const IPV4Address &ia)
 
std::ostream & ost::operator<< (std::ostream &os, const IPV6Address &ia)
 

Detailed Description

Network addresses and sockets related classes.

Definition in file address.h.

Macro Definition Documentation

◆ BroadcastAddress

#define BroadcastAddress   IPV4Broadcast

Definition at line 75 of file address.h.

◆ CIDR

#define CIDR   IPV4Cidr

Definition at line 68 of file address.h.

◆ CIDR_IPV4_ADDRESS_SIZE

#define CIDR_IPV4_ADDRESS_SIZE   32

Definition at line 64 of file address.h.

◆ CIDR_IPV6_ADDRESS_SIZE

#define CIDR_IPV6_ADDRESS_SIZE   45

Definition at line 66 of file address.h.

◆ INET_IPV4_ADDRESS_SIZE

#define INET_IPV4_ADDRESS_SIZE   16

Definition at line 63 of file address.h.

◆ INET_IPV6_ADDRESS_SIZE

#define INET_IPV6_ADDRESS_SIZE   40

Definition at line 65 of file address.h.

◆ InetAddress

#define InetAddress   IPV4Address

Definition at line 69 of file address.h.

◆ InetAddrValidator

#define InetAddrValidator   IPV4Validator

Definition at line 74 of file address.h.

◆ InetHostAddress

#define InetHostAddress   IPV4Host

Definition at line 70 of file address.h.

◆ InetMaskAddress

#define InetMaskAddress   IPV4Mask

Definition at line 71 of file address.h.

◆ InetMcastAddress

#define InetMcastAddress   IPV4Multicast

Definition at line 72 of file address.h.

◆ InetMcastAddressValidator

#define InetMcastAddressValidator   IPV4MulticastValidator

Definition at line 73 of file address.h.

Typedef Documentation

◆ tpport_t

typedef in_port_t ost::tpport_t

Transport Protocol Ports.

Definition at line 80 of file address.h.

Function Documentation

◆ getaddress() [1/2]

struct in_addr ost::getaddress ( const IPV4Address & ia)
inline

Definition at line 692 of file address.h.

◆ getaddress() [2/2]

struct in6_addr ost::getaddress ( const IPV6Address & ia)
inline

Definition at line 1084 of file address.h.