Newer
Older
UbixOS / doc / html / tcp_8h.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>UbixOS V2: src/sys/include/net/tcp.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="dirs.html"><span>Directories</span></a></li>
    <li>
      <form action="search.php" method="get">
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
          </tr>
        </table>
      </form>
    </li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>Globals</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="dir_897b6a2d7bab147dd1db58381aad3984.html">src</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_832905b1f7f5feaf61a306b40c0ac817.html">sys</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_caf4200c438ae9601464168e21e8e4d8.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_c1d11d251a83b2498f44d410b793c5eb.html">net</a></div>
<h1>tcp.h File Reference</h1><code>#include &quot;<a class="el" href="sys_8h-source.html">net/sys.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="mem_8h-source.html">net/mem.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="pbuf_8h-source.html">net/pbuf.h</a>&quot;</code><br>
<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="ipv4_2ip_8h-source.html">net/ipv4/ip.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="ipv4_2icmp_8h-source.html">net/ipv4/icmp.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="err_8h-source.html">net/err.h</a>&quot;</code><br>

<p>
<a href="tcp_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtcp__hdr.html">tcp_hdr</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtcp__pcb.html">tcp_pcb</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtcp__pcb__listen.html">tcp_pcb_listen</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtcp__seg.html">tcp_seg</a></td></tr>

<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#ccaf5aff579a6f08407d691bc92d765d">tcp_ack</a>(pcb)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#44b3b1ab31a403ba28ec135adfcbefef">TCP_ACK</a>&nbsp;&nbsp;&nbsp;0x10</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#d80dc16443af0e5d6dbe5de686274424">tcp_ack_now</a>(pcb)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#4cb07190c160bd799c8a892229690807">TCP_FAST_INTERVAL</a>&nbsp;&nbsp;&nbsp;200</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#88e60aa2cf23e1c65d630701db08c743">TCP_FIN</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#e6585b41f836b1b8ca7c7b77d06a6aa6">TCP_FIN_WAIT_TIMEOUT</a>&nbsp;&nbsp;&nbsp;20000</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#5758db371d6daa394d178429b7c94c2a">TCP_HLEN</a>&nbsp;&nbsp;&nbsp;20</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#a6a464bac77e35eaed0e9cd5bb622722">TCP_MSL</a>&nbsp;&nbsp;&nbsp;60000</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#c190a697c41de0c8915ddc6ca00a2b23">TCP_OOSEQ_TIMEOUT</a>&nbsp;&nbsp;&nbsp;6</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#99eac823d00bd1192bc65244e7f0fa8c">tcp_pcbs_sane</a>()&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#1320fd0006a2f70138bc2d0018dda829">TCP_PSH</a>&nbsp;&nbsp;&nbsp;0x08</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#50cbae9c0438222ed92ed8cd470d3cb0">TCP_REG</a>(pcbs, npcb)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#340e27f5b99231f7a706959ab3be3b59">TCP_RMV</a>(pcbs, npcb)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#5ca559def464ef20d8b1f7d32f2f160d">TCP_RST</a>&nbsp;&nbsp;&nbsp;0x04</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#450d82fe0a95a217fea45e4e28064a67">TCP_SEQ_GEQ</a>(a, b)&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) &gt;= 0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#82a26df32c421e5eba32de8650382d59">TCP_SEQ_GT</a>(a, b)&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) &gt; 0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#67688521f2b040529431a17e4fefe0b6">TCP_SEQ_LEQ</a>(a, b)&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) &lt;= 0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#af70bfea25733f085a8e5c429b597ac4">TCP_SEQ_LT</a>(a, b)&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) &lt; 0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#6adb391fb7a37611c536b53eb2864d19">TCP_SLOW_INTERVAL</a>&nbsp;&nbsp;&nbsp;500</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#d1a95f09deb49cd7341d35527d6d3e2f">tcp_sndbuf</a>(pcb)&nbsp;&nbsp;&nbsp;((pcb)-&gt;snd_buf)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#6020613f5062417d9811cfa837215c83">TCP_SYN</a>&nbsp;&nbsp;&nbsp;0x02</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#f47a5928fbbf12665409900b5debd6d2">TCP_SYN_RCVD_TIMEOUT</a>&nbsp;&nbsp;&nbsp;20000</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#a878c2fe18c397e18545c1d128beebed">TCP_TCPLEN</a>(seg)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#d3e68a4c69b6e005e1de46275de3dd09">TCP_TMR_INTERVAL</a>&nbsp;&nbsp;&nbsp;100</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#c84f499cba8a02fc0e306c10b2acabf0">TCP_URG</a>&nbsp;&nbsp;&nbsp;0x20</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#7cbed647d5a3f1c3ea08217c2209470e">TCPH_FLAGS</a>(hdr)&nbsp;&nbsp;&nbsp;(NTOHS((hdr)-&gt;_offset_flags) &amp; 0xff)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#4b5689df8913d4f563057fd0091af7b3">TCPH_FLAGS_SET</a>(hdr, flags)&nbsp;&nbsp;&nbsp;(hdr)-&gt;_offset_flags = HTONS((TCPH_OFFSET(hdr) &lt;&lt; 8) | (flags))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#403593983c0c7850ae73396e62de043e">TCPH_OFFSET</a>(hdr)&nbsp;&nbsp;&nbsp;(NTOHS((hdr)-&gt;_offset_flags) &gt;&gt; 8)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#df73b8a5787048ba91dda965f0fa547a">TCPH_OFFSET_SET</a>(hdr, offset)&nbsp;&nbsp;&nbsp;(hdr)-&gt;_offset_flags = HTONS(((offset) &lt;&lt; 8) | TCPH_FLAGS(hdr))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#b578ff02026a5e4b1bbad24ec9e9f4d5">TF_ACK_DELAY</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#cab515db1f19653bfe55b4eb34a441a6">TF_ACK_NOW</a>&nbsp;&nbsp;&nbsp;0x02</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#d911d2567fa5bb98044e271bf84e81fa">TF_CLOSED</a>&nbsp;&nbsp;&nbsp;0x10</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#0ecc5fb69bdd77ac66d945f7434b7431">TF_GOT_FIN</a>&nbsp;&nbsp;&nbsp;0x20</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#923f934772e1cb9b3efb785e627f7682">TF_INFR</a>&nbsp;&nbsp;&nbsp;0x04</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#c9dbdaeac3e25f5badf3a763a1b0b990">TF_RESET</a>&nbsp;&nbsp;&nbsp;0x08</td></tr>

