<!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 Page</span></a></li> <li><a href="classes.html"><span>Data 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> <u>S</u>earch for </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 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> » <a class="el" href="dir_832905b1f7f5feaf61a306b40c0ac817.html">sys</a> » <a class="el" href="dir_caf4200c438ae9601464168e21e8e4d8.html">include</a> » <a class="el" href="dir_c1d11d251a83b2498f44d410b793c5eb.html">net</a></div> <h1>tcp.h File Reference</h1><code>#include "<a class="el" href="sys_8h-source.html">net/sys.h</a>"</code><br> <code>#include "<a class="el" href="mem_8h-source.html">net/mem.h</a>"</code><br> <code>#include "<a class="el" href="pbuf_8h-source.html">net/pbuf.h</a>"</code><br> <code>#include "<a class="el" href="opt_8h-source.html">net/opt.h</a>"</code><br> <code>#include "<a class="el" href="ipv4_2ip_8h-source.html">net/ipv4/ip.h</a>"</code><br> <code>#include "<a class="el" href="ipv4_2icmp_8h-source.html">net/ipv4/icmp.h</a>"</code><br> <code>#include "<a class="el" href="err_8h-source.html">net/err.h</a>"</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 </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 </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 </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 </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 </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#44b3b1ab31a403ba28ec135adfcbefef">TCP_ACK</a> 0x10</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#4cb07190c160bd799c8a892229690807">TCP_FAST_INTERVAL</a> 200</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#88e60aa2cf23e1c65d630701db08c743">TCP_FIN</a> 0x01</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#e6585b41f836b1b8ca7c7b77d06a6aa6">TCP_FIN_WAIT_TIMEOUT</a> 20000</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#5758db371d6daa394d178429b7c94c2a">TCP_HLEN</a> 20</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#a6a464bac77e35eaed0e9cd5bb622722">TCP_MSL</a> 60000</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#c190a697c41de0c8915ddc6ca00a2b23">TCP_OOSEQ_TIMEOUT</a> 6</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#99eac823d00bd1192bc65244e7f0fa8c">tcp_pcbs_sane</a>() 1</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#1320fd0006a2f70138bc2d0018dda829">TCP_PSH</a> 0x08</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </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 </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#5ca559def464ef20d8b1f7d32f2f160d">TCP_RST</a> 0x04</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#450d82fe0a95a217fea45e4e28064a67">TCP_SEQ_GEQ</a>(a, b) ((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) >= 0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#82a26df32c421e5eba32de8650382d59">TCP_SEQ_GT</a>(a, b) ((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) > 0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#67688521f2b040529431a17e4fefe0b6">TCP_SEQ_LEQ</a>(a, b) ((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) <= 0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#af70bfea25733f085a8e5c429b597ac4">TCP_SEQ_LT</a>(a, b) ((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) < 0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#6adb391fb7a37611c536b53eb2864d19">TCP_SLOW_INTERVAL</a> 500</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#d1a95f09deb49cd7341d35527d6d3e2f">tcp_sndbuf</a>(pcb) ((pcb)->snd_buf)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#6020613f5062417d9811cfa837215c83">TCP_SYN</a> 0x02</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#f47a5928fbbf12665409900b5debd6d2">TCP_SYN_RCVD_TIMEOUT</a> 20000</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#d3e68a4c69b6e005e1de46275de3dd09">TCP_TMR_INTERVAL</a> 100</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#c84f499cba8a02fc0e306c10b2acabf0">TCP_URG</a> 0x20</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#7cbed647d5a3f1c3ea08217c2209470e">TCPH_FLAGS</a>(hdr) (NTOHS((hdr)->_offset_flags) & 0xff)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#4b5689df8913d4f563057fd0091af7b3">TCPH_FLAGS_SET</a>(hdr, flags) (hdr)->_offset_flags = HTONS((TCPH_OFFSET(hdr) << 8) | (flags))</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#403593983c0c7850ae73396e62de043e">TCPH_OFFSET</a>(hdr) (NTOHS((hdr)->_offset_flags) >> 8)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#df73b8a5787048ba91dda965f0fa547a">TCPH_OFFSET_SET</a>(hdr, offset) (hdr)->_offset_flags = HTONS(((offset) << 8) | TCPH_FLAGS(hdr))</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#b578ff02026a5e4b1bbad24ec9e9f4d5">TF_ACK_DELAY</a> 0x01</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#cab515db1f19653bfe55b4eb34a441a6">TF_ACK_NOW</a> 0x02</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#d911d2567fa5bb98044e271bf84e81fa">TF_CLOSED</a> 0x10</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#0ecc5fb69bdd77ac66d945f7434b7431">TF_GOT_FIN</a> 0x20</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#923f934772e1cb9b3efb785e627f7682">TF_INFR</a> 0x04</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#c9dbdaeac3e25f5badf3a763a1b0b990">TF_RESET</a> 0x08</td></tr> <tr><td colspan="2"><br><h2>Enumerations</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="tcp_8h.html#aad63c28ec94587c99838bd52424d634">tcp_state</a> { <br> <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> <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> <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 </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 </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 </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> </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> </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> </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> </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 </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 </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 </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 </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> * </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> * </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> </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> </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> * </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 </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 </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 </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 </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 </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 </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 </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> * </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> </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> </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> </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 </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 </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 </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> </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> </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> * </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> * </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> </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> * </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> * </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 </td> <td class="paramname"> </td> <td> ) </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)->flags & <a class="code" href="tcp_8h.html#b578ff02026a5e4b1bbad24ec9e9f4d5">TF_ACK_DELAY</a>) { \ (pcb)->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)->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 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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <b>Value:</b><div class="fragment"><pre class="fragment">(pcb)->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 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 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 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 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 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 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> </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> 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 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 </td> <td class="paramname"> </td> <td> ) </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->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 </td> <td class="paramname"> </td> <td> ) </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)->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>-><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>-><a class="code" href="structtcp__pcb.html#2aed7ffb5fb83aabe68b36f097d99260">next</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="structtcp__pcb.html#2aed7ffb5fb83aabe68b36f097d99260">next</a> == npcb) { \ <a class="code" href="tcp_8h.html#d5ba0fd03d297b097808b45437face0c">tcp_tmp_pcb</a>-><a class="code" href="structtcp__pcb.html#2aed7ffb5fb83aabe68b36f097d99260">next</a> = npcb-><a class="code" href="structtcp__pcb.html#2aed7ffb5fb83aabe68b36f097d99260">next</a>; \ <span class="keywordflow">break</span>; \ } \ } \ npcb-><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 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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) >= 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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) > 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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) <= 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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((<a class="el" href="types_8h.html#1657cdc78acd17f92fb047e02f7a5f14">Int32</a>)((a)-(b)) < 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 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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((pcb)->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 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 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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <b>Value:</b><div class="fragment"><pre class="fragment">((seg)->len + ((<a class="code" href="tcp_8h.html#7cbed647d5a3f1c3ea08217c2209470e">TCPH_FLAGS</a>((seg)->tcphdr) & <a class="code" href="tcp_8h.html#88e60aa2cf23e1c65d630701db08c743">TCP_FIN</a> || \ <a class="code" href="tcp_8h.html#7cbed647d5a3f1c3ea08217c2209470e">TCPH_FLAGS</a>((seg)->tcphdr) & <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 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 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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> (NTOHS((hdr)->_offset_flags) & 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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> (hdr)->_offset_flags = HTONS((TCPH_OFFSET(hdr) << 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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> (NTOHS((hdr)->_offset_flags) >> 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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> (hdr)->_offset_flags = HTONS(((offset) << 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 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 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 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 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 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 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> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d634331ec9878c0ed22e62de969d4b96b5bb"></a><!-- doxytag: member="LISTEN" ref="aad63c28ec94587c99838bd52424d634331ec9878c0ed22e62de969d4b96b5bb" args="" -->LISTEN</em> </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> </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> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d63481d0d81381abb711562b19a00a4cb9af"></a><!-- doxytag: member="ESTABLISHED" ref="aad63c28ec94587c99838bd52424d63481d0d81381abb711562b19a00a4cb9af" args="" -->ESTABLISHED</em> </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> </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> </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> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="aad63c28ec94587c99838bd52424d6348ab2cae69d2b33297ab24a5818213f18"></a><!-- doxytag: member="CLOSING" ref="aad63c28ec94587c99838bd52424d6348ab2cae69d2b33297ab24a5818213f18" args="" -->CLOSING</em> </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> </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> </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> * </td> <td class="paramname"> <em>pcb</em> </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>. </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> * </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) </td> <td class="paramname"> <em>accept</em></td><td> </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> * </td> <td class="paramname"> <em>pcb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>arg</em></td><td> </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> * </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> * </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> </td> <td class="paramname"> <em>port</em></td><td> </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> * </td> <td class="paramname"> <em>pcb</em> </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#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> * </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> * </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> </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) </td> <td class="paramname"> <em>connected</em></td><td> </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> * </td> <td class="paramname"> <em>pcb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </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> </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> </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> </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> * </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> </td> <td class="paramname"> <em>optlen</em></td><td> </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> * </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) </td> <td class="paramname"> <em>err</em></td><td> </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 </td> <td class="paramname"> </td> <td> ) </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 </td> <td class="paramname"> </td> <td> ) </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> * </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> * </td> <td class="paramname"> <em>inp</em></td><td> </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> * </td> <td class="paramname"> <em>pcb</em> </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#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 </td> <td class="paramname"> </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>, 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 </td> <td class="paramname"> </td> <td> ) </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> * </td> <td class="paramname"> <em>pcb</em> </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> <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> * </td> <td class="paramname"> <em>pcb</em> </td> <td> ) </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> * </td> <td class="paramname"> <em>pcb</em> </td> <td> ) </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> ** </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> * </td> <td class="paramname"> <em>pcb</em></td><td> </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> * </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) </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> </td> <td class="paramname"> <em>interval</em></td><td> </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> * </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) </td> <td class="paramname"> <em>recv</em></td><td> </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> * </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> </td> <td class="paramname"> <em>len</em></td><td> </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> * </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> * </td> <td class="paramname"> <em>seg</em></td><td> </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> </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> </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> * </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> * </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> </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> </td> <td class="paramname"> <em>remote_port</em></td><td> </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> * </td> <td class="paramname"> <em>seg</em> </td> <td> ) </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> * </td> <td class="paramname"> <em>seg</em> </td> <td> ) </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> * </td> <td class="paramname"> <em>seg</em> </td> <td> ) </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> * </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> </td> <td class="paramname"> <em>flags</em></td><td> </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> * </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) </td> <td class="paramname"> <em>sent</em></td><td> </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 </td> <td class="paramname"> </td> <td> ) </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 </td> <td class="paramname"> </td> <td> ) </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> * </td> <td class="paramname"> <em>pcb</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </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> </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> </td> <td class="paramname"> <em>copy</em></td><td> </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 <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>