Newer
Older
UbixOS / doc / html / ipv4_2ip__addr_8h.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>UbixOS V2: src/sys/include/net/ipv4/ip_addr.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="dirs.html"><span>Directories</span></a></li>
    <li>
      <form action="search.php" method="get">
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
          </tr>
        </table>
      </form>
    </li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>Globals</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="dir_897b6a2d7bab147dd1db58381aad3984.html">src</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_832905b1f7f5feaf61a306b40c0ac817.html">sys</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_caf4200c438ae9601464168e21e8e4d8.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_c1d11d251a83b2498f44d410b793c5eb.html">net</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_c3e84400a32e4fc888777536359ca22b.html">ipv4</a></div>
<h1>ip_addr.h File Reference</h1><code>#include &quot;<a class="el" href="arch_8h-source.html">net/arch.h</a>&quot;</code><br>

<p>
<a href="ipv4_2ip__addr_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__addr.html">ip_addr</a></td></tr>

<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#58aee4166c466f9ac7035bf5cc9f9974">IP4_ADDR</a>(ipaddr, a, b, c, d)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#32caf20405b8659c07758352746c4331">ip4_addr1</a>(ipaddr)&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>)(ntohl((ipaddr)-&gt;addr) &gt;&gt; 24) &amp; 0xff)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#ee091caef24dd1705876bb8dbe28035c">ip4_addr2</a>(ipaddr)&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>)(ntohl((ipaddr)-&gt;addr) &gt;&gt; 16) &amp; 0xff)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#ead691bee580ea8111b70e67cf971c40">ip4_addr3</a>(ipaddr)&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>)(ntohl((ipaddr)-&gt;addr) &gt;&gt; 8) &amp; 0xff)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#78cbf5c1fd832f909f755c4cc9036f02">ip4_addr4</a>(ipaddr)&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>)(ntohl((ipaddr)-&gt;addr)) &amp; 0xff)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#3e5e67b7292b156034560fef2202776c">IP_ADDR_ANY</a>&nbsp;&nbsp;&nbsp;0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#d546955e48dada78b552375b873f6986">IP_ADDR_BROADCAST</a>&nbsp;&nbsp;&nbsp;(&amp;<a class="el" href="ipv4_2ip__addr_8h.html#b35a6f60a0081bf09d1e03c48c3605a4">ip_addr_broadcast</a>)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#008c9c92d770cc030ea054e6b259835a">ip_addr_cmp</a>(addr1, addr2)&nbsp;&nbsp;&nbsp;((addr1)-&gt;addr == (addr2)-&gt;addr)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#a41e0b5b64b12921f01894962c6fc9d9">ip_addr_debug_print</a>(ipaddr)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#0d51c2bb5f2af51392540af1c5df511a">ip_addr_isany</a>(addr1)&nbsp;&nbsp;&nbsp;((addr1) == NULL || (addr1)-&gt;addr == 0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#ae42518ced1dbfbc55034642012055e9">ip_addr_isbroadcast</a>(addr1, mask)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#312e629c950c8e0add5b5e5897334beb">ip_addr_ismulticast</a>(addr1)&nbsp;&nbsp;&nbsp;(((addr1)-&gt;addr &amp; ntohl(0xf0000000)) == ntohl(0xe0000000))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#f656f30425e386d96d0e1a1b2dcb3952">ip_addr_maskcmp</a>(addr1, addr2, mask)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#40db7feae2b92f7a7a01d65a85b06e18">ip_addr_set</a>(dest, src)</td></tr>

<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">PACK_STRUCT_END struct <a class="el" href="structip__addr.html">ip_addr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#b35a6f60a0081bf09d1e03c48c3605a4">ip_addr_broadcast</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">PACK_STRUCT_BEGIN struct <a class="el" href="structip__addr.html">ip_addr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ipv4_2ip__addr_8h.html#d85f58889938c4e164ac22093c9d5ffb">PACK_STRUCT_STRUCT</a></td></tr>

