smart-green-house/rtt-uart-nb/rt-thread/components/net/uip/doc/html/a00136.html

401 lines
50 KiB
HTML
Raw Permalink Normal View History

2023-10-28 18:00:47 +08:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>uIP 1.0: uip/uip.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.6 -->
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul></div>
<h1>uip/uip.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
Header file for the uIP TCP/IP stack.
<p>
<dl compact><dt><b>Author:</b></dt><dd>Adam Dunkels &lt;<a href="mailto:adam@dunkels.com">adam@dunkels.com</a>&gt;</dd></dl>
The uIP TCP/IP stack header file contains definitions for a number of C macros that are used by uIP programs as well as internal uIP structures, TCP/IP header structures and function declarations.
<p>
Definition in file <a class="el" href="a00202.html">uip.h</a>.
<p>
<code>#include &quot;<a class="el" href="a00206.html">uipopt.h</a>&quot;</code><br>
<p>
<a href="a00202.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html">uip_conn</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Representation of a uIP TCP connection. <a href="a00088.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html">uip_udp_conn</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Representation of a uIP UDP connection. <a href="a00095.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html">uip_stats</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The structure holding the TCP/IP statistics that are gathered if UIP_STATISTICS is set to 1. <a href="a00093.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html">uip_tcpip_hdr</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html">uip_icmpip_hdr</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html">uip_udpip_hdr</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html">uip_eth_addr</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Representation of a 48-bit Ethernet address. <a href="a00089.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#g12b467f314489259dd718228d0827a51">uip_sethostaddr</a>(addr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the IP address of this host. <a href="a00144.html#g12b467f314489259dd718228d0827a51"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#g20bc87e5c063c3f4b01547be6e5a0148">uip_gethostaddr</a>(addr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the IP address of this host. <a href="a00144.html#g20bc87e5c063c3f4b01547be6e5a0148"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#g41d37ea1e3bd24f7b51e9409aceaaa80">uip_setdraddr</a>(addr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the default router's IP address. <a href="a00144.html#g41d37ea1e3bd24f7b51e9409aceaaa80"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#geb79c914cf137e6d27fd7583e5a66679">uip_setnetmask</a>(addr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the netmask. <a href="a00144.html#geb79c914cf137e6d27fd7583e5a66679"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#gd8e8bc9bc0e2ea4a24a8a024fd3a7f7c">uip_getdraddr</a>(addr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the default router's IP address. <a href="a00144.html#gd8e8bc9bc0e2ea4a24a8a024fd3a7f7c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#g5323320b7316647042016f17c4e881be">uip_getnetmask</a>(addr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the netmask. <a href="a00144.html#g5323320b7316647042016f17c4e881be"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#ga4360412ee9350fba725f98a137169fe">uip_input</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process an incoming packet. <a href="a00146.html#ga4360412ee9350fba725f98a137169fe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#g1024f8a5fa65e82bf848b2e6590d9628">uip_periodic</a>(conn)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Periodic processing for a connection identified by its number. <a href="a00146.html#g1024f8a5fa65e82bf848b2e6590d9628"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfd5ebb56a1bd1da9878aa886a2075e80"></a><!-- doxytag: member="uip.h::uip_conn_active" ref="gfd5ebb56a1bd1da9878aa886a2075e80" args="(conn)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gfd5ebb56a1bd1da9878aa886a2075e80">uip_conn_active</a>(conn)&nbsp;&nbsp;&nbsp;(<a class="el" href="a00150.html#gf703683056d2bfa5c81fa157dcb20fe2">uip_conns</a>[conn].tcpstateflags != UIP_CLOSED)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gbaf0bb2b6a4424b4eb69e45e457c2583">uip_periodic_conn</a>(conn)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform periodic processing for a connection identified by a pointer to its structure. <a href="a00146.html#gbaf0bb2b6a4424b4eb69e45e457c2583"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gf20aaf4292cb0d2a1b10bc0a568b51fa">uip_poll_conn</a>(conn)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reuqest that a particular connection should be polled. <a href="a00146.html#gf20aaf4292cb0d2a1b10bc0a568b51fa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#g2c64c8c36bc84f9336f6a2184ea51883">uip_udp_periodic</a>(conn)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Periodic processing for a UDP connection identified by its number. <a href="a00146.html#g2c64c8c36bc84f9336f6a2184ea51883"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gf5c2ad5acf3cc23b8262e9ba6a15136b">uip_udp_periodic_conn</a>(conn)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Periodic processing for a UDP connection identified by a pointer to its structure. <a href="a00146.html#gf5c2ad5acf3cc23b8262e9ba6a15136b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gef14e83c046e19ab9fe9d1bbcca276c2"></a><!-- doxytag: member="uip.h::uip_outstanding" ref="gef14e83c046e19ab9fe9d1bbcca276c2" args="(conn)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gef14e83c046e19ab9fe9d1bbcca276c2">uip_outstanding</a>(conn)&nbsp;&nbsp;&nbsp;((conn)-&gt;len)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g1a1bc437c09ddef238abab41d77c3177">uip_datalen</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The length of any incoming data that is currently avaliable (if avaliable) in the uip_appdata buffer. <a href="a00147.html#g1a1bc437c09ddef238abab41d77c3177"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g8411c95a4d89367ad2d9d6bde1a3d537">uip_urgdatalen</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The length of any out-of-band data (urgent data) that has arrived on the connection. <a href="a00147.html#g8411c95a4d89367ad2d9d6bde1a3d537"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g61db1dcb7c760e4dd5d60bf4e5576dca">uip_close</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the current connection. <a href="a00147.html#g61db1dcb7c760e4dd5d60bf4e5576dca"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g88d2ccf7cd821f89d9a8df7e3948b56c">uip_abort</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abort the current connection. <a href="a00147.html#g88d2ccf7cd821f89d9a8df7e3948b56c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g0a8bb9d6d0f1f56852ccfccbbad6c5d8">uip_stop</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tell the sending host to stop sending data. <a href="a00147.html#g0a8bb9d6d0f1f56852ccfccbbad6c5d8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g64a238a5c02640a7a4aef004163aeb47"></a><!-- doxytag: member="uip.h::uip_stopped" ref="g64a238a5c02640a7a4aef004163aeb47" args="(conn)" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g64a238a5c02640a7a4aef004163aeb47">uip_stopped</a>(conn)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find out if the current connection has been previously stopped with <a class="el" href="a00147.html#g0a8bb9d6d0f1f56852ccfccbbad6c5d8">uip_stop()</a>. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g81ac47cee1c18f6aa479044069db7ca3">uip_restart</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Restart the current connection, if is has previously been stopped with <a class="el" href="a00147.html#g0a8bb9d6d0f1f56852ccfccbbad6c5d8">uip_stop()</a>. <a href="a00147.html#g81ac47cee1c18f6aa479044069db7ca3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ga9de254b8aa308eb4aab17efdde622d2">uip_udpconnection</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is the current connection a UDP connection? <a href="a00147.html#ga9de254b8aa308eb4aab17efdde622d2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g26a14b8dae3f861830af9e7cf1e03725">uip_newdata</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is new incoming data available? <a href="a00147.html#g26a14b8dae3f861830af9e7cf1e03725"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gde6634974418e3240c212b9b16864368">uip_acked</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has previously sent data been acknowledged? <a href="a00147.html#gde6634974418e3240c212b9b16864368"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gdb971fb1525d0c5002f52125b05f3218">uip_connected</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has the connection just been connected? <a href="a00147.html#gdb971fb1525d0c5002f52125b05f3218"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gef6c4140c632b6a406779342cf3b6eb6">uip_closed</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has the connection been closed by the other end? <a href="a00147.html#gef6c4140c632b6a406779342cf3b6eb6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gfbd5fc486dfdf6bf6fc9db52b1f418c4">uip_aborted</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has the connection been aborted by the other end? <a href="a00147.html#gfbd5fc486dfdf6bf6fc9db52b1f418c4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g7b2ac4b18bd2ac3912fe67b3b17158c3">uip_timedout</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Has the connection timed out? <a href="a00147.html#g7b2ac4b18bd2ac3912fe67b3b17158c3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ga8933ad15a2e2947dae4a5cff50e6007">uip_rexmit</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Do we need to retransmit previously data? <a href="a00147.html#ga8933ad15a2e2947dae4a5cff50e6007"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g58bb90796c1cdad3aac2ecf44d87b20e">uip_poll</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is the connection being polled by uIP? <a href="a00147.html#g58bb90796c1cdad3aac2ecf44d87b20e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga87feebc7cffd4d8300e776cf64e4fec"></a><!-- doxytag: member="uip.h::uip_initialmss" ref="ga87feebc7cffd4d8300e776cf64e4fec" args="()" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ga87feebc7cffd4d8300e776cf64e4fec">uip_initialmss</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the initial maxium segment size (MSS) of the current connection. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gb5fecbc62edd128012cea0f47b57ab9f">uip_mss</a>()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current maxium segment size that can be sent on the current connection. <a href="a00147.html#gb5fecbc62edd128012cea0f47b57ab9f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gf2dbaceb10c67783a115075b5b6d66df">uip_udp_remove</a>(conn)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removed a UDP connection. <a href="a00147.html#gf2dbaceb10c67783a115075b5b6d66df"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ga20812098a4663c8a9fc4ce8e95391b6">uip_udp_bind</a>(conn, port)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bind a UDP connection to a local port. <a href="a00147.html#ga20812098a4663c8a9fc4ce8e95391b6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ge5ab69d40013e6cf86ef1763c95d920e">uip_udp_send</a>(len)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a UDP datagram of length len on the current connection. <a href="a00147.html#ge5ab69d40013e6cf86ef1763c95d920e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(addr, addr0, addr1, addr2, addr3)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an IP address from four bytes. <a href="a00148.html#g87f0b54ade0d159fba495089128a4932"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g53fbda0e8c31d4882294c8dc3cb5f487">uip_ip6addr</a>(addr, addr0, addr1, addr2, addr3, addr4, addr5, addr6, addr7)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an IPv6 address from eight 16-bit words. <a href="a00148.html#g53fbda0e8c31d4882294c8dc3cb5f487"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g769512993b7b27271909d6daa4748b60">uip_ipaddr_copy</a>(dest, src)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy an IP address to another IP address. <a href="a00148.html#g769512993b7b27271909d6daa4748b60"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g210e629f7252e4bc8458cbdf260b3318">uip_ipaddr_cmp</a>(addr1, addr2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two IP addresses. <a href="a00148.html#g210e629f7252e4bc8458cbdf260b3318"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g6b16e0bac41821c1fbe0c267071642f0">uip_ipaddr_maskcmp</a>(addr1, addr2, mask)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two IP addresses with netmasks. <a href="a00148.html#g6b16e0bac41821c1fbe0c267071642f0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g969d7fff37a979737da045e0d538a9bd">uip_ipaddr_mask</a>(dest, src, mask)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mask out the network part of an IP address. <a href="a00148.html#g969d7fff37a979737da045e0d538a9bd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g22fa0681cd463191d7a01fe85d86996f">uip_ipaddr1</a>(addr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pick the first octet of an IP address. <a href="a00148.html#g22fa0681cd463191d7a01fe85d86996f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#gffcd2fbe181e2aaefbf970551c302af5">uip_ipaddr2</a>(addr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pick the second octet of an IP address. <a href="a00148.html#gffcd2fbe181e2aaefbf970551c302af5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#ge23534479ead15af8ff08ace26a47fb5">uip_ipaddr3</a>(addr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pick the third octet of an IP address. <a href="a00148.html#ge23534479ead15af8ff08ace26a47fb5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g165b603ec150e26efec7be199c9c2901">uip_ipaddr4</a>(addr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pick the fourth octet of an IP address. <a href="a00148.html#g165b603ec150e26efec7be199c9c2901"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g69a7a4951ff21b302267532c21ee78fc">HTONS</a>(n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert 16-bit quantity from host byte order to network byte order. <a href="a00148.html#g69a7a4951ff21b302267532c21ee78fc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g118e9d76568ab81ad97f138d4ea1ddd2"></a><!-- doxytag: member="uip.h::ntohs" ref="g118e9d76568ab81ad97f138d4ea1ddd2" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g118e9d76568ab81ad97f138d4ea1ddd2">ntohs</a>&nbsp;&nbsp;&nbsp;htons</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6bfa488f87f68a6f7f4a3efb9e45eaf8"></a><!-- doxytag: member="uip.h::UIP_ACKDATA" ref="g6bfa488f87f68a6f7f4a3efb9e45eaf8" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g6bfa488f87f68a6f7f4a3efb9e45eaf8">UIP_ACKDATA</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g39ce739bd352d7e348e37395ce903e43"></a><!-- doxytag: member="uip.h::UIP_NEWDATA" ref="g39ce739bd352d7e348e37395ce903e43" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g39ce739bd352d7e348e37395ce903e43">UIP_NEWDATA</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf848ce44c810492e7a35c2d23a429f45"></a><!-- doxytag: member="uip.h::UIP_REXMIT" ref="gf848ce44c810492e7a35c2d23a429f45" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf848ce44c810492e7a35c2d23a429f45">UIP_REXMIT</a>&nbsp;&nbsp;&nbsp;4</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf0ed78fd2be24d849cdd5af75e3b2674"></a><!-- doxytag: member="uip.h::UIP_POLL" ref="gf0ed78fd2be24d849cdd5af75e3b2674" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf0ed78fd2be24d849cdd5af75e3b2674">UIP_POLL</a>&nbsp;&nbsp;&nbsp;8</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g57e6dc1d58a36d0ed53a3dd29ccc5798"></a><!-- doxytag: member="uip.h::UIP_CLOSE" ref="g57e6dc1d58a36d0ed53a3dd29ccc5798" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g57e6dc1d58a36d0ed53a3dd29ccc5798">UIP_CLOSE</a>&nbsp;&nbsp;&nbsp;16</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga4c4310e54f18541b09e1e251fe7b22d"></a><!-- doxytag: member="uip.h::UIP_ABORT" ref="ga4c4310e54f18541b09e1e251fe7b22d" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ga4c4310e54f18541b09e1e251fe7b22d">UIP_ABORT</a>&nbsp;&nbsp;&nbsp;32</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf84316f469ce0726985c0702db49a989"></a><!-- doxytag: member="uip.h::UIP_CONNECTED" ref="gf84316f469ce0726985c0702db49a989" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf84316f469ce0726985c0702db49a989">UIP_CONNECTED</a>&nbsp;&nbsp;&nbsp;64</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2d3ba4b14d6d2f6576f9b547800b7945"></a><!-- doxytag: member="uip.h::UIP_TIMEDOUT" ref="g2d3ba4b14d6d2f6576f9b547800b7945" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g2d3ba4b14d6d2f6576f9b547800b7945">UIP_TIMEDOUT</a>&nbsp;&nbsp;&nbsp;128</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gabc40c09f49d15acb1b1a7f02bb3a807"></a><!-- doxytag: member="uip.h::UIP_DATA" ref="gabc40c09f49d15acb1b1a7f02bb3a807" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gabc40c09f49d15acb1b1a7f02bb3a807">UIP_DATA</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g041aea91aa6ef84dcc6cac3c51db9b2f"></a><!-- doxytag: member="uip.h::UIP_TIMER" ref="g041aea91aa6ef84dcc6cac3c51db9b2f" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g041aea91aa6ef84dcc6cac3c51db9b2f">UIP_TIMER</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd605357e29affb0d3104294c90f09905"></a><!-- doxytag: member="uip.h::UIP_POLL_REQUEST" ref="gd605357e29affb0d3104294c90f09905" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gd605357e29affb0d3104294c90f09905">UIP_POLL_REQUEST</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5c97ae587595b5444be80f5ecc1d3382"></a><!-- doxytag: member="uip.h::UIP_UDP_SEND_CONN" ref="g5c97ae587595b5444be80f5ecc1d3382" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g5c97ae587595b5444be80f5ecc1d3382">UIP_UDP_SEND_CONN</a>&nbsp;&nbsp;&nbsp;4</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf0ccbc3bb2a3ba1ebc255c7b3fcedd24"></a><!-- doxytag: member="uip.h::UIP_UDP_TIMER" ref="gf0ccbc3bb2a3ba1ebc255c7b3fcedd24" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf0ccbc3bb2a3ba1ebc255c7b3fcedd24">UIP_UDP_TIMER</a>&nbsp;&nbsp;&nbsp;5</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g28eda870cff3d8e3cf2949e6f57a502b"></a><!-- doxytag: member="uip.h::UIP_CLOSED" ref="g28eda870cff3d8e3cf2949e6f57a502b" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g28eda870cff3d8e3cf2949e6f57a502b">UIP_CLOSED</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga5e3c856b86725125d19fccc34cd9eb5"></a><!-- doxytag: member="uip.h::UIP_SYN_RCVD" ref="ga5e3c856b86725125d19fccc34cd9eb5" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ga5e3c856b86725125d19fccc34cd9eb5">UIP_SYN_RCVD</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8af482dec973db57d8b3bd3f69461488"></a><!-- doxytag: member="uip.h::UIP_SYN_SENT" ref="g8af482dec973db57d8b3bd3f69461488" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g8af482dec973db57d8b3bd3f69461488">UIP_SYN_SENT</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gae59b70658f28ee6e998eaaab05e423f"></a><!-- doxytag: member="uip.h::UIP_ESTABLISHED" ref="gae59b70658f28ee6e998eaaab05e423f" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gae59b70658f28ee6e998eaaab05e423f">UIP_ESTABLISHED</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga533c394b1fa0030205534befa31c525"></a><!-- doxytag: member="uip.h::UIP_FIN_WAIT_1" ref="ga533c394b1fa0030205534befa31c525" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ga533c394b1fa0030205534befa31c525">UIP_FIN_WAIT_1</a>&nbsp;&nbsp;&nbsp;4</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g160128ab5d2ea3cc497b91ee4eb4ef99"></a><!-- doxytag: member="uip.h::UIP_FIN_WAIT_2" ref="g160128ab5d2ea3cc497b91ee4eb4ef99" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g160128ab5d2ea3cc497b91ee4eb4ef99">UIP_FIN_WAIT_2</a>&nbsp;&nbsp;&nbsp;5</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g64d9affc680a445d708234e70450477b"></a><!-- doxytag: member="uip.h::UIP_CLOSING" ref="g64d9affc680a445d708234e70450477b" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g64d9affc680a445d708234e70450477b">UIP_CLOSING</a>&nbsp;&nbsp;&nbsp;6</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfff0ed43201bf1e2020de1a0d6cac070"></a><!-- doxytag: member="uip.h::UIP_TIME_WAIT" ref="gfff0ed43201bf1e2020de1a0d6cac070" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gfff0ed43201bf1e2020de1a0d6cac070">UIP_TIME_WAIT</a>&nbsp;&nbsp;&nbsp;7</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd135fb0cfdfb2c212f0f51865a3640e4"></a><!-- doxytag: member="uip.h::UIP_LAST_ACK" ref="gd135fb0cfdfb2c212f0f51865a3640e4" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gd135fb0cfdfb2c212f0f51865a3640e4">UIP_LAST_ACK</a>&nbsp;&nbsp;&nbsp;8</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g13dfcb4a5f920e108253ade527a66cc2"></a><!-- doxytag: member="uip.h::UIP_TS_MASK" ref="g13dfcb4a5f920e108253ade527a66cc2" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g13dfcb4a5f920e108253ade527a66cc2">UIP_TS_MASK</a>&nbsp;&nbsp;&nbsp;15</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gde29ec025e6754afd8cc24c954a8dec8"></a><!-- doxytag: member="uip.h::UIP_STOPPED" ref="gde29ec025e6754afd8cc24c954a8dec8" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gde29ec025e6754afd8cc24c954a8dec8">UIP_STOPPED</a>&nbsp;&nbsp;&nbsp;16</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ge0825474feee11b4e038bfe71757875f">UIP_APPDATA_SIZE</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The buffer size available for user data in the <a class="el" href="a00150.html#gb81e78f890dbbee50c533a9734b74fd9">uip_buf</a> buffer. <a href="a00150.html#ge0825474feee11b4e038bfe71757875f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g359951eecd80541c2101f628a9da9146"></a><!-- doxytag: member="uip.h::UIP_PROTO_ICMP" ref="g359951eecd80541c2101f628a9da9146" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g359951eecd80541c2101f628a9da9146">UIP_PROTO_ICMP</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g517c770991459cc62dc009c0d3875c6a"></a><!-- doxytag: member="uip.h::UIP_PROTO_TCP" ref="g517c770991459cc62dc009c0d3875c6a" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g517c770991459cc62dc009c0d3875c6a">UIP_PROTO_TCP</a>&nbsp;&nbsp;&nbsp;6</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf72d7b9a737707dcfb2c41fec2b6792e"></a><!-- doxytag: member="uip.h::UIP_PROTO_UDP" ref="gf72d7b9a737707dcfb2c41fec2b6792e" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf72d7b9a737707dcfb2c41fec2b6792e">UIP_PROTO_UDP</a>&nbsp;&nbsp;&nbsp;17</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gad0321f4c570f9983c6de81ece3ddc20"></a><!-- doxytag: member="uip.h::UIP_PROTO_ICMP6" ref="gad0321f4c570f9983c6de81ece3ddc20" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gad0321f4c570f9983c6de81ece3ddc20">UIP_PROTO_ICMP6</a>&nbsp;&nbsp;&nbsp;58</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6bc12c6c7b56f73ce5d57abfdcdc6eb5"></a><!-- doxytag: member="uip.h::UIP_IPH_LEN" ref="g6bc12c6c7b56f73ce5d57abfdcdc6eb5" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g6bc12c6c7b56f73ce5d57abfdcdc6eb5">UIP_IPH_LEN</a>&nbsp;&nbsp;&nbsp;20</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb948296aea6b6b3aa1f156799c4d479c"></a><!-- doxytag: member="uip.h::UIP_UDPH_LEN" ref="gb948296aea6b6b3aa1f156799c4d479c" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gb948296aea6b6b3aa1f156799c4d479c">UIP_UDPH_LEN</a>&nbsp;&nbsp;&nbsp;8</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g17d111686f98e4c09db73a770ac3f1a4"></a><!-- doxytag: member="uip.h::UIP_TCPH_LEN" ref="g17d111686f98e4c09db73a770ac3f1a4" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g17d111686f98e4c09db73a770ac3f1a4">UIP_TCPH_LEN</a>&nbsp;&nbsp;&nbsp;20</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6f2b90c597ec23f39ec716ccec11233c"></a><!-- doxytag: member="uip.h::UIP_IPUDPH_LEN" ref="g6f2b90c597ec23f39ec716ccec11233c" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g6f2b90c597ec23f39ec716ccec11233c">UIP_IPUDPH_LEN</a>&nbsp;&nbsp;&nbsp;(UIP_UDPH_LEN + UIP_IPH_LEN)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g15f2617f7dc1713f9d10282125c6027b"></a><!-- doxytag: member="uip.h::UIP_IPTCPH_LEN" ref="g15f2617f7dc1713f9d10282125c6027b" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g15f2617f7dc1713f9d10282125c6027b">UIP_IPTCPH_LEN</a>&nbsp;&nbsp;&nbsp;(UIP_TCPH_LEN + UIP_IPH_LEN)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gee37386b2ab828787c05227eb109def7"></a><!-- doxytag: member="uip.h::UIP_TCPIP_HLEN" ref="gee37386b2ab828787c05227eb109def7" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gee37386b2ab828787c05227eb109def7">UIP_TCPIP_HLEN</a>&nbsp;&nbsp;&nbsp;UIP_IPTCPH_LEN</td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g20ceef9d0868d391c2f33041b02cb1f1"></a><!-- doxytag: member="uip.h::uip_ip4addr_t" ref="g20ceef9d0868d391c2f33041b02cb1f1" args="[2]" -->
typedef <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g20ceef9d0868d391c2f33041b02cb1f1">uip_ip4addr_t</a> [2]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Repressentation of an IP address. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9ebb4dac683163840eab9c6c41ad61f7"></a><!-- doxytag: member="uip.h::uip_ip6addr_t" ref="g9ebb4dac683163840eab9c6c41ad61f7" args="[8]" -->
typedef <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g9ebb4dac683163840eab9c6c41ad61f7">uip_ip6addr_t</a> [8]</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1ef35301f43a5bbb9f89f07b5a36b9a0"></a><!-- doxytag: member="uip.h::uip_ipaddr_t" ref="g1ef35301f43a5bbb9f89f07b5a36b9a0" args="" -->
typedef <a class="el" href="a00150.html#g20ceef9d0868d391c2f33041b02cb1f1">uip_ip4addr_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00145.html#gc48ed5f0d27721ef62a3ed02a5ad8d2e">uip_init</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">uIP initialization function. <a href="a00145.html#gc48ed5f0d27721ef62a3ed02a5ad8d2e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00145.html#g22f140b02c354dfebcc7ad481c3bcd68">uip_setipid</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> id)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">uIP initialization function. <a href="a00145.html#g22f140b02c354dfebcc7ad481c3bcd68"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gdd1ab3704ecd4900eec61a6897d32dc8">uip_listen</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> port)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start listening to the specified port. <a href="a00147.html#gdd1ab3704ecd4900eec61a6897d32dc8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gaa585784b0914cac1d37f07f85457008">uip_unlisten</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> port)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop listening to the specified port. <a href="a00147.html#gaa585784b0914cac1d37f07f85457008"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00088.html">uip_conn</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g8096b0c4b543dc408f4dd031ddae7240">uip_connect</a> (<a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> *ripaddr, <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> port)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connect to a remote host using TCP. <a href="a00147.html#g8096b0c4b543dc408f4dd031ddae7240"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g04b053a623aac7cd4195157d470661b3">uip_send</a> (const void *data, int len)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send data on the current connection. <a href="a00147.html#g04b053a623aac7cd4195157d470661b3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00095.html">uip_udp_conn</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g79c4110211247df3fb30b8cf1c4c02af">uip_udp_new</a> (<a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> *ripaddr, <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> rport)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up a new UDP connection. <a href="a00147.html#g79c4110211247df3fb30b8cf1c4c02af"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#ga22b04cac8cf283ca12f028578bebc06">htons</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert 16-bit quantity from host byte order to network byte order. <a href="a00148.html#ga22b04cac8cf283ca12f028578bebc06"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g266263ac78a1361a2b1d15741d3b0675"></a><!-- doxytag: member="uip.h::uip_process" ref="g266263ac78a1361a2b1d15741d3b0675" args="(u8_t flag)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g266263ac78a1361a2b1d15741d3b0675">uip_process</a> (<a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> flag)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gb6683dd83fe1c8de9a24086d4b69e907">uip_chksum</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> *buf, <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> len)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the Internet checksum over a buffer. <a href="a00150.html#gb6683dd83fe1c8de9a24086d4b69e907"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g2addf34c7d457c1a7899a7e2171ef1e9">uip_ipchksum</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the IP header checksum of the packet header in uip_buf. <a href="a00150.html#g2addf34c7d457c1a7899a7e2171ef1e9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g85b65e38aa74eba18979156f97a94a87">uip_tcpchksum</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the TCP checksum of the packet in uip_buf and uip_appdata. <a href="a00150.html#g85b65e38aa74eba18979156f97a94a87"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g7023a34ba9e9d03b5fbedbcb32924453">uip_udpchksum</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculate the UDP checksum of the packet in uip_buf and uip_appdata. <a href="a00150.html#g7023a34ba9e9d03b5fbedbcb32924453"></a><br></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="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gb81e78f890dbbee50c533a9734b74fd9">uip_buf</a> [UIP_BUFSIZE+2]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The uIP packet buffer. <a href="a00146.html#gb81e78f890dbbee50c533a9734b74fd9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g561b8eda32e059d4e7397f776268cc63">uip_appdata</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to the application data in the packet buffer. <a href="a00150.html#g561b8eda32e059d4e7397f776268cc63"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#g12a33f0c09711167bdf3dd7d7cf8c5a1">uip_len</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The length of the packet in the uip_buf buffer. <a href="a00149.html#g12a33f0c09711167bdf3dd7d7cf8c5a1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00088.html">uip_conn</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g788ffac72342f6172343d7f8099cbe1a">uip_conn</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to the current TCP connection. <a href="a00150.html#g788ffac72342f6172343d7f8099cbe1a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf703683056d2bfa5c81fa157dcb20fe2"></a><!-- doxytag: member="uip.h::uip_conns" ref="gf703683056d2bfa5c81fa157dcb20fe2" args="[UIP_CONNS]" -->
<a class="el" href="a00088.html">uip_conn</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf703683056d2bfa5c81fa157dcb20fe2">uip_conns</a> [UIP_CONNS]</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2a0cf5d86c58fab216414ce59bf1fea1"></a><!-- doxytag: member="uip.h::uip_acc32" ref="g2a0cf5d86c58fab216414ce59bf1fea1" args="[4]" -->
<a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#g2a0cf5d86c58fab216414ce59bf1fea1">uip_acc32</a> [4]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">4-byte array used for the 32-bit sequence number calculations. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g210f227119fc972e6222c9cb452e15a9"></a><!-- doxytag: member="uip.h::uip_udp_conn" ref="g210f227119fc972e6222c9cb452e15a9" args="" -->
<a class="el" href="a00095.html">uip_udp_conn</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g210f227119fc972e6222c9cb452e15a9">uip_udp_conn</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The current UDP connection. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="geb533744817cf6695d75293369c2248b"></a><!-- doxytag: member="uip.h::uip_udp_conns" ref="geb533744817cf6695d75293369c2248b" args="[UIP_UDP_CONNS]" -->
<a class="el" href="a00095.html">uip_udp_conn</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#geb533744817cf6695d75293369c2248b">uip_udp_conns</a> [UIP_UDP_CONNS]</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00093.html">uip_stats</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g9ee50a40597e67fce96541ab56c3b712">uip_stat</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The uIP TCP/IP statistics. <a href="a00150.html#g9ee50a40597e67fce96541ab56c3b712"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb4ef6b00924990e7a293f66715b6d1d1"></a><!-- doxytag: member="uip.h::uip_flags" ref="gb4ef6b00924990e7a293f66715b6d1d1" args="" -->
<a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gb4ef6b00924990e7a293f66715b6d1d1">uip_flags</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7d3673f52f5846b6961d23b150decd54"></a><!-- doxytag: member="uip.h::uip_hostaddr" ref="g7d3673f52f5846b6961d23b150decd54" args="" -->
<a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g7d3673f52f5846b6961d23b150decd54">uip_hostaddr</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3237be0d9ec457de0177689ee23c0d5c"></a><!-- doxytag: member="uip.h::uip_netmask" ref="g3237be0d9ec457de0177689ee23c0d5c" args="" -->
<a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g3237be0d9ec457de0177689ee23c0d5c">uip_netmask</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g20df5c82f2a15a508c19e505b5d9de2b"></a><!-- doxytag: member="uip.h::uip_draddr" ref="g20df5c82f2a15a508c19e505b5d9de2b" args="" -->
<a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g20df5c82f2a15a508c19e505b5d9de2b">uip_draddr</a></td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 12 10:23:01 2006 for uIP 1.0 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
</body>
</html>