<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Ubixos: tcp.h File Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.3.3 --> <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#a0">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#a1">TCP_SEQ_LT</a>(a, b) ((<a class="el" href="types_8h.html#a7">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#a2">TCP_SEQ_LEQ</a>(a, b) ((<a class="el" href="types_8h.html#a7">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#a3">TCP_SEQ_GT</a>(a, b) ((<a class="el" href="types_8h.html#a7">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#a4">TCP_SEQ_GEQ</a>(a, b) ((<a class="el" href="types_8h.html#a7">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#a5">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#a6">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#a7">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#a8">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#a9">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#a10">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#a11">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#a12">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#a13">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#a14">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#a15">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#a16">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#a17">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#a18">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#a19">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#a20">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#a21">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#a22">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#a23">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#a24">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#a25">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#a26">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#a27">TF_RESET</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#a28">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#a29">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#a30">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#a31">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#a32">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#a33">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#a34">TCP_RMV</a>(pcbs, npcb)</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#a83">tcp_state</a> { <br> <a class="el" href="tcp_8h.html#a83a41">CLOSED</a> = 0, <a class="el" href="tcp_8h.html#a83a42">LISTEN</a> = 1, <a class="el" href="tcp_8h.html#a83a43">SYN_SENT</a> = 2, <a class="el" href="tcp_8h.html#a83a44">SYN_RCVD</a> = 3, <br> <a class="el" href="tcp_8h.html#a83a45">ESTABLISHED</a> = 4, <a class="el" href="tcp_8h.html#a83a46">FIN_WAIT_1</a> = 5, <a class="el" href="tcp_8h.html#a83a47">FIN_WAIT_2</a> = 6, <a class="el" href="tcp_8h.html#a83a48">CLOSE_WAIT</a> = 7, <br> <a class="el" href="tcp_8h.html#a83a49">CLOSING</a> = 8, <a class="el" href="tcp_8h.html#a83a50">LAST_ACK</a> = 9, <a class="el" href="tcp_8h.html#a83a51">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#a52">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#a53">tcp_tmr</a> (void)</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#a54">tcp_new</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#a55">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>void </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a56">tcp_accept</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, <a class="el" href="err_8h.html#a12">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#a12">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#a57">tcp_recv</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, <a class="el" href="err_8h.html#a12">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#a12">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#a58">tcp_sent</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, <a class="el" href="err_8h.html#a12">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#a2">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#a59">tcp_poll</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, <a class="el" href="err_8h.html#a12">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#a1">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#a60">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#a12">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#a61">tcp_recved</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, <a class="el" href="types_8h.html#a2">uInt16</a> len)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="err_8h.html#a12">err_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a62">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#a2">uInt16</a> port)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="err_8h.html#a12">err_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a63">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#a2">uInt16</a> port, <a class="el" href="err_8h.html#a12">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#a12">err_t</a> err))</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#a64">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>void </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a65">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><a class="el" href="err_8h.html#a12">err_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a66">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#a12">err_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a67">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#a2">uInt16</a> len, <a class="el" href="types_8h.html#a1">uInt8</a> copy)</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#a68">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#a69">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#a70">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="err_8h.html#a12">err_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a71">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#a72">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#a73">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#a74">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><a class="el" href="types_8h.html#a1">uInt8</a> </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a75">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="types_8h.html#a1">uInt8</a> </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a76">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="structtcp__seg.html">tcp_seg</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a77">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="err_8h.html#a12">err_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a78">tcp_send_ctrl</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, <a class="el" href="types_8h.html#a1">uInt8</a> flags)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="err_8h.html#a12">err_t</a> </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a79">tcp_enqueue</a> (struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *pcb, void *dataptr, <a class="el" href="types_8h.html#a2">uInt16</a> len, <a class="el" href="types_8h.html#a1">uInt8</a> flags, <a class="el" href="types_8h.html#a1">uInt8</a> copy, <a class="el" href="types_8h.html#a1">uInt8</a> *optdata, <a class="el" href="types_8h.html#a1">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#a80">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#a81">tcp_rst</a> (<a class="el" href="types_8h.html#a3">uInt32</a> seqno, <a class="el" href="types_8h.html#a3">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#a2">uInt16</a> local_port, <a class="el" href="types_8h.html#a2">uInt16</a> remote_port)</td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="types_8h.html#a3">uInt32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a82">tcp_next_iss</a> (void)</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#a35">PACK_STRUCT_STRUCT</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="types_8h.html#a3">uInt32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="tcp_8h.html#a36">tcp_ticks</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#a37">tcp_listen_pcbs</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#a38">tcp_active_pcbs</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#a39">tcp_tw_pcbs</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#a40">tcp_tmp_pcb</a></td></tr> </table> <hr><h2>Define Documentation</h2> <a name="a30" doxytag="tcp.h::tcp_ack"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define tcp_ack</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">pcb </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre><span class="keywordflow">if</span>((pcb)->flags & <a class="code" href="tcp_8h.html#a24">TF_ACK_DELAY</a>) { \ (pcb)->flags |= <a class="code" href="tcp_8h.html#a25">TF_ACK_NOW</a>; \ <a class="code" href="tcp_8h.html#a71">tcp_output</a>(pcb); \ } <span class="keywordflow">else</span> { \ (pcb)->flags |= <a class="code" href="tcp_8h.html#a24">TF_ACK_DELAY</a>; \ } </pre></div> </td> </tr> </table> <a name="a9" doxytag="tcp.h::TCP_ACK"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_ACK 0x10 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a31" doxytag="tcp.h::tcp_ack_now"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define tcp_ack_now</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">pcb </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>(pcb)->flags |= <a class="code" href="tcp_8h.html#a25">TF_ACK_NOW</a>; \ <a class="code" href="tcp_8h.html#a71">tcp_output</a>(pcb) </pre></div> </td> </tr> </table> <a name="a13" doxytag="tcp.h::TCP_FAST_INTERVAL"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_FAST_INTERVAL 200 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a5" doxytag="tcp.h::TCP_FIN"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_FIN 0x01 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a15" doxytag="tcp.h::TCP_FIN_WAIT_TIMEOUT"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_FIN_WAIT_TIMEOUT 20000 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a11" doxytag="tcp.h::TCP_HLEN"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_HLEN 20 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a18" doxytag="tcp.h::TCP_MSL"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_MSL 60000 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a17" doxytag="tcp.h::TCP_OOSEQ_TIMEOUT"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_OOSEQ_TIMEOUT 6 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a32" doxytag="tcp.h::tcp_pcbs_sane"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define tcp_pcbs_sane</td> <td class="md" valign="top">( </td> </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> 1 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a8" doxytag="tcp.h::TCP_PSH"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_PSH 0x08 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a33" doxytag="tcp.h::TCP_REG"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_REG</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">pcbs, <tr> <td></td> <td></td> <td class="md" nowrap>npcb </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre><span class="keywordflow">do</span> { \ npcb->next = *pcbs; \ *pcbs = npcb; \ } <span class="keywordflow">while</span>(0) </pre></div> </td> </tr> </table> <a name="a34" doxytag="tcp.h::TCP_RMV"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_RMV</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">pcbs, <tr> <td></td> <td></td> <td class="md" nowrap>npcb </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre><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>(<a class="code" href="tcp_8h.html#a40">tcp_tmp_pcb</a> = *pcbs; <a class="code" href="tcp_8h.html#a40">tcp_tmp_pcb</a> != <a class="code" href="def_8h.html#a1">NULL</a>; <a class="code" href="tcp_8h.html#a40">tcp_tmp_pcb</a> = <a class="code" href="tcp_8h.html#a40">tcp_tmp_pcb</a>-><a class="code" href="structtcp__pcb.html#o0">next</a>) { \ <span class="keywordflow">if</span>(<a class="code" href="tcp_8h.html#a40">tcp_tmp_pcb</a>-><a class="code" href="structtcp__pcb.html#o0">next</a> != <a class="code" href="def_8h.html#a1">NULL</a> && <a class="code" href="tcp_8h.html#a40">tcp_tmp_pcb</a>-><a class="code" href="structtcp__pcb.html#o0">next</a> == npcb) { \ <a class="code" href="tcp_8h.html#a40">tcp_tmp_pcb</a>-><a class="code" href="structtcp__pcb.html#o0">next</a> = npcb-><a class="code" href="structtcp__pcb.html#o0">next</a>; \ <span class="keywordflow">break</span>; \ } \ } \ npcb-><a class="code" href="structtcp__pcb.html#o0">next</a> = <a class="code" href="def_8h.html#a1">NULL</a>; \ } <span class="keywordflow">while</span>(0) </pre></div> </td> </tr> </table> <a name="a7" doxytag="tcp.h::TCP_RST"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_RST 0x04 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a4" doxytag="tcp.h::TCP_SEQ_GEQ"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_SEQ_GEQ</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">a, <tr> <td></td> <td></td> <td class="md" nowrap>b </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> ((<a class="el" href="types_8h.html#a7">Int32</a>)((a)-(b)) >= 0) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a3" doxytag="tcp.h::TCP_SEQ_GT"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_SEQ_GT</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">a, <tr> <td></td> <td></td> <td class="md" nowrap>b </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> ((<a class="el" href="types_8h.html#a7">Int32</a>)((a)-(b)) > 0) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a2" doxytag="tcp.h::TCP_SEQ_LEQ"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_SEQ_LEQ</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">a, <tr> <td></td> <td></td> <td class="md" nowrap>b </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> ((<a class="el" href="types_8h.html#a7">Int32</a>)((a)-(b)) <= 0) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a1" doxytag="tcp.h::TCP_SEQ_LT"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_SEQ_LT</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">a, <tr> <td></td> <td></td> <td class="md" nowrap>b </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> ((<a class="el" href="types_8h.html#a7">Int32</a>)((a)-(b)) < 0) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a14" doxytag="tcp.h::TCP_SLOW_INTERVAL"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_SLOW_INTERVAL 500 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a0" doxytag="tcp.h::tcp_sndbuf"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define tcp_sndbuf</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">pcb </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> ((pcb)->snd_buf) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a6" doxytag="tcp.h::TCP_SYN"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_SYN 0x02 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a16" doxytag="tcp.h::TCP_SYN_RCVD_TIMEOUT"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_SYN_RCVD_TIMEOUT 20000 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a23" doxytag="tcp.h::TCP_TCPLEN"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_TCPLEN</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">seg </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <b>Value:</b><div class="fragment"><pre>((seg)->len + ((<a class="code" href="tcp_8h.html#a20">TCPH_FLAGS</a>((seg)->tcphdr) & <a class="code" href="tcp_8h.html#a5">TCP_FIN</a> || \ <a class="code" href="tcp_8h.html#a20">TCPH_FLAGS</a>((seg)->tcphdr) & <a class="code" href="tcp_8h.html#a6">TCP_SYN</a>)? 1: 0)) </pre></div> </td> </tr> </table> <a name="a12" doxytag="tcp.h::TCP_TMR_INTERVAL"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_TMR_INTERVAL 100 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a10" doxytag="tcp.h::TCP_URG"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCP_URG 0x20 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a20" doxytag="tcp.h::TCPH_FLAGS"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCPH_FLAGS</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">hdr </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> (NTOHS((hdr)->_offset_flags) & 0xff) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a22" doxytag="tcp.h::TCPH_FLAGS_SET"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCPH_FLAGS_SET</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">hdr, <tr> <td></td> <td></td> <td class="md" nowrap>flags </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> (hdr)->_offset_flags = HTONS((TCPH_OFFSET(hdr) << 8) | (flags)) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a19" doxytag="tcp.h::TCPH_OFFSET"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCPH_OFFSET</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">hdr </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> (NTOHS((hdr)->_offset_flags) >> 8) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a21" doxytag="tcp.h::TCPH_OFFSET_SET"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TCPH_OFFSET_SET</td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">hdr, <tr> <td></td> <td></td> <td class="md" nowrap>offset </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> (hdr)->_offset_flags = HTONS(((offset) << 8) | TCPH_FLAGS(hdr)) </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a24" doxytag="tcp.h::TF_ACK_DELAY"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TF_ACK_DELAY 0x01 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a25" doxytag="tcp.h::TF_ACK_NOW"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TF_ACK_NOW 0x02 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a28" doxytag="tcp.h::TF_CLOSED"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TF_CLOSED 0x10 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a29" doxytag="tcp.h::TF_GOT_FIN"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TF_GOT_FIN 0x20 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a26" doxytag="tcp.h::TF_INFR"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TF_INFR 0x04 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a27" doxytag="tcp.h::TF_RESET"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TF_RESET 0x08 </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <hr><h2>Enumeration Type Documentation</h2> <a name="a83" doxytag="tcp.h::tcp_state"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> enum <a class="el" href="tcp_8h.html#a83">tcp_state</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt><b>Enumeration values: </b></dt><dd> <table border=0 cellspacing=2 cellpadding=0> <tr><td valign=top><em><a name="a83a41" doxytag="CLOSED"></a><em>CLOSED</em></em> </td><td> </td></tr> <tr><td valign=top><em><a name="a83a42" doxytag="LISTEN"></a><em>LISTEN</em></em> </td><td> </td></tr> <tr><td valign=top><em><a name="a83a43" doxytag="SYN_SENT"></a><em>SYN_SENT</em></em> </td><td> </td></tr> <tr><td valign=top><em><a name="a83a44" doxytag="SYN_RCVD"></a><em>SYN_RCVD</em></em> </td><td> </td></tr> <tr><td valign=top><em><a name="a83a45" doxytag="ESTABLISHED"></a><em>ESTABLISHED</em></em> </td><td> </td></tr> <tr><td valign=top><em><a name="a83a46" doxytag="FIN_WAIT_1"></a><em>FIN_WAIT_1</em></em> </td><td> </td></tr> <tr><td valign=top><em><a name="a83a47" doxytag="FIN_WAIT_2"></a><em>FIN_WAIT_2</em></em> </td><td> </td></tr> <tr><td valign=top><em><a name="a83a48" doxytag="CLOSE_WAIT"></a><em>CLOSE_WAIT</em></em> </td><td> </td></tr> <tr><td valign=top><em><a name="a83a49" doxytag="CLOSING"></a><em>CLOSING</em></em> </td><td> </td></tr> <tr><td valign=top><em><a name="a83a50" doxytag="LAST_ACK"></a><em>LAST_ACK</em></em> </td><td> </td></tr> <tr><td valign=top><em><a name="a83a51" doxytag="TIME_WAIT"></a><em>TIME_WAIT</em></em> </td><td> </td></tr> </table> </dl> </td> </tr> </table> <hr><h2>Function Documentation</h2> <a name="a65" doxytag="tcp.h::tcp_abort"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_abort </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname1" valign="top" nowrap> <em>pcb</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a56" doxytag="tcp.h::tcp_accept"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_accept </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="err_8h.html#a12">err_t</a>(* </td> <td class="mdname" nowrap> <em>accept</em>)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *newpcb, <a class="el" href="err_8h.html#a12">err_t</a> err)</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a55" doxytag="tcp.h::tcp_arg"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_arg </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>void * </td> <td class="mdname" nowrap> <em>arg</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a62" doxytag="tcp.h::tcp_bind"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="err_8h.html#a12">err_t</a> tcp_bind </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>struct <a class="el" href="structip__addr.html">ip_addr</a> * </td> <td class="mdname" nowrap> <em>ipaddr</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a2">uInt16</a> </td> <td class="mdname" nowrap> <em>port</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a66" doxytag="tcp.h::tcp_close"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="err_8h.html#a12">err_t</a> tcp_close </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname1" valign="top" nowrap> <em>pcb</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a63" doxytag="tcp.h::tcp_connect"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="err_8h.html#a12">err_t</a> tcp_connect </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>struct <a class="el" href="structip__addr.html">ip_addr</a> * </td> <td class="mdname" nowrap> <em>ipaddr</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a2">uInt16</a> </td> <td class="mdname" nowrap> <em>port</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="err_8h.html#a12">err_t</a>(* </td> <td class="mdname" nowrap> <em>connected</em>)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *tpcb, <a class="el" href="err_8h.html#a12">err_t</a> err)</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a79" doxytag="tcp.h::tcp_enqueue"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="err_8h.html#a12">err_t</a> tcp_enqueue </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>void * </td> <td class="mdname" nowrap> <em>dataptr</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a2">uInt16</a> </td> <td class="mdname" nowrap> <em>len</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a1">uInt8</a> </td> <td class="mdname" nowrap> <em>flags</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a1">uInt8</a> </td> <td class="mdname" nowrap> <em>copy</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a1">uInt8</a> * </td> <td class="mdname" nowrap> <em>optdata</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a1">uInt8</a> </td> <td class="mdname" nowrap> <em>optlen</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a60" doxytag="tcp.h::tcp_err"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_err </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>void(* </td> <td class="mdname" nowrap> <em>err</em>)(void *arg, <a class="el" href="err_8h.html#a12">err_t</a> err)</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a69" doxytag="tcp.h::tcp_fasttmr"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_fasttmr </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a52" doxytag="tcp.h::tcp_init"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_init </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a70" doxytag="tcp.h::tcp_input"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_input </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structpbuf.html">pbuf</a> * </td> <td class="mdname" nowrap> <em>p</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>struct <a class="el" href="structnetif.html">netif</a> * </td> <td class="mdname" nowrap> <em>inp</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a64" doxytag="tcp.h::tcp_listen"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a>* tcp_listen </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname1" valign="top" nowrap> <em>pcb</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a54" doxytag="tcp.h::tcp_new"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a>* tcp_new </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a82" doxytag="tcp.h::tcp_next_iss"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a3">uInt32</a> tcp_next_iss </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a71" doxytag="tcp.h::tcp_output"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="err_8h.html#a12">err_t</a> tcp_output </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname1" valign="top" nowrap> <em>pcb</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a72" doxytag="tcp.h::tcp_pcb_copy"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a>* tcp_pcb_copy </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname1" valign="top" nowrap> <em>pcb</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a73" doxytag="tcp.h::tcp_pcb_purge"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_pcb_purge </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname1" valign="top" nowrap> <em>pcb</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a74" doxytag="tcp.h::tcp_pcb_remove"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_pcb_remove </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> ** </td> <td class="mdname" nowrap> <em>pcblist</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a59" doxytag="tcp.h::tcp_poll"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_poll </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="err_8h.html#a12">err_t</a>(* </td> <td class="mdname" nowrap> <em>poll</em>)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *tpcb), </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a1">uInt8</a> </td> <td class="mdname" nowrap> <em>interval</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a57" doxytag="tcp.h::tcp_recv"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_recv </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="err_8h.html#a12">err_t</a>(* </td> <td class="mdname" nowrap> <em>recv</em>)(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#a12">err_t</a> err)</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a61" doxytag="tcp.h::tcp_recved"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_recved </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a2">uInt16</a> </td> <td class="mdname" nowrap> <em>len</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a80" doxytag="tcp.h::tcp_rexmit_seg"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_rexmit_seg </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>struct <a class="el" href="structtcp__seg.html">tcp_seg</a> * </td> <td class="mdname" nowrap> <em>seg</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a81" doxytag="tcp.h::tcp_rst"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_rst </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="types_8h.html#a3">uInt32</a> </td> <td class="mdname" nowrap> <em>seqno</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a3">uInt32</a> </td> <td class="mdname" nowrap> <em>ackno</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>struct <a class="el" href="structip__addr.html">ip_addr</a> * </td> <td class="mdname" nowrap> <em>local_ip</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>struct <a class="el" href="structip__addr.html">ip_addr</a> * </td> <td class="mdname" nowrap> <em>remote_ip</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a2">uInt16</a> </td> <td class="mdname" nowrap> <em>local_port</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a2">uInt16</a> </td> <td class="mdname" nowrap> <em>remote_port</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a77" doxytag="tcp.h::tcp_seg_copy"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> struct <a class="el" href="structtcp__seg.html">tcp_seg</a>* tcp_seg_copy </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__seg.html">tcp_seg</a> * </td> <td class="mdname1" valign="top" nowrap> <em>seg</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a76" doxytag="tcp.h::tcp_seg_free"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a1">uInt8</a> tcp_seg_free </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__seg.html">tcp_seg</a> * </td> <td class="mdname1" valign="top" nowrap> <em>seg</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a75" doxytag="tcp.h::tcp_segs_free"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a1">uInt8</a> tcp_segs_free </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__seg.html">tcp_seg</a> * </td> <td class="mdname1" valign="top" nowrap> <em>seg</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a78" doxytag="tcp.h::tcp_send_ctrl"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="err_8h.html#a12">err_t</a> tcp_send_ctrl </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a1">uInt8</a> </td> <td class="mdname" nowrap> <em>flags</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a58" doxytag="tcp.h::tcp_sent"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_sent </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="err_8h.html#a12">err_t</a>(* </td> <td class="mdname" nowrap> <em>sent</em>)(void *arg, struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> *tpcb, <a class="el" href="types_8h.html#a2">uInt16</a> len)</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a68" doxytag="tcp.h::tcp_slowtmr"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_slowtmr </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a53" doxytag="tcp.h::tcp_tmr"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void tcp_tmr </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a67" doxytag="tcp.h::tcp_write"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="err_8h.html#a12">err_t</a> tcp_write </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a> * </td> <td class="mdname" nowrap> <em>pcb</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const void * </td> <td class="mdname" nowrap> <em>dataptr</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a2">uInt16</a> </td> <td class="mdname" nowrap> <em>len</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="types_8h.html#a1">uInt8</a> </td> <td class="mdname" nowrap> <em>copy</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <hr><h2>Variable Documentation</h2> <a name="a35" doxytag="tcp.h::PACK_STRUCT_STRUCT"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> struct <a class="el" href="structtcp__hdr.html">tcp_hdr</a> <a class="el" href="arp_8h.html#a3">PACK_STRUCT_STRUCT</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a38" doxytag="tcp.h::tcp_active_pcbs"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a>* <a class="el" href="tcp_8h.html#a38">tcp_active_pcbs</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a37" doxytag="tcp.h::tcp_listen_pcbs"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> struct <a class="el" href="structtcp__pcb__listen.html">tcp_pcb_listen</a>* <a class="el" href="tcp_8h.html#a37">tcp_listen_pcbs</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a36" doxytag="tcp.h::tcp_ticks"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="types_8h.html#a3">uInt32</a> <a class="el" href="tcp_8h.html#a36">tcp_ticks</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a40" doxytag="tcp.h::tcp_tmp_pcb"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a>* <a class="el" href="tcp_8h.html#a40">tcp_tmp_pcb</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <a name="a39" doxytag="tcp.h::tcp_tw_pcbs"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> struct <a class="el" href="structtcp__pcb.html">tcp_pcb</a>* <a class="el" href="tcp_8h.html#a39">tcp_tw_pcbs</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> </td> </tr> </table> <hr size="1"><address style="align: right;"><small>Generated on Sat May 8 09:28:23 2004 for Ubixos by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.3 </small></address> </body> </html>