Newer
Older
UbixOS / doc / html / def_8c.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/net/core/def.c 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('def_8c.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="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">def.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="opt_8h_source.html">net/opt.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="def_8h_source.html">net/def.h</a>&quot;</code><br />
<code>#include &lt;<a class="el" href="string_8h_source.html">string.h</a>&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for def.c:</div>
<div class="dyncontent">
<div class="center"><img src="def_8c__incl.png" border="0" usemap="#C_1_2Dev_2git_2UbixOS_2sys_2net_2core_2def_8c" alt=""/></div>
</div>
</div>
<p><a href="def_8c_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="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a14f94347a5b9b9e3602705b75b7ae524"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__compiler__abstraction.html#ga4c14294869aceba3ef9d4c0c302d0f33">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8c.html#a14f94347a5b9b9e3602705b75b7ae524">lwip_htonl</a> (<a class="el" href="group__compiler__abstraction.html#ga4c14294869aceba3ef9d4c0c302d0f33">u32_t</a> n)</td></tr>
<tr class="separator:a14f94347a5b9b9e3602705b75b7ae524"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad637280639de4066392e6b5614fa3e56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__compiler__abstraction.html#ga77570ac4fcab86864fa1916e55676da2">u16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="def_8c.html#ad637280639de4066392e6b5614fa3e56">lwip_htons</a> (<a class="el" href="group__compiler__abstraction.html#ga77570ac4fcab86864fa1916e55676da2">u16_t</a> n)</td></tr>
<tr class="separator:ad637280639de4066392e6b5614fa3e56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf15b4fbaaae5bb7f6da4301f3f979284"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__nonstandard.html#gaf15b4fbaaae5bb7f6da4301f3f979284">lwip_itoa</a> (char *result, <a class="el" href="include_2sys_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> bufsize, int number)</td></tr>
<tr class="separator:gaf15b4fbaaae5bb7f6da4301f3f979284"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga263cbafcb697eff964139a9998a6668a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__nonstandard.html#ga263cbafcb697eff964139a9998a6668a">lwip_stricmp</a> (<a class="el" href="cdefs_8h.html#a2c212835823e3c54a8ab6d95c652660e">const</a> char *str1, <a class="el" href="cdefs_8h.html#a2c212835823e3c54a8ab6d95c652660e">const</a> char *str2)</td></tr>
<tr class="separator:ga263cbafcb697eff964139a9998a6668a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga997dcc49451121d4ed755b33bc7bd26a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__nonstandard.html#ga997dcc49451121d4ed755b33bc7bd26a">lwip_strnicmp</a> (<a class="el" href="cdefs_8h.html#a2c212835823e3c54a8ab6d95c652660e">const</a> char *str1, <a class="el" href="cdefs_8h.html#a2c212835823e3c54a8ab6d95c652660e">const</a> char *str2, <a class="el" href="include_2sys_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> len)</td></tr>
<tr class="separator:ga997dcc49451121d4ed755b33bc7bd26a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeece028198cdaea2f0d2f1d691752c02"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sys__nonstandard.html#gaeece028198cdaea2f0d2f1d691752c02">lwip_strnstr</a> (<a class="el" href="cdefs_8h.html#a2c212835823e3c54a8ab6d95c652660e">const</a> char *<a class="el" href="shell_8c.html#aff2566f4c366b48d73479bef43ee4d2e">buffer</a>, <a class="el" href="cdefs_8h.html#a2c212835823e3c54a8ab6d95c652660e">const</a> char *token, <a class="el" href="include_2sys_2types_8h.html#a7619b847aeded8a6d14cbfa212b2cdfb">size_t</a> n)</td></tr>
<tr class="separator:gaeece028198cdaea2f0d2f1d691752c02"><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>Common functions used throughout the stack.</p>
<p>These are reference implementations of the byte swapping functions. Again with the aim of being simple, correct and fully portable. Byte swapping is the second thing you would want to optimize. You will need to port it to your architecture and in your <a class="el" href="cc_8h.html">cc.h</a>:</p>
<p>#define <a class="el" href="def_8h.html#a3cdda64857295e6661fb7962f66adfb9">lwip_htons(x)</a> your_htons #define <a class="el" href="def_8h.html#a9c0cf5ec6af0664ca8cea5bcf6319a56">lwip_htonl(x)</a> your_htonl</p>
<p>Note <a class="el" href="def_8h.html#ac642bf6057869696d7807564d8309ffc">lwip_ntohs()</a> and <a class="el" href="def_8h.html#a56098407d66feb75806f655bafbee81d">lwip_ntohl()</a> are merely references to the htonx counterparts.</p>
<p>If you #define them to <a class="el" href="def_8h.html#a51799f5ebb4c7228ef7e95c247030f42">htons()</a> and <a class="el" href="def_8h.html#ae4027a6ad07f13aa12eab285a1b46019">htonl()</a>, you should #define LWIP_DONT_PROVIDE_BYTEORDER_FUNCTIONS to prevent lwIP from defining htonx/ntohx compatibility macros. </p>

<p class="definition">Definition in file <a class="el" href="def_8c_source.html">def.c</a>.</p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a14f94347a5b9b9e3602705b75b7ae524"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14f94347a5b9b9e3602705b75b7ae524">&#9670;&nbsp;</a></span>lwip_htonl()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__compiler__abstraction.html#ga4c14294869aceba3ef9d4c0c302d0f33">u32_t</a> lwip_htonl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__compiler__abstraction.html#ga4c14294869aceba3ef9d4c0c302d0f33">u32_t</a>&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Convert an u32_t from host- to network byte order.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>u32_t in host byte order </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>n in network byte order </dd></dl>

<p class="definition">Definition at line <a class="el" href="def_8c_source.html#l00088">88</a> of file <a class="el" href="def_8c_source.html">def.c</a>.</p>

<p class="reference">References <a class="el" href="def_8h_source.html#l00081">PP_HTONL</a>.</p>

</div>
</div>
<a id="ad637280639de4066392e6b5614fa3e56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad637280639de4066392e6b5614fa3e56">&#9670;&nbsp;</a></span>lwip_htons()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__compiler__abstraction.html#ga77570ac4fcab86864fa1916e55676da2">u16_t</a> lwip_htons </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__compiler__abstraction.html#ga77570ac4fcab86864fa1916e55676da2">u16_t</a>&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Convert an u16_t from host- to network byte order.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>u16_t in host byte order </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>n in network byte order </dd></dl>

<p class="definition">Definition at line <a class="el" href="def_8c_source.html#l00075">75</a> of file <a class="el" href="def_8c_source.html">def.c</a>.</p>

<p class="reference">References <a class="el" href="def_8h_source.html#l00079">PP_HTONS</a>.</p>

</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_6ed706464e1919433e32bb89560817da.html">net</a></li><li class="navelem"><a class="el" href="dir_cd4906596c0f2eb6dae79633ab001247.html">core</a></li><li class="navelem"><a class="el" href="def_8c.html">def.c</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>