xref: /nrf52832-nimble/rt-thread/components/net/uip/doc/html/a00140.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/uipopt.h 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/uipopt.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
22*10465441SEvalZeroConfiguration options for uIP.
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*10465441SEvalZeroThis file is used for tweaking various configuration options for uIP. You should make a copy of this file into one of your project's directories instead of editing this example "uipopt.h" file that comes with the uIP distribution.
26*10465441SEvalZero<p>
27*10465441SEvalZeroDefinition in file <a class="el" href="a00206.html">uipopt.h</a>.
28*10465441SEvalZero<p>
29*10465441SEvalZero<code>#include &quot;<a class="el" href="a00207.html">uip-conf.h</a>&quot;</code><br>
30*10465441SEvalZero
31*10465441SEvalZero<p>
32*10465441SEvalZero<a href="a00206.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
33*10465441SEvalZero<tr><td></td></tr>
34*10465441SEvalZero<tr><td colspan="2"><br><h2>Static configuration options</h2></td></tr>
35*10465441SEvalZero<tr><td colspan="2">These configuration options can be used for setting the IP address settings statically, but only if UIP_FIXEDADDR is set to 1. The configuration options for a specific node includes IP address, netmask and default router as well as the Ethernet address. The netmask, default router and Ethernet address are appliciable only if uIP should be run over Ethernet.<p>
36*10465441SEvalZeroAll of these should be changed to suit your project. <br><br></td></tr>
37*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g51195ea7cd5aa387a87f9d3b23905b62">UIP_FIXEDADDR</a></td></tr>
38*10465441SEvalZero
39*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if uIP should use a fixed IP address or not.  <a href="a00153.html#g51195ea7cd5aa387a87f9d3b23905b62"></a><br></td></tr>
40*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g9069474ea570fd78c481aa164317dbaf">UIP_PINGADDRCONF</a></td></tr>
41*10465441SEvalZero
42*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ping IP address asignment.  <a href="a00153.html#g9069474ea570fd78c481aa164317dbaf"></a><br></td></tr>
43*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#ge0f8cbeca9731af2171ffd37e79de893">UIP_FIXEDETHADDR</a></td></tr>
44*10465441SEvalZero
45*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specifies if the uIP ARP module should be compiled with a fixed Ethernet MAC address or not.  <a href="a00153.html#ge0f8cbeca9731af2171ffd37e79de893"></a><br></td></tr>
46*10465441SEvalZero<tr><td colspan="2"><br><h2>IP configuration options</h2></td></tr>
47*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#gb61381673de27f31848c5396bf0b338e">UIP_TTL</a>&nbsp;&nbsp;&nbsp;64</td></tr>
48*10465441SEvalZero
49*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The IP TTL (time to live) of IP packets sent by uIP.  <a href="a00153.html#gb61381673de27f31848c5396bf0b338e"></a><br></td></tr>
50*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#gf963fdea2b75d27ef31e92d1d01359ee">UIP_REASSEMBLY</a></td></tr>
51*10465441SEvalZero
52*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Turn on support for IP packet reassembly.  <a href="a00153.html#gf963fdea2b75d27ef31e92d1d01359ee"></a><br></td></tr>
53*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc3882366feda1cb759ccbfe98327a7db"></a><!-- doxytag: member="uipopt.h::UIP_REASS_MAXAGE" ref="gc3882366feda1cb759ccbfe98327a7db" args="" -->
54*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#gc3882366feda1cb759ccbfe98327a7db">UIP_REASS_MAXAGE</a>&nbsp;&nbsp;&nbsp;40</td></tr>
55*10465441SEvalZero
56*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum time an IP fragment should wait in the reassembly buffer before it is dropped. <br></td></tr>
57*10465441SEvalZero<tr><td colspan="2"><br><h2>UDP configuration options</h2></td></tr>
58*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdcf372ff9748996f7c05e9822a615384"></a><!-- doxytag: member="uipopt.h::UIP_UDP" ref="gdcf372ff9748996f7c05e9822a615384" args="" -->
59*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#gdcf372ff9748996f7c05e9822a615384">UIP_UDP</a></td></tr>
60*10465441SEvalZero
61*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Toggles wether UDP support should be compiled in or not. <br></td></tr>
62*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g92f3344ec8ca46893163399c89fafed5">UIP_UDP_CHECKSUMS</a></td></tr>
63*10465441SEvalZero
64*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Toggles if UDP checksums should be used or not.  <a href="a00153.html#g92f3344ec8ca46893163399c89fafed5"></a><br></td></tr>
65*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g196379ceb1219a99f4495e41ccc9bbfb"></a><!-- doxytag: member="uipopt.h::UIP_UDP_CONNS" ref="g196379ceb1219a99f4495e41ccc9bbfb" args="" -->
66*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g196379ceb1219a99f4495e41ccc9bbfb">UIP_UDP_CONNS</a></td></tr>
67*10465441SEvalZero
68*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum amount of concurrent UDP connections. <br></td></tr>
69*10465441SEvalZero<tr><td colspan="2"><br><h2>TCP configuration options</h2></td></tr>
70*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#gac0de06236b02659460445de30776e00">UIP_ACTIVE_OPEN</a></td></tr>
71*10465441SEvalZero
72*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if support for opening connections from uIP should be compiled in.  <a href="a00153.html#gac0de06236b02659460445de30776e00"></a><br></td></tr>
73*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#gf5fe83be78b78b9e7d9e7f1e34ab1cc5">UIP_CONNS</a></td></tr>
74*10465441SEvalZero
75*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum number of simultaneously open TCP connections.  <a href="a00153.html#gf5fe83be78b78b9e7d9e7f1e34ab1cc5"></a><br></td></tr>
76*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g8f4ebd8ef6c0ea665ed351d87fec09fd">UIP_LISTENPORTS</a></td></tr>
77*10465441SEvalZero
78*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum number of simultaneously listening TCP ports.  <a href="a00153.html#g8f4ebd8ef6c0ea665ed351d87fec09fd"></a><br></td></tr>
79*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g51c1cd531ff0afb81620151f2248cd21">UIP_URGDATA</a></td></tr>
80*10465441SEvalZero
81*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if support for TCP urgent data notification should be compiled in.  <a href="a00153.html#g51c1cd531ff0afb81620151f2248cd21"></a><br></td></tr>
82*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g15de27b044603284f68db05a378235a7">UIP_RTO</a>&nbsp;&nbsp;&nbsp;3</td></tr>
83*10465441SEvalZero
84*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The initial retransmission timeout counted in timer pulses.  <a href="a00153.html#g15de27b044603284f68db05a378235a7"></a><br></td></tr>
85*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g67cf1e0d2324c93f332c1f020c0fe8b3">UIP_MAXRTX</a>&nbsp;&nbsp;&nbsp;8</td></tr>
86*10465441SEvalZero
87*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum number of times a segment should be retransmitted before the connection should be aborted.  <a href="a00153.html#g67cf1e0d2324c93f332c1f020c0fe8b3"></a><br></td></tr>
88*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g24aa5bc36939cc9a0833e1df01478a7e">UIP_MAXSYNRTX</a>&nbsp;&nbsp;&nbsp;5</td></tr>
89*10465441SEvalZero
90*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum number of times a SYN segment should be retransmitted before a connection request should be deemed to have been unsuccessful.  <a href="a00153.html#g24aa5bc36939cc9a0833e1df01478a7e"></a><br></td></tr>
91*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g4910467b83a639f06739c82cd362037e">UIP_TCP_MSS</a>&nbsp;&nbsp;&nbsp;(UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN)</td></tr>
92*10465441SEvalZero
93*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The TCP maximum segment size.  <a href="a00153.html#g4910467b83a639f06739c82cd362037e"></a><br></td></tr>
94*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g5b9dba2123705bce1ce95c3deca0bdad">UIP_RECEIVE_WINDOW</a></td></tr>
95*10465441SEvalZero
96*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The size of the advertised receiver's window.  <a href="a00153.html#g5b9dba2123705bce1ce95c3deca0bdad"></a><br></td></tr>
97*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g2bc3b489923793759526a3181eb667fa">UIP_TIME_WAIT_TIMEOUT</a>&nbsp;&nbsp;&nbsp;120</td></tr>
98*10465441SEvalZero
99*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">How long a connection should stay in the TIME_WAIT state.  <a href="a00153.html#g2bc3b489923793759526a3181eb667fa"></a><br></td></tr>
100*10465441SEvalZero<tr><td colspan="2"><br><h2>ARP configuration options</h2></td></tr>
101*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#gb1455b27c06532a399cf06d2c1d6d08d">UIP_ARPTAB_SIZE</a></td></tr>
102*10465441SEvalZero
103*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The size of the ARP table.  <a href="a00153.html#gb1455b27c06532a399cf06d2c1d6d08d"></a><br></td></tr>
104*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g3090117ef3ff5775b77cb1960e442d07">UIP_ARP_MAXAGE</a>&nbsp;&nbsp;&nbsp;120</td></tr>
105*10465441SEvalZero
106*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maxium age of ARP table entries measured in 10ths of seconds.  <a href="a00153.html#g3090117ef3ff5775b77cb1960e442d07"></a><br></td></tr>
107*10465441SEvalZero<tr><td colspan="2"><br><h2>General configuration options</h2></td></tr>
108*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g3589822ecb9d9c4145209756396b8a6b">UIP_BUFSIZE</a></td></tr>
109*10465441SEvalZero
110*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The size of the uIP packet buffer.  <a href="a00153.html#g3589822ecb9d9c4145209756396b8a6b"></a><br></td></tr>
111*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g5726142fec34f35fb9ea19e5a45975c6">UIP_STATISTICS</a></td></tr>
112*10465441SEvalZero
113*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if statistics support should be compiled in.  <a href="a00153.html#g5726142fec34f35fb9ea19e5a45975c6"></a><br></td></tr>
114*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g21664b7441cfa37d280228d23316d609">UIP_LOGGING</a></td></tr>
115*10465441SEvalZero
116*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if logging of certain events should be compiled in.  <a href="a00153.html#g21664b7441cfa37d280228d23316d609"></a><br></td></tr>
117*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g156dd2891a57035e4afdc4c2bc0b0ebf">UIP_BROADCAST</a></td></tr>
118*10465441SEvalZero
119*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Broadcast support.  <a href="a00153.html#g156dd2891a57035e4afdc4c2bc0b0ebf"></a><br></td></tr>
120*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#ge6f4a2453dbd8bc60e6a82774552366a">UIP_LLH_LEN</a></td></tr>
121*10465441SEvalZero
122*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The link level header length.  <a href="a00153.html#ge6f4a2453dbd8bc60e6a82774552366a"></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="a00153.html#gb58e1ceb7cb73ca2bcd73146b6c1b4e7">uip_log</a> (char *msg)</td></tr>
124*10465441SEvalZero
125*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print out a uIP log message.  <a href="a00153.html#gb58e1ceb7cb73ca2bcd73146b6c1b4e7"></a><br></td></tr>
126*10465441SEvalZero<tr><td colspan="2"><br><h2>CPU architecture configuration</h2></td></tr>
127*10465441SEvalZero<tr><td colspan="2">The CPU architecture configuration is where the endianess of the CPU on which uIP is to be run is specified. Most CPUs today are little endian, and the most notable exception are the Motorolas which are big endian. The BYTE_ORDER macro should be changed to reflect the CPU architecture on which uIP is to be run. <br><br></td></tr>
128*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g285a80366aed9428f64282b8d13c918b">UIP_BYTE_ORDER</a></td></tr>
129*10465441SEvalZero
130*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The byte order of the CPU architecture on which uIP is to be run.  <a href="a00153.html#g285a80366aed9428f64282b8d13c918b"></a><br></td></tr>
131*10465441SEvalZero<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
132*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb6e04358481bd2057524fb874cfa472b"></a><!-- doxytag: member="uipopt.h::UIP_LITTLE_ENDIAN" ref="gb6e04358481bd2057524fb874cfa472b" args="" -->
133*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#gb6e04358481bd2057524fb874cfa472b">UIP_LITTLE_ENDIAN</a>&nbsp;&nbsp;&nbsp;3412</td></tr>
134*10465441SEvalZero
135*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6836f92f3692f3a4429eb599db40cbae"></a><!-- doxytag: member="uipopt.h::UIP_BIG_ENDIAN" ref="g6836f92f3692f3a4429eb599db40cbae" args="" -->
136*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g6836f92f3692f3a4429eb599db40cbae">UIP_BIG_ENDIAN</a>&nbsp;&nbsp;&nbsp;1234</td></tr>
137*10465441SEvalZero
138*10465441SEvalZero</table>
139*10465441SEvalZero<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 12 10:23:01 2006 for uIP 1.0 by&nbsp;
140*10465441SEvalZero<a href="http://www.doxygen.org/index.html">
141*10465441SEvalZero<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
142*10465441SEvalZero</body>
143*10465441SEvalZero</html>
144