Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > b293cf61b174f6cb974e48c9096dc9b3 > files > 62

lib64commoncpp-devel-1.8.1-7.mga4.x86_64.rpm

<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>GNU CommonC++: address.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">GNU CommonC++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;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 id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_bfccd401955b95cf8c75461437045ac0.html">inc</a></li><li class="navelem"><a class="el" href="dir_6b3e09e31d3da6038137f0238e9fb19b.html">cc++</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">address.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="address_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Copyright (C) 1999-2005 Open Source Telecom Corporation.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// Copyright (C) 2006-2010 David Sugar, Tycho Softworks.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// This program is free software; you can redistribute it and/or modify</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// the Free Software Foundation; either version 2 of the License, or</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// (at your option) any later version.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// along with this program; if not, write to the Free Software</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">// As a special exception, you may use this file as part of a free software</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// library without restriction.  Specifically, if other files instantiate</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">// templates or use macros or inline functions from this file, or you compile</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">// this file and link it with other files to produce an executable, this</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">// file does not by itself cause the resulting executable to be covered by</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">// the GNU General Public License.  This exception does not however</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">// invalidate any other reasons why the executable file might be covered by</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">// the GNU General Public License.</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">// This exception applies only to the code released under the name GNU</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">// Common C++.  If you copy code from other releases into a copy of GNU</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">// Common C++, as the General Public License permits, the exception does</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">// not apply to the code that you add in this way.  To avoid misleading</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">// anyone as to the status of such modified files, you must delete</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">// this exception notice from them.</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">// If you write modifications of your own for GNU Common C++, it is your choice</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">// whether to permit this exception to apply to your modifications.</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment">// If you do not wish that, delete this exception notice.</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#ifndef CCXX_ADDRESS_H_</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define CCXX_ADDRESS_H_</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#ifndef CCXX_CONFIG_H_</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;<a class="code" href="config_8h.html">cc++/config.h</a>&gt;</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#ifndef CCXX_MISSING_H_</span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;<a class="code" href="missing_8h.html">cc++/missing.h</a>&gt;</span></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#ifndef CCXX_THREAD_H_</span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;<a class="code" href="thread_8h.html">cc++/thread.h</a>&gt;</span></div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">#ifndef CCXX_EXCEPTION_H_</span></div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;<a class="code" href="exception_8h.html">cc++/exception.h</a>&gt;</span></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#ifdef  CCXX_NAMESPACES</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="namespaceost.html">   64</a></span>&#160;<span class="preprocessor"></span><span class="keyword">namespace </span>ost {</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">// future definition of ipv4 specific classes, now defines</span></div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="address_8h.html#afc03d179dfb05715ca434fc81f35ec08">   69</a></span>&#160;<span class="preprocessor">#define INET_IPV4_ADDRESS_SIZE  16</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="address_8h.html#ac44efbe3cc45e830e926100723d4c553">   70</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define CIDR_IPV4_ADDRESS_SIZE  32</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="address_8h.html#a682bc95f3048cc2949c8c9f63b9dbf09">   71</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define INET_IPV6_ADDRESS_SIZE  40</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="address_8h.html#a630216a10be7946ba1f42a312fa22b5a">   72</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define CIDR_IPV6_ADDRESS_SIZE  45</span></div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="address_8h.html#a75876c1a31b853a81f761e155150a3b9">   74</a></span>&#160;<span class="preprocessor">#define CIDR        IPV4Cidr</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="address_8h.html#a029ebb5b43bb13b02c02f4de0a8f3c08">   75</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define InetAddress IPV4Address</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="address_8h.html#a5eba36aa908d5a479c8ba7d0bc4512b1">   76</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define InetHostAddress IPV4Host</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="address_8h.html#a217ddf13140d751663d287da38799aff">   77</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define InetMaskAddress IPV4Mask</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="address_8h.html#a2bcb722163ed02e2d0d3621dd3f82da4">   78</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define InetMcastAddress IPV4Multicast</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="address_8h.html#abcc76a9e9ae0be634631b4755ee6d0fc">   79</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define InetMcastAddressValidator IPV4MulticastValidator</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="address_8h.html#ad4c483e6c7e2ae177b22e72f690cda72">   80</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define InetAddrValidator IPV4Validator</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="address_8h.html#a9dc0c24e79c7b6f5768fe61548395273">   81</a></span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define BroadcastAddress IPV4Broadcast</span></div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">   86</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">tpport_t</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="namespaceost.html#a690ff5fe11ecacf1b08c88c6d042054c">   88</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v4_host.html">IPV4Host</a>;</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_validator.html">   98</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v4_validator.html">IPV4Validator</a></div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;{</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_validator.html#a7e956f4f4119903b31019bd341fbf634">  104</a></span>&#160;    <a class="code" href="classost_1_1_i_p_v4_validator.html#a7e956f4f4119903b31019bd341fbf634">IPV4Validator</a>() { };</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_validator.html#a521d077f3f97da572ce32f354cfe61e6">  109</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classost_1_1_i_p_v4_validator.html#a521d077f3f97da572ce32f354cfe61e6">~IPV4Validator</a>() {};</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    operator()(<span class="keyword">const</span> in_addr address) <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;};</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_multicast_validator.html">  127</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v4_multicast_validator.html">IPV4MulticastValidator</a>: <span class="keyword">public</span> <a class="code" href="classost_1_1_i_p_v4_validator.html">IPV4Validator</a></div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;{</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_multicast_validator.html#aa308381c9b61038baf145d03956bbe80">  133</a></span>&#160;    <a class="code" href="classost_1_1_i_p_v4_multicast_validator.html#aa308381c9b61038baf145d03956bbe80">IPV4MulticastValidator</a>(){};</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_multicast_validator.html#a26c914ca299df67b4c95ddc135470cde">  138</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classost_1_1_i_p_v4_multicast_validator.html#a26c914ca299df67b4c95ddc135470cde">~IPV4MulticastValidator</a>(){};</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordtype">void</span> operator()(<span class="keyword">const</span> in_addr address) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="preprocessor">#if __BYTE_ORDER == __BIG_ENDIAN</span></div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="preprocessor"></span>    <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        MCAST_VALID_MASK = 0xF0000000,</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        MCAST_VALID_VALUE = 0xE0000000</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    };</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor"></span>    <span class="keyword">enum</span> {</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        MCAST_VALID_MASK = 0x000000F0,</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        MCAST_VALID_VALUE = 0x000000E0</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    };</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor"></span>};</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_cidr.html">  166</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v4_cidr.html">IPV4Cidr</a></div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;{</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_cidr.html#a1e521394346937df3ea4b79d10c3cc49">  169</a></span>&#160;    <span class="keyword">struct </span>in_addr netmask, network;</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keywordtype">unsigned</span> getMask(<span class="keyword">const</span> <span class="keywordtype">char</span> *cp) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_cidr.html#ae4990e1f58a6c871c22774944f8c5921">  178</a></span>&#160;    <span class="keyword">inline</span> <span class="keyword">struct </span>in_addr getNetwork(void) const</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        {<span class="keywordflow">return</span> network;};</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_cidr.html#a36e0337c68d14d2c67be12ec6a9eefba">  186</a></span>&#160;    <span class="keyword">inline</span> <span class="keyword">struct </span>in_addr getNetmask(void) const</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        {<span class="keywordflow">return</span> netmask;};</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <span class="keyword">struct </span>in_addr getBroadcast(void) const;</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="keywordtype">void</span> set(<span class="keyword">const</span> <span class="keywordtype">char</span> *cidr);</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_cidr.html">IPV4Cidr</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *cidr);</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_cidr.html">IPV4Cidr</a>();</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_cidr.html">IPV4Cidr</a>(<a class="code" href="classost_1_1_i_p_v4_cidr.html">IPV4Cidr</a> &amp;);</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="keywordtype">bool</span> isMember(<span class="keyword">const</span> <span class="keyword">struct</span> sockaddr *saddr) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    <span class="keywordtype">bool</span> isMember(<span class="keyword">const</span> <span class="keyword">struct</span> in_addr &amp;inaddr) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div>
<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_cidr.html#a119f377cfa2fba3b7b28cf0a71f03ad5">  239</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classost_1_1_i_p_v4_cidr.html#a119f377cfa2fba3b7b28cf0a71f03ad5">operator==</a>(<span class="keyword">const</span> <span class="keyword">struct</span> sockaddr *a)<span class="keyword"> const</span></div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">        </span>{<span class="keywordflow">return</span> isMember(a);};</div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div>
<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_cidr.html#a23d8115b00be38c2f17a2b7b7a40860c">  242</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classost_1_1_i_p_v4_cidr.html#a23d8115b00be38c2f17a2b7b7a40860c">operator==</a>(<span class="keyword">const</span> <span class="keyword">struct</span> in_addr &amp;a)<span class="keyword"> const</span></div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="keyword">        </span>{<span class="keywordflow">return</span> isMember(a);};</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;};</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;<span class="preprocessor">#ifdef  CCXX_IPV6</span></div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_cidr.html">  254</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v6_cidr.html">IPV6Cidr</a></div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;{</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_cidr.html#afb73fd7948994b257dbce8b830bbf61a">  257</a></span>&#160;    <span class="keyword">struct </span>in6_addr netmask, network;</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <span class="keywordtype">unsigned</span> getMask(<span class="keyword">const</span> <span class="keywordtype">char</span> *cp) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_cidr.html#a9a3fc6c68055448d300ddee1719002d4">  266</a></span>&#160;    <span class="keyword">inline</span> <span class="keyword">struct </span>in6_addr getNetwork(void) const</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        {<span class="keywordflow">return</span> network;};</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div>
<div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_cidr.html#aa5dd16ec9107894c8f07165cdecab88b">  274</a></span>&#160;    <span class="keyword">inline</span> <span class="keyword">struct </span>in6_addr getNetmask(void) const</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        {<span class="keywordflow">return</span> netmask;};</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="keyword">struct </span>in6_addr getBroadcast(void) const;</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    <span class="keywordtype">void</span> set(<span class="keyword">const</span> <span class="keywordtype">char</span> *cidr);</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_cidr.html">IPV6Cidr</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *cidr);</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_cidr.html">IPV6Cidr</a>();</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_cidr.html">IPV6Cidr</a>(<a class="code" href="classost_1_1_i_p_v6_cidr.html">IPV6Cidr</a> &amp;);</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keywordtype">bool</span> isMember(<span class="keyword">const</span> <span class="keyword">struct</span> sockaddr *saddr) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    <span class="keywordtype">bool</span> isMember(<span class="keyword">const</span> <span class="keyword">struct</span> in6_addr &amp;inaddr) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;</div>
<div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_cidr.html#a27dd5cd8d31f250836b0342dbfe01483">  327</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classost_1_1_i_p_v6_cidr.html#a27dd5cd8d31f250836b0342dbfe01483">operator==</a>(<span class="keyword">const</span> <span class="keyword">struct</span> sockaddr *sa)<span class="keyword"> const</span></div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="keyword">        </span>{<span class="keywordflow">return</span> isMember(sa);};</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div>
<div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_cidr.html#a4a1185ddd0accee067006c12f8266569">  330</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classost_1_1_i_p_v6_cidr.html#a4a1185ddd0accee067006c12f8266569">operator==</a>(<span class="keyword">const</span> <span class="keyword">struct</span> in6_addr &amp;a)<span class="keyword"> const</span></div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;<span class="keyword">        </span>{<span class="keywordflow">return</span> isMember(a);};</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;};</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_address.html">  350</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a></div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;{</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    <span class="comment">// The validator given to an IPV4Address object must not be a</span></div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="comment">// transient object, but that must exist at least until the</span></div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    <span class="comment">// last address object of its kind is deleted. This is an</span></div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    <span class="comment">// artifact to be able to do specific checks for derived</span></div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    <span class="comment">// classes inside constructors.</span></div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="keyword">const</span> <a class="code" href="address_8h.html#ad4c483e6c7e2ae177b22e72f690cda72">InetAddrValidator</a> *validator;</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_address.html#a4437ba1e6bde3e8252df8a1a591ecfe5">  361</a></span>&#160;    <span class="keyword">struct </span>in_addr * <a class="code" href="classost_1_1_i_p_v4_address.html#a4437ba1e6bde3e8252df8a1a591ecfe5">ipaddr</a>;</div>
<div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_address.html#a3128cf0e2832071593f940717b484e88">  362</a></span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="classost_1_1_i_p_v4_address.html#a3128cf0e2832071593f940717b484e88">addr_count</a>;</div>
<div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_address.html#a9c3cc2812bf79827298211ed4ca4550b">  363</a></span>&#160;    <span class="keyword">mutable</span> <span class="keywordtype">char</span>* <a class="code" href="classost_1_1_i_p_v4_address.html#a9c3cc2812bf79827298211ed4ca4550b">hostname</a>;  <span class="comment">// hostname for ipaddr[0]. Used by getHostname</span></div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;<span class="preprocessor">#if defined(WIN32)</span></div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="preprocessor"></span>    <span class="keyword">static</span> <a class="code" href="classost_1_1_mutex_counter.html">MutexCounter</a> counter;</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_address.html#a5bbe8d3806115e2c4882efb728ba039d">  367</a></span>&#160;<span class="preprocessor"></span>    <span class="keyword">static</span> <a class="code" href="classost_1_1_mutex.html">Mutex</a> <a class="code" href="classost_1_1_i_p_v4_address.html#a5bbe8d3806115e2c4882efb728ba039d">mutex</a>;</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <span class="keywordtype">bool</span> setIPAddress(<span class="keyword">const</span> <span class="keywordtype">char</span> *host);</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    <span class="keywordtype">void</span> setAddress(<span class="keyword">const</span> <span class="keywordtype">char</span> *host);</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a>(<span class="keyword">const</span> <a class="code" href="address_8h.html#ad4c483e6c7e2ae177b22e72f690cda72">InetAddrValidator</a> *validator = NULL);</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a>(<span class="keyword">struct</span> in_addr addr, <span class="keyword">const</span> <a class="code" href="address_8h.html#ad4c483e6c7e2ae177b22e72f690cda72">InetAddrValidator</a> *validator = NULL);</div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;</div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *address, <span class="keyword">const</span> <a class="code" href="address_8h.html#ad4c483e6c7e2ae177b22e72f690cda72">InetAddrValidator</a> *validator = NULL);</div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a>(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;rhs);</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    <span class="keyword">virtual</span> ~<a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a>();</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *getHostname(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    <span class="keywordtype">bool</span> isInetAddress(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;    <span class="keyword">struct </span>in_addr getAddress(void) const;</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;</div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    <span class="keyword">struct </span>in_addr getAddress(size_t i) const;</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;</div>
<div class="line"><a name="l00472"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_address.html#a90c4bc29684968f09d5cf61f3d7d7524">  472</a></span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="classost_1_1_i_p_v4_address.html#a90c4bc29684968f09d5cf61f3d7d7524">getAddressCount</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> addr_count; }</div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;operator=(<span class="keyword">const</span> <span class="keywordtype">char</span> *str);</div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;operator=(<span class="keyword">struct</span> in_addr addr);</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;operator=(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;rhs);</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;</div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;operator=(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> addr);</div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div>
<div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_address.html#a8198f8d8f9fae2de78194fc26c3b44c6">  484</a></span>&#160;    <span class="keyword">inline</span> <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;<a class="code" href="classost_1_1_i_p_v4_address.html#a8198f8d8f9fae2de78194fc26c3b44c6">operator=</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> addr)</div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        {<span class="keywordflow">return</span> *<span class="keyword">this</span> = (<span class="keywordtype">unsigned</span> long) addr; }</div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;</div>
<div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_address.html#a028f090c2d60034c3cbc4a23efafd356">  487</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classost_1_1_i_p_v4_address.html#a028f090c2d60034c3cbc4a23efafd356">operator!</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;<span class="keyword">        </span>{<span class="keywordflow">return</span> !isInetAddress();};</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;    <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;a) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;</div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;    <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;a) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;};</div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;</div>
<div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_mask.html">  522</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v4_mask.html">IPV4Mask</a> : <span class="keyword">public</span> <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a></div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;{</div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_mask.html">IPV4Mask</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *mask);</div>
<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;</div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    <span class="keyword">friend</span> <a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v4_host.html">IPV4Host</a> operator&amp;(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v4_host.html">IPV4Host</a> &amp;addr,</div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;                     <span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v4_mask.html">IPV4Mask</a> &amp;mask);</div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;</div>
<div class="line"><a name="l00550"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_mask.html#a49ec7fe09dfcc3b9a963e2dc6f1186d4">  550</a></span>&#160;    <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;<a class="code" href="classost_1_1_i_p_v4_mask.html#a49ec7fe09dfcc3b9a963e2dc6f1186d4">operator=</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> addr)</div>
<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;        { <span class="keywordflow">return</span> <a class="code" href="classost_1_1_i_p_v4_address.html#aaeab0179a7fa73673815e1cc623ab709">IPV4Address::operator =</a>(addr); }</div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;};</div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;</div>
<div class="line"><a name="l00561"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_host.html">  561</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v4_host.html">IPV4Host</a> : <span class="keyword">public</span> <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a></div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;{</div>
<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    <span class="keyword">static</span> <a class="code" href="classost_1_1_i_p_v4_host.html">IPV4Host</a> _host_;</div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;</div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    <a class="code" href="namespaceost.html#a690ff5fe11ecacf1b08c88c6d042054c">IPV4Host</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *host = NULL);</div>
<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;</div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;    <a class="code" href="namespaceost.html#a690ff5fe11ecacf1b08c88c6d042054c">IPV4Host</a>(<span class="keyword">struct</span> in_addr addr);</div>
<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;</div>
<div class="line"><a name="l00594"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_host.html#a28be54aa5dd6c5ed9feeeb6c76ab0b27">  594</a></span>&#160;    <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;<a class="code" href="classost_1_1_i_p_v4_host.html#a28be54aa5dd6c5ed9feeeb6c76ab0b27">operator=</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> addr)</div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    { <span class="keywordflow">return</span> <a class="code" href="classost_1_1_i_p_v4_address.html#aaeab0179a7fa73673815e1cc623ab709">IPV4Address::operator =</a>(addr); }</div>
<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;</div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_host.html">IPV4Host</a> &amp;operator&amp;=(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v4_mask.html">IPV4Mask</a> &amp;mask);</div>
<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;</div>
<div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_host.html#aee7ea6b9d5d5f4bf3de8db73fa8e1f94">  603</a></span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v4_mask.html">IPV4Mask</a>;</div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    <span class="keyword">friend</span> <a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v4_host.html">IPV4Host</a> operator&amp;(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v4_host.html">IPV4Host</a> &amp;addr,</div>
<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;                     <span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v4_mask.html">IPV4Mask</a> &amp;mask);</div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;};</div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;</div>
<div class="line"><a name="l00612"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_broadcast.html">  612</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v4_broadcast.html">IPV4Broadcast</a> : <span class="keyword">public</span> <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a></div>
<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;{</div>
<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_broadcast.html">IPV4Broadcast</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *net = <span class="stringliteral">&quot;255.255.255.255&quot;</span>);</div>
<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;};</div>
<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;</div>
<div class="line"><a name="l00634"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v4_multicast.html">  634</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v4_multicast.html">IPV4Multicast</a>: <span class="keyword">public</span> <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a></div>
<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;{</div>
<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_multicast.html">IPV4Multicast</a>();</div>
<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;</div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_multicast.html">IPV4Multicast</a>(<span class="keyword">const</span> <span class="keyword">struct</span> in_addr address);</div>
<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;</div>
<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;    <a class="code" href="classost_1_1_i_p_v4_multicast.html">IPV4Multicast</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *address);</div>
<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;</div>
<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v4_multicast_validator.html">IPV4MulticastValidator</a> validator;</div>
<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;};</div>
<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;</div>
<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;<span class="keyword">extern</span> <a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> std::ostream&amp; <a class="code" href="namespaceost.html#a43b65f3c2266eb63ba22c1ff73a6e20b">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;ia);</div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;</div>
<div class="line"><a name="l00675"></a><span class="lineno"><a class="line" href="namespaceost.html#a2814c59547dbc1ac351e7813b8034654">  675</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">struct </span>in_addr <a class="code" href="namespaceost.html#a2814c59547dbc1ac351e7813b8034654">getaddress</a>(const <a class="code" href="classost_1_1_i_p_v4_address.html">IPV4Address</a> &amp;ia)</div>
<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;    {<span class="keywordflow">return</span> ia.getAddress();}</div>
<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;</div>
<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;</div>
<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;<span class="preprocessor">#ifdef  CCXX_IPV6</span></div>
<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00681"></a><span class="lineno"><a class="line" href="namespaceost.html#a0ef77c2689f8442b3b0d3a0f4d2151e0">  681</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v6_host.html">IPV6Host</a>;</div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;</div>
<div class="line"><a name="l00691"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_validator.html">  691</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v6_validator.html">IPV6Validator</a></div>
<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;{</div>
<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00697"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_validator.html#a4a1e7908325409ac55854d76fca64eff">  697</a></span>&#160;    <a class="code" href="classost_1_1_i_p_v6_validator.html#a4a1e7908325409ac55854d76fca64eff">IPV6Validator</a>() { };</div>
<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;</div>
<div class="line"><a name="l00702"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_validator.html#a1731f4d2473e306125c477782119e4b6">  702</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classost_1_1_i_p_v6_validator.html#a1731f4d2473e306125c477782119e4b6">~IPV6Validator</a>() {};</div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;</div>
<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> operator()(<span class="keyword">const</span> in6_addr address) <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;};</div>
<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;</div>
<div class="line"><a name="l00719"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_multicast_validator.html">  719</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v6_multicast_validator.html">IPV6MulticastValidator</a>: <span class="keyword">public</span> <a class="code" href="classost_1_1_i_p_v6_validator.html">IPV6Validator</a></div>
<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;{</div>
<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_multicast_validator.html#a96b9828408dc0b9748ebe09069eb4c66">  725</a></span>&#160;    <a class="code" href="classost_1_1_i_p_v6_multicast_validator.html#a96b9828408dc0b9748ebe09069eb4c66">IPV6MulticastValidator</a>(){};</div>
<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;</div>
<div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_multicast_validator.html#a434f490cad411088f8fa59fb3d4e145e">  730</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classost_1_1_i_p_v6_multicast_validator.html#a434f490cad411088f8fa59fb3d4e145e">~IPV6MulticastValidator</a>(){};</div>
<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;</div>
<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;    <span class="keywordtype">void</span> operator()(<span class="keyword">const</span> in6_addr address) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;};</div>
<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;</div>
<div class="line"><a name="l00753"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_address.html">  753</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a></div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;{</div>
<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;    <span class="comment">// The validator given to an IPV4Address object must not be a</span></div>
<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;    <span class="comment">// transient object, but that must exist at least until the</span></div>
<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;    <span class="comment">// last address object of its kind is deleted. This is an</span></div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;    <span class="comment">// artifact to be able to do specific checks for derived</span></div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;    <span class="comment">// classes inside constructors.</span></div>
<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;    <span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_validator.html">IPV6Validator</a> *validator;</div>
<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;</div>
<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00764"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_address.html#a8d8a4ce0d30251e42ddfc793369fc37d">  764</a></span>&#160;    <span class="keyword">struct </span>in6_addr * <a class="code" href="classost_1_1_i_p_v6_address.html#a8d8a4ce0d30251e42ddfc793369fc37d">ipaddr</a>;</div>
<div class="line"><a name="l00765"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_address.html#ab34b66044b90b5b045ae924858f2bf2a">  765</a></span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="classost_1_1_i_p_v6_address.html#ab34b66044b90b5b045ae924858f2bf2a">addr_count</a>;</div>
<div class="line"><a name="l00766"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_address.html#a469e52373818fea081b0f1df6f57e14c">  766</a></span>&#160;    <span class="keyword">mutable</span> <span class="keywordtype">char</span>* <a class="code" href="classost_1_1_i_p_v6_address.html#a469e52373818fea081b0f1df6f57e14c">hostname</a>;  <span class="comment">// hostname for ipaddr[0]. Used by getHostname</span></div>
<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;<span class="preprocessor">#if defined(WIN32)</span></div>
<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;<span class="preprocessor"></span>    <span class="keyword">static</span> <a class="code" href="classost_1_1_mutex_counter.html">MutexCounter</a> counter;</div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00770"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_address.html#af43882cd7c34125d097c90ed9e50490b">  770</a></span>&#160;<span class="preprocessor"></span>    <span class="keyword">static</span> <a class="code" href="classost_1_1_mutex.html">Mutex</a> <a class="code" href="classost_1_1_i_p_v6_address.html#af43882cd7c34125d097c90ed9e50490b">mutex</a>;</div>
<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;    <span class="keywordtype">bool</span> setIPAddress(<span class="keyword">const</span> <span class="keywordtype">char</span> *host);</div>
<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;</div>
<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;    <span class="keywordtype">void</span> setAddress(<span class="keyword">const</span> <span class="keywordtype">char</span> *host);</div>
<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;</div>
<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a>(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_validator.html">IPV6Validator</a> *validator = NULL);</div>
<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;</div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a>(<span class="keyword">struct</span> in6_addr addr, <span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_validator.html">IPV6Validator</a> *validator = NULL);</div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;</div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *address, <span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_validator.html">IPV6Validator</a> *validator = NULL);</div>
<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;</div>
<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a>(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;rhs);</div>
<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;</div>
<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;    <span class="keyword">virtual</span> ~<a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a>();</div>
<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;</div>
<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *getHostname(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;</div>
<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    <span class="keywordtype">bool</span> isInetAddress(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;</div>
<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;    <span class="keyword">struct </span>in6_addr getAddress(void) const;</div>
<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;</div>
<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;    <span class="keyword">struct </span>in6_addr getAddress(size_t i) const;</div>
<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;</div>
<div class="line"><a name="l00875"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_address.html#ac8cda66da211bec64ea6de14c3ad65c8">  875</a></span>&#160;    <span class="keywordtype">size_t</span> <a class="code" href="classost_1_1_i_p_v6_address.html#ac8cda66da211bec64ea6de14c3ad65c8">getAddressCount</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> addr_count; }</div>
<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;</div>
<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;operator=(<span class="keyword">const</span> <span class="keywordtype">char</span> *str);</div>
<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;operator=(<span class="keyword">struct</span> in6_addr addr);</div>
<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;operator=(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;rhs);</div>
<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;</div>
<div class="line"><a name="l00881"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_address.html#a80df5c80fa1675223d74161278b18649">  881</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classost_1_1_i_p_v6_address.html#a80df5c80fa1675223d74161278b18649">operator!</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;<span class="keyword">        </span>{<span class="keywordflow">return</span> !isInetAddress();};</div>
<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;</div>
<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;    <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;a) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;</div>
<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;    <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;a) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;};</div>
<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;</div>
<div class="line"><a name="l00916"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_mask.html">  916</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v6_mask.html">IPV6Mask</a> : <span class="keyword">public</span> <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a></div>
<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;{</div>
<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_mask.html">IPV6Mask</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *mask);</div>
<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;</div>
<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;    <span class="keyword">friend</span> <a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v6_host.html">IPV6Host</a> operator&amp;(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_host.html">IPV6Host</a> &amp;addr,</div>
<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;                     <span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_mask.html">IPV6Mask</a> &amp;mask);</div>
<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;};</div>
<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;</div>
<div class="line"><a name="l00948"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_host.html">  948</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v6_host.html">IPV6Host</a> : <span class="keyword">public</span> <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a></div>
<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;{</div>
<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;    <a class="code" href="namespaceost.html#a0ef77c2689f8442b3b0d3a0f4d2151e0">IPV6Host</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *host = NULL);</div>
<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;</div>
<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;    <a class="code" href="namespaceost.html#a0ef77c2689f8442b3b0d3a0f4d2151e0">IPV6Host</a>(<span class="keyword">struct</span> in6_addr addr);</div>
<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;</div>
<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_host.html">IPV6Host</a> &amp;operator&amp;=(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_mask.html">IPV6Mask</a> &amp;mask);</div>
<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;</div>
<div class="line"><a name="l00980"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_host.html#a49496345b8abbec276f6c25a0fbdffe5">  980</a></span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v6_mask.html">IPV6Mask</a>;</div>
<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;    <span class="keyword">friend</span> <a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v6_host.html">IPV6Host</a> operator&amp;(<span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_host.html">IPV6Host</a> &amp;addr, <span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_mask.html">IPV6Mask</a> &amp;mask);</div>
<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;};</div>
<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;</div>
<div class="line"><a name="l00988"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_broadcast.html">  988</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v6_broadcast.html">IPV6Broadcast</a> : <span class="keyword">public</span> <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a></div>
<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;{</div>
<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_broadcast.html">IPV6Broadcast</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *net = <span class="stringliteral">&quot;255.255.255.255&quot;</span>);</div>
<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;};</div>
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;</div>
<div class="line"><a name="l01010"></a><span class="lineno"><a class="line" href="classost_1_1_i_p_v6_multicast.html"> 1010</a></span>&#160;<span class="keyword">class </span><a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> <a class="code" href="classost_1_1_i_p_v6_multicast.html">IPV6Multicast</a>: <span class="keyword">public</span> <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a></div>
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;{</div>
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_multicast.html">IPV6Multicast</a>();</div>
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;</div>
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_multicast.html">IPV6Multicast</a>(<span class="keyword">const</span> <span class="keyword">struct</span> in6_addr address);</div>
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;</div>
<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;    <a class="code" href="classost_1_1_i_p_v6_multicast.html">IPV6Multicast</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *address);</div>
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;</div>
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_multicast_validator.html">IPV6MulticastValidator</a> validator;</div>
<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;};</div>
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;</div>
<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;<span class="keyword">extern</span> <a class="code" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> std::ostream&amp; <a class="code" href="namespaceost.html#a43b65f3c2266eb63ba22c1ff73a6e20b">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;ia);</div>
<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;</div>
<div class="line"><a name="l01051"></a><span class="lineno"><a class="line" href="namespaceost.html#ad50c9b5311667f2b1796374ea6e06dc4"> 1051</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">struct </span>in6_addr <a class="code" href="namespaceost.html#a2814c59547dbc1ac351e7813b8034654">getaddress</a>(const <a class="code" href="classost_1_1_i_p_v6_address.html">IPV6Address</a> &amp;ia)</div>
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;    {<span class="keywordflow">return</span> ia.getAddress();}</div>
<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;</div>
<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;</div>
<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;<span class="preprocessor">#ifdef  CCXX_NAMESPACES</span></div>
<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;<span class="preprocessor"></span></div>
<div class="ttc" id="classost_1_1_i_p_v4_address_html_a90c4bc29684968f09d5cf61f3d7d7524"><div class="ttname"><a href="classost_1_1_i_p_v4_address.html#a90c4bc29684968f09d5cf61f3d7d7524">ost::IPV4Address::getAddressCount</a></div><div class="ttdeci">size_t getAddressCount() const </div><div class="ttdoc">Returns the number of internet addresses that an IPV4Address object contains. </div><div class="ttdef"><b>Definition:</b> address.h:472</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_cidr_html_a27dd5cd8d31f250836b0342dbfe01483"><div class="ttname"><a href="classost_1_1_i_p_v6_cidr.html#a27dd5cd8d31f250836b0342dbfe01483">ost::IPV6Cidr::operator==</a></div><div class="ttdeci">bool operator==(const struct sockaddr *sa) const </div><div class="ttdef"><b>Definition:</b> address.h:327</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_validator_html"><div class="ttname"><a href="classost_1_1_i_p_v4_validator.html">ost::IPV4Validator</a></div><div class="ttdoc">Classes derived from IPV4Address would require an specific validator to pass to the IPV4Address const...</div><div class="ttdef"><b>Definition:</b> address.h:98</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_mask_html"><div class="ttname"><a href="classost_1_1_i_p_v6_mask.html">ost::IPV6Mask</a></div><div class="ttdoc">Internet addresses used specifically as masking addresses (such as &amp;quot; 255.255.255.0&amp;quot;) are held in the ...</div><div class="ttdef"><b>Definition:</b> address.h:916</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_address_html_a8d8a4ce0d30251e42ddfc793369fc37d"><div class="ttname"><a href="classost_1_1_i_p_v6_address.html#a8d8a4ce0d30251e42ddfc793369fc37d">ost::IPV6Address::ipaddr</a></div><div class="ttdeci">struct in6_addr * ipaddr</div><div class="ttdef"><b>Definition:</b> address.h:764</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_cidr_html"><div class="ttname"><a href="classost_1_1_i_p_v4_cidr.html">ost::IPV4Cidr</a></div><div class="ttdoc">The CIDR class is used to support routing tables and validate address policies. </div><div class="ttdef"><b>Definition:</b> address.h:166</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_multicast_validator_html_aa308381c9b61038baf145d03956bbe80"><div class="ttname"><a href="classost_1_1_i_p_v4_multicast_validator.html#aa308381c9b61038baf145d03956bbe80">ost::IPV4MulticastValidator::IPV4MulticastValidator</a></div><div class="ttdeci">IPV4MulticastValidator()</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> address.h:133</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_cidr_html_a23d8115b00be38c2f17a2b7b7a40860c"><div class="ttname"><a href="classost_1_1_i_p_v4_cidr.html#a23d8115b00be38c2f17a2b7b7a40860c">ost::IPV4Cidr::operator==</a></div><div class="ttdeci">bool operator==(const struct in_addr &amp;a) const </div><div class="ttdef"><b>Definition:</b> address.h:242</div></div>
<div class="ttc" id="namespaceost_html_a2814c59547dbc1ac351e7813b8034654"><div class="ttname"><a href="namespaceost.html#a2814c59547dbc1ac351e7813b8034654">ost::getaddress</a></div><div class="ttdeci">struct in_addr getaddress(const IPV4Address &amp;ia)</div><div class="ttdef"><b>Definition:</b> address.h:675</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_address_html_a5bbe8d3806115e2c4882efb728ba039d"><div class="ttname"><a href="classost_1_1_i_p_v4_address.html#a5bbe8d3806115e2c4882efb728ba039d">ost::IPV4Address::mutex</a></div><div class="ttdeci">static Mutex mutex</div><div class="ttdef"><b>Definition:</b> address.h:367</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_cidr_html"><div class="ttname"><a href="classost_1_1_i_p_v6_cidr.html">ost::IPV6Cidr</a></div><div class="ttdoc">The CIDR class is used to support routing tables and validate address policies. </div><div class="ttdef"><b>Definition:</b> address.h:254</div></div>
<div class="ttc" id="config_8h_html_ad10ef148ba8327bd530fc6c32c1e181c"><div class="ttname"><a href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a></div><div class="ttdeci">#define __EXPORT</div><div class="ttdef"><b>Definition:</b> config.h:980</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_address_html_aaeab0179a7fa73673815e1cc623ab709"><div class="ttname"><a href="classost_1_1_i_p_v4_address.html#aaeab0179a7fa73673815e1cc623ab709">ost::IPV4Address::operator=</a></div><div class="ttdeci">IPV4Address &amp; operator=(const char *str)</div></div>
<div class="ttc" id="missing_8h_html"><div class="ttname"><a href="missing_8h.html">missing.h</a></div><div class="ttdoc">substitute functions which may be missing in target platform libc. </div></div>
<div class="ttc" id="classost_1_1_i_p_v6_address_html_af43882cd7c34125d097c90ed9e50490b"><div class="ttname"><a href="classost_1_1_i_p_v6_address.html#af43882cd7c34125d097c90ed9e50490b">ost::IPV6Address::mutex</a></div><div class="ttdeci">static Mutex mutex</div><div class="ttdef"><b>Definition:</b> address.h:770</div></div>
<div class="ttc" id="config_8h_html"><div class="ttname"><a href="config_8h.html">config.h</a></div></div>
<div class="ttc" id="classost_1_1_i_p_v4_validator_html_a7e956f4f4119903b31019bd341fbf634"><div class="ttname"><a href="classost_1_1_i_p_v4_validator.html#a7e956f4f4119903b31019bd341fbf634">ost::IPV4Validator::IPV4Validator</a></div><div class="ttdeci">IPV4Validator()</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> address.h:104</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_address_html_a9c3cc2812bf79827298211ed4ca4550b"><div class="ttname"><a href="classost_1_1_i_p_v4_address.html#a9c3cc2812bf79827298211ed4ca4550b">ost::IPV4Address::hostname</a></div><div class="ttdeci">char * hostname</div><div class="ttdef"><b>Definition:</b> address.h:363</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_host_html_a28be54aa5dd6c5ed9feeeb6c76ab0b27"><div class="ttname"><a href="classost_1_1_i_p_v4_host.html#a28be54aa5dd6c5ed9feeeb6c76ab0b27">ost::IPV4Host::operator=</a></div><div class="ttdeci">IPV4Address &amp; operator=(unsigned long addr)</div><div class="ttdoc">Allows assignment from the return of functions like inet_addr() or htonl() </div><div class="ttdef"><b>Definition:</b> address.h:594</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_validator_html_a1731f4d2473e306125c477782119e4b6"><div class="ttname"><a href="classost_1_1_i_p_v6_validator.html#a1731f4d2473e306125c477782119e4b6">ost::IPV6Validator::~IPV6Validator</a></div><div class="ttdeci">virtual ~IPV6Validator()</div><div class="ttdoc">Keeps compilers happy. </div><div class="ttdef"><b>Definition:</b> address.h:702</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_multicast_validator_html_a434f490cad411088f8fa59fb3d4e145e"><div class="ttname"><a href="classost_1_1_i_p_v6_multicast_validator.html#a434f490cad411088f8fa59fb3d4e145e">ost::IPV6MulticastValidator::~IPV6MulticastValidator</a></div><div class="ttdeci">virtual ~IPV6MulticastValidator()</div><div class="ttdoc">Keeps compilers happy... </div><div class="ttdef"><b>Definition:</b> address.h:730</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_cidr_html_a4a1185ddd0accee067006c12f8266569"><div class="ttname"><a href="classost_1_1_i_p_v6_cidr.html#a4a1185ddd0accee067006c12f8266569">ost::IPV6Cidr::operator==</a></div><div class="ttdeci">bool operator==(const struct in6_addr &amp;a) const </div><div class="ttdef"><b>Definition:</b> address.h:330</div></div>
<div class="ttc" id="namespaceost_html_a0ef77c2689f8442b3b0d3a0f4d2151e0"><div class="ttname"><a href="namespaceost.html#a0ef77c2689f8442b3b0d3a0f4d2151e0">ost::IPV6Host</a></div><div class="ttdeci">class __EXPORT IPV6Host</div><div class="ttdef"><b>Definition:</b> address.h:681</div></div>
<div class="ttc" id="exception_8h_html"><div class="ttname"><a href="exception_8h.html">exception.h</a></div><div class="ttdoc">GNU Common C++ exception model base classes. </div></div>
<div class="ttc" id="thread_8h_html"><div class="ttname"><a href="thread_8h.html">thread.h</a></div><div class="ttdoc">Synchronization and threading services. </div></div>
<div class="ttc" id="classost_1_1_i_p_v6_address_html_a80df5c80fa1675223d74161278b18649"><div class="ttname"><a href="classost_1_1_i_p_v6_address.html#a80df5c80fa1675223d74161278b18649">ost::IPV6Address::operator!</a></div><div class="ttdeci">bool operator!() const </div><div class="ttdef"><b>Definition:</b> address.h:881</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_multicast_validator_html_a96b9828408dc0b9748ebe09069eb4c66"><div class="ttname"><a href="classost_1_1_i_p_v6_multicast_validator.html#a96b9828408dc0b9748ebe09069eb4c66">ost::IPV6MulticastValidator::IPV6MulticastValidator</a></div><div class="ttdeci">IPV6MulticastValidator()</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> address.h:725</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_address_html"><div class="ttname"><a href="classost_1_1_i_p_v6_address.html">ost::IPV6Address</a></div><div class="ttdoc">The network name and address objects are all derived from a common IPV6Address base class...</div><div class="ttdef"><b>Definition:</b> address.h:753</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_address_html"><div class="ttname"><a href="classost_1_1_i_p_v4_address.html">ost::IPV4Address</a></div><div class="ttdoc">The network name and address objects are all derived from a common IPV4Address base class...</div><div class="ttdef"><b>Definition:</b> address.h:350</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_address_html_ab34b66044b90b5b045ae924858f2bf2a"><div class="ttname"><a href="classost_1_1_i_p_v6_address.html#ab34b66044b90b5b045ae924858f2bf2a">ost::IPV6Address::addr_count</a></div><div class="ttdeci">size_t addr_count</div><div class="ttdef"><b>Definition:</b> address.h:765</div></div>
<div class="ttc" id="namespaceost_html_a690ff5fe11ecacf1b08c88c6d042054c"><div class="ttname"><a href="namespaceost.html#a690ff5fe11ecacf1b08c88c6d042054c">ost::IPV4Host</a></div><div class="ttdeci">class __EXPORT IPV4Host</div><div class="ttdef"><b>Definition:</b> address.h:88</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_mask_html_a49ec7fe09dfcc3b9a963e2dc6f1186d4"><div class="ttname"><a href="classost_1_1_i_p_v4_mask.html#a49ec7fe09dfcc3b9a963e2dc6f1186d4">ost::IPV4Mask::operator=</a></div><div class="ttdeci">IPV4Address &amp; operator=(unsigned long addr)</div><div class="ttdoc">Allows assignment from the return of functions like inet_addr() or htonl() </div><div class="ttdef"><b>Definition:</b> address.h:550</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_address_html_a469e52373818fea081b0f1df6f57e14c"><div class="ttname"><a href="classost_1_1_i_p_v6_address.html#a469e52373818fea081b0f1df6f57e14c">ost::IPV6Address::hostname</a></div><div class="ttdeci">char * hostname</div><div class="ttdef"><b>Definition:</b> address.h:766</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_broadcast_html"><div class="ttname"><a href="classost_1_1_i_p_v6_broadcast.html">ost::IPV6Broadcast</a></div><div class="ttdoc">The broadcast address object is used to store the broadcast address for a specific subnet...</div><div class="ttdef"><b>Definition:</b> address.h:988</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_address_html_a028f090c2d60034c3cbc4a23efafd356"><div class="ttname"><a href="classost_1_1_i_p_v4_address.html#a028f090c2d60034c3cbc4a23efafd356">ost::IPV4Address::operator!</a></div><div class="ttdeci">bool operator!() const </div><div class="ttdef"><b>Definition:</b> address.h:487</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_validator_html_a4a1e7908325409ac55854d76fca64eff"><div class="ttname"><a href="classost_1_1_i_p_v6_validator.html#a4a1e7908325409ac55854d76fca64eff">ost::IPV6Validator::IPV6Validator</a></div><div class="ttdeci">IPV6Validator()</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> address.h:697</div></div>
<div class="ttc" id="classost_1_1_mutex_html"><div class="ttname"><a href="classost_1_1_mutex.html">ost::Mutex</a></div><div class="ttdoc">The Mutex class is used to protect a section of code so that at any given time only a single thread c...</div><div class="ttdef"><b>Definition:</b> thread.h:186</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_multicast_html"><div class="ttname"><a href="classost_1_1_i_p_v6_multicast.html">ost::IPV6Multicast</a></div><div class="ttdoc">A specialization of IPV6Address that provides address validation for multicast addresses. </div><div class="ttdef"><b>Definition:</b> address.h:1010</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_address_html_a8198f8d8f9fae2de78194fc26c3b44c6"><div class="ttname"><a href="classost_1_1_i_p_v4_address.html#a8198f8d8f9fae2de78194fc26c3b44c6">ost::IPV4Address::operator=</a></div><div class="ttdeci">IPV4Address &amp; operator=(unsigned int addr)</div><div class="ttdef"><b>Definition:</b> address.h:484</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_address_html_a3128cf0e2832071593f940717b484e88"><div class="ttname"><a href="classost_1_1_i_p_v4_address.html#a3128cf0e2832071593f940717b484e88">ost::IPV4Address::addr_count</a></div><div class="ttdeci">size_t addr_count</div><div class="ttdef"><b>Definition:</b> address.h:362</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_address_html_ac8cda66da211bec64ea6de14c3ad65c8"><div class="ttname"><a href="classost_1_1_i_p_v6_address.html#ac8cda66da211bec64ea6de14c3ad65c8">ost::IPV6Address::getAddressCount</a></div><div class="ttdeci">size_t getAddressCount() const </div><div class="ttdoc">Returns the number of internet addresses that an IPV6Address object contains. </div><div class="ttdef"><b>Definition:</b> address.h:875</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_broadcast_html"><div class="ttname"><a href="classost_1_1_i_p_v4_broadcast.html">ost::IPV4Broadcast</a></div><div class="ttdoc">The broadcast address object is used to store the broadcast address for a specific subnet...</div><div class="ttdef"><b>Definition:</b> address.h:612</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_cidr_html_a119f377cfa2fba3b7b28cf0a71f03ad5"><div class="ttname"><a href="classost_1_1_i_p_v4_cidr.html#a119f377cfa2fba3b7b28cf0a71f03ad5">ost::IPV4Cidr::operator==</a></div><div class="ttdeci">bool operator==(const struct sockaddr *a) const </div><div class="ttdef"><b>Definition:</b> address.h:239</div></div>
<div class="ttc" id="namespaceost_html_a43b65f3c2266eb63ba22c1ff73a6e20b"><div class="ttname"><a href="namespaceost.html#a43b65f3c2266eb63ba22c1ff73a6e20b">ost::operator&lt;&lt;</a></div><div class="ttdeci">__EXPORT std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const IPV4Address &amp;ia)</div></div>
<div class="ttc" id="classost_1_1_mutex_counter_html"><div class="ttname"><a href="classost_1_1_mutex_counter.html">ost::MutexCounter</a></div><div class="ttdoc">The Mutex Counter is a counter variable which can safely be incremented or decremented by multiple th...</div><div class="ttdef"><b>Definition:</b> thread.h:499</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_address_html_a4437ba1e6bde3e8252df8a1a591ecfe5"><div class="ttname"><a href="classost_1_1_i_p_v4_address.html#a4437ba1e6bde3e8252df8a1a591ecfe5">ost::IPV4Address::ipaddr</a></div><div class="ttdeci">struct in_addr * ipaddr</div><div class="ttdef"><b>Definition:</b> address.h:361</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_host_html"><div class="ttname"><a href="classost_1_1_i_p_v4_host.html">ost::IPV4Host</a></div><div class="ttdoc">This object is used to hold the actual and valid internet address of a specific host machine that wil...</div><div class="ttdef"><b>Definition:</b> address.h:561</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_validator_html"><div class="ttname"><a href="classost_1_1_i_p_v6_validator.html">ost::IPV6Validator</a></div><div class="ttdoc">Classes derived from IPV6Address would require an specific validator to pass to the IPV6Address const...</div><div class="ttdef"><b>Definition:</b> address.h:691</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_multicast_html"><div class="ttname"><a href="classost_1_1_i_p_v4_multicast.html">ost::IPV4Multicast</a></div><div class="ttdoc">A specialization of IPV4Address that provides address validation for multicast addresses. </div><div class="ttdef"><b>Definition:</b> address.h:634</div></div>
<div class="ttc" id="address_8h_html_ad4c483e6c7e2ae177b22e72f690cda72"><div class="ttname"><a href="address_8h.html#ad4c483e6c7e2ae177b22e72f690cda72">InetAddrValidator</a></div><div class="ttdeci">#define InetAddrValidator</div><div class="ttdef"><b>Definition:</b> address.h:80</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_validator_html_a521d077f3f97da572ce32f354cfe61e6"><div class="ttname"><a href="classost_1_1_i_p_v4_validator.html#a521d077f3f97da572ce32f354cfe61e6">ost::IPV4Validator::~IPV4Validator</a></div><div class="ttdeci">virtual ~IPV4Validator()</div><div class="ttdoc">keeps compilers happy. </div><div class="ttdef"><b>Definition:</b> address.h:109</div></div>
<div class="ttc" id="namespaceost_html_a3c74a1a40c359fd349f3e3e1b96ebfc7"><div class="ttname"><a href="namespaceost.html#a3c74a1a40c359fd349f3e3e1b96ebfc7">ost::tpport_t</a></div><div class="ttdeci">unsigned short tpport_t</div><div class="ttdoc">Transport Protocol Ports. </div><div class="ttdef"><b>Definition:</b> address.h:86</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_host_html"><div class="ttname"><a href="classost_1_1_i_p_v6_host.html">ost::IPV6Host</a></div><div class="ttdoc">This object is used to hold the actual and valid internet address of a specific host machine that wil...</div><div class="ttdef"><b>Definition:</b> address.h:948</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_multicast_validator_html_a26c914ca299df67b4c95ddc135470cde"><div class="ttname"><a href="classost_1_1_i_p_v4_multicast_validator.html#a26c914ca299df67b4c95ddc135470cde">ost::IPV4MulticastValidator::~IPV4MulticastValidator</a></div><div class="ttdeci">virtual ~IPV4MulticastValidator()</div><div class="ttdoc">Keeps compilers happy. </div><div class="ttdef"><b>Definition:</b> address.h:138</div></div>
<div class="ttc" id="classost_1_1_i_p_v6_multicast_validator_html"><div class="ttname"><a href="classost_1_1_i_p_v6_multicast_validator.html">ost::IPV6MulticastValidator</a></div><div class="ttdoc">Class for the function object that validates multicast addresses. </div><div class="ttdef"><b>Definition:</b> address.h:719</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_multicast_validator_html"><div class="ttname"><a href="classost_1_1_i_p_v4_multicast_validator.html">ost::IPV4MulticastValidator</a></div><div class="ttdoc">Class for the function object that validates multicast addresses. </div><div class="ttdef"><b>Definition:</b> address.h:127</div></div>
<div class="ttc" id="classost_1_1_i_p_v4_mask_html"><div class="ttname"><a href="classost_1_1_i_p_v4_mask.html">ost::IPV4Mask</a></div><div class="ttdoc">Internet addresses used specifically as masking addresses (such as &amp;quot; 255.255.255.0&amp;quot;) are held in the ...</div><div class="ttdef"><b>Definition:</b> address.h:522</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 17 2013 23:24:56 for GNU CommonC++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>