<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>lwIP: SLIP</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">
  $(document).ready(initResizable);
</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">lwIP
   &#160;<span id="projectnumber">2.1.2</span>
   </div>
   <div id="projectbrief">Lightweight IP stack</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</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">
$(document).ready(function(){initNavTree('group__slipif.html','');});
</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">SLIP<div class="ingroups"><a class="el" href="group__netifs.html">NETIFs</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga687973ba82dab13a5b9d38d7399aeee3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slipif.html#ga687973ba82dab13a5b9d38d7399aeee3">slipif_init</a> (struct <a class="el" href="structnetif.html">netif</a> *<a class="el" href="structnetif.html">netif</a>)</td></tr>
<tr class="separator:ga687973ba82dab13a5b9d38d7399aeee3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b036fd1cde9b299139cac62f52d15a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slipif.html#ga7b036fd1cde9b299139cac62f52d15a6">slipif_poll</a> (struct <a class="el" href="structnetif.html">netif</a> *<a class="el" href="structnetif.html">netif</a>)</td></tr>
<tr class="separator:ga7b036fd1cde9b299139cac62f52d15a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae135be7d61e5bb49ab72476b0aa70946"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slipif.html#gae135be7d61e5bb49ab72476b0aa70946">slipif_process_rxqueue</a> (struct <a class="el" href="structnetif.html">netif</a> *<a class="el" href="structnetif.html">netif</a>)</td></tr>
<tr class="separator:gae135be7d61e5bb49ab72476b0aa70946"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f2f5e2fa4a816dc27a46f3ee91cf1b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slipif.html#ga3f2f5e2fa4a816dc27a46f3ee91cf1b3">slipif_received_byte</a> (struct <a class="el" href="structnetif.html">netif</a> *<a class="el" href="structnetif.html">netif</a>, u8_t data)</td></tr>
<tr class="separator:ga3f2f5e2fa4a816dc27a46f3ee91cf1b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabbee48569a513c90fe154632038eb6d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slipif.html#gabbee48569a513c90fe154632038eb6d6">slipif_received_bytes</a> (struct <a class="el" href="structnetif.html">netif</a> *<a class="el" href="structnetif.html">netif</a>, u8_t *data, u8_t len)</td></tr>
<tr class="separator:gabbee48569a513c90fe154632038eb6d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>This is an arch independent SLIP netif. The specific serial hooks must be provided by another file. They are sio_open, sio_read/sio_tryread and sio_send</p>
<p>Usage: This netif can be used in three ways:<br />
 1) For NO_SYS==0, an RX thread can be used which blocks on sio_read() until data is received.<br />
 2) In your main loop, call <a class="el" href="group__slipif.html#ga7b036fd1cde9b299139cac62f52d15a6">slipif_poll()</a> to check for new RX bytes, completed packets are fed into netif-&gt;input().<br />
 3) Call slipif_received_byte[s]() from your serial RX ISR and <a class="el" href="group__slipif.html#gae135be7d61e5bb49ab72476b0aa70946">slipif_process_rxqueue()</a> from your main loop. ISR level decodes packets and puts completed packets on a queue which is fed into the stack from the main loop (needs SYS_LIGHTWEIGHT_PROT for pbuf_alloc to work on ISR level!). </p>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga687973ba82dab13a5b9d38d7399aeee3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga687973ba82dab13a5b9d38d7399aeee3">&#9670;&nbsp;</a></span>slipif_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__infrastructure__errors.html#gaf02d9da80fd66b4f986d2c53d7231ddb">err_t</a> slipif_init </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structnetif.html">netif</a> *&#160;</td>
          <td class="paramname"><em>netif</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>SLIP netif initialization</p>
<p>Call the arch specific sio_open and remember the opened device in the state field of the netif.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">netif</td><td>the lwip network interface structure for this slipif </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ERR_OK if serial line could be opened, ERR_MEM if no memory could be allocated, ERR_IF is serial line couldn't be opened</dd></dl>
<dl class="section note"><dt>Note</dt><dd>If netif-&gt;state is interpreted as an u8_t serial port number. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void slipif_poll </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structnetif.html">netif</a> *&#160;</td>
          <td class="paramname"><em>netif</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Polls the serial device and feeds the IP layer with incoming packets.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">netif</td><td>The lwip network interface structure for this slipif </td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void slipif_process_rxqueue </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structnetif.html">netif</a> *&#160;</td>
          <td class="paramname"><em>netif</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Feeds the IP layer with incoming packets that were receive</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">netif</td><td>The lwip network interface structure for this slipif </td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void slipif_received_byte </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structnetif.html">netif</a> *&#160;</td>
          <td class="paramname"><em>netif</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8_t&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Process a received byte, completed packets are put on a queue that is fed into IP through <a class="el" href="group__slipif.html#gae135be7d61e5bb49ab72476b0aa70946">slipif_process_rxqueue()</a>.</p>
<p>This function can be called from ISR if SYS_LIGHTWEIGHT_PROT is enabled.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">netif</td><td>The lwip network interface structure for this slipif </td></tr>
    <tr><td class="paramname">data</td><td>received character </td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void slipif_received_bytes </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structnetif.html">netif</a> *&#160;</td>
          <td class="paramname"><em>netif</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Process multiple received byte, completed packets are put on a queue that is fed into IP through <a class="el" href="group__slipif.html#gae135be7d61e5bb49ab72476b0aa70946">slipif_process_rxqueue()</a>.</p>
<p>This function can be called from ISR if SYS_LIGHTWEIGHT_PROT is enabled.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">netif</td><td>The lwip network interface structure for this slipif </td></tr>
    <tr><td class="paramname">data</td><td>received character </td></tr>
    <tr><td class="paramname">len</td><td>Number of received characters </td></tr>
  </table>
  </dd>
</dl>

</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="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
