<!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&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  <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&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&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&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> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <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 "<a class="el" href="arch_8h_source.html">net/arch.h</a>"</code><br /> <code>#include "<a class="el" href="ip4__addr_8h_source.html">net/ip4_addr.h</a>"</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  </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"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#ae2473f4a88d141d5298f92a4335b714a">IP_DF</a>   0x4000U /* don't fragment flag */</td></tr> <tr class="separator:ae2473f4a88d141d5298f92a4335b714a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad76777d4d34f33ab5f715f9ca15503c3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#ad76777d4d34f33ab5f715f9ca15503c3">IP_HLEN</a>   20</td></tr> <tr class="separator:ad76777d4d34f33ab5f715f9ca15503c3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae8afe1e04bb9bad791443556c3b2cd73"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#ae8afe1e04bb9bad791443556c3b2cd73">IP_MF</a>   0x2000U /* more fragments flag */</td></tr> <tr class="separator:ae8afe1e04bb9bad791443556c3b2cd73"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad059798b16d1f615b5af8770175121ba"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#ad059798b16d1f615b5af8770175121ba">IP_OFFMASK</a>   0x1fffU /* mask for fragmenting bits */</td></tr> <tr class="separator:ad059798b16d1f615b5af8770175121ba"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a895709708f8f909cf7b7459491d549e7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a895709708f8f909cf7b7459491d549e7">IP_RF</a>   0x8000U /* reserved fragment flag */</td></tr> <tr class="separator:a895709708f8f909cf7b7459491d549e7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a773b96f54c75b35bcd24e7f857fcf988"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a773b96f54c75b35bcd24e7f857fcf988">IPH_CHKSUM</a>(hdr)   ((hdr)->_chksum)</td></tr> <tr class="separator:a773b96f54c75b35bcd24e7f857fcf988"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aec30403fb98b013bd094688de55cdaef"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#aec30403fb98b013bd094688de55cdaef">IPH_CHKSUM_SET</a>(hdr, chksum)   (hdr)->_chksum = (chksum)</td></tr> <tr class="separator:aec30403fb98b013bd094688de55cdaef"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7c60caeb708571a07a44309c10ec3a01"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a7c60caeb708571a07a44309c10ec3a01">IPH_HL</a>(hdr)   ((hdr)->_v_hl & 0x0f)</td></tr> <tr class="separator:a7c60caeb708571a07a44309c10ec3a01"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae79eaecc0bf9e4dbb9e47ea56ad2157a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#ae79eaecc0bf9e4dbb9e47ea56ad2157a">IPH_ID</a>(hdr)   ((hdr)->_id)</td></tr> <tr class="separator:ae79eaecc0bf9e4dbb9e47ea56ad2157a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3b2c57b6a9dc9cc32fc2f145a96bbf8f"><td class="memItemLeft" align="right" valign="top">#define </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>)   (hdr)->_id = (<a class="el" href="kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a>)</td></tr> <tr class="separator:a3b2c57b6a9dc9cc32fc2f145a96bbf8f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aec0328fe4711b8c1ef4dd6709e4fd6d5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#aec0328fe4711b8c1ef4dd6709e4fd6d5">IPH_LEN</a>(hdr)   ((hdr)->_len)</td></tr> <tr class="separator:aec0328fe4711b8c1ef4dd6709e4fd6d5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a069cb9b3765c4bdd63d13efb2df0206e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a069cb9b3765c4bdd63d13efb2df0206e">IPH_LEN_SET</a>(hdr, len)   (hdr)->_len = (len)</td></tr> <tr class="separator:a069cb9b3765c4bdd63d13efb2df0206e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a559dce3878f1d6a46bcb4cb312962397"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a559dce3878f1d6a46bcb4cb312962397">IPH_OFFSET</a>(hdr)   ((hdr)->_offset)</td></tr> <tr class="separator:a559dce3878f1d6a46bcb4cb312962397"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4c2189e1400dca1c0f785de96ceda2b6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a4c2189e1400dca1c0f785de96ceda2b6">IPH_OFFSET_SET</a>(hdr, off)   (hdr)->_offset = (off)</td></tr> <tr class="separator:a4c2189e1400dca1c0f785de96ceda2b6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa2de6f9d35337b4be67d799805665e11"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#aa2de6f9d35337b4be67d799805665e11">IPH_PROTO</a>(hdr)   ((hdr)->_proto)</td></tr> <tr class="separator:aa2de6f9d35337b4be67d799805665e11"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a49753f7668f741b1877340bff6fb97c3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a49753f7668f741b1877340bff6fb97c3">IPH_PROTO_SET</a>(hdr, proto)   (hdr)->_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"> </td></tr> <tr class="memitem:a13fb5476ab97db9c5de6c1f5ca0d82e6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a13fb5476ab97db9c5de6c1f5ca0d82e6">IPH_TOS</a>(hdr)   ((hdr)->_tos)</td></tr> <tr class="separator:a13fb5476ab97db9c5de6c1f5ca0d82e6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af4e4d0cbbb1de541eea2b53b91e8b172"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#af4e4d0cbbb1de541eea2b53b91e8b172">IPH_TOS_SET</a>(hdr, tos)   (hdr)->_tos = (tos)</td></tr> <tr class="separator:af4e4d0cbbb1de541eea2b53b91e8b172"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0d8238411ce35a007170f652e62209b3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a0d8238411ce35a007170f652e62209b3">IPH_TTL</a>(hdr)   ((hdr)->_ttl)</td></tr> <tr class="separator:a0d8238411ce35a007170f652e62209b3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa0e49f03bd4c3144e3548a0db72d1deb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#aa0e49f03bd4c3144e3548a0db72d1deb">IPH_TTL_SET</a>(hdr, ttl)   (hdr)->_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"> </td></tr> <tr class="memitem:a05a9e8ecf4eff38244b4c13c7e70094c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a05a9e8ecf4eff38244b4c13c7e70094c">IPH_V</a>(hdr)   ((hdr)->_v_hl >> 4)</td></tr> <tr class="separator:a05a9e8ecf4eff38244b4c13c7e70094c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a037908f4291c62a7336362506cea01af"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="prot_2ip4_8h.html#a037908f4291c62a7336362506cea01af">IPH_VHL_SET</a>(hdr, v, hl)   (hdr)->_v_hl = (<a class="el" href="group__compiler__abstraction.html#ga4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>)((((v) << 4) | (hl)))</td></tr> <tr class="separator:a037908f4291c62a7336362506cea01af"><td class="memSeparator" colspan="2"> </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> </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"> </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> </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"> </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">◆ </a></span>IP_DF</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define IP_DF   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">◆ </a></span>IP_HLEN</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define IP_HLEN   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">◆ </a></span>IP_MF</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define IP_MF   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">◆ </a></span>IP_OFFMASK</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define IP_OFFMASK   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">◆ </a></span>IP_RF</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define IP_RF   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">◆ </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"> </td> <td class="paramname">hdr</td><td>)</td> <td>   ((hdr)->_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">◆ </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"> </td> <td class="paramname">hdr, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">chksum </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (hdr)->_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">◆ </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"> </td> <td class="paramname">hdr</td><td>)</td> <td>   ((hdr)->_v_hl & 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">◆ </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"> </td> <td class="paramname">hdr</td><td>)</td> <td>   ((hdr)->_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">◆ </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"> </td> <td class="paramname">hdr, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><a class="el" href="kernel_2elf_8c.html#affd99ec09f321a630ec19d0333e291cd">id</a> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (hdr)->_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">◆ </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"> </td> <td class="paramname">hdr</td><td>)</td> <td>   ((hdr)->_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">◆ </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"> </td> <td class="paramname">hdr, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">len </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (hdr)->_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">◆ </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"> </td> <td class="paramname">hdr</td><td>)</td> <td>   ((hdr)->_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">◆ </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"> </td> <td class="paramname">hdr, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">off </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (hdr)->_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">◆ </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"> </td> <td class="paramname">hdr</td><td>)</td> <td>   ((hdr)->_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">◆ </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"> </td> <td class="paramname">hdr, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">proto </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (hdr)->_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">◆ </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"> </td> <td class="paramname">hdr</td><td>)</td> <td>   ((hdr)->_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">◆ </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"> </td> <td class="paramname">hdr, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">tos </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (hdr)->_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">◆ </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"> </td> <td class="paramname">hdr</td><td>)</td> <td>   ((hdr)->_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">◆ </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"> </td> <td class="paramname">hdr, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">ttl </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (hdr)->_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">◆ </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"> </td> <td class="paramname">hdr</td><td>)</td> <td>   ((hdr)->_v_hl >> 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">◆ </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"> </td> <td class="paramname">hdr, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">v, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">hl </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   (hdr)->_v_hl = (<a class="el" href="group__compiler__abstraction.html#ga4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>)((((v) << 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">◆ </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">◆ </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>