Newer
Older
UbixOS / doc / html / prot_2ip4_8h.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>UbixOS V2: C:/Dev/git/UbixOS/sys/include/net/prot/ip4.h File Reference</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">UbixOS V2
   &#160;<span id="projectnumber">2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('prot_2ip4_8h.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">ip4.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="arch_8h_source.html">net/arch.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="ip4__addr_8h_source.html">net/ip4_addr.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for ip4.h:</div>
<div class="dyncontent">
<div class="center"><img src="prot_2ip4_8h__incl.png" border="0" usemap="#C_1_2Dev_2git_2UbixOS_2sys_2include_2net_2prot_2ip4_8h" alt=""/></div>
</div>
</div>
<p><a href="prot_2ip4_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip4__addr__packed.html">ip4_addr_packed</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structip__hdr.html">ip_hdr</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ae2473f4a88d141d5298f92a4335b714a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#ae2473f4a88d141d5298f92a4335b714a">IP_DF</a>&#160;&#160;&#160;0x4000U        /* don't fragment flag */</td></tr>
<tr class="separator:ae2473f4a88d141d5298f92a4335b714a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad76777d4d34f33ab5f715f9ca15503c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#ad76777d4d34f33ab5f715f9ca15503c3">IP_HLEN</a>&#160;&#160;&#160;20</td></tr>
<tr class="separator:ad76777d4d34f33ab5f715f9ca15503c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8afe1e04bb9bad791443556c3b2cd73"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#ae8afe1e04bb9bad791443556c3b2cd73">IP_MF</a>&#160;&#160;&#160;0x2000U        /* more fragments flag */</td></tr>
<tr class="separator:ae8afe1e04bb9bad791443556c3b2cd73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad059798b16d1f615b5af8770175121ba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#ad059798b16d1f615b5af8770175121ba">IP_OFFMASK</a>&#160;&#160;&#160;0x1fffU   /* mask for fragmenting bits */</td></tr>
<tr class="separator:ad059798b16d1f615b5af8770175121ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a895709708f8f909cf7b7459491d549e7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a895709708f8f909cf7b7459491d549e7">IP_RF</a>&#160;&#160;&#160;0x8000U        /* reserved fragment flag */</td></tr>
<tr class="separator:a895709708f8f909cf7b7459491d549e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a773b96f54c75b35bcd24e7f857fcf988"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a773b96f54c75b35bcd24e7f857fcf988">IPH_CHKSUM</a>(hdr)&#160;&#160;&#160;((hdr)-&gt;_chksum)</td></tr>
<tr class="separator:a773b96f54c75b35bcd24e7f857fcf988"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec30403fb98b013bd094688de55cdaef"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#aec30403fb98b013bd094688de55cdaef">IPH_CHKSUM_SET</a>(hdr,  chksum)&#160;&#160;&#160;(hdr)-&gt;_chksum = (chksum)</td></tr>
<tr class="separator:aec30403fb98b013bd094688de55cdaef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c60caeb708571a07a44309c10ec3a01"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a7c60caeb708571a07a44309c10ec3a01">IPH_HL</a>(hdr)&#160;&#160;&#160;((hdr)-&gt;_v_hl &amp; 0x0f)</td></tr>
<tr class="separator:a7c60caeb708571a07a44309c10ec3a01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae79eaecc0bf9e4dbb9e47ea56ad2157a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#ae79eaecc0bf9e4dbb9e47ea56ad2157a">IPH_ID</a>(hdr)&#160;&#160;&#160;((hdr)-&gt;_id)</td></tr>
<tr class="separator:ae79eaecc0bf9e4dbb9e47ea56ad2157a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b2c57b6a9dc9cc32fc2f145a96bbf8f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a3b2c57b6a9dc9cc32fc2f145a96bbf8f">IPH_ID_SET</a>(hdr,  <a class="el" href="kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>)&#160;&#160;&#160;(hdr)-&gt;_id = (<a class="el" href="kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>)</td></tr>
<tr class="separator:a3b2c57b6a9dc9cc32fc2f145a96bbf8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0328fe4711b8c1ef4dd6709e4fd6d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#aec0328fe4711b8c1ef4dd6709e4fd6d5">IPH_LEN</a>(hdr)&#160;&#160;&#160;((hdr)-&gt;_len)</td></tr>
<tr class="separator:aec0328fe4711b8c1ef4dd6709e4fd6d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a069cb9b3765c4bdd63d13efb2df0206e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a069cb9b3765c4bdd63d13efb2df0206e">IPH_LEN_SET</a>(hdr,  len)&#160;&#160;&#160;(hdr)-&gt;_len = (len)</td></tr>
<tr class="separator:a069cb9b3765c4bdd63d13efb2df0206e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a559dce3878f1d6a46bcb4cb312962397"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a559dce3878f1d6a46bcb4cb312962397">IPH_OFFSET</a>(hdr)&#160;&#160;&#160;((hdr)-&gt;_offset)</td></tr>
<tr class="separator:a559dce3878f1d6a46bcb4cb312962397"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c2189e1400dca1c0f785de96ceda2b6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a4c2189e1400dca1c0f785de96ceda2b6">IPH_OFFSET_SET</a>(hdr,  off)&#160;&#160;&#160;(hdr)-&gt;_offset = (off)</td></tr>
<tr class="separator:a4c2189e1400dca1c0f785de96ceda2b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2de6f9d35337b4be67d799805665e11"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#aa2de6f9d35337b4be67d799805665e11">IPH_PROTO</a>(hdr)&#160;&#160;&#160;((hdr)-&gt;_proto)</td></tr>
<tr class="separator:aa2de6f9d35337b4be67d799805665e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49753f7668f741b1877340bff6fb97c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a49753f7668f741b1877340bff6fb97c3">IPH_PROTO_SET</a>(hdr,  proto)&#160;&#160;&#160;(hdr)-&gt;_proto = (<a class="el" href="group__compiler__abstraction.html#ga4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>)(proto)</td></tr>
<tr class="separator:a49753f7668f741b1877340bff6fb97c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13fb5476ab97db9c5de6c1f5ca0d82e6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a13fb5476ab97db9c5de6c1f5ca0d82e6">IPH_TOS</a>(hdr)&#160;&#160;&#160;((hdr)-&gt;_tos)</td></tr>
<tr class="separator:a13fb5476ab97db9c5de6c1f5ca0d82e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4e4d0cbbb1de541eea2b53b91e8b172"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#af4e4d0cbbb1de541eea2b53b91e8b172">IPH_TOS_SET</a>(hdr,  tos)&#160;&#160;&#160;(hdr)-&gt;_tos = (tos)</td></tr>
<tr class="separator:af4e4d0cbbb1de541eea2b53b91e8b172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d8238411ce35a007170f652e62209b3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a0d8238411ce35a007170f652e62209b3">IPH_TTL</a>(hdr)&#160;&#160;&#160;((hdr)-&gt;_ttl)</td></tr>
<tr class="separator:a0d8238411ce35a007170f652e62209b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0e49f03bd4c3144e3548a0db72d1deb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#aa0e49f03bd4c3144e3548a0db72d1deb">IPH_TTL_SET</a>(hdr,  ttl)&#160;&#160;&#160;(hdr)-&gt;_ttl = (<a class="el" href="group__compiler__abstraction.html#ga4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>)(ttl)</td></tr>
<tr class="separator:aa0e49f03bd4c3144e3548a0db72d1deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05a9e8ecf4eff38244b4c13c7e70094c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a05a9e8ecf4eff38244b4c13c7e70094c">IPH_V</a>(hdr)&#160;&#160;&#160;((hdr)-&gt;_v_hl &gt;&gt; 4)</td></tr>
<tr class="separator:a05a9e8ecf4eff38244b4c13c7e70094c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a037908f4291c62a7336362506cea01af"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a037908f4291c62a7336362506cea01af">IPH_VHL_SET</a>(hdr,  v,  hl)&#160;&#160;&#160;(hdr)-&gt;_v_hl = (<a class="el" href="group__compiler__abstraction.html#ga4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>)((((v) &lt;&lt; 4) | (hl)))</td></tr>
<tr class="separator:a037908f4291c62a7336362506cea01af"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ae5011654fcbadf6b6582b8d49446107f"><td class="memItemLeft" align="right" valign="top">typedef typedefPACK_STRUCT_END struct <a class="el" href="structip4__addr__packed.html">ip4_addr_packed</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#ae5011654fcbadf6b6582b8d49446107f">ip4_addr_p_t</a></td></tr>
<tr class="separator:ae5011654fcbadf6b6582b8d49446107f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a7082e3ecbecbf496df63fda29a1e0f06"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__compiler__abstraction.html#ga73199061891adf1b912d20835c7d5e96">PACK_STRUCT_BEGIN</a> struct <a class="el" href="structip4__addr__packed.html">ip4_addr_packed</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a7082e3ecbecbf496df63fda29a1e0f06">PACK_STRUCT_STRUCT</a></td></tr>
<tr class="separator:a7082e3ecbecbf496df63fda29a1e0f06"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>IPv4 protocol definitions </p>

