Newer
Older
ubixos / doc / doxygen / html / ipv4_2ip_8h.html
@reddawg reddawg on 18 Jun 2004 35 KB UbixOS PreRelease
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Ubixos: ipv4/ip.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.3 -->
<h1>ip.h File Reference</h1><code>#include "<a class="el" href="arch_8h-source.html">net/arch.h</a>"</code><br>
<code>#include "<a class="el" href="def_8h-source.html">net/def.h</a>"</code><br>
<code>#include "<a class="el" href="pbuf_8h-source.html">net/pbuf.h</a>"</code><br>
<code>#include "<a class="el" href="ipv4_2ip__addr_8h-source.html">net/ipv4/ip_addr.h</a>"</code><br>
<code>#include "<a class="el" href="netif_8h-source.html">net/netif.h</a>"</code><br>
<code>#include "<a class="el" href="err_8h-source.html">net/err.h</a>"</code><br>

<p>
<a href="ipv4_2ip_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__hdr.html">ip_hdr</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_8h.html#a0">IP_HLEN</a>&nbsp;&nbsp;&nbsp;20</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_8h.html#a1">IP_PROTO_ICMP</a>&nbsp;&nbsp;&nbsp;1</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_8h.html#a2">IP_PROTO_UDP</a>&nbsp;&nbsp;&nbsp;17</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_8h.html#a3">IP_PROTO_UDPLITE</a>&nbsp;&nbsp;&nbsp;170</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_8h.html#a4">IP_PROTO_TCP</a>&nbsp;&nbsp;&nbsp;6</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_8h.html#a5">IP_HDRINCL</a>&nbsp;&nbsp;&nbsp;NULL</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_8h.html#a6">IP_RF</a>&nbsp;&nbsp;&nbsp;0x8000</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_8h.html#a7">IP_DF</a>&nbsp;&nbsp;&nbsp;0x4000</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_8h.html#a8">IP_MF</a>&nbsp;&nbsp;&nbsp;0x2000</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_8h.html#a9">IP_OFFMASK</a>&nbsp;&nbsp;&nbsp;0x1fff</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_8h.html#a10">IPH_V</a>(hdr)&nbsp;&nbsp;&nbsp;(NTOHS((hdr)-&gt;_v_hl_tos) &gt;&gt; 12)</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_8h.html#a11">IPH_HL</a>(hdr)&nbsp;&nbsp;&nbsp;((NTOHS((hdr)-&gt;_v_hl_tos) &gt;&gt; 8) &amp; 0x0f)</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_8h.html#a12">IPH_TOS</a>(hdr)&nbsp;&nbsp;&nbsp;HTONS((NTOHS((hdr)-&gt;_v_hl_tos) &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_8h.html#a13">IPH_LEN</a>(hdr)&nbsp;&nbsp;&nbsp;((hdr)-&gt;_len)</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_8h.html#a14">IPH_ID</a>(hdr)&nbsp;&nbsp;&nbsp;((hdr)-&gt;_id)</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_8h.html#a15">IPH_OFFSET</a>(hdr)&nbsp;&nbsp;&nbsp;((hdr)-&gt;_offset)</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_8h.html#a16">IPH_TTL</a>(hdr)&nbsp;&nbsp;&nbsp;(NTOHS((hdr)-&gt;_ttl_proto) &gt;&gt; 8)</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_8h.html#a17">IPH_PROTO</a>(hdr)&nbsp;&nbsp;&nbsp;(NTOHS((hdr)-&gt;_ttl_proto) &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_8h.html#a18">IPH_CHKSUM</a>(hdr)&nbsp;&nbsp;&nbsp;((hdr)-&gt;_chksum)</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_8h.html#a19">IPH_VHLTOS_SET</a>(hdr, v, hl, tos)&nbsp;&nbsp;&nbsp;(hdr)-&gt;_v_hl_tos = HTONS(((v) &lt;&lt; 12) | ((hl) &lt;&lt; 8) | (tos))</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_8h.html#a20">IPH_LEN_SET</a>(hdr, len)&nbsp;&nbsp;&nbsp;(hdr)-&gt;_len = (len)</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_8h.html#a21">IPH_ID_SET</a>(hdr, id)&nbsp;&nbsp;&nbsp;(hdr)-&gt;_id = (id)</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_8h.html#a22">IPH_OFFSET_SET</a>(hdr, off)&nbsp;&nbsp;&nbsp;(hdr)-&gt;_offset = (off)</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_8h.html#a23">IPH_TTL_SET</a>(hdr, ttl)&nbsp;&nbsp;&nbsp;(hdr)-&gt;_ttl_proto = HTONS(IPH_PROTO(hdr) | ((ttl) &lt;&lt; 8))</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_8h.html#a24">IPH_PROTO_SET</a>(hdr, proto)&nbsp;&nbsp;&nbsp;(hdr)-&gt;_ttl_proto = HTONS((proto) | (IPH_TTL(hdr) &lt;&lt; 8))</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_8h.html#a25">IPH_CHKSUM_SET</a>(hdr, chksum)&nbsp;&nbsp;&nbsp;(hdr)-&gt;_chksum = (chksum)</td></tr>

