xref: /nrf52832-nimble/rt-thread/components/net/uip/doc/html/a00153.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: Configuration options for uIP</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><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<h1>Configuration options for uIP</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
17*10465441SEvalZerouIP is configured using the per-project configuration file <a class="el" href="a00140.html">uipopt.h</a>.
18*10465441SEvalZero<p>
19*10465441SEvalZeroThis file contains all compile-time options for uIP and should be tweaked to match each specific project. The uIP distribution contains a documented example "uipopt.h" that can be copied and modified for each project.<p>
20*10465441SEvalZero<dl compact><dt><b>Note:</b></dt><dd>Most of the configuration options in the <a class="el" href="a00140.html">uipopt.h</a> should not be changed, but rather the per-project uip-conf.h file. </dd></dl>
21*10465441SEvalZero
22*10465441SEvalZero<p>
23*10465441SEvalZero<table border="0" cellpadding="0" cellspacing="0">
24*10465441SEvalZero<tr><td></td></tr>
25*10465441SEvalZero<tr><td colspan="2"><br><h2>Files</h2></td></tr>
26*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00141.html">uip-conf.h</a></td></tr>
27*10465441SEvalZero
28*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An example uIP configuration file. <br></td></tr>
29*10465441SEvalZero
30*10465441SEvalZero<p>
31*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00140.html">uipopt.h</a></td></tr>
32*10465441SEvalZero
33*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Configuration options for uIP. <br></td></tr>
34*10465441SEvalZero
35*10465441SEvalZero<p>
36*10465441SEvalZero<tr><td colspan="2"><br><h2>Project-specific configuration options</h2></td></tr>
37*10465441SEvalZero<tr><td colspan="2">uIP has a number of configuration options that can be overridden for each project. These are kept in a project-specific uip-conf.h file and all configuration names have the prefix UIP_CONF. <br><br></td></tr>
38*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3f6f1f6f98431f2d33ed30a30d2ccc35"></a><!-- doxytag: member="uipopt::UIP_CONF_MAX_CONNECTIONS" ref="g3f6f1f6f98431f2d33ed30a30d2ccc35" args="" -->
39*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g3f6f1f6f98431f2d33ed30a30d2ccc35">UIP_CONF_MAX_CONNECTIONS</a></td></tr>
40*10465441SEvalZero
41*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of TCP connections. <br></td></tr>
42*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g974c9b4bbe6b07cc1d64ac4fad278030"></a><!-- doxytag: member="uipopt::UIP_CONF_MAX_LISTENPORTS" ref="g974c9b4bbe6b07cc1d64ac4fad278030" args="" -->
43*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g974c9b4bbe6b07cc1d64ac4fad278030">UIP_CONF_MAX_LISTENPORTS</a></td></tr>
44*10465441SEvalZero
45*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum number of listening TCP ports. <br></td></tr>
46*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcacc406c3bf7d0e00412e4c946252739"></a><!-- doxytag: member="uipopt::UIP_CONF_BUFFER_SIZE" ref="gcacc406c3bf7d0e00412e4c946252739" args="" -->
47*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#gcacc406c3bf7d0e00412e4c946252739">UIP_CONF_BUFFER_SIZE</a></td></tr>
48*10465441SEvalZero
49*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">uIP buffer size. <br></td></tr>
50*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gca1240bba5dd57f8c7c27123c84a1f6d"></a><!-- doxytag: member="uipopt::UIP_CONF_BYTE_ORDER" ref="gca1240bba5dd57f8c7c27123c84a1f6d" args="" -->
51*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#gca1240bba5dd57f8c7c27123c84a1f6d">UIP_CONF_BYTE_ORDER</a></td></tr>
52*10465441SEvalZero
53*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">CPU byte order. <br></td></tr>
54*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3001114ddadc1f2ada5cc9a780e866fc"></a><!-- doxytag: member="uipopt::UIP_CONF_LOGGING" ref="g3001114ddadc1f2ada5cc9a780e866fc" args="" -->
55*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g3001114ddadc1f2ada5cc9a780e866fc">UIP_CONF_LOGGING</a></td></tr>
56*10465441SEvalZero
57*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Logging on or off. <br></td></tr>
58*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g763f12007aad8cc0e483bf50f8a8d9b4"></a><!-- doxytag: member="uipopt::UIP_CONF_UDP" ref="g763f12007aad8cc0e483bf50f8a8d9b4" args="" -->
59*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g763f12007aad8cc0e483bf50f8a8d9b4">UIP_CONF_UDP</a></td></tr>
60*10465441SEvalZero
61*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">UDP support on or off. <br></td></tr>
62*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9dd44616d41cef74d3beb51d8be5ecec"></a><!-- doxytag: member="uipopt::UIP_CONF_UDP_CHECKSUMS" ref="g9dd44616d41cef74d3beb51d8be5ecec" args="" -->
63*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g9dd44616d41cef74d3beb51d8be5ecec">UIP_CONF_UDP_CHECKSUMS</a></td></tr>
64*10465441SEvalZero
65*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">UDP checksums on or off. <br></td></tr>
66*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g529648ad3b0b327a43689b0f1779ff55"></a><!-- doxytag: member="uipopt::UIP_CONF_STATISTICS" ref="g529648ad3b0b327a43689b0f1779ff55" args="" -->
67*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g529648ad3b0b327a43689b0f1779ff55">UIP_CONF_STATISTICS</a></td></tr>
68*10465441SEvalZero
69*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">uIP statistics on or off <br></td></tr>
70*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a></td></tr>
71*10465441SEvalZero
72*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">8 bit datatype  <a href="#g4caecabca98b43919dd11be1c0d4cd8e"></a><br></td></tr>
73*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a></td></tr>
74*10465441SEvalZero
75*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">16 bit datatype  <a href="#g77570ac4fcab86864fa1916e55676da2"></a><br></td></tr>
76*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g727459e5c4f777543c81ffffa3df3f0c">uip_stats_t</a></td></tr>
77*10465441SEvalZero
78*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Statistics datatype.  <a href="#g727459e5c4f777543c81ffffa3df3f0c"></a><br></td></tr>
79*10465441SEvalZero<tr><td colspan="2"><br><h2>Static configuration options</h2></td></tr>
80*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>
81*10465441SEvalZeroAll of these should be changed to suit your project. <br><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#g51195ea7cd5aa387a87f9d3b23905b62">UIP_FIXEDADDR</a></td></tr>
83*10465441SEvalZero
84*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if uIP should use a fixed IP address or not.  <a href="#g51195ea7cd5aa387a87f9d3b23905b62"></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#g9069474ea570fd78c481aa164317dbaf">UIP_PINGADDRCONF</a></td></tr>
86*10465441SEvalZero
87*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ping IP address asignment.  <a href="#g9069474ea570fd78c481aa164317dbaf"></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#ge0f8cbeca9731af2171ffd37e79de893">UIP_FIXEDETHADDR</a></td></tr>
89*10465441SEvalZero
90*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="#ge0f8cbeca9731af2171ffd37e79de893"></a><br></td></tr>
91*10465441SEvalZero<tr><td colspan="2"><br><h2>IP configuration options</h2></td></tr>
92*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>
93*10465441SEvalZero
94*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The IP TTL (time to live) of IP packets sent by uIP.  <a href="#gb61381673de27f31848c5396bf0b338e"></a><br></td></tr>
95*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>
96*10465441SEvalZero
97*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Turn on support for IP packet reassembly.  <a href="#gf963fdea2b75d27ef31e92d1d01359ee"></a><br></td></tr>
98*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc3882366feda1cb759ccbfe98327a7db"></a><!-- doxytag: member="uipopt::UIP_REASS_MAXAGE" ref="gc3882366feda1cb759ccbfe98327a7db" args="" -->
99*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>
100*10465441SEvalZero
101*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>
102*10465441SEvalZero<tr><td colspan="2"><br><h2>UDP configuration options</h2></td></tr>
103*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdcf372ff9748996f7c05e9822a615384"></a><!-- doxytag: member="uipopt::UIP_UDP" ref="gdcf372ff9748996f7c05e9822a615384" args="" -->
104*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#gdcf372ff9748996f7c05e9822a615384">UIP_UDP</a></td></tr>
105*10465441SEvalZero
106*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Toggles wether UDP support should be compiled in or not. <br></td></tr>
107*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>
108*10465441SEvalZero
109*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Toggles if UDP checksums should be used or not.  <a href="#g92f3344ec8ca46893163399c89fafed5"></a><br></td></tr>
110*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g196379ceb1219a99f4495e41ccc9bbfb"></a><!-- doxytag: member="uipopt::UIP_UDP_CONNS" ref="g196379ceb1219a99f4495e41ccc9bbfb" args="" -->
111*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g196379ceb1219a99f4495e41ccc9bbfb">UIP_UDP_CONNS</a></td></tr>
112*10465441SEvalZero
113*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum amount of concurrent UDP connections. <br></td></tr>
114*10465441SEvalZero<tr><td colspan="2"><br><h2>TCP configuration options</h2></td></tr>
115*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>
116*10465441SEvalZero
117*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if support for opening connections from uIP should be compiled in.  <a href="#gac0de06236b02659460445de30776e00"></a><br></td></tr>
118*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>
119*10465441SEvalZero
120*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum number of simultaneously open TCP connections.  <a href="#gf5fe83be78b78b9e7d9e7f1e34ab1cc5"></a><br></td></tr>
121*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>
122*10465441SEvalZero
123*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum number of simultaneously listening TCP ports.  <a href="#g8f4ebd8ef6c0ea665ed351d87fec09fd"></a><br></td></tr>
124*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>
125*10465441SEvalZero
126*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if support for TCP urgent data notification should be compiled in.  <a href="#g51c1cd531ff0afb81620151f2248cd21"></a><br></td></tr>
127*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>
128*10465441SEvalZero
129*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The initial retransmission timeout counted in timer pulses.  <a href="#g15de27b044603284f68db05a378235a7"></a><br></td></tr>
130*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>
131*10465441SEvalZero
132*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="#g67cf1e0d2324c93f332c1f020c0fe8b3"></a><br></td></tr>
133*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>
134*10465441SEvalZero
135*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="#g24aa5bc36939cc9a0833e1df01478a7e"></a><br></td></tr>
136*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>
137*10465441SEvalZero
138*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The TCP maximum segment size.  <a href="#g4910467b83a639f06739c82cd362037e"></a><br></td></tr>
139*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>
140*10465441SEvalZero
141*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The size of the advertised receiver's window.  <a href="#g5b9dba2123705bce1ce95c3deca0bdad"></a><br></td></tr>
142*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>
143*10465441SEvalZero
144*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">How long a connection should stay in the TIME_WAIT state.  <a href="#g2bc3b489923793759526a3181eb667fa"></a><br></td></tr>
145*10465441SEvalZero<tr><td colspan="2"><br><h2>ARP configuration options</h2></td></tr>
146*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>
147*10465441SEvalZero
148*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The size of the ARP table.  <a href="#gb1455b27c06532a399cf06d2c1d6d08d"></a><br></td></tr>
149*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>
150*10465441SEvalZero
151*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maxium age of ARP table entries measured in 10ths of seconds.  <a href="#g3090117ef3ff5775b77cb1960e442d07"></a><br></td></tr>
152*10465441SEvalZero<tr><td colspan="2"><br><h2>General configuration options</h2></td></tr>
153*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>
154*10465441SEvalZero
155*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The size of the uIP packet buffer.  <a href="#g3589822ecb9d9c4145209756396b8a6b"></a><br></td></tr>
156*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>
157*10465441SEvalZero
158*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if statistics support should be compiled in.  <a href="#g5726142fec34f35fb9ea19e5a45975c6"></a><br></td></tr>
159*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>
160*10465441SEvalZero
161*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if logging of certain events should be compiled in.  <a href="#g21664b7441cfa37d280228d23316d609"></a><br></td></tr>
162*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>
163*10465441SEvalZero
164*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Broadcast support.  <a href="#g156dd2891a57035e4afdc4c2bc0b0ebf"></a><br></td></tr>
165*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>
166*10465441SEvalZero
167*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The link level header length.  <a href="#ge6f4a2453dbd8bc60e6a82774552366a"></a><br></td></tr>
168*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>
169*10465441SEvalZero
170*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print out a uIP log message.  <a href="#gb58e1ceb7cb73ca2bcd73146b6c1b4e7"></a><br></td></tr>
171*10465441SEvalZero<tr><td colspan="2"><br><h2>CPU architecture configuration</h2></td></tr>
172*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>
173*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>
174*10465441SEvalZero
175*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="#g285a80366aed9428f64282b8d13c918b"></a><br></td></tr>
176*10465441SEvalZero<tr><td colspan="2"><br><h2>Appication specific configurations</h2></td></tr>
177*10465441SEvalZero<tr><td colspan="2">An uIP application is implemented using a single application function that is called by uIP whenever a TCP/IP event occurs. The name of this function must be registered with uIP at compile time using the UIP_APPCALL definition.<p>
178*10465441SEvalZerouIP applications can store the application state within the <a class="el" href="a00088.html">uip_conn</a> structure by specifying the type of the application structure by typedef:ing the type uip_tcp_appstate_t and uip_udp_appstate_t.<p>
179*10465441SEvalZeroThe file containing the definitions must be included in the <a class="el" href="a00140.html">uipopt.h</a> file.<p>
180*10465441SEvalZeroThe following example illustrates how this can look. <div class="fragment"><pre class="fragment"><span class="keywordtype">void</span> <a class="code" href="a00164.html#g648ddfb2dde2cc55034e4e0ea41cb6d1">httpd_appcall</a>(<span class="keywordtype">void</span>);
181*10465441SEvalZero<span class="preprocessor">#define UIP_APPCALL     httpd_appcall</span>
182*10465441SEvalZero<span class="preprocessor"></span>
183*10465441SEvalZero<span class="keyword">struct </span><a class="code" href="a00080.html">httpd_state</a> {
184*10465441SEvalZero  <a class="code" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a> <a class="code" href="a00080.html#94fcc9f5c47f419040d849ce58beae35">state</a>;
185*10465441SEvalZero  <a class="code" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> <a class="code" href="a00080.html#6df929b448ea98bc44d41f5e96237bda">count</a>;
186*10465441SEvalZero  <span class="keywordtype">char</span> *dataptr;
187*10465441SEvalZero  <span class="keywordtype">char</span> *script;
188*10465441SEvalZero};
189*10465441SEvalZero<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="a00080.html">httpd_state</a> <a class="code" href="a00153.html#g69646a81a922033c5281445a71f8ffed">uip_tcp_appstate_t</a>
190*10465441SEvalZero</pre></div> <br><br></td></tr>
191*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g41aa744caa46913b3b3aedb2a4e78546"></a><!-- doxytag: member="uipopt::UIP_APPCALL" ref="g41aa744caa46913b3b3aedb2a4e78546" args="" -->
192*10465441SEvalZero#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g41aa744caa46913b3b3aedb2a4e78546">UIP_APPCALL</a>&nbsp;&nbsp;&nbsp;smtp_appcall</td></tr>
193*10465441SEvalZero
194*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name of the application function that uIP should call in response to TCP/IP events. <br></td></tr>
195*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00085.html">smtp_state</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#g69646a81a922033c5281445a71f8ffed">uip_tcp_appstate_t</a></td></tr>
196*10465441SEvalZero
197*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type of the application state that is to be stored in the <a class="el" href="a00088.html">uip_conn</a> structure.  <a href="#g69646a81a922033c5281445a71f8ffed"></a><br></td></tr>
198*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#ga92afb113e122f860392bfbd385f842e">uip_udp_appstate_t</a></td></tr>
199*10465441SEvalZero
200*10465441SEvalZero<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type of the application state that is to be stored in the <a class="el" href="a00088.html">uip_conn</a> structure.  <a href="#ga92afb113e122f860392bfbd385f842e"></a><br></td></tr>
201*10465441SEvalZero<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
202*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb6e04358481bd2057524fb874cfa472b"></a><!-- doxytag: member="uipopt::UIP_LITTLE_ENDIAN" ref="gb6e04358481bd2057524fb874cfa472b" args="" -->
203*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>
204*10465441SEvalZero
205*10465441SEvalZero<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6836f92f3692f3a4429eb599db40cbae"></a><!-- doxytag: member="uipopt::UIP_BIG_ENDIAN" ref="g6836f92f3692f3a4429eb599db40cbae" args="" -->
206*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>
207*10465441SEvalZero
208*10465441SEvalZero</table>
209*10465441SEvalZero<hr><h2>Define Documentation</h2>
210*10465441SEvalZero<a class="anchor" name="gac0de06236b02659460445de30776e00"></a><!-- doxytag: member="uipopt.h::UIP_ACTIVE_OPEN" ref="gac0de06236b02659460445de30776e00" args="" --><p>
211*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
212*10465441SEvalZero  <tr>
213*10465441SEvalZero    <td class="mdRow">
214*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
215*10465441SEvalZero        <tr>
216*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_ACTIVE_OPEN          </td>
217*10465441SEvalZero        </tr>
218*10465441SEvalZero      </table>
219*10465441SEvalZero    </td>
220*10465441SEvalZero  </tr>
221*10465441SEvalZero</table>
222*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
223*10465441SEvalZero  <tr>
224*10465441SEvalZero    <td>
225*10465441SEvalZero      &nbsp;
226*10465441SEvalZero    </td>
227*10465441SEvalZero    <td>
228*10465441SEvalZero
229*10465441SEvalZero<p>
230*10465441SEvalZeroDetermines if support for opening connections from uIP should be compiled in.
231*10465441SEvalZero<p>
232*10465441SEvalZeroIf the applications that are running on top of uIP for this project do not need to open outgoing TCP connections, this configration option can be turned off to reduce the code size of uIP.
233*10465441SEvalZero<p>
234*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00233">233</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
235*10465441SEvalZero  </tr>
236*10465441SEvalZero</table>
237*10465441SEvalZero<a class="anchor" name="g3090117ef3ff5775b77cb1960e442d07"></a><!-- doxytag: member="uipopt.h::UIP_ARP_MAXAGE" ref="g3090117ef3ff5775b77cb1960e442d07" args="" --><p>
238*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
239*10465441SEvalZero  <tr>
240*10465441SEvalZero    <td class="mdRow">
241*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
242*10465441SEvalZero        <tr>
243*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_ARP_MAXAGE&nbsp;&nbsp;&nbsp;120          </td>
244*10465441SEvalZero        </tr>
245*10465441SEvalZero      </table>
246*10465441SEvalZero    </td>
247*10465441SEvalZero  </tr>
248*10465441SEvalZero</table>
249*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
250*10465441SEvalZero  <tr>
251*10465441SEvalZero    <td>
252*10465441SEvalZero      &nbsp;
253*10465441SEvalZero    </td>
254*10465441SEvalZero    <td>
255*10465441SEvalZero
256*10465441SEvalZero<p>
257*10465441SEvalZeroThe maxium age of ARP table entries measured in 10ths of seconds.
258*10465441SEvalZero<p>
259*10465441SEvalZeroAn UIP_ARP_MAXAGE of 120 corresponds to 20 minutes (BSD default).
260*10465441SEvalZero<p>
261*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00358">358</a> of file <a class="el" href="a00206.html">uipopt.h</a>.
262*10465441SEvalZero<p>
263*10465441SEvalZeroReferenced by <a class="el" href="a00204.html#l00142">uip_arp_timer()</a>.    </td>
264*10465441SEvalZero  </tr>
265*10465441SEvalZero</table>
266*10465441SEvalZero<a class="anchor" name="gb1455b27c06532a399cf06d2c1d6d08d"></a><!-- doxytag: member="uipopt.h::UIP_ARPTAB_SIZE" ref="gb1455b27c06532a399cf06d2c1d6d08d" args="" --><p>
267*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
268*10465441SEvalZero  <tr>
269*10465441SEvalZero    <td class="mdRow">
270*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
271*10465441SEvalZero        <tr>
272*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_ARPTAB_SIZE          </td>
273*10465441SEvalZero        </tr>
274*10465441SEvalZero      </table>
275*10465441SEvalZero    </td>
276*10465441SEvalZero  </tr>
277*10465441SEvalZero</table>
278*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
279*10465441SEvalZero  <tr>
280*10465441SEvalZero    <td>
281*10465441SEvalZero      &nbsp;
282*10465441SEvalZero    </td>
283*10465441SEvalZero    <td>
284*10465441SEvalZero
285*10465441SEvalZero<p>
286*10465441SEvalZeroThe size of the ARP table.
287*10465441SEvalZero<p>
288*10465441SEvalZeroThis option should be set to a larger value if this uIP node will have many connections from the local network.
289*10465441SEvalZero<p>
290*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00349">349</a> of file <a class="el" href="a00206.html">uipopt.h</a>.
291*10465441SEvalZero<p>
292*10465441SEvalZeroReferenced by <a class="el" href="a00204.html#l00125">uip_arp_init()</a>, <a class="el" href="a00204.html#l00354">uip_arp_out()</a>, and <a class="el" href="a00204.html#l00142">uip_arp_timer()</a>.    </td>
293*10465441SEvalZero  </tr>
294*10465441SEvalZero</table>
295*10465441SEvalZero<a class="anchor" name="g156dd2891a57035e4afdc4c2bc0b0ebf"></a><!-- doxytag: member="uipopt.h::UIP_BROADCAST" ref="g156dd2891a57035e4afdc4c2bc0b0ebf" args="" --><p>
296*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
297*10465441SEvalZero  <tr>
298*10465441SEvalZero    <td class="mdRow">
299*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
300*10465441SEvalZero        <tr>
301*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_BROADCAST          </td>
302*10465441SEvalZero        </tr>
303*10465441SEvalZero      </table>
304*10465441SEvalZero    </td>
305*10465441SEvalZero  </tr>
306*10465441SEvalZero</table>
307*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
308*10465441SEvalZero  <tr>
309*10465441SEvalZero    <td>
310*10465441SEvalZero      &nbsp;
311*10465441SEvalZero    </td>
312*10465441SEvalZero    <td>
313*10465441SEvalZero
314*10465441SEvalZero<p>
315*10465441SEvalZeroBroadcast support.
316*10465441SEvalZero<p>
317*10465441SEvalZeroThis flag configures IP broadcast support. This is useful only together with UDP.
318*10465441SEvalZero<p>
319*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00423">423</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
320*10465441SEvalZero  </tr>
321*10465441SEvalZero</table>
322*10465441SEvalZero<a class="anchor" name="g3589822ecb9d9c4145209756396b8a6b"></a><!-- doxytag: member="uipopt.h::UIP_BUFSIZE" ref="g3589822ecb9d9c4145209756396b8a6b" args="" --><p>
323*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
324*10465441SEvalZero  <tr>
325*10465441SEvalZero    <td class="mdRow">
326*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
327*10465441SEvalZero        <tr>
328*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_BUFSIZE          </td>
329*10465441SEvalZero        </tr>
330*10465441SEvalZero      </table>
331*10465441SEvalZero    </td>
332*10465441SEvalZero  </tr>
333*10465441SEvalZero</table>
334*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
335*10465441SEvalZero  <tr>
336*10465441SEvalZero    <td>
337*10465441SEvalZero      &nbsp;
338*10465441SEvalZero    </td>
339*10465441SEvalZero    <td>
340*10465441SEvalZero
341*10465441SEvalZero<p>
342*10465441SEvalZeroThe size of the uIP packet buffer.
343*10465441SEvalZero<p>
344*10465441SEvalZeroThe uIP packet buffer should not be smaller than 60 bytes, and does not need to be larger than 1500 bytes. Lower size results in lower TCP throughput, larger size results in higher TCP throughput.
345*10465441SEvalZero<p>
346*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00379">379</a> of file <a class="el" href="a00206.html">uipopt.h</a>.
347*10465441SEvalZero<p>
348*10465441SEvalZeroReferenced by <a class="el" href="a00199.html#l00049">uip_split_output()</a>.    </td>
349*10465441SEvalZero  </tr>
350*10465441SEvalZero</table>
351*10465441SEvalZero<a class="anchor" name="g285a80366aed9428f64282b8d13c918b"></a><!-- doxytag: member="uipopt.h::UIP_BYTE_ORDER" ref="g285a80366aed9428f64282b8d13c918b" args="" --><p>
352*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
353*10465441SEvalZero  <tr>
354*10465441SEvalZero    <td class="mdRow">
355*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
356*10465441SEvalZero        <tr>
357*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_BYTE_ORDER          </td>
358*10465441SEvalZero        </tr>
359*10465441SEvalZero      </table>
360*10465441SEvalZero    </td>
361*10465441SEvalZero  </tr>
362*10465441SEvalZero</table>
363*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
364*10465441SEvalZero  <tr>
365*10465441SEvalZero    <td>
366*10465441SEvalZero      &nbsp;
367*10465441SEvalZero    </td>
368*10465441SEvalZero    <td>
369*10465441SEvalZero
370*10465441SEvalZero<p>
371*10465441SEvalZeroThe byte order of the CPU architecture on which uIP is to be run.
372*10465441SEvalZero<p>
373*10465441SEvalZeroThis option can be either BIG_ENDIAN (Motorola byte order) or LITTLE_ENDIAN (Intel byte order).
374*10465441SEvalZero<p>
375*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00475">475</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
376*10465441SEvalZero  </tr>
377*10465441SEvalZero</table>
378*10465441SEvalZero<a class="anchor" name="gf5fe83be78b78b9e7d9e7f1e34ab1cc5"></a><!-- doxytag: member="uipopt.h::UIP_CONNS" ref="gf5fe83be78b78b9e7d9e7f1e34ab1cc5" args="" --><p>
379*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
380*10465441SEvalZero  <tr>
381*10465441SEvalZero    <td class="mdRow">
382*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
383*10465441SEvalZero        <tr>
384*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_CONNS          </td>
385*10465441SEvalZero        </tr>
386*10465441SEvalZero      </table>
387*10465441SEvalZero    </td>
388*10465441SEvalZero  </tr>
389*10465441SEvalZero</table>
390*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
391*10465441SEvalZero  <tr>
392*10465441SEvalZero    <td>
393*10465441SEvalZero      &nbsp;
394*10465441SEvalZero    </td>
395*10465441SEvalZero    <td>
396*10465441SEvalZero
397*10465441SEvalZero<p>
398*10465441SEvalZeroThe maximum number of simultaneously open TCP connections.
399*10465441SEvalZero<p>
400*10465441SEvalZeroSince the TCP connections are statically allocated, turning this configuration knob down results in less RAM used. Each TCP connection requires approximatly 30 bytes of memory. <dl compact><dt><b>Examples: </b></dt><dd>
401*10465441SEvalZero<a class="el" href="a00042.html#a79">example-mainloop-with-arp.c</a>, and <a class="el" href="a00043.html#a96">example-mainloop-without-arp.c</a>.</dl>
402*10465441SEvalZero<p>
403*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00245">245</a> of file <a class="el" href="a00206.html">uipopt.h</a>.
404*10465441SEvalZero<p>
405*10465441SEvalZeroReferenced by <a class="el" href="a00201.html#l00407">uip_connect()</a>.    </td>
406*10465441SEvalZero  </tr>
407*10465441SEvalZero</table>
408*10465441SEvalZero<a class="anchor" name="g51195ea7cd5aa387a87f9d3b23905b62"></a><!-- doxytag: member="uipopt.h::UIP_FIXEDADDR" ref="g51195ea7cd5aa387a87f9d3b23905b62" args="" --><p>
409*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
410*10465441SEvalZero  <tr>
411*10465441SEvalZero    <td class="mdRow">
412*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
413*10465441SEvalZero        <tr>
414*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_FIXEDADDR          </td>
415*10465441SEvalZero        </tr>
416*10465441SEvalZero      </table>
417*10465441SEvalZero    </td>
418*10465441SEvalZero  </tr>
419*10465441SEvalZero</table>
420*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
421*10465441SEvalZero  <tr>
422*10465441SEvalZero    <td>
423*10465441SEvalZero      &nbsp;
424*10465441SEvalZero    </td>
425*10465441SEvalZero    <td>
426*10465441SEvalZero
427*10465441SEvalZero<p>
428*10465441SEvalZeroDetermines if uIP should use a fixed IP address or not.
429*10465441SEvalZero<p>
430*10465441SEvalZeroIf uIP should use a fixed IP address, the settings are set in the <a class="el" href="a00140.html">uipopt.h</a> file. If not, the macros <a class="el" href="a00144.html#g12b467f314489259dd718228d0827a51">uip_sethostaddr()</a>, <a class="el" href="a00144.html#g41d37ea1e3bd24f7b51e9409aceaaa80">uip_setdraddr()</a> and <a class="el" href="a00144.html#geb79c914cf137e6d27fd7583e5a66679">uip_setnetmask()</a> should be used instead.
431*10465441SEvalZero<p>
432*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00097">97</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
433*10465441SEvalZero  </tr>
434*10465441SEvalZero</table>
435*10465441SEvalZero<a class="anchor" name="ge0f8cbeca9731af2171ffd37e79de893"></a><!-- doxytag: member="uipopt.h::UIP_FIXEDETHADDR" ref="ge0f8cbeca9731af2171ffd37e79de893" args="" --><p>
436*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
437*10465441SEvalZero  <tr>
438*10465441SEvalZero    <td class="mdRow">
439*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
440*10465441SEvalZero        <tr>
441*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_FIXEDETHADDR          </td>
442*10465441SEvalZero        </tr>
443*10465441SEvalZero      </table>
444*10465441SEvalZero    </td>
445*10465441SEvalZero  </tr>
446*10465441SEvalZero</table>
447*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
448*10465441SEvalZero  <tr>
449*10465441SEvalZero    <td>
450*10465441SEvalZero      &nbsp;
451*10465441SEvalZero    </td>
452*10465441SEvalZero    <td>
453*10465441SEvalZero
454*10465441SEvalZero<p>
455*10465441SEvalZeroSpecifies if the uIP ARP module should be compiled with a fixed Ethernet MAC address or not.
456*10465441SEvalZero<p>
457*10465441SEvalZeroIf this configuration option is 0, the macro <a class="el" href="a00144.html#g30e827f33eacff55ecb4d8fb5a11d5d1">uip_setethaddr()</a> can be used to specify the Ethernet address at run-time.
458*10465441SEvalZero<p>
459*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00127">127</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
460*10465441SEvalZero  </tr>
461*10465441SEvalZero</table>
462*10465441SEvalZero<a class="anchor" name="g8f4ebd8ef6c0ea665ed351d87fec09fd"></a><!-- doxytag: member="uipopt.h::UIP_LISTENPORTS" ref="g8f4ebd8ef6c0ea665ed351d87fec09fd" args="" --><p>
463*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
464*10465441SEvalZero  <tr>
465*10465441SEvalZero    <td class="mdRow">
466*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
467*10465441SEvalZero        <tr>
468*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_LISTENPORTS          </td>
469*10465441SEvalZero        </tr>
470*10465441SEvalZero      </table>
471*10465441SEvalZero    </td>
472*10465441SEvalZero  </tr>
473*10465441SEvalZero</table>
474*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
475*10465441SEvalZero  <tr>
476*10465441SEvalZero    <td>
477*10465441SEvalZero      &nbsp;
478*10465441SEvalZero    </td>
479*10465441SEvalZero    <td>
480*10465441SEvalZero
481*10465441SEvalZero<p>
482*10465441SEvalZeroThe maximum number of simultaneously listening TCP ports.
483*10465441SEvalZero<p>
484*10465441SEvalZeroEach listening TCP port requires 2 bytes of memory.
485*10465441SEvalZero<p>
486*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00259">259</a> of file <a class="el" href="a00206.html">uipopt.h</a>.
487*10465441SEvalZero<p>
488*10465441SEvalZeroReferenced by <a class="el" href="a00201.html#l00379">uip_init()</a>, <a class="el" href="a00201.html#l00529">uip_listen()</a>, and <a class="el" href="a00201.html#l00518">uip_unlisten()</a>.    </td>
489*10465441SEvalZero  </tr>
490*10465441SEvalZero</table>
491*10465441SEvalZero<a class="anchor" name="ge6f4a2453dbd8bc60e6a82774552366a"></a><!-- doxytag: member="uipopt.h::UIP_LLH_LEN" ref="ge6f4a2453dbd8bc60e6a82774552366a" args="" --><p>
492*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
493*10465441SEvalZero  <tr>
494*10465441SEvalZero    <td class="mdRow">
495*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
496*10465441SEvalZero        <tr>
497*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_LLH_LEN          </td>
498*10465441SEvalZero        </tr>
499*10465441SEvalZero      </table>
500*10465441SEvalZero    </td>
501*10465441SEvalZero  </tr>
502*10465441SEvalZero</table>
503*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
504*10465441SEvalZero  <tr>
505*10465441SEvalZero    <td>
506*10465441SEvalZero      &nbsp;
507*10465441SEvalZero    </td>
508*10465441SEvalZero    <td>
509*10465441SEvalZero
510*10465441SEvalZero<p>
511*10465441SEvalZeroThe link level header length.
512*10465441SEvalZero<p>
513*10465441SEvalZeroThis is the offset into the uip_buf where the IP header can be found. For Ethernet, this should be set to 14. For SLIP, this should be set to 0.
514*10465441SEvalZero<p>
515*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00448">448</a> of file <a class="el" href="a00206.html">uipopt.h</a>.
516*10465441SEvalZero<p>
517*10465441SEvalZeroReferenced by <a class="el" href="a00201.html#l00318">uip_ipchksum()</a>, <a class="el" href="a00201.html#l00682">uip_process()</a>, and <a class="el" href="a00199.html#l00049">uip_split_output()</a>.    </td>
518*10465441SEvalZero  </tr>
519*10465441SEvalZero</table>
520*10465441SEvalZero<a class="anchor" name="g21664b7441cfa37d280228d23316d609"></a><!-- doxytag: member="uipopt.h::UIP_LOGGING" ref="g21664b7441cfa37d280228d23316d609" args="" --><p>
521*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
522*10465441SEvalZero  <tr>
523*10465441SEvalZero    <td class="mdRow">
524*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
525*10465441SEvalZero        <tr>
526*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_LOGGING          </td>
527*10465441SEvalZero        </tr>
528*10465441SEvalZero      </table>
529*10465441SEvalZero    </td>
530*10465441SEvalZero  </tr>
531*10465441SEvalZero</table>
532*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
533*10465441SEvalZero  <tr>
534*10465441SEvalZero    <td>
535*10465441SEvalZero      &nbsp;
536*10465441SEvalZero    </td>
537*10465441SEvalZero    <td>
538*10465441SEvalZero
539*10465441SEvalZero<p>
540*10465441SEvalZeroDetermines if logging of certain events should be compiled in.
541*10465441SEvalZero<p>
542*10465441SEvalZeroThis is useful mostly for debugging. The function <a class="el" href="a00153.html#gb58e1ceb7cb73ca2bcd73146b6c1b4e7">uip_log()</a> must be implemented to suit the architecture of the project, if logging is turned on.
543*10465441SEvalZero<p>
544*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00408">408</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
545*10465441SEvalZero  </tr>
546*10465441SEvalZero</table>
547*10465441SEvalZero<a class="anchor" name="g67cf1e0d2324c93f332c1f020c0fe8b3"></a><!-- doxytag: member="uipopt.h::UIP_MAXRTX" ref="g67cf1e0d2324c93f332c1f020c0fe8b3" args="" --><p>
548*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
549*10465441SEvalZero  <tr>
550*10465441SEvalZero    <td class="mdRow">
551*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
552*10465441SEvalZero        <tr>
553*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_MAXRTX&nbsp;&nbsp;&nbsp;8          </td>
554*10465441SEvalZero        </tr>
555*10465441SEvalZero      </table>
556*10465441SEvalZero    </td>
557*10465441SEvalZero  </tr>
558*10465441SEvalZero</table>
559*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
560*10465441SEvalZero  <tr>
561*10465441SEvalZero    <td>
562*10465441SEvalZero      &nbsp;
563*10465441SEvalZero    </td>
564*10465441SEvalZero    <td>
565*10465441SEvalZero
566*10465441SEvalZero<p>
567*10465441SEvalZeroThe maximum number of times a segment should be retransmitted before the connection should be aborted.
568*10465441SEvalZero<p>
569*10465441SEvalZeroThis should not be changed.
570*10465441SEvalZero<p>
571*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00288">288</a> of file <a class="el" href="a00206.html">uipopt.h</a>.
572*10465441SEvalZero<p>
573*10465441SEvalZeroReferenced by <a class="el" href="a00201.html#l00682">uip_process()</a>.    </td>
574*10465441SEvalZero  </tr>
575*10465441SEvalZero</table>
576*10465441SEvalZero<a class="anchor" name="g24aa5bc36939cc9a0833e1df01478a7e"></a><!-- doxytag: member="uipopt.h::UIP_MAXSYNRTX" ref="g24aa5bc36939cc9a0833e1df01478a7e" args="" --><p>
577*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
578*10465441SEvalZero  <tr>
579*10465441SEvalZero    <td class="mdRow">
580*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
581*10465441SEvalZero        <tr>
582*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_MAXSYNRTX&nbsp;&nbsp;&nbsp;5          </td>
583*10465441SEvalZero        </tr>
584*10465441SEvalZero      </table>
585*10465441SEvalZero    </td>
586*10465441SEvalZero  </tr>
587*10465441SEvalZero</table>
588*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
589*10465441SEvalZero  <tr>
590*10465441SEvalZero    <td>
591*10465441SEvalZero      &nbsp;
592*10465441SEvalZero    </td>
593*10465441SEvalZero    <td>
594*10465441SEvalZero
595*10465441SEvalZero<p>
596*10465441SEvalZeroThe maximum number of times a SYN segment should be retransmitted before a connection request should be deemed to have been unsuccessful.
597*10465441SEvalZero<p>
598*10465441SEvalZeroThis should not need to be changed.
599*10465441SEvalZero<p>
600*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00297">297</a> of file <a class="el" href="a00206.html">uipopt.h</a>.
601*10465441SEvalZero<p>
602*10465441SEvalZeroReferenced by <a class="el" href="a00201.html#l00682">uip_process()</a>.    </td>
603*10465441SEvalZero  </tr>
604*10465441SEvalZero</table>
605*10465441SEvalZero<a class="anchor" name="g9069474ea570fd78c481aa164317dbaf"></a><!-- doxytag: member="uipopt.h::UIP_PINGADDRCONF" ref="g9069474ea570fd78c481aa164317dbaf" args="" --><p>
606*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
607*10465441SEvalZero  <tr>
608*10465441SEvalZero    <td class="mdRow">
609*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
610*10465441SEvalZero        <tr>
611*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_PINGADDRCONF          </td>
612*10465441SEvalZero        </tr>
613*10465441SEvalZero      </table>
614*10465441SEvalZero    </td>
615*10465441SEvalZero  </tr>
616*10465441SEvalZero</table>
617*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
618*10465441SEvalZero  <tr>
619*10465441SEvalZero    <td>
620*10465441SEvalZero      &nbsp;
621*10465441SEvalZero    </td>
622*10465441SEvalZero    <td>
623*10465441SEvalZero
624*10465441SEvalZero<p>
625*10465441SEvalZeroPing IP address asignment.
626*10465441SEvalZero<p>
627*10465441SEvalZerouIP uses a "ping" packets for setting its own IP address if this option is set. If so, uIP will start with an empty IP address and the destination IP address of the first incoming "ping" (ICMP echo) packet will be used for setting the hosts IP address.<p>
628*10465441SEvalZero<dl compact><dt><b>Note:</b></dt><dd>This works only if UIP_FIXEDADDR is 0. </dd></dl>
629*10465441SEvalZero
630*10465441SEvalZero<p>
631*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00114">114</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
632*10465441SEvalZero  </tr>
633*10465441SEvalZero</table>
634*10465441SEvalZero<a class="anchor" name="gf963fdea2b75d27ef31e92d1d01359ee"></a><!-- doxytag: member="uipopt.h::UIP_REASSEMBLY" ref="gf963fdea2b75d27ef31e92d1d01359ee" args="" --><p>
635*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
636*10465441SEvalZero  <tr>
637*10465441SEvalZero    <td class="mdRow">
638*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
639*10465441SEvalZero        <tr>
640*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_REASSEMBLY          </td>
641*10465441SEvalZero        </tr>
642*10465441SEvalZero      </table>
643*10465441SEvalZero    </td>
644*10465441SEvalZero  </tr>
645*10465441SEvalZero</table>
646*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
647*10465441SEvalZero  <tr>
648*10465441SEvalZero    <td>
649*10465441SEvalZero      &nbsp;
650*10465441SEvalZero    </td>
651*10465441SEvalZero    <td>
652*10465441SEvalZero
653*10465441SEvalZero<p>
654*10465441SEvalZeroTurn on support for IP packet reassembly.
655*10465441SEvalZero<p>
656*10465441SEvalZerouIP supports reassembly of fragmented IP packets. This features requires an additonal amount of RAM to hold the reassembly buffer and the reassembly code size is approximately 700 bytes. The reassembly buffer is of the same size as the uip_buf buffer (configured by UIP_BUFSIZE).<p>
657*10465441SEvalZero<dl compact><dt><b>Note:</b></dt><dd>IP packet reassembly is not heavily tested. </dd></dl>
658*10465441SEvalZero
659*10465441SEvalZero<p>
660*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00156">156</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
661*10465441SEvalZero  </tr>
662*10465441SEvalZero</table>
663*10465441SEvalZero<a class="anchor" name="g5b9dba2123705bce1ce95c3deca0bdad"></a><!-- doxytag: member="uipopt.h::UIP_RECEIVE_WINDOW" ref="g5b9dba2123705bce1ce95c3deca0bdad" args="" --><p>
664*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
665*10465441SEvalZero  <tr>
666*10465441SEvalZero    <td class="mdRow">
667*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
668*10465441SEvalZero        <tr>
669*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_RECEIVE_WINDOW          </td>
670*10465441SEvalZero        </tr>
671*10465441SEvalZero      </table>
672*10465441SEvalZero    </td>
673*10465441SEvalZero  </tr>
674*10465441SEvalZero</table>
675*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
676*10465441SEvalZero  <tr>
677*10465441SEvalZero    <td>
678*10465441SEvalZero      &nbsp;
679*10465441SEvalZero    </td>
680*10465441SEvalZero    <td>
681*10465441SEvalZero
682*10465441SEvalZero<p>
683*10465441SEvalZeroThe size of the advertised receiver's window.
684*10465441SEvalZero<p>
685*10465441SEvalZeroShould be set low (i.e., to the size of the uip_buf buffer) is the application is slow to process incoming data, or high (32768 bytes) if the application processes data quickly.
686*10465441SEvalZero<p>
687*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00317">317</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
688*10465441SEvalZero  </tr>
689*10465441SEvalZero</table>
690*10465441SEvalZero<a class="anchor" name="g15de27b044603284f68db05a378235a7"></a><!-- doxytag: member="uipopt.h::UIP_RTO" ref="g15de27b044603284f68db05a378235a7" args="" --><p>
691*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
692*10465441SEvalZero  <tr>
693*10465441SEvalZero    <td class="mdRow">
694*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
695*10465441SEvalZero        <tr>
696*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_RTO&nbsp;&nbsp;&nbsp;3          </td>
697*10465441SEvalZero        </tr>
698*10465441SEvalZero      </table>
699*10465441SEvalZero    </td>
700*10465441SEvalZero  </tr>
701*10465441SEvalZero</table>
702*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
703*10465441SEvalZero  <tr>
704*10465441SEvalZero    <td>
705*10465441SEvalZero      &nbsp;
706*10465441SEvalZero    </td>
707*10465441SEvalZero    <td>
708*10465441SEvalZero
709*10465441SEvalZero<p>
710*10465441SEvalZeroThe initial retransmission timeout counted in timer pulses.
711*10465441SEvalZero<p>
712*10465441SEvalZeroThis should not be changed.
713*10465441SEvalZero<p>
714*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00280">280</a> of file <a class="el" href="a00206.html">uipopt.h</a>.
715*10465441SEvalZero<p>
716*10465441SEvalZeroReferenced by <a class="el" href="a00201.html#l00682">uip_process()</a>.    </td>
717*10465441SEvalZero  </tr>
718*10465441SEvalZero</table>
719*10465441SEvalZero<a class="anchor" name="g5726142fec34f35fb9ea19e5a45975c6"></a><!-- doxytag: member="uipopt.h::UIP_STATISTICS" ref="g5726142fec34f35fb9ea19e5a45975c6" args="" --><p>
720*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
721*10465441SEvalZero  <tr>
722*10465441SEvalZero    <td class="mdRow">
723*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
724*10465441SEvalZero        <tr>
725*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_STATISTICS          </td>
726*10465441SEvalZero        </tr>
727*10465441SEvalZero      </table>
728*10465441SEvalZero    </td>
729*10465441SEvalZero  </tr>
730*10465441SEvalZero</table>
731*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
732*10465441SEvalZero  <tr>
733*10465441SEvalZero    <td>
734*10465441SEvalZero      &nbsp;
735*10465441SEvalZero    </td>
736*10465441SEvalZero    <td>
737*10465441SEvalZero
738*10465441SEvalZero<p>
739*10465441SEvalZeroDetermines if statistics support should be compiled in.
740*10465441SEvalZero<p>
741*10465441SEvalZeroThe statistics is useful for debugging and to show the user.
742*10465441SEvalZero<p>
743*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00393">393</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
744*10465441SEvalZero  </tr>
745*10465441SEvalZero</table>
746*10465441SEvalZero<a class="anchor" name="g4910467b83a639f06739c82cd362037e"></a><!-- doxytag: member="uipopt.h::UIP_TCP_MSS" ref="g4910467b83a639f06739c82cd362037e" args="" --><p>
747*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
748*10465441SEvalZero  <tr>
749*10465441SEvalZero    <td class="mdRow">
750*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
751*10465441SEvalZero        <tr>
752*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_TCP_MSS&nbsp;&nbsp;&nbsp;(UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN)          </td>
753*10465441SEvalZero        </tr>
754*10465441SEvalZero      </table>
755*10465441SEvalZero    </td>
756*10465441SEvalZero  </tr>
757*10465441SEvalZero</table>
758*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
759*10465441SEvalZero  <tr>
760*10465441SEvalZero    <td>
761*10465441SEvalZero      &nbsp;
762*10465441SEvalZero    </td>
763*10465441SEvalZero    <td>
764*10465441SEvalZero
765*10465441SEvalZero<p>
766*10465441SEvalZeroThe TCP maximum segment size.
767*10465441SEvalZero<p>
768*10465441SEvalZeroThis is should not be to set to more than UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN.
769*10465441SEvalZero<p>
770*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00305">305</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
771*10465441SEvalZero  </tr>
772*10465441SEvalZero</table>
773*10465441SEvalZero<a class="anchor" name="g2bc3b489923793759526a3181eb667fa"></a><!-- doxytag: member="uipopt.h::UIP_TIME_WAIT_TIMEOUT" ref="g2bc3b489923793759526a3181eb667fa" args="" --><p>
774*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
775*10465441SEvalZero  <tr>
776*10465441SEvalZero    <td class="mdRow">
777*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
778*10465441SEvalZero        <tr>
779*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_TIME_WAIT_TIMEOUT&nbsp;&nbsp;&nbsp;120          </td>
780*10465441SEvalZero        </tr>
781*10465441SEvalZero      </table>
782*10465441SEvalZero    </td>
783*10465441SEvalZero  </tr>
784*10465441SEvalZero</table>
785*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
786*10465441SEvalZero  <tr>
787*10465441SEvalZero    <td>
788*10465441SEvalZero      &nbsp;
789*10465441SEvalZero    </td>
790*10465441SEvalZero    <td>
791*10465441SEvalZero
792*10465441SEvalZero<p>
793*10465441SEvalZeroHow long a connection should stay in the TIME_WAIT state.
794*10465441SEvalZero<p>
795*10465441SEvalZeroThis configiration option has no real implication, and it should be left untouched.
796*10465441SEvalZero<p>
797*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00328">328</a> of file <a class="el" href="a00206.html">uipopt.h</a>.
798*10465441SEvalZero<p>
799*10465441SEvalZeroReferenced by <a class="el" href="a00201.html#l00682">uip_process()</a>.    </td>
800*10465441SEvalZero  </tr>
801*10465441SEvalZero</table>
802*10465441SEvalZero<a class="anchor" name="gb61381673de27f31848c5396bf0b338e"></a><!-- doxytag: member="uipopt.h::UIP_TTL" ref="gb61381673de27f31848c5396bf0b338e" args="" --><p>
803*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
804*10465441SEvalZero  <tr>
805*10465441SEvalZero    <td class="mdRow">
806*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
807*10465441SEvalZero        <tr>
808*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_TTL&nbsp;&nbsp;&nbsp;64          </td>
809*10465441SEvalZero        </tr>
810*10465441SEvalZero      </table>
811*10465441SEvalZero    </td>
812*10465441SEvalZero  </tr>
813*10465441SEvalZero</table>
814*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
815*10465441SEvalZero  <tr>
816*10465441SEvalZero    <td>
817*10465441SEvalZero      &nbsp;
818*10465441SEvalZero    </td>
819*10465441SEvalZero    <td>
820*10465441SEvalZero
821*10465441SEvalZero<p>
822*10465441SEvalZeroThe IP TTL (time to live) of IP packets sent by uIP.
823*10465441SEvalZero<p>
824*10465441SEvalZeroThis should normally not be changed.
825*10465441SEvalZero<p>
826*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00141">141</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
827*10465441SEvalZero  </tr>
828*10465441SEvalZero</table>
829*10465441SEvalZero<a class="anchor" name="g92f3344ec8ca46893163399c89fafed5"></a><!-- doxytag: member="uipopt.h::UIP_UDP_CHECKSUMS" ref="g92f3344ec8ca46893163399c89fafed5" args="" --><p>
830*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
831*10465441SEvalZero  <tr>
832*10465441SEvalZero    <td class="mdRow">
833*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
834*10465441SEvalZero        <tr>
835*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_UDP_CHECKSUMS          </td>
836*10465441SEvalZero        </tr>
837*10465441SEvalZero      </table>
838*10465441SEvalZero    </td>
839*10465441SEvalZero  </tr>
840*10465441SEvalZero</table>
841*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
842*10465441SEvalZero  <tr>
843*10465441SEvalZero    <td>
844*10465441SEvalZero      &nbsp;
845*10465441SEvalZero    </td>
846*10465441SEvalZero    <td>
847*10465441SEvalZero
848*10465441SEvalZero<p>
849*10465441SEvalZeroToggles if UDP checksums should be used or not.
850*10465441SEvalZero<p>
851*10465441SEvalZero<dl compact><dt><b>Note:</b></dt><dd>Support for UDP checksums is currently not included in uIP, so this option has no function. </dd></dl>
852*10465441SEvalZero
853*10465441SEvalZero<p>
854*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00195">195</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
855*10465441SEvalZero  </tr>
856*10465441SEvalZero</table>
857*10465441SEvalZero<a class="anchor" name="g51c1cd531ff0afb81620151f2248cd21"></a><!-- doxytag: member="uipopt.h::UIP_URGDATA" ref="g51c1cd531ff0afb81620151f2248cd21" args="" --><p>
858*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
859*10465441SEvalZero  <tr>
860*10465441SEvalZero    <td class="mdRow">
861*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
862*10465441SEvalZero        <tr>
863*10465441SEvalZero          <td class="md" nowrap valign="top">#define UIP_URGDATA          </td>
864*10465441SEvalZero        </tr>
865*10465441SEvalZero      </table>
866*10465441SEvalZero    </td>
867*10465441SEvalZero  </tr>
868*10465441SEvalZero</table>
869*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
870*10465441SEvalZero  <tr>
871*10465441SEvalZero    <td>
872*10465441SEvalZero      &nbsp;
873*10465441SEvalZero    </td>
874*10465441SEvalZero    <td>
875*10465441SEvalZero
876*10465441SEvalZero<p>
877*10465441SEvalZeroDetermines if support for TCP urgent data notification should be compiled in.
878*10465441SEvalZero<p>
879*10465441SEvalZeroUrgent data (out-of-band data) is a rarely used TCP feature that very seldom would be required.
880*10465441SEvalZero<p>
881*10465441SEvalZeroDefinition at line <a class="el" href="a00206.html#l00273">273</a> of file <a class="el" href="a00206.html">uipopt.h</a>.    </td>
882*10465441SEvalZero  </tr>
883*10465441SEvalZero</table>
884*10465441SEvalZero<hr><h2>Typedef Documentation</h2>
885*10465441SEvalZero<a class="anchor" name="g77570ac4fcab86864fa1916e55676da2"></a><!-- doxytag: member="uip-conf.h::u16_t" ref="g77570ac4fcab86864fa1916e55676da2" args="" --><p>
886*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
887*10465441SEvalZero  <tr>
888*10465441SEvalZero    <td class="mdRow">
889*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
890*10465441SEvalZero        <tr>
891*10465441SEvalZero          <td class="md" nowrap valign="top">typedef uint16_t <a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a>          </td>
892*10465441SEvalZero        </tr>
893*10465441SEvalZero      </table>
894*10465441SEvalZero    </td>
895*10465441SEvalZero  </tr>
896*10465441SEvalZero</table>
897*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
898*10465441SEvalZero  <tr>
899*10465441SEvalZero    <td>
900*10465441SEvalZero      &nbsp;
901*10465441SEvalZero    </td>
902*10465441SEvalZero    <td>
903*10465441SEvalZero
904*10465441SEvalZero<p>
905*10465441SEvalZero16 bit datatype
906*10465441SEvalZero<p>
907*10465441SEvalZeroThis typedef defines the 16-bit type used throughout uIP. <dl compact><dt><b>Examples: </b></dt><dd>
908*10465441SEvalZero<a class="el" href="a00048.html#a2">dhcpc.c</a>, <a class="el" href="a00049.html#a51">dhcpc.h</a>, <a class="el" href="a00046.html#a125">resolv.c</a>, <a class="el" href="a00047.html#a157">resolv.h</a>, <a class="el" href="a00038.html#a188">smtp.c</a>, <a class="el" href="a00039.html#a197">smtp.h</a>, <a class="el" href="a00044.html#a230">telnetd.c</a>, and <a class="el" href="a00050.html#a250">uip-conf.h</a>.</dl>
909*10465441SEvalZero<p>
910*10465441SEvalZeroDefinition at line <a class="el" href="a00207.html#l00076">76</a> of file <a class="el" href="a00207.html">uip-conf.h</a>.    </td>
911*10465441SEvalZero  </tr>
912*10465441SEvalZero</table>
913*10465441SEvalZero<a class="anchor" name="g4caecabca98b43919dd11be1c0d4cd8e"></a><!-- doxytag: member="uip-conf.h::u8_t" ref="g4caecabca98b43919dd11be1c0d4cd8e" args="" --><p>
914*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
915*10465441SEvalZero  <tr>
916*10465441SEvalZero    <td class="mdRow">
917*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
918*10465441SEvalZero        <tr>
919*10465441SEvalZero          <td class="md" nowrap valign="top">typedef uint8_t <a class="el" href="a00153.html#g4caecabca98b43919dd11be1c0d4cd8e">u8_t</a>          </td>
920*10465441SEvalZero        </tr>
921*10465441SEvalZero      </table>
922*10465441SEvalZero    </td>
923*10465441SEvalZero  </tr>
924*10465441SEvalZero</table>
925*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
926*10465441SEvalZero  <tr>
927*10465441SEvalZero    <td>
928*10465441SEvalZero      &nbsp;
929*10465441SEvalZero    </td>
930*10465441SEvalZero    <td>
931*10465441SEvalZero
932*10465441SEvalZero<p>
933*10465441SEvalZero8 bit datatype
934*10465441SEvalZero<p>
935*10465441SEvalZeroThis typedef defines the 8-bit type used throughout uIP. <dl compact><dt><b>Examples: </b></dt><dd>
936*10465441SEvalZero<a class="el" href="a00048.html#a1">dhcpc.c</a>, <a class="el" href="a00049.html#a53">dhcpc.h</a>, <a class="el" href="a00046.html#a126">resolv.c</a>, <a class="el" href="a00039.html#a200">smtp.h</a>, <a class="el" href="a00044.html#a227">telnetd.c</a>, <a class="el" href="a00045.html#a245">telnetd.h</a>, and <a class="el" href="a00050.html#a249">uip-conf.h</a>.</dl>
937*10465441SEvalZero<p>
938*10465441SEvalZeroDefinition at line <a class="el" href="a00207.html#l00067">67</a> of file <a class="el" href="a00207.html">uip-conf.h</a>.    </td>
939*10465441SEvalZero  </tr>
940*10465441SEvalZero</table>
941*10465441SEvalZero<a class="anchor" name="g727459e5c4f777543c81ffffa3df3f0c"></a><!-- doxytag: member="uip-conf.h::uip_stats_t" ref="g727459e5c4f777543c81ffffa3df3f0c" args="" --><p>
942*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
943*10465441SEvalZero  <tr>
944*10465441SEvalZero    <td class="mdRow">
945*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
946*10465441SEvalZero        <tr>
947*10465441SEvalZero          <td class="md" nowrap valign="top">typedef unsigned short <a class="el" href="a00153.html#g727459e5c4f777543c81ffffa3df3f0c">uip_stats_t</a>          </td>
948*10465441SEvalZero        </tr>
949*10465441SEvalZero      </table>
950*10465441SEvalZero    </td>
951*10465441SEvalZero  </tr>
952*10465441SEvalZero</table>
953*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
954*10465441SEvalZero  <tr>
955*10465441SEvalZero    <td>
956*10465441SEvalZero      &nbsp;
957*10465441SEvalZero    </td>
958*10465441SEvalZero    <td>
959*10465441SEvalZero
960*10465441SEvalZero<p>
961*10465441SEvalZeroStatistics datatype.
962*10465441SEvalZero<p>
963*10465441SEvalZeroThis typedef defines the dataype used for keeping statistics in uIP.
964*10465441SEvalZero<p>
965*10465441SEvalZeroDefinition at line <a class="el" href="a00207.html#l00086">86</a> of file <a class="el" href="a00207.html">uip-conf.h</a>.    </td>
966*10465441SEvalZero  </tr>
967*10465441SEvalZero</table>
968*10465441SEvalZero<a class="anchor" name="g69646a81a922033c5281445a71f8ffed"></a><!-- doxytag: member="smtp.h::uip_tcp_appstate_t" ref="g69646a81a922033c5281445a71f8ffed" args="" --><p>
969*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
970*10465441SEvalZero  <tr>
971*10465441SEvalZero    <td class="mdRow">
972*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
973*10465441SEvalZero        <tr>
974*10465441SEvalZero          <td class="md" nowrap valign="top">typedef <a class="el" href="a00085.html">uip_tcp_appstate_t</a>          </td>
975*10465441SEvalZero        </tr>
976*10465441SEvalZero      </table>
977*10465441SEvalZero    </td>
978*10465441SEvalZero  </tr>
979*10465441SEvalZero</table>
980*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
981*10465441SEvalZero  <tr>
982*10465441SEvalZero    <td>
983*10465441SEvalZero      &nbsp;
984*10465441SEvalZero    </td>
985*10465441SEvalZero    <td>
986*10465441SEvalZero
987*10465441SEvalZero<p>
988*10465441SEvalZeroThe type of the application state that is to be stored in the <a class="el" href="a00088.html">uip_conn</a> structure.
989*10465441SEvalZero<p>
990*10465441SEvalZeroThis usually is typedef:ed to a struct holding application state information. <dl compact><dt><b>Examples: </b></dt><dd>
991*10465441SEvalZero<a class="el" href="a00039.html#a205">smtp.h</a>, <a class="el" href="a00045.html#a248">telnetd.h</a>, and <a class="el" href="a00041.html#a317">webclient.h</a>.</dl>
992*10465441SEvalZero<p>
993*10465441SEvalZeroDefinition at line <a class="el" href="a00175.html#l00098">98</a> of file <a class="el" href="a00175.html">smtp.h</a>.    </td>
994*10465441SEvalZero  </tr>
995*10465441SEvalZero</table>
996*10465441SEvalZero<a class="anchor" name="ga92afb113e122f860392bfbd385f842e"></a><!-- doxytag: member="resolv.h::uip_udp_appstate_t" ref="ga92afb113e122f860392bfbd385f842e" args="" --><p>
997*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
998*10465441SEvalZero  <tr>
999*10465441SEvalZero    <td class="mdRow">
1000*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
1001*10465441SEvalZero        <tr>
1002*10465441SEvalZero          <td class="md" nowrap valign="top">typedef <a class="el" href="a00153.html#ga92afb113e122f860392bfbd385f842e">uip_udp_appstate_t</a>          </td>
1003*10465441SEvalZero        </tr>
1004*10465441SEvalZero      </table>
1005*10465441SEvalZero    </td>
1006*10465441SEvalZero  </tr>
1007*10465441SEvalZero</table>
1008*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
1009*10465441SEvalZero  <tr>
1010*10465441SEvalZero    <td>
1011*10465441SEvalZero      &nbsp;
1012*10465441SEvalZero    </td>
1013*10465441SEvalZero    <td>
1014*10465441SEvalZero
1015*10465441SEvalZero<p>
1016*10465441SEvalZeroThe type of the application state that is to be stored in the <a class="el" href="a00088.html">uip_conn</a> structure.
1017*10465441SEvalZero<p>
1018*10465441SEvalZeroThis usually is typedef:ed to a struct holding application state information. <dl compact><dt><b>Examples: </b></dt><dd>
1019*10465441SEvalZero<a class="el" href="a00049.html#a59">dhcpc.h</a>.</dl>
1020*10465441SEvalZero<p>
1021*10465441SEvalZeroDefinition at line <a class="el" href="a00173.html#l00047">47</a> of file <a class="el" href="a00173.html">resolv.h</a>.    </td>
1022*10465441SEvalZero  </tr>
1023*10465441SEvalZero</table>
1024*10465441SEvalZero<hr><h2>Function Documentation</h2>
1025*10465441SEvalZero<a class="anchor" name="gb58e1ceb7cb73ca2bcd73146b6c1b4e7"></a><!-- doxytag: member="uipopt.h::uip_log" ref="gb58e1ceb7cb73ca2bcd73146b6c1b4e7" args="(char *msg)" --><p>
1026*10465441SEvalZero<table class="mdTable" cellpadding="2" cellspacing="0">
1027*10465441SEvalZero  <tr>
1028*10465441SEvalZero    <td class="mdRow">
1029*10465441SEvalZero      <table cellpadding="0" cellspacing="0" border="0">
1030*10465441SEvalZero        <tr>
1031*10465441SEvalZero          <td class="md" nowrap valign="top">void uip_log           </td>
1032*10465441SEvalZero          <td class="md" valign="top">(&nbsp;</td>
1033*10465441SEvalZero          <td class="md" nowrap valign="top">char *&nbsp;</td>
1034*10465441SEvalZero          <td class="mdname1" valign="top" nowrap> <em>msg</em>          </td>
1035*10465441SEvalZero          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1036*10465441SEvalZero          <td class="md" nowrap></td>
1037*10465441SEvalZero        </tr>
1038*10465441SEvalZero      </table>
1039*10465441SEvalZero    </td>
1040*10465441SEvalZero  </tr>
1041*10465441SEvalZero</table>
1042*10465441SEvalZero<table cellspacing="5" cellpadding="0" border="0">
1043*10465441SEvalZero  <tr>
1044*10465441SEvalZero    <td>
1045*10465441SEvalZero      &nbsp;
1046*10465441SEvalZero    </td>
1047*10465441SEvalZero    <td>
1048*10465441SEvalZero
1049*10465441SEvalZero<p>
1050*10465441SEvalZeroPrint out a uIP log message.
1051*10465441SEvalZero<p>
1052*10465441SEvalZeroThis function must be implemented by the module that uses uIP, and is called by uIP whenever a log message is generated.     </td>
1053*10465441SEvalZero  </tr>
1054*10465441SEvalZero</table>
1055*10465441SEvalZero<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 12 10:23:02 2006 for uIP 1.0 by&nbsp;
1056*10465441SEvalZero<a href="http://www.doxygen.org/index.html">
1057*10465441SEvalZero<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
1058*10465441SEvalZero</body>
1059*10465441SEvalZero</html>
1060