📄 tcp__ip_8h.html
字号:
<!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>tcp_ip.h File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="main.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindex" href="examples.html">Examples</a> </center><hr><h1>/opentcp/include/inet/tcp_ip.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2> <dl compact><dt><b>Author: </b></dt><dd> <ul><li> Jari Lahti (<a href="mailto:jari.lahti@violasystems.com">jari.lahti@violasystems.com</a>) </ul></dl><dl compact><dt><b>Version: </b></dt><dd>1.0 </dl><dl compact><dt><b>Date: </b></dt><dd>1.2.2002</dl>OpenTCP TCP and UDP protocol function declarations, constants, etc.<p><p>Definition in file <a class="el" href="tcp__ip_8h-source.html">tcp_ip.h</a>.<p><a href="tcp__ip_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 nowrap align=right valign=top>struct </td><td valign=bottom><a class="el" href="structudp__frame.html">udp_frame</a></td></tr><tr><td> </td><td><font size=-1><em>UDP header information.</em> <a href="structudp__frame.html#_details">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>struct </td><td valign=bottom><a class="el" href="structucb.html">ucb</a></td></tr><tr><td> </td><td><font size=-1><em>UDP control block.</em> <a href="structucb.html#_details">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>struct </td><td valign=bottom><a class="el" href="structtcp__frame.html">tcp_frame</a></td></tr><tr><td> </td><td><font size=-1><em>TCP header information.</em> <a href="structtcp__frame.html#_details">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>struct </td><td valign=bottom><a class="el" href="structtcb.html">tcb</a></td></tr><tr><td> </td><td><font size=-1><em>TCP transmission control block.</em> <a href="structtcb.html#_details">More...</a><em></em></font><br><br></td></tr><tr><td colspan=2><br><h2>Defines</h2></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__opentcp__config.html#a5">NO_OF_TCPSOCKETS</a> 8</td></tr><tr><td> </td><td><font size=-1><em>Defines number of TCP sockets available.</em> <a href="group__opentcp__config.html#a5"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__opentcp__config.html#a6">NO_OF_UDPSOCKETS</a> 4</td></tr><tr><td> </td><td><font size=-1><em>Defines number of UDP sockets available.</em> <a href="group__opentcp__config.html#a6"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__opentcp__config.html#a7">TCP_PORTS_END</a> 1023</td></tr><tr><td> </td><td><font size=-1><em>Define reserved-ports space.</em> <a href="group__opentcp__config.html#a7"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__opentcp__config.html#a8">UDP_PORTS_END</a> 1023</td></tr><tr><td> </td><td><font size=-1><em>Define reserved-ports space.</em> <a href="group__opentcp__config.html#a8"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a4">UDP_OPT_NONE</a> 0</td></tr><tr><td> </td><td><font size=-1><em>Disable checksum calculation for UDP socket.</em> <a href="#a4"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a5">UDP_OPT_SEND_CS</a> 1</td></tr><tr><td> </td><td><font size=-1><em>Enable checksum calculation for outgoing UDP packets.</em> <a href="#a5"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a6">UDP_OPT_CHECK_CS</a> 2</td></tr><tr><td> </td><td><font size=-1><em>Enable checksum checking for received UDP packets.</em> <a href="#a6"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a8">UDP_HLEN</a> 8</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__opentcp__config.html#a9">TCP_DEF_RETRIES</a> 7</td></tr><tr><td> </td><td><font size=-1><em>Number of attempted TCP retransmissions before giving up.</em> <a href="group__opentcp__config.html#a9"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__opentcp__config.html#a10">TCP_DEF_KEEPALIVE</a> 4</td></tr><tr><td> </td><td><font size=-1><em>Defines a number of seconds after which an empty ACK packet is sent.</em> <a href="group__opentcp__config.html#a10"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__opentcp__config.html#a11">TCP_DEF_RETRY_TOUT</a> 4</td></tr><tr><td> </td><td><font size=-1><em>Default data-retransmission period (in seconds).</em> <a href="group__opentcp__config.html#a11"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__opentcp__config.html#a12">TCP_INIT_RETRY_TOUT</a> 1</td></tr><tr><td> </td><td><font size=-1><em>Initial retransmission period (in seconds).</em> <a href="group__opentcp__config.html#a12"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__opentcp__config.html#a13">TCP_SYN_RETRY_TOUT</a> 2</td></tr><tr><td> </td><td><font size=-1><em>Retranmission period for SYN packet.</em> <a href="group__opentcp__config.html#a13"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a18">TCP_TOS_NORMAL</a> 0</td></tr><tr><td> </td><td><font size=-1><em>Defines normal type of service for TCP socket.</em> <a href="#a18"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__opentcp__config.html#a14">TCP_DEF_TOUT</a> 120</td></tr><tr><td> </td><td><font size=-1><em>Default idle timeout.</em> <a href="group__opentcp__config.html#a14"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a28">UDP_STATE_FREE</a> 1</td></tr><tr><td> </td><td><font size=-1><em>Defines that UDP socket is free and available.</em> <a href="#a28"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a29">UDP_STATE_CLOSED</a> 2</td></tr><tr><td> </td><td><font size=-1><em>Defines that UDP socket is allocated but closed.</em> <a href="#a29"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a30">UDP_STATE_OPENED</a> 3</td></tr><tr><td> </td><td><font size=-1><em>Defines that UDP socket is allocated and opened.</em> <a href="#a30"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a31">UDP_EVENT_DATA</a> 64</td></tr><tr><td> </td><td><font size=-1><em>Only UDP event notified to UDP socket event listener.</em> <a href="#a31"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a38">TCP_TYPE_NONE</a> 0x00</td></tr><tr><td> </td><td><font size=-1><em>TCP socket is nor a client nor a server.</em> <a href="#a38"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a39">TCP_TYPE_SERVER</a> 0x01</td></tr><tr><td> </td><td><font size=-1><em>TCP socket represents a server application.</em> <a href="#a39"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a40">TCP_TYPE_CLIENT</a> 0x02</td></tr><tr><td> </td><td><font size=-1><em>TCP socket represents a client application.</em> <a href="#a40"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a41">TCP_TYPE_CLIENT_SERVER</a> 0x03</td></tr><tr><td> </td><td><font size=-1><em>TCP socket can act as client or as server.</em> <a href="#a41"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a42">TCP_STATE_FREE</a> 1</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a43">TCP_STATE_RESERVED</a> 2</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a44">TCP_STATE_CLOSED</a> 3</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a45">TCP_STATE_LISTENING</a> 4</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a46">TCP_STATE_SYN_RECEIVED</a> 5</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a47">TCP_STATE_SYN_SENT</a> 6</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a48">TCP_STATE_FINW1</a> 7</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a49">TCP_STATE_FINW2</a> 8</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a50">TCP_STATE_CLOSING</a> 9</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a51">TCP_STATE_LAST_ACK</a> 10</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a52">TCP_STATE_TIMED_WAIT</a> 11</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a53">TCP_STATE_CONNECTED</a> 12</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a54">TCP_EVENT_CONREQ</a> 1</td></tr><tr><td> </td><td><font size=-1><em>Connection request event.</em> <a href="#a54"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a55">TCP_EVENT_CONNECTED</a> 2</td></tr><tr><td> </td><td><font size=-1><em>Connection established event.</em> <a href="#a55"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a56">TCP_EVENT_CLOSE</a> 4</td></tr><tr><td> </td><td><font size=-1><em>Connection closed event.</em> <a href="#a56"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a57">TCP_EVENT_ABORT</a> 8</td></tr><tr><td> </td><td><font size=-1><em>Connection aborted event.</em> <a href="#a57"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a58">TCP_EVENT_ACK</a> 16</td></tr><tr><td> </td><td><font size=-1><em>Data acknowledged event.</em> <a href="#a58"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a59">TCP_EVENT_REGENERATE</a> 32</td></tr><tr><td> </td><td><font size=-1><em>Regenerate data event.</em> <a href="#a59"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a60">TCP_EVENT_DATA</a> 64</td></tr><tr><td> </td><td><font size=-1><em>Data arrival event.</em> <a href="#a60"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a61">TCP_APP_OFFSET</a> MIN_TCP_HLEN</td></tr><tr><td> </td><td><font size=-1><em>Transmit buffer offset for TCP applications.</em> <a href="#a61"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a62">UDP_APP_OFFSET</a> UDP_HLEN</td></tr><tr><td> </td><td><font size=-1><em>Transmit buffer offset for UDP applications.</em> <a href="#a62"></a><em></em></font><br><br></td></tr><tr><td colspan=2><br><h2>Functions</h2></td></tr><tr><td nowrap align=right valign=top>INT16 </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a63">process_icmp_in</a> (struct <a class="el" href="structip__frame.html">ip_frame</a> *, UINT16)</td></tr><tr><td> </td><td><font size=-1><em>Process recieved ICMP datagram.</em> <a href="#a63"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="group__core__initializer.html#a4">udp_init</a> (void)</td></tr><tr><td> </td><td><font size=-1><em>Initialize UDP socket pool.</em> <a href="group__core__initializer.html#a4"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="group__udp__app__api.html#a0">udp_getsocket</a> (UINT8, INT32(*)(INT8, UINT8, UINT32, UINT16, UINT16, UINT16), UINT8)</td></tr><tr><td> </td><td><font size=-1><em>Allocate a free socket in UDP socket pool.</em> <a href="group__udp__app__api.html#a0"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="group__udp__app__api.html#a1">udp_releasesocket</a> (INT8)</td></tr><tr><td> </td><td><font size=-1><em>Release a given socket.</em> <a href="group__udp__app__api.html#a1"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="group__udp__app__api.html#a2">udp_open</a> (INT8, UINT16)</td></tr><tr><td> </td><td><font size=-1><em>Open a given UDP socket for communication.</em> <a href="group__udp__app__api.html#a2"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="group__udp__app__api.html#a3">udp_close</a> (INT8)</td></tr><tr><td> </td><td><font size=-1><em>Close given socket for communication.</em> <a href="group__udp__app__api.html#a3"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT16 </td><td valign=bottom><a class="el" href="group__udp__app__api.html#a4">udp_send</a> (INT8, UINT32, UINT16, UINT8 *, UINT16, UINT16)</td></tr><tr><td> </td><td><font size=-1><em>Send data to remote host using given UDP socket.</em> <a href="group__udp__app__api.html#a4"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT16 </td><td valign=bottom><a class="el" href="group__periodic__functions.html#a6">process_udp_in</a> (struct <a class="el" href="structip__frame.html">ip_frame</a> *, UINT16)</td></tr><tr><td> </td><td><font size=-1><em>Process received UDP frame.</em> <a href="group__periodic__functions.html#a6"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>UINT16 </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a71">udp_getfreeport</a> (void)</td></tr><tr><td> </td><td><font size=-1><em>Returns next free (not used) local port number.</em> <a href="#a71"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT16 </td><td valign=bottom><a class="el" href="group__periodic__functions.html#a5">process_tcp_in</a> (struct <a class="el" href="structip__frame.html">ip_frame</a> *, UINT16)</td></tr><tr><td> </td><td><font size=-1><em>Check and process the received TCP frame.</em> <a href="group__periodic__functions.html#a5"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT16 </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a73">process_tcp_out</a> (INT8, UINT8 *, UINT16, UINT16)</td></tr><tr><td> </td><td><font size=-1><em>Create and send TCP packet.</em> <a href="#a73"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="group__core__initializer.html#a2">tcp_init</a> (void)</td></tr><tr><td> </td><td><font size=-1><em>Initialize TCP module.</em> <a href="group__core__initializer.html#a2"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="group__tcp__app__api.html#a2">tcp_listen</a> (INT8, UINT16)</td></tr><tr><td> </td><td><font size=-1><em>Put TCP socket to listen on a given port.</em> <a href="group__tcp__app__api.html#a2"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a76">tcp_mapsocket</a> (struct <a class="el" href="structip__frame.html">ip_frame</a> *, struct <a class="el" href="structtcp__frame.html">tcp_frame</a> *)</td></tr><tr><td> </td><td><font size=-1><em>Try to match received TCP packet to a socket.</em> <a href="#a76"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>UINT8 </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a77">tcp_check_cs</a> (struct <a class="el" href="structip__frame.html">ip_frame</a> *, UINT16)</td></tr><tr><td> </td><td><font size=-1><em>Check if TCP checksum check's out.</em> <a href="#a77"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a78">tcp_sendcontrol</a> (INT8)</td></tr><tr><td> </td><td><font size=-1><em>Send a TCP control packet (no data).</em> <a href="#a78"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>UINT32 </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a79">tcp_initseq</a> (void)</td></tr><tr><td> </td><td><font size=-1><em>Get and return initial sequence number.</em> <a href="#a79"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="group__periodic__functions.html#a4">tcp_poll</a> (void)</td></tr><tr><td> </td><td><font size=-1><em>Poll TCP sockets periodically.</em> <a href="group__periodic__functions.html#a4"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a81">tcp_newstate</a> (struct <a class="el" href="structtcb.html">tcb</a> *, UINT8)</td></tr><tr><td> </td><td><font size=-1><em>Change TCP socket state and reinitialize timers.</em> <a href="#a81"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="group__tcp__app__api.html#a0">tcp_getsocket</a> (UINT8, UINT8, UINT16, INT32(*)(INT8, UINT8, UINT32, UINT32))</td></tr><tr><td> </td><td><font size=-1><em>Allocate a free socket in TCP socket pool.</em> <a href="group__tcp__app__api.html#a0"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="group__tcp__app__api.html#a1">tcp_releasesocket</a> (INT8)</td></tr><tr><td> </td><td><font size=-1><em>Release a TCP socket.</em> <a href="group__tcp__app__api.html#a1"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="group__tcp__app__api.html#a3">tcp_connect</a> (INT8, UINT32, UINT16, UINT16)</td></tr><tr><td> </td><td><font size=-1><em>Initialize connection establishment towards remote IP&port.</em> <a href="group__tcp__app__api.html#a3"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT16 </td><td valign=bottom><a class="el" href="group__tcp__app__api.html#a4">tcp_send</a> (INT8, UINT8 *, UINT16, UINT16)</td></tr><tr><td> </td><td><font size=-1><em>Send user data over TCP using given TCP socket.</em> <a href="group__tcp__app__api.html#a4"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="group__tcp__app__api.html#a5">tcp_close</a> (INT8)</td></tr><tr><td> </td><td><font size=-1><em>Initiate TCP connection closing procedure.</em> <a href="group__tcp__app__api.html#a5"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a87">tcp_sendreset</a> (struct <a class="el" href="structtcp__frame.html">tcp_frame</a> *, UINT32)</td></tr><tr><td> </td><td><font size=-1><em>Send a reset (RST) packet to remote host.</em> <a href="#a87"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="group__tcp__app__api.html#a6">tcp_getstate</a> (INT8)</td></tr><tr><td> </td><td><font size=-1><em>Get current state of the socket.</em> <a href="group__tcp__app__api.html#a6"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>UINT16 </td><td valign=bottom><a class="el" href="tcp__ip_8h.html#a89">tcp_getfreeport</a> (void)</td></tr><tr><td> </td><td><font size=-1><em>Returns next free (not used) local port number.</em> <a href="#a89"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT16 </td><td valign=bottom><a class="el" href="group__tcp__app__api.html#a7">tcp_checksend</a> (INT8)</td></tr><tr><td> </td><td><font size=-1><em>Checks if it's possible to send data using given socket.</em> <a href="group__tcp__app__api.html#a7"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>INT8 </td><td valign=bottom><a class="el" href="group__tcp__app__api.html#a8">tcp_abort</a> (INT8)</td></tr><tr><td> </td><td><font size=-1><em>Reset connection and place socket to closed state.</em> <a href="group__tcp__app__api.html#a8"></a><em></em></font><br><br></td></tr></table><hr><h2>Define Documentation</h2><a name="a4" doxytag="tcp_ip.h::UDP_OPT_NONE"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define UDP_OPT_NONE 0 </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>By choosing only this option for UDP socket, checksum calculation will be disabled for both incoming/outgoing UDP packets. This will make UDP extremely fast, but also more prone to errors. This is usually not a big limitation considering that checksum is not so good in error-detection anyway. <p>Definition at line <a class="el" href="tcp__ip_8h-source.html#l00122">122</a> of file <a class="el" href="tcp__ip_8h-source.html">tcp_ip.h</a>. </td> </tr></table><a name="a5" doxytag="tcp_ip.h::UDP_OPT_SEND_CS"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define UDP_OPT_SEND_CS 1 </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>When only this option is chosen, checksum is calculated for outgoing UDP packets. This is sometimes neccessary since certain applications can disable reception of UDP packets without a calculated checksum. <p>Definition at line <a class="el" href="tcp__ip_8h-source.html#l00132">132</a> of file <a class="el" href="tcp__ip_8h-source.html">tcp_ip.h</a>.<p>Referenced by <a class="el" href="bootp_8c-source.html#l00108">bootpc_init()</a>, <a class="el" href="dhcpc_8c-source.html#l00158">dhcpc_init()</a>, <a class="el" href="dns_8c-source.html#l00108">dns_init()</a>, <a class="el" href="tftps_8c-source.html#l00136">tftps_init()</a>, <a class="el" href="udp_8c-source.html#l00175">udp_getsocket()</a>, <a class="el" href="udp_8c-source.html#l00118">udp_init()</a>, <a class="el" href="udp_8c-source.html#l00244">udp_releasesocket()</a>, and <a class="el" href="udp_8c-source.html#l00395">udp_send()</a>. </td> </tr></table><a name="a6" doxytag="tcp_ip.h::UDP_OPT_CHECK_CS"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define UDP_OPT_CHECK_CS 2 </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -