1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3<title>uIP 1.0: uip/uip.h File Reference</title> 4<link href="doxygen.css" rel="stylesheet" type="text/css"> 5<link href="tabs.css" rel="stylesheet" type="text/css"> 6</head><body> 7<!-- Generated by Doxygen 1.4.6 --> 8<div class="tabs"> 9 <ul> 10 <li><a href="main.html"><span>Main Page</span></a></li> 11 <li><a href="modules.html"><span>Modules</span></a></li> 12 <li><a href="classes.html"><span>Data Structures</span></a></li> 13 <li id="current"><a href="files.html"><span>Files</span></a></li> 14 <li><a href="examples.html"><span>Examples</span></a></li> 15 </ul></div> 16<div class="tabs"> 17 <ul> 18 <li><a href="files.html"><span>File List</span></a></li> 19 <li><a href="globals.html"><span>Globals</span></a></li> 20 </ul></div> 21<h1>uip/uip.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2> 22Header file for the uIP TCP/IP stack. 23<p> 24<dl compact><dt><b>Author:</b></dt><dd>Adam Dunkels <<a href="mailto:[email protected]">[email protected]</a>></dd></dl> 25The 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. 26<p> 27Definition in file <a class="el" href="a00202.html">uip.h</a>. 28<p> 29<code>#include "<a class="el" href="a00206.html">uipopt.h</a>"</code><br> 30 31<p> 32<a href="a00202.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> 33<tr><td></td></tr> 34<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> 35<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html">uip_conn</a></td></tr> 36 37<tr><td class="mdescLeft"> </td><td class="mdescRight">Representation of a uIP TCP connection. <a href="a00088.html#_details">More...</a><br></td></tr> 38<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html">uip_udp_conn</a></td></tr> 39 40<tr><td class="mdescLeft"> </td><td class="mdescRight">Representation of a uIP UDP connection. <a href="a00095.html#_details">More...</a><br></td></tr> 41<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html">uip_stats</a></td></tr> 42 43<tr><td class="mdescLeft"> </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> 44<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html">uip_tcpip_hdr</a></td></tr> 45 46<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html">uip_icmpip_hdr</a></td></tr> 47 48<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html">uip_udpip_hdr</a></td></tr> 49 50<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html">uip_eth_addr</a></td></tr> 51 52<tr><td class="mdescLeft"> </td><td class="mdescRight">Representation of a 48-bit Ethernet address. <a href="a00089.html#_details">More...</a><br></td></tr> 53<tr><td colspan="2"><br><h2>Defines</h2></td></tr> 54<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#g12b467f314489259dd718228d0827a51">uip_sethostaddr</a>(addr)</td></tr> 55 56<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the IP address of this host. <a href="a00144.html#g12b467f314489259dd718228d0827a51"></a><br></td></tr> 57<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#g20bc87e5c063c3f4b01547be6e5a0148">uip_gethostaddr</a>(addr)</td></tr> 58 59<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the IP address of this host. <a href="a00144.html#g20bc87e5c063c3f4b01547be6e5a0148"></a><br></td></tr> 60<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#g41d37ea1e3bd24f7b51e9409aceaaa80">uip_setdraddr</a>(addr)</td></tr> 61 62<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the default router's IP address. <a href="a00144.html#g41d37ea1e3bd24f7b51e9409aceaaa80"></a><br></td></tr> 63<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#geb79c914cf137e6d27fd7583e5a66679">uip_setnetmask</a>(addr)</td></tr> 64 65<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the netmask. <a href="a00144.html#geb79c914cf137e6d27fd7583e5a66679"></a><br></td></tr> 66<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#gd8e8bc9bc0e2ea4a24a8a024fd3a7f7c">uip_getdraddr</a>(addr)</td></tr> 67 68<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the default router's IP address. <a href="a00144.html#gd8e8bc9bc0e2ea4a24a8a024fd3a7f7c"></a><br></td></tr> 69<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#g5323320b7316647042016f17c4e881be">uip_getnetmask</a>(addr)</td></tr> 70 71<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the netmask. <a href="a00144.html#g5323320b7316647042016f17c4e881be"></a><br></td></tr> 72<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#ga4360412ee9350fba725f98a137169fe">uip_input</a>()</td></tr> 73 74<tr><td class="mdescLeft"> </td><td class="mdescRight">Process an incoming packet. <a href="a00146.html#ga4360412ee9350fba725f98a137169fe"></a><br></td></tr> 75<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#g1024f8a5fa65e82bf848b2e6590d9628">uip_periodic</a>(conn)</td></tr> 76 77<tr><td class="mdescLeft"> </td><td class="mdescRight">Periodic processing for a connection identified by its number. <a href="a00146.html#g1024f8a5fa65e82bf848b2e6590d9628"></a><br></td></tr> 78<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)" --> 79#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gfd5ebb56a1bd1da9878aa886a2075e80">uip_conn_active</a>(conn) (<a class="el" href="a00150.html#gf703683056d2bfa5c81fa157dcb20fe2">uip_conns</a>[conn].tcpstateflags != UIP_CLOSED)</td></tr> 80 81<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gbaf0bb2b6a4424b4eb69e45e457c2583">uip_periodic_conn</a>(conn)</td></tr> 82 83<tr><td class="mdescLeft"> </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> 84<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gf20aaf4292cb0d2a1b10bc0a568b51fa">uip_poll_conn</a>(conn)</td></tr> 85 86<tr><td class="mdescLeft"> </td><td class="mdescRight">Reuqest that a particular connection should be polled. <a href="a00146.html#gf20aaf4292cb0d2a1b10bc0a568b51fa"></a><br></td></tr> 87<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#g2c64c8c36bc84f9336f6a2184ea51883">uip_udp_periodic</a>(conn)</td></tr> 88 89<tr><td class="mdescLeft"> </td><td class="mdescRight">Periodic processing for a UDP connection identified by its number. <a href="a00146.html#g2c64c8c36bc84f9336f6a2184ea51883"></a><br></td></tr> 90<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gf5c2ad5acf3cc23b8262e9ba6a15136b">uip_udp_periodic_conn</a>(conn)</td></tr> 91 92<tr><td class="mdescLeft"> </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> 93<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)" --> 94#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gef14e83c046e19ab9fe9d1bbcca276c2">uip_outstanding</a>(conn) ((conn)->len)</td></tr> 95 96<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g1a1bc437c09ddef238abab41d77c3177">uip_datalen</a>()</td></tr> 97 98<tr><td class="mdescLeft"> </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> 99<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g8411c95a4d89367ad2d9d6bde1a3d537">uip_urgdatalen</a>()</td></tr> 100 101<tr><td class="mdescLeft"> </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> 102<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g61db1dcb7c760e4dd5d60bf4e5576dca">uip_close</a>()</td></tr> 103 104<tr><td class="mdescLeft"> </td><td class="mdescRight">Close the current connection. <a href="a00147.html#g61db1dcb7c760e4dd5d60bf4e5576dca"></a><br></td></tr> 105<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g88d2ccf7cd821f89d9a8df7e3948b56c">uip_abort</a>()</td></tr> 106 107<tr><td class="mdescLeft"> </td><td class="mdescRight">Abort the current connection. <a href="a00147.html#g88d2ccf7cd821f89d9a8df7e3948b56c"></a><br></td></tr> 108<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g0a8bb9d6d0f1f56852ccfccbbad6c5d8">uip_stop</a>()</td></tr> 109 110<tr><td class="mdescLeft"> </td><td class="mdescRight">Tell the sending host to stop sending data. <a href="a00147.html#g0a8bb9d6d0f1f56852ccfccbbad6c5d8"></a><br></td></tr> 111<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)" --> 112#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g64a238a5c02640a7a4aef004163aeb47">uip_stopped</a>(conn)</td></tr> 113 114<tr><td class="mdescLeft"> </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> 115<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g81ac47cee1c18f6aa479044069db7ca3">uip_restart</a>()</td></tr> 116 117<tr><td class="mdescLeft"> </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> 118<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ga9de254b8aa308eb4aab17efdde622d2">uip_udpconnection</a>()</td></tr> 119 120<tr><td class="mdescLeft"> </td><td class="mdescRight">Is the current connection a UDP connection? <a href="a00147.html#ga9de254b8aa308eb4aab17efdde622d2"></a><br></td></tr> 121<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g26a14b8dae3f861830af9e7cf1e03725">uip_newdata</a>()</td></tr> 122 123<tr><td class="mdescLeft"> </td><td class="mdescRight">Is new incoming data available? <a href="a00147.html#g26a14b8dae3f861830af9e7cf1e03725"></a><br></td></tr> 124<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gde6634974418e3240c212b9b16864368">uip_acked</a>()</td></tr> 125 126<tr><td class="mdescLeft"> </td><td class="mdescRight">Has previously sent data been acknowledged? <a href="a00147.html#gde6634974418e3240c212b9b16864368"></a><br></td></tr> 127<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gdb971fb1525d0c5002f52125b05f3218">uip_connected</a>()</td></tr> 128 129<tr><td class="mdescLeft"> </td><td class="mdescRight">Has the connection just been connected? <a href="a00147.html#gdb971fb1525d0c5002f52125b05f3218"></a><br></td></tr> 130<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gef6c4140c632b6a406779342cf3b6eb6">uip_closed</a>()</td></tr> 131 132<tr><td class="mdescLeft"> </td><td class="mdescRight">Has the connection been closed by the other end? <a href="a00147.html#gef6c4140c632b6a406779342cf3b6eb6"></a><br></td></tr> 133<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gfbd5fc486dfdf6bf6fc9db52b1f418c4">uip_aborted</a>()</td></tr> 134 135<tr><td class="mdescLeft"> </td><td class="mdescRight">Has the connection been aborted by the other end? <a href="a00147.html#gfbd5fc486dfdf6bf6fc9db52b1f418c4"></a><br></td></tr> 136<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g7b2ac4b18bd2ac3912fe67b3b17158c3">uip_timedout</a>()</td></tr> 137 138<tr><td class="mdescLeft"> </td><td class="mdescRight">Has the connection timed out? <a href="a00147.html#g7b2ac4b18bd2ac3912fe67b3b17158c3"></a><br></td></tr> 139<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ga8933ad15a2e2947dae4a5cff50e6007">uip_rexmit</a>()</td></tr> 140 141<tr><td class="mdescLeft"> </td><td class="mdescRight">Do we need to retransmit previously data? <a href="a00147.html#ga8933ad15a2e2947dae4a5cff50e6007"></a><br></td></tr> 142<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g58bb90796c1cdad3aac2ecf44d87b20e">uip_poll</a>()</td></tr> 143 144<tr><td class="mdescLeft"> </td><td class="mdescRight">Is the connection being polled by uIP? <a href="a00147.html#g58bb90796c1cdad3aac2ecf44d87b20e"></a><br></td></tr> 145<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga87feebc7cffd4d8300e776cf64e4fec"></a><!-- doxytag: member="uip.h::uip_initialmss" ref="ga87feebc7cffd4d8300e776cf64e4fec" args="()" --> 146#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ga87feebc7cffd4d8300e776cf64e4fec">uip_initialmss</a>()</td></tr> 147 148<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the initial maxium segment size (MSS) of the current connection. <br></td></tr> 149<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gb5fecbc62edd128012cea0f47b57ab9f">uip_mss</a>()</td></tr> 150 151<tr><td class="mdescLeft"> </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> 152<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#gf2dbaceb10c67783a115075b5b6d66df">uip_udp_remove</a>(conn)</td></tr> 153 154<tr><td class="mdescLeft"> </td><td class="mdescRight">Removed a UDP connection. <a href="a00147.html#gf2dbaceb10c67783a115075b5b6d66df"></a><br></td></tr> 155<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ga20812098a4663c8a9fc4ce8e95391b6">uip_udp_bind</a>(conn, port)</td></tr> 156 157<tr><td class="mdescLeft"> </td><td class="mdescRight">Bind a UDP connection to a local port. <a href="a00147.html#ga20812098a4663c8a9fc4ce8e95391b6"></a><br></td></tr> 158<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#ge5ab69d40013e6cf86ef1763c95d920e">uip_udp_send</a>(len)</td></tr> 159 160<tr><td class="mdescLeft"> </td><td class="mdescRight">Send a UDP datagram of length len on the current connection. <a href="a00147.html#ge5ab69d40013e6cf86ef1763c95d920e"></a><br></td></tr> 161<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g87f0b54ade0d159fba495089128a4932">uip_ipaddr</a>(addr, addr0, addr1, addr2, addr3)</td></tr> 162 163<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct an IP address from four bytes. <a href="a00148.html#g87f0b54ade0d159fba495089128a4932"></a><br></td></tr> 164<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </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> 165 166<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct an IPv6 address from eight 16-bit words. <a href="a00148.html#g53fbda0e8c31d4882294c8dc3cb5f487"></a><br></td></tr> 167<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g769512993b7b27271909d6daa4748b60">uip_ipaddr_copy</a>(dest, src)</td></tr> 168 169<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy an IP address to another IP address. <a href="a00148.html#g769512993b7b27271909d6daa4748b60"></a><br></td></tr> 170<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g210e629f7252e4bc8458cbdf260b3318">uip_ipaddr_cmp</a>(addr1, addr2)</td></tr> 171 172<tr><td class="mdescLeft"> </td><td class="mdescRight">Compare two IP addresses. <a href="a00148.html#g210e629f7252e4bc8458cbdf260b3318"></a><br></td></tr> 173<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g6b16e0bac41821c1fbe0c267071642f0">uip_ipaddr_maskcmp</a>(addr1, addr2, mask)</td></tr> 174 175<tr><td class="mdescLeft"> </td><td class="mdescRight">Compare two IP addresses with netmasks. <a href="a00148.html#g6b16e0bac41821c1fbe0c267071642f0"></a><br></td></tr> 176<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g969d7fff37a979737da045e0d538a9bd">uip_ipaddr_mask</a>(dest, src, mask)</td></tr> 177 178<tr><td class="mdescLeft"> </td><td class="mdescRight">Mask out the network part of an IP address. <a href="a00148.html#g969d7fff37a979737da045e0d538a9bd"></a><br></td></tr> 179<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g22fa0681cd463191d7a01fe85d86996f">uip_ipaddr1</a>(addr)</td></tr> 180 181<tr><td class="mdescLeft"> </td><td class="mdescRight">Pick the first octet of an IP address. <a href="a00148.html#g22fa0681cd463191d7a01fe85d86996f"></a><br></td></tr> 182<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#gffcd2fbe181e2aaefbf970551c302af5">uip_ipaddr2</a>(addr)</td></tr> 183 184<tr><td class="mdescLeft"> </td><td class="mdescRight">Pick the second octet of an IP address. <a href="a00148.html#gffcd2fbe181e2aaefbf970551c302af5"></a><br></td></tr> 185<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#ge23534479ead15af8ff08ace26a47fb5">uip_ipaddr3</a>(addr)</td></tr> 186 187<tr><td class="mdescLeft"> </td><td class="mdescRight">Pick the third octet of an IP address. <a href="a00148.html#ge23534479ead15af8ff08ace26a47fb5"></a><br></td></tr> 188<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g165b603ec150e26efec7be199c9c2901">uip_ipaddr4</a>(addr)</td></tr> 189 190<tr><td class="mdescLeft"> </td><td class="mdescRight">Pick the fourth octet of an IP address. <a href="a00148.html#g165b603ec150e26efec7be199c9c2901"></a><br></td></tr> 191<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g69a7a4951ff21b302267532c21ee78fc">HTONS</a>(n)</td></tr> 192 193<tr><td class="mdescLeft"> </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> 194<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g118e9d76568ab81ad97f138d4ea1ddd2"></a><!-- doxytag: member="uip.h::ntohs" ref="g118e9d76568ab81ad97f138d4ea1ddd2" args="" --> 195#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html#g118e9d76568ab81ad97f138d4ea1ddd2">ntohs</a> htons</td></tr> 196 197<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6bfa488f87f68a6f7f4a3efb9e45eaf8"></a><!-- doxytag: member="uip.h::UIP_ACKDATA" ref="g6bfa488f87f68a6f7f4a3efb9e45eaf8" args="" --> 198#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g6bfa488f87f68a6f7f4a3efb9e45eaf8">UIP_ACKDATA</a> 1</td></tr> 199 200<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g39ce739bd352d7e348e37395ce903e43"></a><!-- doxytag: member="uip.h::UIP_NEWDATA" ref="g39ce739bd352d7e348e37395ce903e43" args="" --> 201#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g39ce739bd352d7e348e37395ce903e43">UIP_NEWDATA</a> 2</td></tr> 202 203<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf848ce44c810492e7a35c2d23a429f45"></a><!-- doxytag: member="uip.h::UIP_REXMIT" ref="gf848ce44c810492e7a35c2d23a429f45" args="" --> 204#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf848ce44c810492e7a35c2d23a429f45">UIP_REXMIT</a> 4</td></tr> 205 206<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf0ed78fd2be24d849cdd5af75e3b2674"></a><!-- doxytag: member="uip.h::UIP_POLL" ref="gf0ed78fd2be24d849cdd5af75e3b2674" args="" --> 207#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf0ed78fd2be24d849cdd5af75e3b2674">UIP_POLL</a> 8</td></tr> 208 209<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g57e6dc1d58a36d0ed53a3dd29ccc5798"></a><!-- doxytag: member="uip.h::UIP_CLOSE" ref="g57e6dc1d58a36d0ed53a3dd29ccc5798" args="" --> 210#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g57e6dc1d58a36d0ed53a3dd29ccc5798">UIP_CLOSE</a> 16</td></tr> 211 212<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga4c4310e54f18541b09e1e251fe7b22d"></a><!-- doxytag: member="uip.h::UIP_ABORT" ref="ga4c4310e54f18541b09e1e251fe7b22d" args="" --> 213#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ga4c4310e54f18541b09e1e251fe7b22d">UIP_ABORT</a> 32</td></tr> 214 215<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf84316f469ce0726985c0702db49a989"></a><!-- doxytag: member="uip.h::UIP_CONNECTED" ref="gf84316f469ce0726985c0702db49a989" args="" --> 216#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf84316f469ce0726985c0702db49a989">UIP_CONNECTED</a> 64</td></tr> 217 218<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2d3ba4b14d6d2f6576f9b547800b7945"></a><!-- doxytag: member="uip.h::UIP_TIMEDOUT" ref="g2d3ba4b14d6d2f6576f9b547800b7945" args="" --> 219#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g2d3ba4b14d6d2f6576f9b547800b7945">UIP_TIMEDOUT</a> 128</td></tr> 220 221<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gabc40c09f49d15acb1b1a7f02bb3a807"></a><!-- doxytag: member="uip.h::UIP_DATA" ref="gabc40c09f49d15acb1b1a7f02bb3a807" args="" --> 222#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gabc40c09f49d15acb1b1a7f02bb3a807">UIP_DATA</a> 1</td></tr> 223 224<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g041aea91aa6ef84dcc6cac3c51db9b2f"></a><!-- doxytag: member="uip.h::UIP_TIMER" ref="g041aea91aa6ef84dcc6cac3c51db9b2f" args="" --> 225#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g041aea91aa6ef84dcc6cac3c51db9b2f">UIP_TIMER</a> 2</td></tr> 226 227<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="" --> 228#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gd605357e29affb0d3104294c90f09905">UIP_POLL_REQUEST</a> 3</td></tr> 229 230<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="" --> 231#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g5c97ae587595b5444be80f5ecc1d3382">UIP_UDP_SEND_CONN</a> 4</td></tr> 232 233<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="" --> 234#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf0ccbc3bb2a3ba1ebc255c7b3fcedd24">UIP_UDP_TIMER</a> 5</td></tr> 235 236<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g28eda870cff3d8e3cf2949e6f57a502b"></a><!-- doxytag: member="uip.h::UIP_CLOSED" ref="g28eda870cff3d8e3cf2949e6f57a502b" args="" --> 237#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g28eda870cff3d8e3cf2949e6f57a502b">UIP_CLOSED</a> 0</td></tr> 238 239<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="" --> 240#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ga5e3c856b86725125d19fccc34cd9eb5">UIP_SYN_RCVD</a> 1</td></tr> 241 242<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="" --> 243#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g8af482dec973db57d8b3bd3f69461488">UIP_SYN_SENT</a> 2</td></tr> 244 245<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gae59b70658f28ee6e998eaaab05e423f"></a><!-- doxytag: member="uip.h::UIP_ESTABLISHED" ref="gae59b70658f28ee6e998eaaab05e423f" args="" --> 246#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gae59b70658f28ee6e998eaaab05e423f">UIP_ESTABLISHED</a> 3</td></tr> 247 248<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="" --> 249#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ga533c394b1fa0030205534befa31c525">UIP_FIN_WAIT_1</a> 4</td></tr> 250 251<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="" --> 252#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g160128ab5d2ea3cc497b91ee4eb4ef99">UIP_FIN_WAIT_2</a> 5</td></tr> 253 254<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g64d9affc680a445d708234e70450477b"></a><!-- doxytag: member="uip.h::UIP_CLOSING" ref="g64d9affc680a445d708234e70450477b" args="" --> 255#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g64d9affc680a445d708234e70450477b">UIP_CLOSING</a> 6</td></tr> 256 257<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="" --> 258#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gfff0ed43201bf1e2020de1a0d6cac070">UIP_TIME_WAIT</a> 7</td></tr> 259 260<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="" --> 261#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gd135fb0cfdfb2c212f0f51865a3640e4">UIP_LAST_ACK</a> 8</td></tr> 262 263<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="" --> 264#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g13dfcb4a5f920e108253ade527a66cc2">UIP_TS_MASK</a> 15</td></tr> 265 266<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gde29ec025e6754afd8cc24c954a8dec8"></a><!-- doxytag: member="uip.h::UIP_STOPPED" ref="gde29ec025e6754afd8cc24c954a8dec8" args="" --> 267#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gde29ec025e6754afd8cc24c954a8dec8">UIP_STOPPED</a> 16</td></tr> 268 269<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ge0825474feee11b4e038bfe71757875f">UIP_APPDATA_SIZE</a></td></tr> 270 271<tr><td class="mdescLeft"> </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> 272<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="" --> 273#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g359951eecd80541c2101f628a9da9146">UIP_PROTO_ICMP</a> 1</td></tr> 274 275<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="" --> 276#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g517c770991459cc62dc009c0d3875c6a">UIP_PROTO_TCP</a> 6</td></tr> 277 278<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="" --> 279#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf72d7b9a737707dcfb2c41fec2b6792e">UIP_PROTO_UDP</a> 17</td></tr> 280 281<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="" --> 282#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gad0321f4c570f9983c6de81ece3ddc20">UIP_PROTO_ICMP6</a> 58</td></tr> 283 284<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="" --> 285#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g6bc12c6c7b56f73ce5d57abfdcdc6eb5">UIP_IPH_LEN</a> 20</td></tr> 286 287<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="" --> 288#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gb948296aea6b6b3aa1f156799c4d479c">UIP_UDPH_LEN</a> 8</td></tr> 289 290<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="" --> 291#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g17d111686f98e4c09db73a770ac3f1a4">UIP_TCPH_LEN</a> 20</td></tr> 292 293<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="" --> 294#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g6f2b90c597ec23f39ec716ccec11233c">UIP_IPUDPH_LEN</a> (UIP_UDPH_LEN + UIP_IPH_LEN)</td></tr> 295 296<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="" --> 297#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g15f2617f7dc1713f9d10282125c6027b">UIP_IPTCPH_LEN</a> (UIP_TCPH_LEN + UIP_IPH_LEN)</td></tr> 298 299<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="" --> 300#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gee37386b2ab828787c05227eb109def7">UIP_TCPIP_HLEN</a> UIP_IPTCPH_LEN</td></tr> 301 302<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> 303<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]" --> 304typedef <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g20ceef9d0868d391c2f33041b02cb1f1">uip_ip4addr_t</a> [2]</td></tr> 305 306<tr><td class="mdescLeft"> </td><td class="mdescRight">Repressentation of an IP address. <br></td></tr> 307<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]" --> 308typedef <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g9ebb4dac683163840eab9c6c41ad61f7">uip_ip6addr_t</a> [8]</td></tr> 309 310<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="" --> 311typedef <a class="el" href="a00150.html#g20ceef9d0868d391c2f33041b02cb1f1">uip_ip4addr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a></td></tr> 312 313<tr><td colspan="2"><br><h2>Functions</h2></td></tr> 314<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00145.html#gc48ed5f0d27721ef62a3ed02a5ad8d2e">uip_init</a> (void)</td></tr> 315 316<tr><td class="mdescLeft"> </td><td class="mdescRight">uIP initialization function. <a href="a00145.html#gc48ed5f0d27721ef62a3ed02a5ad8d2e"></a><br></td></tr> 317<tr><td class="memItemLeft" nowrap align="right" valign="top">void </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> 318 319<tr><td class="mdescLeft"> </td><td class="mdescRight">uIP initialization function. <a href="a00145.html#g22f140b02c354dfebcc7ad481c3bcd68"></a><br></td></tr> 320<tr><td class="memItemLeft" nowrap align="right" valign="top">void </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> 321 322<tr><td class="mdescLeft"> </td><td class="mdescRight">Start listening to the specified port. <a href="a00147.html#gdd1ab3704ecd4900eec61a6897d32dc8"></a><br></td></tr> 323<tr><td class="memItemLeft" nowrap align="right" valign="top">void </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> 324 325<tr><td class="mdescLeft"> </td><td class="mdescRight">Stop listening to the specified port. <a href="a00147.html#gaa585784b0914cac1d37f07f85457008"></a><br></td></tr> 326<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00088.html">uip_conn</a> * </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> 327 328<tr><td class="mdescLeft"> </td><td class="mdescRight">Connect to a remote host using TCP. <a href="a00147.html#g8096b0c4b543dc408f4dd031ddae7240"></a><br></td></tr> 329<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#g04b053a623aac7cd4195157d470661b3">uip_send</a> (const void *data, int len)</td></tr> 330 331<tr><td class="mdescLeft"> </td><td class="mdescRight">Send data on the current connection. <a href="a00147.html#g04b053a623aac7cd4195157d470661b3"></a><br></td></tr> 332<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00095.html">uip_udp_conn</a> * </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> 333 334<tr><td class="mdescLeft"> </td><td class="mdescRight">Set up a new UDP connection. <a href="a00147.html#g79c4110211247df3fb30b8cf1c4c02af"></a><br></td></tr> 335<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> </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> 336 337<tr><td class="mdescLeft"> </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> 338<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)" --> 339void </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> 340 341<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> </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> 342 343<tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the Internet checksum over a buffer. <a href="a00150.html#gb6683dd83fe1c8de9a24086d4b69e907"></a><br></td></tr> 344<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g2addf34c7d457c1a7899a7e2171ef1e9">uip_ipchksum</a> (void)</td></tr> 345 346<tr><td class="mdescLeft"> </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> 347<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g85b65e38aa74eba18979156f97a94a87">uip_tcpchksum</a> (void)</td></tr> 348 349<tr><td class="mdescLeft"> </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> 350<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g7023a34ba9e9d03b5fbedbcb32924453">uip_udpchksum</a> (void)</td></tr> 351 352<tr><td class="mdescLeft"> </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> 353<tr><td colspan="2"><br><h2>Variables</h2></td></tr> 354<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#gb81e78f890dbbee50c533a9734b74fd9">uip_buf</a> [UIP_BUFSIZE+2]</td></tr> 355 356<tr><td class="mdescLeft"> </td><td class="mdescRight">The uIP packet buffer. <a href="a00146.html#gb81e78f890dbbee50c533a9734b74fd9"></a><br></td></tr> 357<tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g561b8eda32e059d4e7397f776268cc63">uip_appdata</a></td></tr> 358 359<tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to the application data in the packet buffer. <a href="a00150.html#g561b8eda32e059d4e7397f776268cc63"></a><br></td></tr> 360<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#g12a33f0c09711167bdf3dd7d7cf8c5a1">uip_len</a></td></tr> 361 362<tr><td class="mdescLeft"> </td><td class="mdescRight">The length of the packet in the uip_buf buffer. <a href="a00149.html#g12a33f0c09711167bdf3dd7d7cf8c5a1"></a><br></td></tr> 363<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00088.html">uip_conn</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g788ffac72342f6172343d7f8099cbe1a">uip_conn</a></td></tr> 364 365<tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to the current TCP connection. <a href="a00150.html#g788ffac72342f6172343d7f8099cbe1a"></a><br></td></tr> 366<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]" --> 367<a class="el" href="a00088.html">uip_conn</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gf703683056d2bfa5c81fa157dcb20fe2">uip_conns</a> [UIP_CONNS]</td></tr> 368 369<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]" --> 370<a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00151.html#g2a0cf5d86c58fab216414ce59bf1fea1">uip_acc32</a> [4]</td></tr> 371 372<tr><td class="mdescLeft"> </td><td class="mdescRight">4-byte array used for the 32-bit sequence number calculations. <br></td></tr> 373<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="" --> 374<a class="el" href="a00095.html">uip_udp_conn</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g210f227119fc972e6222c9cb452e15a9">uip_udp_conn</a></td></tr> 375 376<tr><td class="mdescLeft"> </td><td class="mdescRight">The current UDP connection. <br></td></tr> 377<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]" --> 378<a class="el" href="a00095.html">uip_udp_conn</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#geb533744817cf6695d75293369c2248b">uip_udp_conns</a> [UIP_UDP_CONNS]</td></tr> 379 380<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00093.html">uip_stats</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g9ee50a40597e67fce96541ab56c3b712">uip_stat</a></td></tr> 381 382<tr><td class="mdescLeft"> </td><td class="mdescRight">The uIP TCP/IP statistics. <a href="a00150.html#g9ee50a40597e67fce96541ab56c3b712"></a><br></td></tr> 383<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb4ef6b00924990e7a293f66715b6d1d1"></a><!-- doxytag: member="uip.h::uip_flags" ref="gb4ef6b00924990e7a293f66715b6d1d1" args="" --> 384<a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gb4ef6b00924990e7a293f66715b6d1d1">uip_flags</a></td></tr> 385 386<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7d3673f52f5846b6961d23b150decd54"></a><!-- doxytag: member="uip.h::uip_hostaddr" ref="g7d3673f52f5846b6961d23b150decd54" args="" --> 387<a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g7d3673f52f5846b6961d23b150decd54">uip_hostaddr</a></td></tr> 388 389<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3237be0d9ec457de0177689ee23c0d5c"></a><!-- doxytag: member="uip.h::uip_netmask" ref="g3237be0d9ec457de0177689ee23c0d5c" args="" --> 390<a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g3237be0d9ec457de0177689ee23c0d5c">uip_netmask</a></td></tr> 391 392<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g20df5c82f2a15a508c19e505b5d9de2b"></a><!-- doxytag: member="uip.h::uip_draddr" ref="g20df5c82f2a15a508c19e505b5d9de2b" args="" --> 393<a class="el" href="a00150.html#g1ef35301f43a5bbb9f89f07b5a36b9a0">uip_ipaddr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g20df5c82f2a15a508c19e505b5d9de2b">uip_draddr</a></td></tr> 394 395</table> 396<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 12 10:23:01 2006 for uIP 1.0 by 397<a href="http://www.doxygen.org/index.html"> 398<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> 399</body> 400</html> 401