<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d634">tcp_state</a> { <br>
&nbsp;&nbsp;<a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d634929f0327e17604ce9713b2a6117bd603">CLOSED</a> =  0, 
<a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d634331ec9878c0ed22e62de969d4b96b5bb">LISTEN</a> =  1, 
<a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d6343884e45cc6d937b234e2a8c2c933d7e5">SYN_SENT</a> =  2, 
<a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d6341ee0633a9749f202ccb75862d3aefc85">SYN_RCVD</a> =  3, 
<br>
&nbsp;&nbsp;<a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d63481d0d81381abb711562b19a00a4cb9af">ESTABLISHED</a> =  4, 
<a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d6342ca754767c3666fc17fe7f5bf49e7518">FIN_WAIT_1</a> =  5, 
<a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d6341ff416801732ff573184491c86ee7032">FIN_WAIT_2</a> =  6, 
<a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d634dbf32c37bc28f37e44d0fe611d341178">CLOSE_WAIT</a> =  7, 
<br>
&nbsp;&nbsp;<a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d6348ab2cae69d2b33297ab24a5818213f18">CLOSING</a> =  8, 
<a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d6341b588a108a727c1de55f818cb9ff57eb">LAST_ACK</a> =  9, 
<a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d634799374a9f3fbdfc7f7e92c0f9c5627f7">TIME_WAIT</a> =  10
<br>
 }</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#468c2260ddb01582e966ddcf3c25ce61">tcp_abort</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#e77434b264a469ee4124ff945feac490">tcp_accept</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>(*accept)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *newpcb, <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> err))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#c10926e6f76f73e17c0d37aaab3e56b6">tcp_arg</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, void *arg)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#9c6755fabde07b48e59cb98d6102fbfc">tcp_bind</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, struct <a class="el" href="structip__addr.html">ip_addr</a> *ipaddr, <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> port)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#87093e137fcc53ea82a134a3f5b33623">tcp_close</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#e444a97cf28a0f6b644550ab77e9dfb7">tcp_connect</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, struct <a class="el" href="structip__addr.html">ip_addr</a> *ipaddr, <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> port, <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>(*connected)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *tpcb, <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> err))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#598c918fc63361644d1bd10bb994cfc6">tcp_enqueue</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, void *dataptr, <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> len, <a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> flags, <a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> copy, <a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> *optdata, <a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> optlen)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#fe31e32503125886e9174d1aa132310a">tcp_err</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, void(*err)(void *arg, <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> err))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#bf446b07e52161b8a53cea07bc6c366d">tcp_fasttmr</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#51de4ded7d342456d31722493c92c969">tcp_init</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#e70c3c99d9dd6b07f7e11f7ba5eedcb5">tcp_input</a> (struct <a class="el" href="structpbuf.html">pbuf</a> *p, struct <a class="el" href="structnetif.html">netif</a> *inp)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#d756bca9bf3258d2df5df16fd8ed26ad">tcp_listen</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#7427c5d237fe66a8097bfa8d24ceb943">tcp_new</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#f2d1b7b0daa5d9c05d1bb8082f8264eb">tcp_next_iss</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#0cbcc6d628f644a530daf629fa3e5f7f">tcp_output</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#8dc15d72a4f385846d924592da33c879">tcp_pcb_copy</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#44fc672b9d14a65e61040707c45302ba">tcp_pcb_purge</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#aaef096f6a03bf5b778329bb66ee06f6">tcp_pcb_remove</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> **pcblist, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#305113b53237aa7c6ab87234e9a1e441">tcp_poll</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>(*poll)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *tpcb), <a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> interval)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#f58be9006b4ddb720113f03d56bc6e52">tcp_recv</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>(*recv)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *tpcb, struct <a class="el" href="structpbuf.html">pbuf</a> *p, <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> err))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#6b6b2d7993a2b4e1ef7e0f9425a2870d">tcp_recved</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> len)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#31749219b8aeb4957f7c350f4427a839">tcp_rexmit_seg</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, struct <a class="el" href="structtcp__seg.html">tcp_seg</a> *seg)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#c34efb2d4b95acff840c84d22d59fb4c">tcp_rst</a> (<a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> seqno, <a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> ackno, struct <a class="el" href="structip__addr.html">ip_addr</a> *local_ip, struct <a class="el" href="structip__addr.html">ip_addr</a> *remote_ip, <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> local_port, <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> remote_port)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtcp__seg.html">tcp_seg</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#569d79451d2570e4ef406775725ef6ef">tcp_seg_copy</a> (struct <a class="el" href="structtcp__seg.html">tcp_seg</a> *seg)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#1ea20aae291bb7cd0928c816124ecbac">tcp_seg_free</a> (struct <a class="el" href="structtcp__seg.html">tcp_seg</a> *seg)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#2a7a22b8d118eb3b4c9682fb7cf455ef">tcp_segs_free</a> (struct <a class="el" href="structtcp__seg.html">tcp_seg</a> *seg)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#bbfc0df797ca8d52b73703e3a8e5e030">tcp_send_ctrl</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, <a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> flags)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#3df9afd68d4aca2fe5113c67eacb8b7a">tcp_sent</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>(*sent)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *tpcb, <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> len))</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#421fb42ef919018e14ae413adfee9905">tcp_slowtmr</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#3846a756b13214ed88ea47d0ff8279eb">tcp_tmr</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#212607f48aaac1e91a2f09b7880b7c3f">tcp_write</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, const void *dataptr, <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> len, <a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> copy)</td></tr>