</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="58aee4166c466f9ac7035bf5cc9f9974"></a><!-- doxytag: member="ip_addr.h::IP4_ADDR" ref="58aee4166c466f9ac7035bf5cc9f9974" args="(ipaddr, a, b, c, d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IP4_ADDR          </td>
          <td>(</td>
          <td class="paramtype">ipaddr,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">b,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">c,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">d&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">(ipaddr)-&gt;addr = <a class="code" href="ipv4_2inet_8h.html#f8185bfc3e242e1460a6d7de5320a875">htonl</a>(((<a class="code" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a>)(a &amp; 0xff) &lt;&lt; 24) | ((<a class="code" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a>)(b &amp; 0xff) &lt;&lt; 16) | \
                                                         ((<a class="code" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a>)(c &amp; 0xff) &lt;&lt; 8) | (<a class="code" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a>)(d &amp; 0xff))
</pre></div>
<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00052">52</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
<p>
Referenced by <a class="el" href="bot_8c-source.html#l00056">bot_thread()</a>, and <a class="el" href="init_8c-source.html#l00066">netMainThread()</a>.
</div>
</div><p>
<a class="anchor" name="32caf20405b8659c07758352746c4331"></a><!-- doxytag: member="ip_addr.h::ip4_addr1" ref="32caf20405b8659c07758352746c4331" args="(ipaddr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ip4_addr1          </td>
          <td>(</td>
          <td class="paramtype">ipaddr&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>)(ntohl((ipaddr)-&gt;addr) &gt;&gt; 24) &amp; 0xff)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00082">82</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
</div>
</div><p>
<a class="anchor" name="ee091caef24dd1705876bb8dbe28035c"></a><!-- doxytag: member="ip_addr.h::ip4_addr2" ref="ee091caef24dd1705876bb8dbe28035c" args="(ipaddr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ip4_addr2          </td>
          <td>(</td>
          <td class="paramtype">ipaddr&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>)(ntohl((ipaddr)-&gt;addr) &gt;&gt; 16) &amp; 0xff)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00083">83</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
<p>
Referenced by <a class="el" href="ethernetif_8c-source.html#l00186">ethernetif_output()</a>.
</div>
</div><p>
<a class="anchor" name="ead691bee580ea8111b70e67cf971c40"></a><!-- doxytag: member="ip_addr.h::ip4_addr3" ref="ead691bee580ea8111b70e67cf971c40" args="(ipaddr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ip4_addr3          </td>
          <td>(</td>
          <td class="paramtype">ipaddr&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>)(ntohl((ipaddr)-&gt;addr) &gt;&gt; 8) &amp; 0xff)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00084">84</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
<p>
Referenced by <a class="el" href="ethernetif_8c-source.html#l00186">ethernetif_output()</a>.
</div>
</div><p>
<a class="anchor" name="78cbf5c1fd832f909f755c4cc9036f02"></a><!-- doxytag: member="ip_addr.h::ip4_addr4" ref="78cbf5c1fd832f909f755c4cc9036f02" args="(ipaddr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ip4_addr4          </td>
          <td>(</td>
          <td class="paramtype">ipaddr&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>)(ntohl((ipaddr)-&gt;addr)) &amp; 0xff)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00085">85</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