<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="ipv4_2ip_8h.html#a27">ip_init</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="types_8h.html#a1">uInt8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="ipv4_2ip_8h.html#a28">ip_lookup</a> (void *header, struct <a class="el" href="structnetif.html">netif</a> *inp)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structnetif.html">netif</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="ipv4_2ip_8h.html#a29">ip_route</a> (struct <a class="el" href="structip__addr.html">ip_addr</a> *dest)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="err_8h.html#a12">err_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="ipv4_2ip_8h.html#a30">ip_input</a> (struct <a class="el" href="structpbuf.html">pbuf</a> *p, struct <a class="el" href="structnetif.html">netif</a> *inp)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="err_8h.html#a12">err_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="ipv4_2ip_8h.html#a31">ip_output</a> (struct <a class="el" href="structpbuf.html">pbuf</a> *p, struct <a class="el" href="structip__addr.html">ip_addr</a> *src, struct <a class="el" href="structip__addr.html">ip_addr</a> *dest, <a class="el" href="types_8h.html#a1">uInt8</a> ttl, <a class="el" href="types_8h.html#a1">uInt8</a> proto)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="err_8h.html#a12">err_t</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="ipv4_2ip_8h.html#a32">ip_output_if</a> (struct <a class="el" href="structpbuf.html">pbuf</a> *p, struct <a class="el" href="structip__addr.html">ip_addr</a> *src, struct <a class="el" href="structip__addr.html">ip_addr</a> *dest, <a class="el" href="types_8h.html#a1">uInt8</a> ttl, <a class="el" href="types_8h.html#a1">uInt8</a> proto, struct <a class="el" href="structnetif.html">netif</a> *<a class="el" href="structnetif.html">netif</a>)</td></tr>

<tr><td colspan=2><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structip__hdr.html">ip_hdr</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="ipv4_2ip_8h.html#a26">PACK_STRUCT_STRUCT</a></td></tr>