<p class="definition">Definition in file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ae2473f4a88d141d5298f92a4335b714a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2473f4a88d141d5298f92a4335b714a">&#9670;&nbsp;</a></span>IP_DF</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IP_DF&#160;&#160;&#160;0x4000U        /* don't fragment flag */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00083">83</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="ad76777d4d34f33ab5f715f9ca15503c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad76777d4d34f33ab5f715f9ca15503c3">&#9670;&nbsp;</a></span>IP_HLEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IP_HLEN&#160;&#160;&#160;20</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00064">64</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="ae8afe1e04bb9bad791443556c3b2cd73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8afe1e04bb9bad791443556c3b2cd73">&#9670;&nbsp;</a></span>IP_MF</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IP_MF&#160;&#160;&#160;0x2000U        /* more fragments flag */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00084">84</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="ad059798b16d1f615b5af8770175121ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad059798b16d1f615b5af8770175121ba">&#9670;&nbsp;</a></span>IP_OFFMASK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IP_OFFMASK&#160;&#160;&#160;0x1fffU   /* mask for fragmenting bits */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00085">85</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="a895709708f8f909cf7b7459491d549e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a895709708f8f909cf7b7459491d549e7">&#9670;&nbsp;</a></span>IP_RF</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IP_RF&#160;&#160;&#160;0x8000U        /* reserved fragment flag */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00082">82</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="a773b96f54c75b35bcd24e7f857fcf988"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a773b96f54c75b35bcd24e7f857fcf988">&#9670;&nbsp;</a></span>IPH_CHKSUM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_CHKSUM</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr</td><td>)</td>
          <td>&#160;&#160;&#160;((hdr)-&gt;_chksum)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00110">110</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="aec30403fb98b013bd094688de55cdaef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec30403fb98b013bd094688de55cdaef">&#9670;&nbsp;</a></span>IPH_CHKSUM_SET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_CHKSUM_SET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">chksum&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(hdr)-&gt;_chksum = (chksum)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00120">120</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="a7c60caeb708571a07a44309c10ec3a01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c60caeb708571a07a44309c10ec3a01">&#9670;&nbsp;</a></span>IPH_HL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_HL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr</td><td>)</td>
          <td>&#160;&#160;&#160;((hdr)-&gt;_v_hl &amp; 0x0f)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00103">103</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="ae79eaecc0bf9e4dbb9e47ea56ad2157a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae79eaecc0bf9e4dbb9e47ea56ad2157a">&#9670;&nbsp;</a></span>IPH_ID</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_ID</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr</td><td>)</td>
          <td>&#160;&#160;&#160;((hdr)-&gt;_id)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00106">106</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="a3b2c57b6a9dc9cc32fc2f145a96bbf8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b2c57b6a9dc9cc32fc2f145a96bbf8f">&#9670;&nbsp;</a></span>IPH_ID_SET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_ID_SET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(hdr)-&gt;_id = (<a class="el" href="kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00116">116</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="aec0328fe4711b8c1ef4dd6709e4fd6d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec0328fe4711b8c1ef4dd6709e4fd6d5">&#9670;&nbsp;</a></span>IPH_LEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_LEN</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr</td><td>)</td>
          <td>&#160;&#160;&#160;((hdr)-&gt;_len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00105">105</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="a069cb9b3765c4bdd63d13efb2df0206e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a069cb9b3765c4bdd63d13efb2df0206e">&#9670;&nbsp;</a></span>IPH_LEN_SET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_LEN_SET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">len&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(hdr)-&gt;_len = (len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00115">115</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="a559dce3878f1d6a46bcb4cb312962397"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a559dce3878f1d6a46bcb4cb312962397">&#9670;&nbsp;</a></span>IPH_OFFSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_OFFSET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr</td><td>)</td>
          <td>&#160;&#160;&#160;((hdr)-&gt;_offset)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00107">107</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="a4c2189e1400dca1c0f785de96ceda2b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c2189e1400dca1c0f785de96ceda2b6">&#9670;&nbsp;</a></span>IPH_OFFSET_SET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_OFFSET_SET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">off&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(hdr)-&gt;_offset = (off)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00117">117</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="aa2de6f9d35337b4be67d799805665e11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2de6f9d35337b4be67d799805665e11">&#9670;&nbsp;</a></span>IPH_PROTO</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_PROTO</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr</td><td>)</td>
          <td>&#160;&#160;&#160;((hdr)-&gt;_proto)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00109">109</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="a49753f7668f741b1877340bff6fb97c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49753f7668f741b1877340bff6fb97c3">&#9670;&nbsp;</a></span>IPH_PROTO_SET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_PROTO_SET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">proto&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(hdr)-&gt;_proto = (<a class="el" href="group__compiler__abstraction.html#ga4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>)(proto)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00119">119</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="a13fb5476ab97db9c5de6c1f5ca0d82e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13fb5476ab97db9c5de6c1f5ca0d82e6">&#9670;&nbsp;</a></span>IPH_TOS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_TOS</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr</td><td>)</td>
          <td>&#160;&#160;&#160;((hdr)-&gt;_tos)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00104">104</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="af4e4d0cbbb1de541eea2b53b91e8b172"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4e4d0cbbb1de541eea2b53b91e8b172">&#9670;&nbsp;</a></span>IPH_TOS_SET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_TOS_SET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">tos&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(hdr)-&gt;_tos = (tos)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00114">114</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="a0d8238411ce35a007170f652e62209b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d8238411ce35a007170f652e62209b3">&#9670;&nbsp;</a></span>IPH_TTL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_TTL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr</td><td>)</td>
          <td>&#160;&#160;&#160;((hdr)-&gt;_ttl)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00108">108</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="aa0e49f03bd4c3144e3548a0db72d1deb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0e49f03bd4c3144e3548a0db72d1deb">&#9670;&nbsp;</a></span>IPH_TTL_SET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_TTL_SET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ttl&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(hdr)-&gt;_ttl = (<a class="el" href="group__compiler__abstraction.html#ga4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>)(ttl)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00118">118</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="a05a9e8ecf4eff38244b4c13c7e70094c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05a9e8ecf4eff38244b4c13c7e70094c">&#9670;&nbsp;</a></span>IPH_V</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_V</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr</td><td>)</td>
          <td>&#160;&#160;&#160;((hdr)-&gt;_v_hl &gt;&gt; 4)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00102">102</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<a id="a037908f4291c62a7336362506cea01af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a037908f4291c62a7336362506cea01af">&#9670;&nbsp;</a></span>IPH_VHL_SET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define IPH_VHL_SET</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hdr, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">v, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">hl&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(hdr)-&gt;_v_hl = (<a class="el" href="group__compiler__abstraction.html#ga4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>)((((v) &lt;&lt; 4) | (hl)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00113">113</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ae5011654fcbadf6b6582b8d49446107f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5011654fcbadf6b6582b8d49446107f">&#9670;&nbsp;</a></span>ip4_addr_p_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef typedefPACK_STRUCT_END struct <a class="el" href="structip4__addr__packed.html">ip4_addr_packed</a> <a class="el" href="prot_2ip4_8h.html#ae5011654fcbadf6b6582b8d49446107f">ip4_addr_p_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="prot_2ip4_8h_source.html#l00061">61</a> of file <a class="el" href="prot_2ip4_8h_source.html">ip4.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a7082e3ecbecbf496df63fda29a1e0f06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7082e3ecbecbf496df63fda29a1e0f06">&#9670;&nbsp;</a></span>PACK_STRUCT_STRUCT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__compiler__abstraction.html#ga73199061891adf1b912d20835c7d5e96">PACK_STRUCT_BEGIN</a> struct <a class="el" href="structip__hdr.html">ip_hdr</a>  PACK_STRUCT_STRUCT</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_e6bb53534ac0e427887cf7a94c0c004e.html">C:</a></li><li class="navelem"><a class="el" href="dir_d99d5d4662bf24521eef49da6a8cd34d.html">Dev</a></li><li class="navelem"><a class="el" href="dir_474a4b306371cf7e7f6fa12cb0b77df6.html">git</a></li><li class="navelem"><a class="el" href="dir_849109bbd106d461b128d63e5babcedf.html">UbixOS</a></li><li class="navelem"><a class="el" href="dir_6ec99f6d7d5182ba8913209ab70c9f18.html">sys</a></li><li class="navelem"><a class="el" href="dir_d1be8160e739b6eed1f7843efdbae1b3.html">include</a></li><li class="navelem"><a class="el" href="dir_8a452844cab5a537277ef786999bc939.html">net</a></li><li class="navelem"><a class="el" href="dir_8e7aca17b1c41a49c5b9b5f4a96a3b39.html">prot</a></li><li class="navelem"><a class="el" href="prot_2ip4_8h.html">ip4.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.16 </li>
  </ul>
</div>
</body>
</html>