<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtcp__hdr.html">tcp_hdr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#cb58d184b477aa0d8ccf5053dcc78f8e">PACK_STRUCT_STRUCT</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#78c09dbae67ccc06b659d9f1a388f911">tcp_active_pcbs</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtcp__pcb__listen.html">tcp_pcb_listen</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#b7b955629fe5e7d94321580f969cf076">tcp_listen_pcbs</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#89c4a68ace479c2362a2821616e2c15a">tcp_ticks</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#d5ba0fd03d297b097808b45437face0c">tcp_tmp_pcb</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#9a522a66c5e1f1a4e28fe7a672cc64e3">tcp_tw_pcbs</a></td></tr>

</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="ccaf5aff579a6f08407d691bc92d765d"></a><!-- doxytag: member="tcp.h::tcp_ack" ref="ccaf5aff579a6f08407d691bc92d765d" args="(pcb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define tcp_ack          </td>
          <td>(</td>
          <td class="paramtype">pcb&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span>((pcb)-&gt;flags &amp; <a class="code" href="tcp_8h.html#b578ff02026a5e4b1bbad24ec9e9f4d5">TF_ACK_DELAY</a>) { \
                            (pcb)-&gt;flags |= <a class="code" href="tcp_8h.html#cab515db1f19653bfe55b4eb34a441a6">TF_ACK_NOW</a>; \
                            <a class="code" href="tcp_8h.html#0cbcc6d628f644a530daf629fa3e5f7f">tcp_output</a>(pcb); \
                         } <span class="keywordflow">else</span> { \
                            (pcb)-&gt;flags |= TF_ACK_DELAY; \
                         }
</pre></div>
<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00297">297</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="44b3b1ab31a403ba28ec135adfcbefef"></a><!-- doxytag: member="tcp.h::TCP_ACK" ref="44b3b1ab31a403ba28ec135adfcbefef" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_ACK&nbsp;&nbsp;&nbsp;0x10          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00119">119</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="d80dc16443af0e5d6dbe5de686274424"></a><!-- doxytag: member="tcp.h::tcp_ack_now" ref="d80dc16443af0e5d6dbe5de686274424" args="(pcb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define tcp_ack_now          </td>
          <td>(</td>
          <td class="paramtype">pcb&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">(pcb)-&gt;flags |= <a class="code" href="tcp_8h.html#cab515db1f19653bfe55b4eb34a441a6">TF_ACK_NOW</a>; \
                         <a class="code" href="tcp_8h.html#0cbcc6d628f644a530daf629fa3e5f7f">tcp_output</a>(pcb)
</pre></div>
<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00304">304</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="4cb07190c160bd799c8a892229690807"></a><!-- doxytag: member="tcp.h::TCP_FAST_INTERVAL" ref="4cb07190c160bd799c8a892229690807" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_FAST_INTERVAL&nbsp;&nbsp;&nbsp;200          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00128">128</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="88e60aa2cf23e1c65d630701db08c743"></a><!-- doxytag: member="tcp.h::TCP_FIN" ref="88e60aa2cf23e1c65d630701db08c743" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_FIN&nbsp;&nbsp;&nbsp;0x01          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00115">115</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="e6585b41f836b1b8ca7c7b77d06a6aa6"></a><!-- doxytag: member="tcp.h::TCP_FIN_WAIT_TIMEOUT" ref="e6585b41f836b1b8ca7c7b77d06a6aa6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_FIN_WAIT_TIMEOUT&nbsp;&nbsp;&nbsp;20000          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00132">132</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="5758db371d6daa394d178429b7c94c2a"></a><!-- doxytag: member="tcp.h::TCP_HLEN" ref="5758db371d6daa394d178429b7c94c2a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_HLEN&nbsp;&nbsp;&nbsp;20          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00123">123</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="a6a464bac77e35eaed0e9cd5bb622722"></a><!-- doxytag: member="tcp.h::TCP_MSL" ref="a6a464bac77e35eaed0e9cd5bb622722" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_MSL&nbsp;&nbsp;&nbsp;60000          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00137">137</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="c190a697c41de0c8915ddc6ca00a2b23"></a><!-- doxytag: member="tcp.h::TCP_OOSEQ_TIMEOUT" ref="c190a697c41de0c8915ddc6ca00a2b23" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_OOSEQ_TIMEOUT&nbsp;&nbsp;&nbsp;6          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00135">135</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="99eac823d00bd1192bc65244e7f0fa8c"></a><!-- doxytag: member="tcp.h::tcp_pcbs_sane" ref="99eac823d00bd1192bc65244e7f0fa8c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define tcp_pcbs_sane          </td>
          <td>(</td>
&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00329">329</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="1320fd0006a2f70138bc2d0018dda829"></a><!-- doxytag: member="tcp.h::TCP_PSH" ref="1320fd0006a2f70138bc2d0018dda829" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_PSH&nbsp;&nbsp;&nbsp;0x08          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00118">118</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="50cbae9c0438222ed92ed8cd470d3cb0"></a><!-- doxytag: member="tcp.h::TCP_REG" ref="50cbae9c0438222ed92ed8cd470d3cb0" args="(pcbs, npcb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_REG          </td>
          <td>(</td>
          <td class="paramtype">pcbs,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">npcb&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \
                            npcb-&gt;next = *pcbs; \
                            *pcbs = npcb; \
                            } <span class="keywordflow">while</span>(0)
</pre></div>
<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00382">382</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="340e27f5b99231f7a706959ab3be3b59"></a><!-- doxytag: member="tcp.h::TCP_RMV" ref="340e27f5b99231f7a706959ab3be3b59" args="(pcbs, npcb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_RMV          </td>
          <td>(</td>
          <td class="paramtype">pcbs,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">npcb&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \
                            <span class="keywordflow">if</span>(*pcbs == npcb) { \
                               *pcbs = (*pcbs)-&gt;next; \
                            } <span class="keywordflow">else</span> <span class="keywordflow">for</span>(tcp_tmp_pcb = *pcbs; <a class="code" href="tcp_8h.html#d5ba0fd03d297b097808b45437face0c">tcp_tmp_pcb</a> != <a class="code" href="def_8h.html#070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>; <a class="code" href="tcp_8h.html#d5ba0fd03d297b097808b45437face0c">tcp_tmp_pcb</a> = <a class="code" href="tcp_8h.html#d5ba0fd03d297b097808b45437face0c">tcp_tmp_pcb</a>-&gt;<a class="code" href="structtcp__pcb.html#2aed7ffb5fb83aabe68b36f097d99260">next</a>) { \
                               <span class="keywordflow">if</span>(<a class="code" href="tcp_8h.html#d5ba0fd03d297b097808b45437face0c">tcp_tmp_pcb</a>-&gt;<a class="code" href="structtcp__pcb.html#2aed7ffb5fb83aabe68b36f097d99260">next</a> != <a class="code" href="def_8h.html#070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> &amp;&amp; <a class="code" href="tcp_8h.html#d5ba0fd03d297b097808b45437face0c">tcp_tmp_pcb</a>-&gt;<a class="code" href="structtcp__pcb.html#2aed7ffb5fb83aabe68b36f097d99260">next</a> == npcb) { \
                                  <a class="code" href="tcp_8h.html#d5ba0fd03d297b097808b45437face0c">tcp_tmp_pcb</a>-&gt;<a class="code" href="structtcp__pcb.html#2aed7ffb5fb83aabe68b36f097d99260">next</a> = npcb-&gt;<a class="code" href="structtcp__pcb.html#2aed7ffb5fb83aabe68b36f097d99260">next</a>; \
                                  <span class="keywordflow">break</span>; \
                               } \
                            } \
                            npcb-&gt;<a class="code" href="structtcp__pcb.html#2aed7ffb5fb83aabe68b36f097d99260">next</a> = <a class="code" href="def_8h.html#070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>; \
                            } <span class="keywordflow">while</span>(0)
</pre></div>
<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00386">386</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="5ca559def464ef20d8b1f7d32f2f160d"></a><!-- doxytag: member="tcp.h::TCP_RST" ref="5ca559def464ef20d8b1f7d32f2f160d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_RST&nbsp;&nbsp;&nbsp;0x04          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00117">117</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="450d82fe0a95a217fea45e4e28064a67"></a><!-- doxytag: member="tcp.h::TCP_SEQ_GEQ" ref="450d82fe0a95a217fea45e4e28064a67" args="(a, b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_SEQ_GEQ          </td>
          <td>(</td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">b&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) &gt;= 0)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00113">113</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="82a26df32c421e5eba32de8650382d59"></a><!-- doxytag: member="tcp.h::TCP_SEQ_GT" ref="82a26df32c421e5eba32de8650382d59" args="(a, b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_SEQ_GT          </td>
          <td>(</td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">b&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) &gt; 0)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00112">112</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="67688521f2b040529431a17e4fefe0b6"></a><!-- doxytag: member="tcp.h::TCP_SEQ_LEQ" ref="67688521f2b040529431a17e4fefe0b6" args="(a, b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_SEQ_LEQ          </td>
          <td>(</td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">b&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) &lt;= 0)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00111">111</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="af70bfea25733f085a8e5c429b597ac4"></a><!-- doxytag: member="tcp.h::TCP_SEQ_LT" ref="af70bfea25733f085a8e5c429b597ac4" args="(a, b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_SEQ_LT          </td>
          <td>(</td>
          <td class="paramtype">a,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">b&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) &lt; 0)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00110">110</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="6adb391fb7a37611c536b53eb2864d19"></a><!-- doxytag: member="tcp.h::TCP_SLOW_INTERVAL" ref="6adb391fb7a37611c536b53eb2864d19" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_SLOW_INTERVAL&nbsp;&nbsp;&nbsp;500          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00130">130</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="d1a95f09deb49cd7341d35527d6d3e2f"></a><!-- doxytag: member="tcp.h::tcp_sndbuf" ref="d1a95f09deb49cd7341d35527d6d3e2f" args="(pcb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define tcp_sndbuf          </td>
          <td>(</td>
          <td class="paramtype">pcb&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;((pcb)-&gt;snd_buf)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00081">81</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
<p>
Referenced by <a class="el" href="api__lib_8c-source.html#l00537">netconn_write()</a>.
</div>
</div><p>
<a class="anchor" name="6020613f5062417d9811cfa837215c83"></a><!-- doxytag: member="tcp.h::TCP_SYN" ref="6020613f5062417d9811cfa837215c83" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_SYN&nbsp;&nbsp;&nbsp;0x02          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00116">116</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="f47a5928fbbf12665409900b5debd6d2"></a><!-- doxytag: member="tcp.h::TCP_SYN_RCVD_TIMEOUT" ref="f47a5928fbbf12665409900b5debd6d2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_SYN_RCVD_TIMEOUT&nbsp;&nbsp;&nbsp;20000          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00133">133</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="a878c2fe18c397e18545c1d128beebed"></a><!-- doxytag: member="tcp.h::TCP_TCPLEN" ref="a878c2fe18c397e18545c1d128beebed" args="(seg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_TCPLEN          </td>
          <td>(</td>
          <td class="paramtype">seg&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<b>Value:</b><div class="fragment"><pre class="fragment">((seg)-&gt;len + ((<a class="code" href="tcp_8h.html#7cbed647d5a3f1c3ea08217c2209470e">TCPH_FLAGS</a>((seg)-&gt;tcphdr) &amp; <a class="code" href="tcp_8h.html#88e60aa2cf23e1c65d630701db08c743">TCP_FIN</a> || \
                                        <a class="code" href="tcp_8h.html#7cbed647d5a3f1c3ea08217c2209470e">TCPH_FLAGS</a>((seg)-&gt;tcphdr) &amp; <a class="code" href="tcp_8h.html#6020613f5062417d9811cfa837215c83">TCP_SYN</a>)? 1: 0))
</pre></div>
<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00156">156</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="d3e68a4c69b6e005e1de46275de3dd09"></a><!-- doxytag: member="tcp.h::TCP_TMR_INTERVAL" ref="d3e68a4c69b6e005e1de46275de3dd09" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_TMR_INTERVAL&nbsp;&nbsp;&nbsp;100          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00125">125</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
<p>
Referenced by <a class="el" href="tcpip_8c-source.html#l00060">tcpip_tcp_timer()</a>, and <a class="el" href="tcpip_8c-source.html#l00068">tcpip_thread()</a>.
</div>
</div><p>
<a class="anchor" name="c84f499cba8a02fc0e306c10b2acabf0"></a><!-- doxytag: member="tcp.h::TCP_URG" ref="c84f499cba8a02fc0e306c10b2acabf0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCP_URG&nbsp;&nbsp;&nbsp;0x20          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00120">120</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="7cbed647d5a3f1c3ea08217c2209470e"></a><!-- doxytag: member="tcp.h::TCPH_FLAGS" ref="7cbed647d5a3f1c3ea08217c2209470e" args="(hdr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCPH_FLAGS          </td>
          <td>(</td>
          <td class="paramtype">hdr&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(NTOHS((hdr)-&gt;_offset_flags) &amp; 0xff)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00151">151</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="4b5689df8913d4f563057fd0091af7b3"></a><!-- doxytag: member="tcp.h::TCPH_FLAGS_SET" ref="4b5689df8913d4f563057fd0091af7b3" args="(hdr, flags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCPH_FLAGS_SET          </td>
          <td>(</td>
          <td class="paramtype">hdr,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">flags&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(hdr)-&gt;_offset_flags = HTONS((TCPH_OFFSET(hdr) &lt;&lt; 8) | (flags))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00154">154</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="403593983c0c7850ae73396e62de043e"></a><!-- doxytag: member="tcp.h::TCPH_OFFSET" ref="403593983c0c7850ae73396e62de043e" args="(hdr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCPH_OFFSET          </td>
          <td>(</td>
          <td class="paramtype">hdr&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(NTOHS((hdr)-&gt;_offset_flags) &gt;&gt; 8)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00150">150</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="df73b8a5787048ba91dda965f0fa547a"></a><!-- doxytag: member="tcp.h::TCPH_OFFSET_SET" ref="df73b8a5787048ba91dda965f0fa547a" args="(hdr, offset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TCPH_OFFSET_SET          </td>
          <td>(</td>
          <td class="paramtype">hdr,         <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">offset&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;(hdr)-&gt;_offset_flags = HTONS(((offset) &lt;&lt; 8) | TCPH_FLAGS(hdr))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00153">153</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="b578ff02026a5e4b1bbad24ec9e9f4d5"></a><!-- doxytag: member="tcp.h::TF_ACK_DELAY" ref="b578ff02026a5e4b1bbad24ec9e9f4d5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TF_ACK_DELAY&nbsp;&nbsp;&nbsp;0x01          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00204">204</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="cab515db1f19653bfe55b4eb34a441a6"></a><!-- doxytag: member="tcp.h::TF_ACK_NOW" ref="cab515db1f19653bfe55b4eb34a441a6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TF_ACK_NOW&nbsp;&nbsp;&nbsp;0x02          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00205">205</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="d911d2567fa5bb98044e271bf84e81fa"></a><!-- doxytag: member="tcp.h::TF_CLOSED" ref="d911d2567fa5bb98044e271bf84e81fa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TF_CLOSED&nbsp;&nbsp;&nbsp;0x10          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00208">208</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="0ecc5fb69bdd77ac66d945f7434b7431"></a><!-- doxytag: member="tcp.h::TF_GOT_FIN" ref="0ecc5fb69bdd77ac66d945f7434b7431" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TF_GOT_FIN&nbsp;&nbsp;&nbsp;0x20          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00209">209</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="923f934772e1cb9b3efb785e627f7682"></a><!-- doxytag: member="tcp.h::TF_INFR" ref="923f934772e1cb9b3efb785e627f7682" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TF_INFR&nbsp;&nbsp;&nbsp;0x04          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00206">206</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<a class="anchor" name="c9dbdaeac3e25f5badf3a763a1b0b990"></a><!-- doxytag: member="tcp.h::TF_RESET" ref="c9dbdaeac3e25f5badf3a763a1b0b990" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TF_RESET&nbsp;&nbsp;&nbsp;0x08          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00207">207</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="aad63c28ec94587c99838bd52424d634"></a><!-- doxytag: member="tcp.h::tcp_state" ref="aad63c28ec94587c99838bd52424d634" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d634">tcp_state</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d634929f0327e17604ce9713b2a6117bd603"></a><!-- doxytag: member="CLOSED" ref="aad63c28ec94587c99838bd52424d634929f0327e17604ce9713b2a6117bd603" args="" -->CLOSED</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d634331ec9878c0ed22e62de969d4b96b5bb"></a><!-- doxytag: member="LISTEN" ref="aad63c28ec94587c99838bd52424d634331ec9878c0ed22e62de969d4b96b5bb" args="" -->LISTEN</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d6343884e45cc6d937b234e2a8c2c933d7e5"></a><!-- doxytag: member="SYN_SENT" ref="aad63c28ec94587c99838bd52424d6343884e45cc6d937b234e2a8c2c933d7e5" args="" -->SYN_SENT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d6341ee0633a9749f202ccb75862d3aefc85"></a><!-- doxytag: member="SYN_RCVD" ref="aad63c28ec94587c99838bd52424d6341ee0633a9749f202ccb75862d3aefc85" args="" -->SYN_RCVD</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d63481d0d81381abb711562b19a00a4cb9af"></a><!-- doxytag: member="ESTABLISHED" ref="aad63c28ec94587c99838bd52424d63481d0d81381abb711562b19a00a4cb9af" args="" -->ESTABLISHED</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d6342ca754767c3666fc17fe7f5bf49e7518"></a><!-- doxytag: member="FIN_WAIT_1" ref="aad63c28ec94587c99838bd52424d6342ca754767c3666fc17fe7f5bf49e7518" args="" -->FIN_WAIT_1</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d6341ff416801732ff573184491c86ee7032"></a><!-- doxytag: member="FIN_WAIT_2" ref="aad63c28ec94587c99838bd52424d6341ff416801732ff573184491c86ee7032" args="" -->FIN_WAIT_2</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d634dbf32c37bc28f37e44d0fe611d341178"></a><!-- doxytag: member="CLOSE_WAIT" ref="aad63c28ec94587c99838bd52424d634dbf32c37bc28f37e44d0fe611d341178" args="" -->CLOSE_WAIT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d6348ab2cae69d2b33297ab24a5818213f18"></a><!-- doxytag: member="CLOSING" ref="aad63c28ec94587c99838bd52424d6348ab2cae69d2b33297ab24a5818213f18" args="" -->CLOSING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d6341b588a108a727c1de55f818cb9ff57eb"></a><!-- doxytag: member="LAST_ACK" ref="aad63c28ec94587c99838bd52424d6341b588a108a727c1de55f818cb9ff57eb" args="" -->LAST_ACK</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d634799374a9f3fbdfc7f7e92c0f9c5627f7"></a><!-- doxytag: member="TIME_WAIT" ref="aad63c28ec94587c99838bd52424d634799374a9f3fbdfc7f7e92c0f9c5627f7" args="" -->TIME_WAIT</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="tcp_8h-source.html#l00159">159</a> of file <a class="el" href="tcp_8h-source.html">tcp.h</a>.
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="468c2260ddb01582e966ddcf3c25ce61"></a><!-- doxytag: member="tcp.h::tcp_abort" ref="468c2260ddb01582e966ddcf3c25ce61" args="(struct tcp_pcb *pcb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_abort           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00208">do_delconn()</a>.
</div>
</div><p>
<a class="anchor" name="e77434b264a469ee4124ff945feac490"></a><!-- doxytag: member="tcp.h::tcp_accept" ref="e77434b264a469ee4124ff945feac490" args="(struct tcp_pcb *pcb, err_t(*accept)(void *arg, struct tcp_pcb *newpcb, err_t err))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_accept           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>(*)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *newpcb, <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> err)&nbsp;</td>
          <td class="paramname"> <em>accept</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00208">do_delconn()</a>, and <a class="el" href="api__msg_8c-source.html#l00368">do_listen()</a>.
</div>
</div><p>
<a class="anchor" name="c10926e6f76f73e17c0d37aaab3e56b6"></a><!-- doxytag: member="tcp.h::tcp_arg" ref="c10926e6f76f73e17c0d37aaab3e56b6" args="(struct tcp_pcb *pcb, void *arg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_arg           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00208">do_delconn()</a>, <a class="el" href="api__msg_8c-source.html#l00368">do_listen()</a>, and <a class="el" href="api__msg_8c-source.html#l00147">setup_tcp()</a>.
</div>
</div><p>
<a class="anchor" name="9c6755fabde07b48e59cb98d6102fbfc"></a><!-- doxytag: member="tcp.h::tcp_bind" ref="9c6755fabde07b48e59cb98d6102fbfc" args="(struct tcp_pcb *pcb, struct ip_addr *ipaddr, uInt16 port)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> tcp_bind           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structip__addr.html">ip_addr</a> *&nbsp;</td>
          <td class="paramname"> <em>ipaddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a>&nbsp;</td>
          <td class="paramname"> <em>port</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00243">do_bind()</a>.
</div>
</div><p>
<a class="anchor" name="87093e137fcc53ea82a134a3f5b33623"></a><!-- doxytag: member="tcp.h::tcp_close" ref="87093e137fcc53ea82a134a3f5b33623" args="(struct tcp_pcb *pcb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> tcp_close           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00479">do_close()</a>, and <a class="el" href="api__msg_8c-source.html#l00208">do_delconn()</a>.
</div>
</div><p>
<a class="anchor" name="e444a97cf28a0f6b644550ab77e9dfb7"></a><!-- doxytag: member="tcp.h::tcp_connect" ref="e444a97cf28a0f6b644550ab77e9dfb7" args="(struct tcp_pcb *pcb, struct ip_addr *ipaddr, uInt16 port, err_t(*connected)(void *arg, struct tcp_pcb *tpcb, err_t err))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> tcp_connect           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structip__addr.html">ip_addr</a> *&nbsp;</td>
          <td class="paramname"> <em>ipaddr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a>&nbsp;</td>
          <td class="paramname"> <em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>(*)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *tpcb, <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> err)&nbsp;</td>
          <td class="paramname"> <em>connected</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00305">do_connect()</a>.
</div>
</div><p>
<a class="anchor" name="598c918fc63361644d1bd10bb994cfc6"></a><!-- doxytag: member="tcp.h::tcp_enqueue" ref="598c918fc63361644d1bd10bb994cfc6" args="(struct tcp_pcb *pcb, void *dataptr, uInt16 len, uInt8 flags, uInt8 copy, uInt8 *optdata, uInt8 optlen)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> tcp_enqueue           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>dataptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a>&nbsp;</td>
          <td class="paramname"> <em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>&nbsp;</td>
          <td class="paramname"> <em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>&nbsp;</td>
          <td class="paramname"> <em>copy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> *&nbsp;</td>
          <td class="paramname"> <em>optdata</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>&nbsp;</td>
          <td class="paramname"> <em>optlen</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="fe31e32503125886e9174d1aa132310a"></a><!-- doxytag: member="tcp.h::tcp_err" ref="fe31e32503125886e9174d1aa132310a" args="(struct tcp_pcb *pcb, void(*err)(void *arg, err_t err))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_err           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(*)(void *arg, <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> err)&nbsp;</td>
          <td class="paramname"> <em>err</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00208">do_delconn()</a>, and <a class="el" href="api__msg_8c-source.html#l00147">setup_tcp()</a>.
</div>
</div><p>
<a class="anchor" name="bf446b07e52161b8a53cea07bc6c366d"></a><!-- doxytag: member="tcp.h::tcp_fasttmr" ref="bf446b07e52161b8a53cea07bc6c366d" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_fasttmr           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="51de4ded7d342456d31722493c92c969"></a><!-- doxytag: member="tcp.h::tcp_init" ref="51de4ded7d342456d31722493c92c969" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_init           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="tcpip_8c-source.html#l00068">tcpip_thread()</a>.
</div>
</div><p>
<a class="anchor" name="e70c3c99d9dd6b07f7e11f7ba5eedcb5"></a><!-- doxytag: member="tcp.h::tcp_input" ref="e70c3c99d9dd6b07f7e11f7ba5eedcb5" args="(struct pbuf *p, struct netif *inp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_input           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structpbuf.html">pbuf</a> *&nbsp;</td>
          <td class="paramname"> <em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structnetif.html">netif</a> *&nbsp;</td>
          <td class="paramname"> <em>inp</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="d756bca9bf3258d2df5df16fd8ed26ad"></a><!-- doxytag: member="tcp.h::tcp_listen" ref="d756bca9bf3258d2df5df16fd8ed26ad" args="(struct tcp_pcb *pcb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a>* tcp_listen           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00368">do_listen()</a>.
</div>
</div><p>
<a class="anchor" name="7427c5d237fe66a8097bfa8d24ceb943"></a><!-- doxytag: member="tcp.h::tcp_new" ref="7427c5d237fe66a8097bfa8d24ceb943" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a>* tcp_new           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00243">do_bind()</a>, and <a class="el" href="api__msg_8c-source.html#l00305">do_connect()</a>.
</div>
</div><p>
<a class="anchor" name="f2d1b7b0daa5d9c05d1bb8082f8264eb"></a><!-- doxytag: member="tcp.h::tcp_next_iss" ref="f2d1b7b0daa5d9c05d1bb8082f8264eb" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> tcp_next_iss           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="0cbcc6d628f644a530daf629fa3e5f7f"></a><!-- doxytag: member="tcp.h::tcp_output" ref="0cbcc6d628f644a530daf629fa3e5f7f" args="(struct tcp_pcb *pcb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> tcp_output           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00449">do_write()</a>.
</div>
</div><p>
<a class="anchor" name="8dc15d72a4f385846d924592da33c879"></a><!-- doxytag: member="tcp.h::tcp_pcb_copy" ref="8dc15d72a4f385846d924592da33c879" args="(struct tcp_pcb *pcb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a>* tcp_pcb_copy           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="44fc672b9d14a65e61040707c45302ba"></a><!-- doxytag: member="tcp.h::tcp_pcb_purge" ref="44fc672b9d14a65e61040707c45302ba" args="(struct tcp_pcb *pcb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_pcb_purge           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="aaef096f6a03bf5b778329bb66ee06f6"></a><!-- doxytag: member="tcp.h::tcp_pcb_remove" ref="aaef096f6a03bf5b778329bb66ee06f6" args="(struct tcp_pcb **pcblist, struct tcp_pcb *pcb)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_pcb_remove           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> **&nbsp;</td>
          <td class="paramname"> <em>pcblist</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="305113b53237aa7c6ab87234e9a1e441"></a><!-- doxytag: member="tcp.h::tcp_poll" ref="305113b53237aa7c6ab87234e9a1e441" args="(struct tcp_pcb *pcb, err_t(*poll)(void *arg, struct tcp_pcb *tpcb), uInt8 interval)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_poll           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>(*)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *tpcb)&nbsp;</td>
          <td class="paramname"> <em>poll</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>&nbsp;</td>
          <td class="paramname"> <em>interval</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00208">do_delconn()</a>, and <a class="el" href="api__msg_8c-source.html#l00147">setup_tcp()</a>.
</div>
</div><p>
<a class="anchor" name="f58be9006b4ddb720113f03d56bc6e52"></a><!-- doxytag: member="tcp.h::tcp_recv" ref="f58be9006b4ddb720113f03d56bc6e52" args="(struct tcp_pcb *pcb, err_t(*recv)(void *arg, struct tcp_pcb *tpcb, struct pbuf *p, err_t err))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_recv           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>(*)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *tpcb, struct <a class="el" href="structpbuf.html">pbuf</a> *p, <a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> err)&nbsp;</td>
          <td class="paramname"> <em>recv</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00208">do_delconn()</a>, and <a class="el" href="api__msg_8c-source.html#l00147">setup_tcp()</a>.
</div>
</div><p>
<a class="anchor" name="6b6b2d7993a2b4e1ef7e0f9425a2870d"></a><!-- doxytag: member="tcp.h::tcp_recved" ref="6b6b2d7993a2b4e1ef7e0f9425a2870d" args="(struct tcp_pcb *pcb, uInt16 len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_recved           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a>&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00438">do_recv()</a>.
</div>
</div><p>
<a class="anchor" name="31749219b8aeb4957f7c350f4427a839"></a><!-- doxytag: member="tcp.h::tcp_rexmit_seg" ref="31749219b8aeb4957f7c350f4427a839" args="(struct tcp_pcb *pcb, struct tcp_seg *seg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_rexmit_seg           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structtcp__seg.html">tcp_seg</a> *&nbsp;</td>
          <td class="paramname"> <em>seg</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="c34efb2d4b95acff840c84d22d59fb4c"></a><!-- doxytag: member="tcp.h::tcp_rst" ref="c34efb2d4b95acff840c84d22d59fb4c" args="(uInt32 seqno, uInt32 ackno, struct ip_addr *local_ip, struct ip_addr *remote_ip, uInt16 local_port, uInt16 remote_port)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_rst           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a>&nbsp;</td>
          <td class="paramname"> <em>seqno</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a>&nbsp;</td>
          <td class="paramname"> <em>ackno</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structip__addr.html">ip_addr</a> *&nbsp;</td>
          <td class="paramname"> <em>local_ip</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structip__addr.html">ip_addr</a> *&nbsp;</td>
          <td class="paramname"> <em>remote_ip</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a>&nbsp;</td>
          <td class="paramname"> <em>local_port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a>&nbsp;</td>
          <td class="paramname"> <em>remote_port</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="569d79451d2570e4ef406775725ef6ef"></a><!-- doxytag: member="tcp.h::tcp_seg_copy" ref="569d79451d2570e4ef406775725ef6ef" args="(struct tcp_seg *seg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structtcp__seg.html">tcp_seg</a>* tcp_seg_copy           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__seg.html">tcp_seg</a> *&nbsp;</td>
          <td class="paramname"> <em>seg</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="1ea20aae291bb7cd0928c816124ecbac"></a><!-- doxytag: member="tcp.h::tcp_seg_free" ref="1ea20aae291bb7cd0928c816124ecbac" args="(struct tcp_seg *seg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> tcp_seg_free           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__seg.html">tcp_seg</a> *&nbsp;</td>
          <td class="paramname"> <em>seg</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="2a7a22b8d118eb3b4c9682fb7cf455ef"></a><!-- doxytag: member="tcp.h::tcp_segs_free" ref="2a7a22b8d118eb3b4c9682fb7cf455ef" args="(struct tcp_seg *seg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a> tcp_segs_free           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__seg.html">tcp_seg</a> *&nbsp;</td>
          <td class="paramname"> <em>seg</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="bbfc0df797ca8d52b73703e3a8e5e030"></a><!-- doxytag: member="tcp.h::tcp_send_ctrl" ref="bbfc0df797ca8d52b73703e3a8e5e030" args="(struct tcp_pcb *pcb, uInt8 flags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> tcp_send_ctrl           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>&nbsp;</td>
          <td class="paramname"> <em>flags</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="3df9afd68d4aca2fe5113c67eacb8b7a"></a><!-- doxytag: member="tcp.h::tcp_sent" ref="3df9afd68d4aca2fe5113c67eacb8b7a" args="(struct tcp_pcb *pcb, err_t(*sent)(void *arg, struct tcp_pcb *tpcb, uInt16 len))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_sent           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a>(*)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *tpcb, <a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a> len)&nbsp;</td>
          <td class="paramname"> <em>sent</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00208">do_delconn()</a>, and <a class="el" href="api__msg_8c-source.html#l00147">setup_tcp()</a>.
</div>
</div><p>
<a class="anchor" name="421fb42ef919018e14ae413adfee9905"></a><!-- doxytag: member="tcp.h::tcp_slowtmr" ref="421fb42ef919018e14ae413adfee9905" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_slowtmr           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="3846a756b13214ed88ea47d0ff8279eb"></a><!-- doxytag: member="tcp.h::tcp_tmr" ref="3846a756b13214ed88ea47d0ff8279eb" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tcp_tmr           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="tcpip_8c-source.html#l00060">tcpip_tcp_timer()</a>.
</div>
</div><p>
<a class="anchor" name="212607f48aaac1e91a2f09b7880b7c3f"></a><!-- doxytag: member="tcp.h::tcp_write" ref="212607f48aaac1e91a2f09b7880b7c3f" args="(struct tcp_pcb *pcb, const void *dataptr, uInt16 len, uInt8 copy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="err_8h.html#b7190f3da5c85931fc059e0312bc1407">err_t</a> tcp_write           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *&nbsp;</td>
          <td class="paramname"> <em>pcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>dataptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#3b65128d2644e9b80cec9a69bfa7e094">uInt16</a>&nbsp;</td>
          <td class="paramname"> <em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="types_8h.html#a4e0f27a9aca905e340c06d2dcae843c">uInt8</a>&nbsp;</td>
          <td class="paramname"> <em>copy</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Referenced by <a class="el" href="api__msg_8c-source.html#l00449">do_write()</a>.
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="cb58d184b477aa0d8ccf5053dcc78f8e"></a><!-- doxytag: member="tcp.h::PACK_STRUCT_STRUCT" ref="cb58d184b477aa0d8ccf5053dcc78f8e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structtcp__hdr.html">tcp_hdr</a>  <a class="el" href="arp_8c.html#b335643ec08d519342c9d3834091d6e0">PACK_STRUCT_STRUCT</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="78c09dbae67ccc06b659d9f1a388f911"></a><!-- doxytag: member="tcp.h::tcp_active_pcbs" ref="78c09dbae67ccc06b659d9f1a388f911" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a>* <a class="el" href="tcp_8h.html#78c09dbae67ccc06b659d9f1a388f911">tcp_active_pcbs</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="b7b955629fe5e7d94321580f969cf076"></a><!-- doxytag: member="tcp.h::tcp_listen_pcbs" ref="b7b955629fe5e7d94321580f969cf076" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structtcp__pcb__listen.html">tcp_pcb_listen</a>* <a class="el" href="tcp_8h.html#b7b955629fe5e7d94321580f969cf076">tcp_listen_pcbs</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="89c4a68ace479c2362a2821616e2c15a"></a><!-- doxytag: member="tcp.h::tcp_ticks" ref="89c4a68ace479c2362a2821616e2c15a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="types_8h.html#5847ea0262a5aa61eee48cbe95544a78">uInt32</a> <a class="el" href="tcp_8h.html#89c4a68ace479c2362a2821616e2c15a">tcp_ticks</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="d5ba0fd03d297b097808b45437face0c"></a><!-- doxytag: member="tcp.h::tcp_tmp_pcb" ref="d5ba0fd03d297b097808b45437face0c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a>* <a class="el" href="tcp_8h.html#d5ba0fd03d297b097808b45437face0c">tcp_tmp_pcb</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="9a522a66c5e1f1a4e28fe7a672cc64e3"></a><!-- doxytag: member="tcp.h::tcp_tw_pcbs" ref="9a522a66c5e1f1a4e28fe7a672cc64e3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a>* <a class="el" href="tcp_8h.html#9a522a66c5e1f1a4e28fe7a672cc64e3">tcp_tw_pcbs</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue Dec 12 08:52:11 2006 for UbixOS V2 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>