📄 tcp__ip_8h.html
字号:
</td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>TCP/IP stack has received correct acknowledgment packet for the previously sent data and is informing the application about it. After this event, application can send new data packet to remote host. <p>Definition at line <a class="el" href="tcp__ip_8h-source.html#l00428">428</a> of file <a class="el" href="tcp__ip_8h-source.html">tcp_ip.h</a>.<p>Referenced by <a class="el" href="tcp_8c-source.html#l01250">process_tcp_in()</a>. </td> </tr></table><a name="a59" doxytag="tcp_ip.h::TCP_EVENT_REGENERATE"></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 TCP_EVENT_REGENERATE 32 </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Previously sent data packet was not acknowledged (or the acknowledgment packet did not arrive) so retransmission needs to be peformed. Application must resend the data that was sent in the previous packet. <p>Definition at line <a class="el" href="tcp__ip_8h-source.html#l00437">437</a> of file <a class="el" href="tcp__ip_8h-source.html">tcp_ip.h</a>.<p>Referenced by <a class="el" href="tcp_8c-source.html#l00808">tcp_poll()</a>. </td> </tr></table><a name="a60" doxytag="tcp_ip.h::TCP_EVENT_DATA"></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 TCP_EVENT_DATA 64 </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>TCP received some data from remote host and is informing application that it is available for reading from the Ethernet controller. <p>Definition at line <a class="el" href="tcp__ip_8h-source.html#l00445">445</a> of file <a class="el" href="tcp__ip_8h-source.html">tcp_ip.h</a>.<p>Referenced by <a class="el" href="tcp_8c-source.html#l01250">process_tcp_in()</a>. </td> </tr></table><a name="a61" doxytag="tcp_ip.h::TCP_APP_OFFSET"></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 TCP_APP_OFFSET MIN_TCP_HLEN </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>This value defines offset that TCP applications must use when writing to transmit buffer. This many bytes will be used <b>before</b> the first byte of applications data in the transmit buffer to store TCP header. <p>Definition at line <a class="el" href="tcp__ip_8h-source.html#l00459">459</a> of file <a class="el" href="tcp__ip_8h-source.html">tcp_ip.h</a>.<p>Referenced by <a class="el" href="smtp__client_8c-source.html#l00155">smtpc_init()</a>. </td> </tr></table><a name="a62" doxytag="tcp_ip.h::UDP_APP_OFFSET"></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_APP_OFFSET UDP_HLEN </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>This value defines offset that UDP applications must use when writing to transmit buffer. This many bytes will be used <b>before</b> the first byte of applications data in the transmit buffer to store UDP header. <p>Definition at line <a class="el" href="tcp__ip_8h-source.html#l00471">471</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#l00183">bootpc_run()</a>, <a class="el" href="dhcpc_8c-source.html#l00389">dhcpc_send_message()</a>, and <a class="el" href="dns_8c-source.html#l00445">get_host_by_name()</a>. </td> </tr></table><hr><h2>Function Documentation</h2><a name="a63" doxytag="tcp_ip.h::process_icmp_in"></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"> INT16 process_icmp_in </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">struct <a class="el" href="structip__frame.html">ip_frame</a> * </td> <td class="mdname" nowrap> <em>frame</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>UINT16 </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><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>Date: </b></dt><dd>08.07.2002 </dl><dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>frame</em> </td><td>- pointer to received IP frame structure </td></tr><tr><td valign=top><em>len</em> </td><td>- length of the received IP datagram (in bytes) </td></tr></table></dl><dl compact><dt><b>Returns: </b></dt><dd> <ul><li> -1 - packet not OK (not proper ICMP or not ICMP at all) <li> >=0 - packet OK</ul></dl>Invoke process_icmp_in whenever IP datagram containing ICMP message is detected (see <a class="el" href="main__demo_8c.html">main_demo.c</a> for example main loop implementing this).<p>This function simply checks correctnes of received ICMP message and send ICMP replies when requested. <p>Definition at line <a class="el" href="icmp_8c-source.html#l00097">97</a> of file <a class="el" href="icmp_8c-source.html">icmp.c</a>.<p>References <a class="el" href="ip_8h-source.html#l00126">ip_frame::buf_index</a>, <a class="el" href="ip_8h-source.html#l00124">ip_frame::dip</a>, <a class="el" href="ip_8c-source.html#l00539">ip_checksum()</a>, <a class="el" href="ip_8c-source.html#l00582">ip_checksum_buf()</a>, <a class="el" href="ip_8h-source.html#l00072">IP_ICMP</a>, <a class="el" href="system_8h-source.html#l00270">NETWORK_RECEIVE_INITIALIZE</a>, <a class="el" href="system_8h-source.html#l00091">NETWORK_TX_BUFFER_SIZE</a>, <a class="el" href="ip_8c-source.html#l00300">process_ip_out()</a>, <a class="el" href="ip_8h-source.html#l00121">ip_frame::protocol</a>, <a class="el" href="system_8h-source.html#l00210">RECEIVE_NETWORK_B</a>, <a class="el" href="system_8h-source.html#l00220">RECEIVE_NETWORK_BUF</a>, <a class="el" href="ip_8h-source.html#l00123">ip_frame::sip</a>, and <a class="el" href="system_8h-source.html#l00151">TXBUF</a>. </td> </tr></table><a name="a71" doxytag="tcp_ip.h::udp_getfreeport"></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"> UINT16 udp_getfreeport </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><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>Date: </b></dt><dd>19.10.2002 </dl><dl compact><dt><b>Returns: </b></dt><dd> <ul><li> 0 - no free ports! <li> >0 - free local TCP port number</ul></dl>Function attempts to find new local port number that can be used to establish a connection. <p>Definition at line <a class="el" href="udp_8c-source.html#l00684">684</a> of file <a class="el" href="udp_8c-source.html">udp.c</a>.<p>References <a class="el" href="tcp__ip_8h-source.html#l00525">ucb::locport</a>, <a class="el" href="tcp__ip_8h-source.html#l00516">ucb::state</a>, <a class="el" href="tcp__ip_8h-source.html#l00109">UDP_PORTS_END</a>, and <a class="el" href="tcp__ip_8h-source.html#l00258">UDP_STATE_CLOSED</a>.<p>Referenced by <a class="el" href="udp_8c-source.html#l00291">udp_open()</a>. </td> </tr></table><a name="a73" doxytag="tcp_ip.h::process_tcp_out"></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"> INT16 process_tcp_out </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -