<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>GNU CommonC++: address.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.3 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>address.h File Reference</h1> <p>Network addresses and sockets related classes. <a href="#_details">More...</a></p> <code>#include <<a class="el" href="config_8h_source.html">cc++/config.h</a>></code><br/> <code>#include <<a class="el" href="missing_8h_source.html">cc++/missing.h</a>></code><br/> <code>#include <<a class="el" href="thread_8h_source.html">cc++/thread.h</a>></code><br/> <code>#include <<a class="el" href="exception_8h_source.html">cc++/exception.h</a>></code><br/> <p><a href="address_8h_source.html">Go to the source code of this file.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v4_validator.html">ost::IPV4Validator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Classes derived from <a class="el" href="classost_1_1_i_p_v4_address.html" title="The network name and address objects are all derived from a common IPV4Address base...">IPV4Address</a> would require an specific validator to pass to the <a class="el" href="classost_1_1_i_p_v4_address.html" title="The network name and address objects are all derived from a common IPV4Address base...">IPV4Address</a> constructor. <a href="classost_1_1_i_p_v4_validator.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v4_multicast_validator.html">ost::IPV4MulticastValidator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Class for the function object that validates multicast addresses. <a href="classost_1_1_i_p_v4_multicast_validator.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v4_cidr.html">ost::IPV4Cidr</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The CIDR class is used to support routing tables and validate address policies. <a href="classost_1_1_i_p_v4_cidr.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v6_cidr.html">ost::IPV6Cidr</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The CIDR class is used to support routing tables and validate address policies. <a href="classost_1_1_i_p_v6_cidr.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v4_address.html">ost::IPV4Address</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The network name and address objects are all derived from a common <a class="el" href="classost_1_1_i_p_v4_address.html" title="The network name and address objects are all derived from a common IPV4Address base...">IPV4Address</a> base class. <a href="classost_1_1_i_p_v4_address.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v4_mask.html">ost::IPV4Mask</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Internet addresses used specifically as masking addresses (such as " 255.255.255.0") are held in the <a class="el" href="classost_1_1_i_p_v4_mask.html" title="Internet addresses used specifically as masking addresses (such as " 255.255...">IPV4Mask</a> derived object. <a href="classost_1_1_i_p_v4_mask.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v4_host.html">ost::IPV4Host</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket. <a href="classost_1_1_i_p_v4_host.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v4_broadcast.html">ost::IPV4Broadcast</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The broadcast address object is used to store the broadcast address for a specific subnet. <a href="classost_1_1_i_p_v4_broadcast.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v4_multicast.html">ost::IPV4Multicast</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A specialization of <a class="el" href="classost_1_1_i_p_v4_address.html" title="The network name and address objects are all derived from a common IPV4Address base...">IPV4Address</a> that provides address validation for multicast addresses. <a href="classost_1_1_i_p_v4_multicast.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v6_validator.html">ost::IPV6Validator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Classes derived from <a class="el" href="classost_1_1_i_p_v6_address.html" title="The network name and address objects are all derived from a common IPV6Address base...">IPV6Address</a> would require an specific validator to pass to the <a class="el" href="classost_1_1_i_p_v6_address.html" title="The network name and address objects are all derived from a common IPV6Address base...">IPV6Address</a> constructor. <a href="classost_1_1_i_p_v6_validator.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v6_multicast_validator.html">ost::IPV6MulticastValidator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Class for the function object that validates multicast addresses. <a href="classost_1_1_i_p_v6_multicast_validator.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v6_address.html">ost::IPV6Address</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The network name and address objects are all derived from a common <a class="el" href="classost_1_1_i_p_v6_address.html" title="The network name and address objects are all derived from a common IPV6Address base...">IPV6Address</a> base class. <a href="classost_1_1_i_p_v6_address.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v6_mask.html">ost::IPV6Mask</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Internet addresses used specifically as masking addresses (such as " 255.255.255.0") are held in the <a class="el" href="classost_1_1_i_p_v6_mask.html" title="Internet addresses used specifically as masking addresses (such as " 255.255...">IPV6Mask</a> derived object. <a href="classost_1_1_i_p_v6_mask.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v6_host.html">ost::IPV6Host</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket. <a href="classost_1_1_i_p_v6_host.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v6_broadcast.html">ost::IPV6Broadcast</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The broadcast address object is used to store the broadcast address for a specific subnet. <a href="classost_1_1_i_p_v6_broadcast.html#_details">More...</a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_i_p_v6_multicast.html">ost::IPV6Multicast</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A specialization of <a class="el" href="classost_1_1_i_p_v6_address.html" title="The network name and address objects are all derived from a common IPV6Address base...">IPV6Address</a> that provides address validation for multicast addresses. <a href="classost_1_1_i_p_v6_multicast.html#_details">More...</a><br/></td></tr> <tr><td colspan="2"><h2>Namespaces</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceost.html">ost</a></td></tr> <tr><td colspan="2"><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="address_8h.html#afc03d179dfb05715ca434fc81f35ec08">INET_IPV4_ADDRESS_SIZE</a> 16</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="address_8h.html#ac44efbe3cc45e830e926100723d4c553">CIDR_IPV4_ADDRESS_SIZE</a> 32</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="address_8h.html#a682bc95f3048cc2949c8c9f63b9dbf09">INET_IPV6_ADDRESS_SIZE</a> 40</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="address_8h.html#a630216a10be7946ba1f42a312fa22b5a">CIDR_IPV6_ADDRESS_SIZE</a> 45</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="address_8h.html#a75876c1a31b853a81f761e155150a3b9">CIDR</a> IPV4Cidr</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="address_8h.html#a029ebb5b43bb13b02c02f4de0a8f3c08">InetAddress</a> IPV4Address</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="address_8h.html#a5eba36aa908d5a479c8ba7d0bc4512b1">InetHostAddress</a> IPV4Host</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="address_8h.html#a217ddf13140d751663d287da38799aff">InetMaskAddress</a> IPV4Mask</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="address_8h.html#a2bcb722163ed02e2d0d3621dd3f82da4">InetMcastAddress</a> IPV4Multicast</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="address_8h.html#abcc76a9e9ae0be634631b4755ee6d0fc">InetMcastAddressValidator</a> IPV4MulticastValidator</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="address_8h.html#ad4c483e6c7e2ae177b22e72f690cda72">InetAddrValidator</a> IPV4Validator</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="address_8h.html#a9dc0c24e79c7b6f5768fe61548395273">BroadcastAddress</a> IPV4Broadcast</td></tr> <tr><td colspan="2"><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">ost::tpport_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Transport Protocol Ports. <a href="#a3c74a1a40c359fd349f3e3e1b96ebfc7"></a><br/></td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">__EXPORT std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceost.html#a43b65f3c2266eb63ba22c1ff73a6e20b">ost::operator<<</a> (std::ostream &os, const IPV4Address &ia)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct in_addr </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceost.html#a2814c59547dbc1ac351e7813b8034654">ost::getaddress</a> (const IPV4Address &ia)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">__EXPORT std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceost.html#a2327d882089117777717e801351ea2e7">ost::operator<<</a> (std::ostream &os, const IPV6Address &ia)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct in6_addr </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceost.html#ad50c9b5311667f2b1796374ea6e06dc4">ost::getaddress</a> (const IPV6Address &ia)</td></tr> <tr><td colspan="2"><h2>Variables</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class __EXPORT </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceost.html#a690ff5fe11ecacf1b08c88c6d042054c">ost::IPV4Host</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class __EXPORT </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceost.html#a0ef77c2689f8442b3b0d3a0f4d2151e0">ost::IPV6Host</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Network addresses and sockets related classes. </p> <hr/><h2>Define Documentation</h2> <a class="anchor" id="a9dc0c24e79c7b6f5768fe61548395273"></a><!-- doxytag: member="address.h::BroadcastAddress" ref="a9dc0c24e79c7b6f5768fe61548395273" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define BroadcastAddress IPV4Broadcast</td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="tcpthread_8cpp-example.html#a11">tcpthread.cpp</a>.</dd> </dl> </div> </div> <a class="anchor" id="a75876c1a31b853a81f761e155150a3b9"></a><!-- doxytag: member="address.h::CIDR" ref="a75876c1a31b853a81f761e155150a3b9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CIDR IPV4Cidr</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ac44efbe3cc45e830e926100723d4c553"></a><!-- doxytag: member="address.h::CIDR_IPV4_ADDRESS_SIZE" ref="ac44efbe3cc45e830e926100723d4c553" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CIDR_IPV4_ADDRESS_SIZE 32</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a630216a10be7946ba1f42a312fa22b5a"></a><!-- doxytag: member="address.h::CIDR_IPV6_ADDRESS_SIZE" ref="a630216a10be7946ba1f42a312fa22b5a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CIDR_IPV6_ADDRESS_SIZE 45</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="afc03d179dfb05715ca434fc81f35ec08"></a><!-- doxytag: member="address.h::INET_IPV4_ADDRESS_SIZE" ref="afc03d179dfb05715ca434fc81f35ec08" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define INET_IPV4_ADDRESS_SIZE 16</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a682bc95f3048cc2949c8c9f63b9dbf09"></a><!-- doxytag: member="address.h::INET_IPV6_ADDRESS_SIZE" ref="a682bc95f3048cc2949c8c9f63b9dbf09" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define INET_IPV6_ADDRESS_SIZE 40</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a029ebb5b43bb13b02c02f4de0a8f3c08"></a><!-- doxytag: member="address.h::InetAddress" ref="a029ebb5b43bb13b02c02f4de0a8f3c08" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define InetAddress IPV4Address</td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="tcp_8cpp-example.html#a4">tcp.cpp</a>, <a class="el" href="tcpstr1_8cpp-example.html#a5">tcpstr1.cpp</a>, and <a class="el" href="tcpthread_8cpp-example.html#a4">tcpthread.cpp</a>.</dd> </dl> </div> </div> <a class="anchor" id="ad4c483e6c7e2ae177b22e72f690cda72"></a><!-- doxytag: member="address.h::InetAddrValidator" ref="ad4c483e6c7e2ae177b22e72f690cda72" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define InetAddrValidator IPV4Validator</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a5eba36aa908d5a479c8ba7d0bc4512b1"></a><!-- doxytag: member="address.h::InetHostAddress" ref="a5eba36aa908d5a479c8ba7d0bc4512b1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define InetHostAddress IPV4Host</td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="_sample_socket_port_8cpp-example.html#a1">SampleSocketPort.cpp</a>, <a class="el" href="tcp_8cpp-example.html#a2">tcp.cpp</a>, <a class="el" href="tcpservice_8cpp-example.html#a5">tcpservice.cpp</a>, and <a class="el" href="tcpthread_8cpp-example.html#a2">tcpthread.cpp</a>.</dd> </dl> </div> </div> <a class="anchor" id="a217ddf13140d751663d287da38799aff"></a><!-- doxytag: member="address.h::InetMaskAddress" ref="a217ddf13140d751663d287da38799aff" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define InetMaskAddress IPV4Mask</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a2bcb722163ed02e2d0d3621dd3f82da4"></a><!-- doxytag: member="address.h::InetMcastAddress" ref="a2bcb722163ed02e2d0d3621dd3f82da4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define InetMcastAddress IPV4Multicast</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="abcc76a9e9ae0be634631b4755ee6d0fc"></a><!-- doxytag: member="address.h::InetMcastAddressValidator" ref="abcc76a9e9ae0be634631b4755ee6d0fc" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define InetMcastAddressValidator IPV4MulticastValidator</td> </tr> </table> </div> <div class="memdoc"> </div> </div> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Mar 12 10:07:39 2010 for GNU CommonC++ by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>