</table>
<hr><h2>Define Documentation</h2>
<a name="a7" doxytag="ipv4/ip.h::IP_DF"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IP_DF&nbsp;&nbsp;&nbsp;0x4000
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a5" doxytag="ipv4/ip.h::IP_HDRINCL"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IP_HDRINCL&nbsp;&nbsp;&nbsp;NULL
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a0" doxytag="ipv4/ip.h::IP_HLEN"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IP_HLEN&nbsp;&nbsp;&nbsp;20
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a8" doxytag="ipv4/ip.h::IP_MF"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IP_MF&nbsp;&nbsp;&nbsp;0x2000
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a9" doxytag="ipv4/ip.h::IP_OFFMASK"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IP_OFFMASK&nbsp;&nbsp;&nbsp;0x1fff
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a1" doxytag="ipv4/ip.h::IP_PROTO_ICMP"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IP_PROTO_ICMP&nbsp;&nbsp;&nbsp;1
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a4" doxytag="ipv4/ip.h::IP_PROTO_TCP"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IP_PROTO_TCP&nbsp;&nbsp;&nbsp;6
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a2" doxytag="ipv4/ip.h::IP_PROTO_UDP"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IP_PROTO_UDP&nbsp;&nbsp;&nbsp;17
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a3" doxytag="ipv4/ip.h::IP_PROTO_UDPLITE"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IP_PROTO_UDPLITE&nbsp;&nbsp;&nbsp;170
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a6" doxytag="ipv4/ip.h::IP_RF"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IP_RF&nbsp;&nbsp;&nbsp;0x8000
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a18" doxytag="ipv4/ip.h::IPH_CHKSUM"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_CHKSUM</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((hdr)-&gt;_chksum)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a25" doxytag="ipv4/ip.h::IPH_CHKSUM_SET"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_CHKSUM_SET</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr,         <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>chksum&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(hdr)-&gt;_chksum = (chksum)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a11" doxytag="ipv4/ip.h::IPH_HL"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_HL</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((NTOHS((hdr)-&gt;_v_hl_tos) &gt;&gt; 8) &amp; 0x0f)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a14" doxytag="ipv4/ip.h::IPH_ID"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_ID</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((hdr)-&gt;_id)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a21" doxytag="ipv4/ip.h::IPH_ID_SET"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_ID_SET</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr,         <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>id&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(hdr)-&gt;_id = (id)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a13" doxytag="ipv4/ip.h::IPH_LEN"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_LEN</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((hdr)-&gt;_len)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a20" doxytag="ipv4/ip.h::IPH_LEN_SET"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_LEN_SET</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr,         <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>len&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(hdr)-&gt;_len = (len)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a15" doxytag="ipv4/ip.h::IPH_OFFSET"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_OFFSET</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;((hdr)-&gt;_offset)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a22" doxytag="ipv4/ip.h::IPH_OFFSET_SET"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_OFFSET_SET</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr,         <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>off&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(hdr)-&gt;_offset = (off)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a17" doxytag="ipv4/ip.h::IPH_PROTO"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_PROTO</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(NTOHS((hdr)-&gt;_ttl_proto) &amp; 0xff)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a24" doxytag="ipv4/ip.h::IPH_PROTO_SET"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_PROTO_SET</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr,         <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>proto&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(hdr)-&gt;_ttl_proto = HTONS((proto) | (IPH_TTL(hdr) &lt;&lt; 8))
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a12" doxytag="ipv4/ip.h::IPH_TOS"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_TOS</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;HTONS((NTOHS((hdr)-&gt;_v_hl_tos) &amp; 0xff))
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a16" doxytag="ipv4/ip.h::IPH_TTL"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_TTL</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(NTOHS((hdr)-&gt;_ttl_proto) &gt;&gt; 8)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a23" doxytag="ipv4/ip.h::IPH_TTL_SET"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_TTL_SET</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr,         <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>ttl&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(hdr)-&gt;_ttl_proto = HTONS(IPH_PROTO(hdr) | ((ttl) &lt;&lt; 8))
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a10" doxytag="ipv4/ip.h::IPH_V"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_V</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(NTOHS((hdr)-&gt;_v_hl_tos) &gt;&gt; 12)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a19" doxytag="ipv4/ip.h::IPH_VHLTOS_SET"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define IPH_VHLTOS_SET</td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">hdr,         <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>v,         <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>hl,         <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>tos&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(hdr)-&gt;_v_hl_tos = HTONS(((v) &lt;&lt; 12) | ((hl) &lt;&lt; 8) | (tos))
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a27" doxytag="ipv4/ip.h::ip_init"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void ip_init </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a30" doxytag="ipv4/ip.h::ip_input"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="err_8h.html#a12">err_t</a> ip_input </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">struct <a class="el" href="structpbuf.html">pbuf</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>p</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct <a class="el" href="structnetif.html">netif</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>inp</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a28" doxytag="ipv4/ip.h::ip_lookup"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a1">uInt8</a> ip_lookup </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname" nowrap> <em>header</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct <a class="el" href="structnetif.html">netif</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>inp</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a31" doxytag="ipv4/ip.h::ip_output"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="err_8h.html#a12">err_t</a> ip_output </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">struct <a class="el" href="structpbuf.html">pbuf</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>p</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct <a class="el" href="structip__addr.html">ip_addr</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>src</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct <a class="el" href="structip__addr.html">ip_addr</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>dest</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a1">uInt8</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>ttl</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a1">uInt8</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>proto</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a32" doxytag="ipv4/ip.h::ip_output_if"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="err_8h.html#a12">err_t</a> ip_output_if </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">struct <a class="el" href="structpbuf.html">pbuf</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>p</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct <a class="el" href="structip__addr.html">ip_addr</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>src</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct <a class="el" href="structip__addr.html">ip_addr</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>dest</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a1">uInt8</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>ttl</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="types_8h.html#a1">uInt8</a>&nbsp;</td>
          <td class="mdname" nowrap> <em>proto</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>struct <a class="el" href="structnetif.html">netif</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>netif</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a29" doxytag="ipv4/ip.h::ip_route"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> struct <a class="el" href="structnetif.html">netif</a>* ip_route </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">struct <a class="el" href="structip__addr.html">ip_addr</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>dest</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Variable Documentation</h2>
<a name="a26" doxytag="ipv4/ip.h::PACK_STRUCT_STRUCT"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> struct <a class="el" href="structip__hdr.html">ip_hdr</a>  <a class="el" href="arp_8h.html#a3">PACK_STRUCT_STRUCT</a>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Sat May 8 09:28:20 2004 for Ubixos by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
</a>1.3.3 </small></address>
</body>
</html>