<p>
Referenced by <a class="el" href="ethernetif_8c-source.html#l00186">ethernetif_output()</a>.
</div>
</div><p>
<a class="anchor" name="3e5e67b7292b156034560fef2202776c"></a><!-- doxytag: member="ip_addr.h::IP_ADDR_ANY" ref="3e5e67b7292b156034560fef2202776c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IP_ADDR_ANY&nbsp;&nbsp;&nbsp;0          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00040">40</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
<p>
Referenced by <a class="el" href="arp_8c-source.html#l00093">arp_init()</a>, and <a class="el" href="arp_8c-source.html#l00104">arp_tmr()</a>.
</div>
</div><p>
<a class="anchor" name="d546955e48dada78b552375b873f6986"></a><!-- doxytag: member="ip_addr.h::IP_ADDR_BROADCAST" ref="d546955e48dada78b552375b873f6986" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IP_ADDR_BROADCAST&nbsp;&nbsp;&nbsp;(&amp;<a class="el" href="ipv4_2ip__addr_8h.html#b35a6f60a0081bf09d1e03c48c3605a4">ip_addr_broadcast</a>)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00042">42</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
</div>
</div><p>
<a class="anchor" name="008c9c92d770cc030ea054e6b259835a"></a><!-- doxytag: member="ip_addr.h::ip_addr_cmp" ref="008c9c92d770cc030ea054e6b259835a" args="(addr1, addr2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ip_addr_cmp          </td>
          <td>(</td>
          <td class="paramtype">addr1,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">addr2&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((addr1)-&gt;addr == (addr2)-&gt;addr)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00062">62</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
<p>
Referenced by <a class="el" href="arp_8c-source.html#l00120">add_arp_entry()</a>, <a class="el" href="arp_8c-source.html#l00197">arp_arp_input()</a>, and <a class="el" href="arp_8c-source.html#l00253">arp_lookup()</a>.
</div>
</div><p>
<a class="anchor" name="a41e0b5b64b12921f01894962c6fc9d9"></a><!-- doxytag: member="ip_addr.h::ip_addr_debug_print" ref="a41e0b5b64b12921f01894962c6fc9d9" args="(ipaddr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ip_addr_debug_print          </td>
          <td>(</td>
          <td class="paramtype">ipaddr&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="kprint_8h.html#b2761bdf0cca73ad0fb5880895210cd8">kprintf</a>(<span class="stringliteral">"%d.%d.%d.%d"</span>, \
                    (<a class="code" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>)(<a class="code" href="ipv4_2inet_8h.html#6a20f63e739c4f61a0f7f74cf1963c3b">ntohl</a>((ipaddr)-&gt;addr) &gt;&gt; 24) &amp; 0xff, \
                    (<a class="code" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>)(<a class="code" href="ipv4_2inet_8h.html#6a20f63e739c4f61a0f7f74cf1963c3b">ntohl</a>((ipaddr)-&gt;addr) &gt;&gt; 16) &amp; 0xff, \
                    (<a class="code" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>)(<a class="code" href="ipv4_2inet_8h.html#6a20f63e739c4f61a0f7f74cf1963c3b">ntohl</a>((ipaddr)-&gt;addr) &gt;&gt; 8) &amp; 0xff, \
                    (<a class="code" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>)<a class="code" href="ipv4_2inet_8h.html#6a20f63e739c4f61a0f7f74cf1963c3b">ntohl</a>((ipaddr)-&gt;addr) &amp; 0xff)
</pre></div>
<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00075">75</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
</div>
</div><p>
<a class="anchor" name="0d51c2bb5f2af51392540af1c5df511a"></a><!-- doxytag: member="ip_addr.h::ip_addr_isany" ref="0d51c2bb5f2af51392540af1c5df511a" args="(addr1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ip_addr_isany          </td>
          <td>(</td>
          <td class="paramtype">addr1&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((addr1) == NULL || (addr1)-&gt;addr == 0)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00064">64</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
<p>
Referenced by <a class="el" href="arp_8c-source.html#l00120">add_arp_entry()</a>, <a class="el" href="arp_8c-source.html#l00104">arp_tmr()</a>, and <a class="el" href="ethernetif_8c-source.html#l00186">ethernetif_output()</a>.
</div>
</div><p>
<a class="anchor" name="ae42518ced1dbfbc55034642012055e9"></a><!-- doxytag: member="ip_addr.h::ip_addr_isbroadcast" ref="ae42518ced1dbfbc55034642012055e9" args="(addr1, mask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ip_addr_isbroadcast          </td>
          <td>(</td>
          <td class="paramtype">addr1,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mask&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">(((((addr1)-&gt;addr) &amp; ~((mask)-&gt;addr)) == \
                                         (0xffffffff &amp; ~((mask)-&gt;addr))) || \
                                         ((addr1)-&gt;addr == 0xffffffff) || \
                                         ((addr1)-&gt;addr == 0x00000000))
</pre></div>
<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00066">66</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
<p>
Referenced by <a class="el" href="ethernetif_8c-source.html#l00186">ethernetif_output()</a>.
</div>
</div><p>
<a class="anchor" name="312e629c950c8e0add5b5e5897334beb"></a><!-- doxytag: member="ip_addr.h::ip_addr_ismulticast" ref="312e629c950c8e0add5b5e5897334beb" args="(addr1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ip_addr_ismulticast          </td>
          <td>(</td>
          <td class="paramtype">addr1&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(((addr1)-&gt;addr &amp; ntohl(0xf0000000)) == ntohl(0xe0000000))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00072">72</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
<p>
Referenced by <a class="el" href="ethernetif_8c-source.html#l00186">ethernetif_output()</a>.
</div>
</div><p>
<a class="anchor" name="f656f30425e386d96d0e1a1b2dcb3952"></a><!-- doxytag: member="ip_addr.h::ip_addr_maskcmp" ref="f656f30425e386d96d0e1a1b2dcb3952" args="(addr1, addr2, mask)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ip_addr_maskcmp          </td>
          <td>(</td>
          <td class="paramtype">addr1,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">addr2,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mask&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">(((addr1)-&gt;addr &amp; \
                                              (mask)-&gt;addr) == \
                                             ((addr2)-&gt;addr &amp; \
                                              (mask)-&gt;addr))
</pre></div>
<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00058">58</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
<p>
Referenced by <a class="el" href="arp_8c-source.html#l00181">arp_ip_input()</a>, and <a class="el" href="ethernetif_8c-source.html#l00186">ethernetif_output()</a>.
</div>
</div><p>
<a class="anchor" name="40db7feae2b92f7a7a01d65a85b06e18"></a><!-- doxytag: member="ip_addr.h::ip_addr_set" ref="40db7feae2b92f7a7a01d65a85b06e18" args="(dest, src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ip_addr_set          </td>
          <td>(</td>
          <td class="paramtype">dest,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">src&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">(dest)-&gt;addr = \
                               ((src) == <a class="code" href="ipv4_2ip__addr_8h.html#3e5e67b7292b156034560fef2202776c">IP_ADDR_ANY</a>? <a class="code" href="ipv4_2ip__addr_8h.html#3e5e67b7292b156034560fef2202776c">IP_ADDR_ANY</a>:\
                                ((<span class="keyword">struct</span> <a class="code" href="structip__addr.html">ip_addr</a> *)src)-&gt;addr)
</pre></div>
<p>
Definition at line <a class="el" href="ipv4_2ip__addr_8h-source.html#l00055">55</a> of file <a class="el" href="ipv4_2ip__addr_8h-source.html">ip_addr.h</a>.
<p>
Referenced by <a class="el" href="arp_8c-source.html#l00120">add_arp_entry()</a>, <a class="el" href="arp_8c-source.html#l00197">arp_arp_input()</a>, <a class="el" href="arp_8c-source.html#l00093">arp_init()</a>, <a class="el" href="arp_8c-source.html#l00266">arp_query()</a>, and <a class="el" href="arp_8c-source.html#l00104">arp_tmr()</a>.
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="b35a6f60a0081bf09d1e03c48c3605a4"></a><!-- doxytag: member="ip_addr.h::ip_addr_broadcast" ref="b35a6f60a0081bf09d1e03c48c3605a4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PACK_STRUCT_END struct <a class="el" href="structip__addr.html">ip_addr</a> <a class="el" href="ipv4_2ip__addr_8h.html#b35a6f60a0081bf09d1e03c48c3605a4">ip_addr_broadcast</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="d85f58889938c4e164ac22093c9d5ffb"></a><!-- doxytag: member="ip_addr.h::PACK_STRUCT_STRUCT" ref="d85f58889938c4e164ac22093c9d5ffb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PACK_STRUCT_BEGIN struct <a class="el" href="structip__addr.html">ip_addr</a>  <a class="el" href="arp_8c.html#b335643ec08d519342c9d3834091d6e0">PACK_STRUCT_STRUCT</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue Dec 12 08:52:10 2006 for UbixOS V2 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>