xref: /nrf52832-nimble/rt-thread/components/net/uip/doc/html/a00135.html (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2*10465441SEvalZero<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3*10465441SEvalZero<title>uIP 1.0: uip/uip.c File Reference</title>
4*10465441SEvalZero<link href="doxygen.css" rel="stylesheet" type="text/css">
5*10465441SEvalZero<link href="tabs.css" rel="stylesheet" type="text/css">
6*10465441SEvalZero</head><body>
7*10465441SEvalZero<!-- Generated by Doxygen 1.4.6 -->
8*10465441SEvalZero<div class="tabs">
9*10465441SEvalZero  <ul>
10*10465441SEvalZero    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
11*10465441SEvalZero    <li><a href="modules.html"><span>Modules</span></a></li>
12*10465441SEvalZero    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
13*10465441SEvalZero    <li id="current"><a href="files.html"><span>Files</span></a></li>
14*10465441SEvalZero    <li><a href="examples.html"><span>Examples</span></a></li>
15*10465441SEvalZero  </ul></div>
16*10465441SEvalZero<div class="tabs">
17*10465441SEvalZero  <ul>
18*10465441SEvalZero    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
19*10465441SEvalZero    <li><a href="globals.html"><span>Globals</span></a></li>
20*10465441SEvalZero  </ul></div>
21*10465441SEvalZero<h1>uip/uip.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
22*10465441SEvalZeroThe uIP TCP/IP stack code.
23*10465441SEvalZero<p>
24*10465441SEvalZero<dl compact><dt><b>Author:</b></dt><dd>Adam Dunkels &lt;<a href="mailto:[email protected]">[email protected]</a>&gt; </dd></dl>
25*10465441SEvalZero
26*10465441SEvalZero<p>
27*10465441SEvalZeroDefinition in file <a class="el" href="a00201.html">uip.c</a>.
28*10465441SEvalZero<p>
29*10465441SEvalZero<code>#include &quot;<a class="el" href="a00202.html">uip.h</a>&quot;</code><br>
30*10465441SEvalZero<code>#include &quot;<a class="el" href="a00206.html">uipopt.h</a>&quot;</code><br>
31*10465441SEvalZero<code>#include &quot;<a class="el" href="a00203.html">uip_arch.h</a>&quot;</code><br>
32*10465441SEvalZero<code>#include &lt;string.h&gt;</code><br>
33*10465441SEvalZero
34*10465441SEvalZero<p>
35*10465441SEvalZero<a href="a00201.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
36*10465441SEvalZero<tr><td></td></tr>
37*10465441SEvalZero<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
38*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="534d9e416324fb8ecca6b9cb4b1f6a6a"></a><!-- doxytag: member="uip.c::DEBUG_PRINTF" ref="534d9e416324fb8ecca6b9cb4b1f6a6a" args="()" -->
39*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#534d9e416324fb8ecca6b9cb4b1f6a6a">DEBUG_PRINTF</a>()</td></tr>
40*10465441SEvalZero
41*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g88e60aa2cf23e1c65d630701db08c743"></a><!-- doxytag: member="uip.c::TCP_FIN" ref="g88e60aa2cf23e1c65d630701db08c743" args="" -->
42*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g88e60aa2cf23e1c65d630701db08c743">TCP_FIN</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>
43*10465441SEvalZero
44*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6020613f5062417d9811cfa837215c83"></a><!-- doxytag: member="uip.c::TCP_SYN" ref="g6020613f5062417d9811cfa837215c83" args="" -->
45*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g6020613f5062417d9811cfa837215c83">TCP_SYN</a>&nbsp;&nbsp;&nbsp;0x02</td></tr>
46*10465441SEvalZero
47*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5ca559def464ef20d8b1f7d32f2f160d"></a><!-- doxytag: member="uip.c::TCP_RST" ref="g5ca559def464ef20d8b1f7d32f2f160d" args="" -->
48*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g5ca559def464ef20d8b1f7d32f2f160d">TCP_RST</a>&nbsp;&nbsp;&nbsp;0x04</td></tr>
49*10465441SEvalZero
50*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1320fd0006a2f70138bc2d0018dda829"></a><!-- doxytag: member="uip.c::TCP_PSH" ref="g1320fd0006a2f70138bc2d0018dda829" args="" -->
51*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g1320fd0006a2f70138bc2d0018dda829">TCP_PSH</a>&nbsp;&nbsp;&nbsp;0x08</td></tr>
52*10465441SEvalZero
53*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g44b3b1ab31a403ba28ec135adfcbefef"></a><!-- doxytag: member="uip.c::TCP_ACK" ref="g44b3b1ab31a403ba28ec135adfcbefef" args="" -->
54*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g44b3b1ab31a403ba28ec135adfcbefef">TCP_ACK</a>&nbsp;&nbsp;&nbsp;0x10</td></tr>
55*10465441SEvalZero
56*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc84f499cba8a02fc0e306c10b2acabf0"></a><!-- doxytag: member="uip.c::TCP_URG" ref="gc84f499cba8a02fc0e306c10b2acabf0" args="" -->
57*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gc84f499cba8a02fc0e306c10b2acabf0">TCP_URG</a>&nbsp;&nbsp;&nbsp;0x20</td></tr>
58*10465441SEvalZero
59*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1425d4a0c2760adb653a04c0fb137a8d"></a><!-- doxytag: member="uip.c::TCP_CTL" ref="g1425d4a0c2760adb653a04c0fb137a8d" args="" -->
60*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g1425d4a0c2760adb653a04c0fb137a8d">TCP_CTL</a>&nbsp;&nbsp;&nbsp;0x3f</td></tr>
61*10465441SEvalZero
62*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1215163245304bad20d6c5608ad75ab7"></a><!-- doxytag: member="uip.c::TCP_OPT_END" ref="g1215163245304bad20d6c5608ad75ab7" args="" -->
63*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g1215163245304bad20d6c5608ad75ab7">TCP_OPT_END</a>&nbsp;&nbsp;&nbsp;0</td></tr>
64*10465441SEvalZero
65*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9f1822e1d231235edacad691f3cb7bbb"></a><!-- doxytag: member="uip.c::TCP_OPT_NOOP" ref="g9f1822e1d231235edacad691f3cb7bbb" args="" -->
66*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g9f1822e1d231235edacad691f3cb7bbb">TCP_OPT_NOOP</a>&nbsp;&nbsp;&nbsp;1</td></tr>
67*10465441SEvalZero
68*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g691688604655ea8943d15f14c60027d8"></a><!-- doxytag: member="uip.c::TCP_OPT_MSS" ref="g691688604655ea8943d15f14c60027d8" args="" -->
69*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g691688604655ea8943d15f14c60027d8">TCP_OPT_MSS</a>&nbsp;&nbsp;&nbsp;2</td></tr>
70*10465441SEvalZero
71*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g12f3bf821224b8e7b48a57ed3cea15cf"></a><!-- doxytag: member="uip.c::TCP_OPT_MSS_LEN" ref="g12f3bf821224b8e7b48a57ed3cea15cf" args="" -->
72*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g12f3bf821224b8e7b48a57ed3cea15cf">TCP_OPT_MSS_LEN</a>&nbsp;&nbsp;&nbsp;4</td></tr>
73*10465441SEvalZero
74*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5c5b1834e497f53ad0ef947bbe9777fa"></a><!-- doxytag: member="uip.c::ICMP_ECHO_REPLY" ref="g5c5b1834e497f53ad0ef947bbe9777fa" args="" -->
75*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g5c5b1834e497f53ad0ef947bbe9777fa">ICMP_ECHO_REPLY</a>&nbsp;&nbsp;&nbsp;0</td></tr>
76*10465441SEvalZero
77*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd58231410d58e34b455328b888a9e73c"></a><!-- doxytag: member="uip.c::ICMP_ECHO" ref="gd58231410d58e34b455328b888a9e73c" args="" -->
78*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gd58231410d58e34b455328b888a9e73c">ICMP_ECHO</a>&nbsp;&nbsp;&nbsp;8</td></tr>
79*10465441SEvalZero
80*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g207d17b633cd095120a74bc1f2257b17"></a><!-- doxytag: member="uip.c::ICMP6_ECHO_REPLY" ref="g207d17b633cd095120a74bc1f2257b17" args="" -->
81*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g207d17b633cd095120a74bc1f2257b17">ICMP6_ECHO_REPLY</a>&nbsp;&nbsp;&nbsp;129</td></tr>
82*10465441SEvalZero
83*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4cc3e223b63f27b546d62e9a258dba5a"></a><!-- doxytag: member="uip.c::ICMP6_ECHO" ref="g4cc3e223b63f27b546d62e9a258dba5a" args="" -->
84*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g4cc3e223b63f27b546d62e9a258dba5a">ICMP6_ECHO</a>&nbsp;&nbsp;&nbsp;128</td></tr>
85*10465441SEvalZero
86*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1cea57e3ea526f210b1068e6dcf7b4f4"></a><!-- doxytag: member="uip.c::ICMP6_NEIGHBOR_SOLICITATION" ref="g1cea57e3ea526f210b1068e6dcf7b4f4" args="" -->
87*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g1cea57e3ea526f210b1068e6dcf7b4f4">ICMP6_NEIGHBOR_SOLICITATION</a>&nbsp;&nbsp;&nbsp;135</td></tr>
88*10465441SEvalZero
89*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g62c03e0a308cc23929a80fe8d8f9dc1e"></a><!-- doxytag: member="uip.c::ICMP6_NEIGHBOR_ADVERTISEMENT" ref="g62c03e0a308cc23929a80fe8d8f9dc1e" args="" -->
90*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g62c03e0a308cc23929a80fe8d8f9dc1e">ICMP6_NEIGHBOR_ADVERTISEMENT</a>&nbsp;&nbsp;&nbsp;136</td></tr>
91*10465441SEvalZero
92*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1d3211dbbdfb22d6a47b60dddcf945e8"></a><!-- doxytag: member="uip.c::ICMP6_FLAG_S" ref="g1d3211dbbdfb22d6a47b60dddcf945e8" args="" -->
93*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g1d3211dbbdfb22d6a47b60dddcf945e8">ICMP6_FLAG_S</a>&nbsp;&nbsp;&nbsp;(1 &lt;&lt; 6)</td></tr>
94*10465441SEvalZero
95*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g42288d5c3cf4b10becefec657f441e54"></a><!-- doxytag: member="uip.c::ICMP6_OPTION_SOURCE_LINK_ADDRESS" ref="g42288d5c3cf4b10becefec657f441e54" args="" -->
96*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g42288d5c3cf4b10becefec657f441e54">ICMP6_OPTION_SOURCE_LINK_ADDRESS</a>&nbsp;&nbsp;&nbsp;1</td></tr>
97*10465441SEvalZero
98*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g8387881de3a8bfd3c0d57b9d04ac9b7e"></a><!-- doxytag: member="uip.c::ICMP6_OPTION_TARGET_LINK_ADDRESS" ref="g8387881de3a8bfd3c0d57b9d04ac9b7e" args="" -->
99*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g8387881de3a8bfd3c0d57b9d04ac9b7e">ICMP6_OPTION_TARGET_LINK_ADDRESS</a>&nbsp;&nbsp;&nbsp;2</td></tr>
100*10465441SEvalZero
101*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g24f52ac52d6e714cb04a5aa01be3bdd0"></a><!-- doxytag: member="uip.c::BUF" ref="g24f52ac52d6e714cb04a5aa01be3bdd0" args="" -->
102*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g24f52ac52d6e714cb04a5aa01be3bdd0">BUF</a>&nbsp;&nbsp;&nbsp;((struct <a class="el" href="a00094.html">uip_tcpip_hdr</a> *)&amp;<a class="el" href="a00150.html#gb81e78f890dbbee50c533a9734b74fd9">uip_buf</a>[UIP_LLH_LEN])</td></tr>
103*10465441SEvalZero
104*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g96544dedc1cdc71ad2ad54bf1d5e5433"></a><!-- doxytag: member="uip.c::FBUF" ref="g96544dedc1cdc71ad2ad54bf1d5e5433" args="" -->
105*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g96544dedc1cdc71ad2ad54bf1d5e5433">FBUF</a>&nbsp;&nbsp;&nbsp;((struct <a class="el" href="a00094.html">uip_tcpip_hdr</a> *)&amp;uip_reassbuf[0])</td></tr>
106*10465441SEvalZero
107*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4309376690872fa4beb4f025f5cc199b"></a><!-- doxytag: member="uip.c::ICMPBUF" ref="g4309376690872fa4beb4f025f5cc199b" args="" -->
108*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g4309376690872fa4beb4f025f5cc199b">ICMPBUF</a>&nbsp;&nbsp;&nbsp;((struct <a class="el" href="a00091.html">uip_icmpip_hdr</a> *)&amp;<a class="el" href="a00150.html#gb81e78f890dbbee50c533a9734b74fd9">uip_buf</a>[UIP_LLH_LEN])</td></tr>
109*10465441SEvalZero
110*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb9435261753469accec0c9bf8a5a2686"></a><!-- doxytag: member="uip.c::UDPBUF" ref="gb9435261753469accec0c9bf8a5a2686" args="" -->
111*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gb9435261753469accec0c9bf8a5a2686">UDPBUF</a>&nbsp;&nbsp;&nbsp;((struct <a class="el" href="a00096.html">uip_udpip_hdr</a> *)&amp;<a class="el" href="a00150.html#gb81e78f890dbbee50c533a9734b74fd9">uip_buf</a>[UIP_LLH_LEN])</td></tr>
112*10465441SEvalZero
113*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9c0814ed491fa452ec97910c0728d410"></a><!-- doxytag: member="uip.c::UIP_STAT" ref="g9c0814ed491fa452ec97910c0728d410" args="(s)" -->
114*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g9c0814ed491fa452ec97910c0728d410">UIP_STAT</a>(s)</td></tr>
115*10465441SEvalZero
116*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g013c3a06a8b58589a77f4a3442f89c2a"></a><!-- doxytag: member="uip.c::UIP_LOG" ref="g013c3a06a8b58589a77f4a3442f89c2a" args="(m)" -->
117*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g013c3a06a8b58589a77f4a3442f89c2a">UIP_LOG</a>(m)</td></tr>
118*10465441SEvalZero
119*10465441SEvalZero<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
120*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g22f140b02c354dfebcc7ad481c3bcd68">uip_setipid</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> id)</td></tr>
121*10465441SEvalZero
122*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">uIP initialization function.  <a href="a00150.html#g22f140b02c354dfebcc7ad481c3bcd68"></a><br></td></tr>
123*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g6832e4d2d046536b6472f7ac92340f68">uip_add32</a> (<a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> *op32, <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> op16)</td></tr>
124*10465441SEvalZero
125*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Carry out a 32-bit addition.  <a href="a00150.html#g6832e4d2d046536b6472f7ac92340f68"></a><br></td></tr>
126*10465441SEvalZero<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>
127*10465441SEvalZero
128*10465441SEvalZero<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>
129*10465441SEvalZero<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>
130*10465441SEvalZero
131*10465441SEvalZero<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>
132*10465441SEvalZero<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>
133*10465441SEvalZero
134*10465441SEvalZero<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>
135*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gc48ed5f0d27721ef62a3ed02a5ad8d2e">uip_init</a> (void)</td></tr>
136*10465441SEvalZero
137*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">uIP initialization function.  <a href="a00150.html#gc48ed5f0d27721ef62a3ed02a5ad8d2e"></a><br></td></tr>
138*10465441SEvalZero<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#g9c24fba2cd8f7f62accb0a0d5bbe4dad">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> rport)</td></tr>
139*10465441SEvalZero
140*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connect to a remote host using TCP.  <a href="a00150.html#g9c24fba2cd8f7f62accb0a0d5bbe4dad"></a><br></td></tr>
141*10465441SEvalZero<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="a00150.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>
142*10465441SEvalZero
143*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up a new UDP connection.  <a href="a00150.html#g79c4110211247df3fb30b8cf1c4c02af"></a><br></td></tr>
144*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gaa585784b0914cac1d37f07f85457008">uip_unlisten</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> port)</td></tr>
145*10465441SEvalZero
146*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop listening to the specified port.  <a href="a00150.html#gaa585784b0914cac1d37f07f85457008"></a><br></td></tr>
147*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#gdd1ab3704ecd4900eec61a6897d32dc8">uip_listen</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> port)</td></tr>
148*10465441SEvalZero
149*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start listening to the specified port.  <a href="a00150.html#gdd1ab3704ecd4900eec61a6897d32dc8"></a><br></td></tr>
150*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g266263ac78a1361a2b1d15741d3b0675"></a><!-- doxytag: member="uip.c::uip_process" ref="g266263ac78a1361a2b1d15741d3b0675" args="(u8_t flag)" -->
151*10465441SEvalZerovoid&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>
152*10465441SEvalZero
153*10465441SEvalZero<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#ga22b04cac8cf283ca12f028578bebc06">htons</a> (<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> val)</td></tr>
154*10465441SEvalZero
155*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert 16-bit quantity from host byte order to network byte order.  <a href="a00150.html#ga22b04cac8cf283ca12f028578bebc06"></a><br></td></tr>
156*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g04b053a623aac7cd4195157d470661b3">uip_send</a> (const void *data, int len)</td></tr>
157*10465441SEvalZero
158*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send data on the current connection.  <a href="a00150.html#g04b053a623aac7cd4195157d470661b3"></a><br></td></tr>
159*10465441SEvalZero<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
160*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7d3673f52f5846b6961d23b150decd54"></a><!-- doxytag: member="uip.c::uip_hostaddr" ref="g7d3673f52f5846b6961d23b150decd54" args="" -->
161*10465441SEvalZero<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>
162*10465441SEvalZero
163*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g20df5c82f2a15a508c19e505b5d9de2b"></a><!-- doxytag: member="uip.c::uip_draddr" ref="g20df5c82f2a15a508c19e505b5d9de2b" args="" -->
164*10465441SEvalZero<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>
165*10465441SEvalZero
166*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3237be0d9ec457de0177689ee23c0d5c"></a><!-- doxytag: member="uip.c::uip_netmask" ref="g3237be0d9ec457de0177689ee23c0d5c" args="" -->
167*10465441SEvalZero<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>
168*10465441SEvalZero
169*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g499bb98a0b4ae9a98553ede81317606d"></a><!-- doxytag: member="uip.c::uip_ethaddr" ref="g499bb98a0b4ae9a98553ede81317606d" args="" -->
170*10465441SEvalZero<a class="el" href="a00089.html">uip_eth_addr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g499bb98a0b4ae9a98553ede81317606d">uip_ethaddr</a> = {{0,0,0,0,0,0}}</td></tr>
171*10465441SEvalZero
172*10465441SEvalZero<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="a00150.html#gb81e78f890dbbee50c533a9734b74fd9">uip_buf</a> [UIP_BUFSIZE+2]</td></tr>
173*10465441SEvalZero
174*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The uIP packet buffer.  <a href="a00150.html#gb81e78f890dbbee50c533a9734b74fd9"></a><br></td></tr>
175*10465441SEvalZero<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>
176*10465441SEvalZero
177*10465441SEvalZero<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>
178*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga05a3dde2048480fa3ab2a5961898d18"></a><!-- doxytag: member="uip.c::uip_sappdata" ref="ga05a3dde2048480fa3ab2a5961898d18" args="" -->
179*10465441SEvalZerovoid *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ga05a3dde2048480fa3ab2a5961898d18">uip_sappdata</a></td></tr>
180*10465441SEvalZero
181*10465441SEvalZero<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#g12a33f0c09711167bdf3dd7d7cf8c5a1">uip_len</a></td></tr>
182*10465441SEvalZero
183*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The length of the packet in the uip_buf buffer.  <a href="a00150.html#g12a33f0c09711167bdf3dd7d7cf8c5a1"></a><br></td></tr>
184*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5b5615dc240daed20949c0fded2b4679"></a><!-- doxytag: member="uip.c::uip_slen" ref="g5b5615dc240daed20949c0fded2b4679" args="" -->
185*10465441SEvalZero<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g5b5615dc240daed20949c0fded2b4679">uip_slen</a></td></tr>
186*10465441SEvalZero
187*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb4ef6b00924990e7a293f66715b6d1d1"></a><!-- doxytag: member="uip.c::uip_flags" ref="gb4ef6b00924990e7a293f66715b6d1d1" args="" -->
188*10465441SEvalZero<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>
189*10465441SEvalZero
190*10465441SEvalZero<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>
191*10465441SEvalZero
192*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to the current TCP connection.  <a href="a00150.html#g788ffac72342f6172343d7f8099cbe1a"></a><br></td></tr>
193*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf703683056d2bfa5c81fa157dcb20fe2"></a><!-- doxytag: member="uip.c::uip_conns" ref="gf703683056d2bfa5c81fa157dcb20fe2" args="[UIP_CONNS]" -->
194*10465441SEvalZero<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>
195*10465441SEvalZero
196*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g236d5c7872f59c8fe7b701c7252b976e"></a><!-- doxytag: member="uip.c::uip_listenports" ref="g236d5c7872f59c8fe7b701c7252b976e" args="[UIP_LISTENPORTS]" -->
197*10465441SEvalZero<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g236d5c7872f59c8fe7b701c7252b976e">uip_listenports</a> [UIP_LISTENPORTS]</td></tr>
198*10465441SEvalZero
199*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g210f227119fc972e6222c9cb452e15a9"></a><!-- doxytag: member="uip.c::uip_udp_conn" ref="g210f227119fc972e6222c9cb452e15a9" args="" -->
200*10465441SEvalZero<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>
201*10465441SEvalZero
202*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The current UDP connection. <br></td></tr>
203*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="geb533744817cf6695d75293369c2248b"></a><!-- doxytag: member="uip.c::uip_udp_conns" ref="geb533744817cf6695d75293369c2248b" args="[UIP_UDP_CONNS]" -->
204*10465441SEvalZero<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>
205*10465441SEvalZero
206*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2a0cf5d86c58fab216414ce59bf1fea1"></a><!-- doxytag: member="uip.c::uip_acc32" ref="g2a0cf5d86c58fab216414ce59bf1fea1" args="[4]" -->
207*10465441SEvalZero<a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#g2a0cf5d86c58fab216414ce59bf1fea1">uip_acc32</a> [4]</td></tr>
208*10465441SEvalZero
209*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">4-byte array used for the 32-bit sequence number calculations. <br></td></tr>
210*10465441SEvalZero</table>
211*10465441SEvalZero<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 12 10:23:01 2006 for uIP 1.0 by&nbsp;
212*10465441SEvalZero<a href="http://www.doxygen.org/index.html">
213*10465441SEvalZero<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
214*10465441SEvalZero</body>
215*10465441SEvalZero</html>
216