Przeglądaj źródła

Remove uIP; we haven't used it for quite some time now.

tags/v0.9.3
Michael Brown 18 lat temu
rodzic
commit
cc9b32c405
8 zmienionych plików z 2 dodań i 3338 usunięć
  1. 1
    1
      src/Makefile
  2. 1
    1
      src/doxygen.cfg
  3. 0
    1
      src/net/ipv4.c
  4. 0
    1500
      src/net/uip/uip.c
  5. 0
    1060
      src/net/uip/uip.h
  6. 0
    83
      src/net/uip/uip_arch.c
  7. 0
    130
      src/net/uip/uip_arch.h
  8. 0
    562
      src/net/uip/uipopt.h

+ 1
- 1
src/Makefile Wyświetl plik

@@ -132,7 +132,7 @@ DEBUG_TARGETS	+= dbg2.o dbg.o c s
132 132
 #
133 133
 SRCDIRS		+= core
134 134
 SRCDIRS		+= proto
135
-SRCDIRS		+= net net/uip net/tcp net/udp
135
+SRCDIRS		+= net net/tcp net/udp
136 136
 #SRCDIRS		+= image
137 137
 SRCDIRS		+= drivers/bus
138 138
 SRCDIRS		+= drivers/net

+ 1
- 1
src/doxygen.cfg Wyświetl plik

@@ -480,7 +480,7 @@ RECURSIVE              = NO
480 480
 # excluded from the INPUT source files. This way you can easily exclude a 
481 481
 # subdirectory from a directory tree whose root is specified with the INPUT tag.
482 482
 
483
-EXCLUDE                = proto/uip
483
+EXCLUDE                = 
484 484
 
485 485
 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
486 486
 # directories that are symbolic links (a Unix filesystem feature) are excluded 

+ 0
- 1
src/net/ipv4.c Wyświetl plik

@@ -10,7 +10,6 @@
10 10
 #include <gpxe/if_ether.h>
11 11
 #include <gpxe/pkbuff.h>
12 12
 #include <gpxe/netdevice.h>
13
-#include "uip/uip.h"
14 13
 #include <gpxe/ip.h>
15 14
 #include <gpxe/tcpip.h>
16 15
 

+ 0
- 1500
src/net/uip/uip.c
Plik diff jest za duży
Wyświetl plik


+ 0
- 1060
src/net/uip/uip.h
Plik diff jest za duży
Wyświetl plik


+ 0
- 83
src/net/uip/uip_arch.c Wyświetl plik

@@ -1,83 +0,0 @@
1
-#include <stdint.h>
2
-#include <byteswap.h>
3
-#include "uip_arch.h"
4
-#include "uip.h"
5
-
6
-volatile u8_t uip_acc32[4];
7
-
8
-void uip_add32 ( u8_t *op32, u16_t op16 ) {
9
-	* ( ( uint32_t * ) uip_acc32 ) =
10
-		htonl ( ntohl ( *( ( uint32_t * ) op32 ) )  + op16 );
11
-}
12
-
13
-#define BUF ((uip_tcpip_hdr *)&uip_buf[UIP_LLH_LEN])
14
-#define IP_PROTO_TCP    6
15
-
16
-u16_t uip_chksum(u16_t *sdata, u16_t len) {
17
-  u16_t acc;
18
-  
19
-  for(acc = 0; len > 1; len -= 2) {
20
-    acc += *sdata;
21
-    if(acc < *sdata) {
22
-      /* Overflow, so we add the carry to acc (i.e., increase by
23
-         one). */
24
-      ++acc;
25
-    }
26
-    ++sdata;
27
-  }
28
-
29
-  /* add up any odd byte */
30
-  if(len == 1) {
31
-    acc += htons(((u16_t)(*(u8_t *)sdata)) << 8);
32
-    if(acc < htons(((u16_t)(*(u8_t *)sdata)) << 8)) {
33
-      ++acc;
34
-    }
35
-  }
36
-
37
-  return acc;
38
-}
39
-
40
-u16_t uip_ipchksum(void) {
41
-  return uip_chksum((u16_t *)&uip_buf[UIP_LLH_LEN], 20);
42
-}
43
-
44
-u16_t uip_tcpchksum(void) {
45
-  u16_t hsum, sum;
46
-
47
-  
48
-  /* Compute the checksum of the TCP header. */
49
-  hsum = uip_chksum((u16_t *)&uip_buf[20 + UIP_LLH_LEN], 20);
50
-
51
-  /* Compute the checksum of the data in the TCP packet and add it to
52
-     the TCP header checksum. */
53
-  sum = uip_chksum((u16_t *)uip_appdata,
54
-		   (u16_t)(((((u16_t)(BUF->len[0]) << 8) + BUF->len[1]) - 40)));
55
-
56
-  if((sum += hsum) < hsum) {
57
-    ++sum;
58
-  }
59
-  
60
-  if((sum += BUF->srcipaddr[0]) < BUF->srcipaddr[0]) {
61
-    ++sum;
62
-  }
63
-  if((sum += BUF->srcipaddr[1]) < BUF->srcipaddr[1]) {
64
-    ++sum;
65
-  }
66
-  if((sum += BUF->destipaddr[0]) < BUF->destipaddr[0]) {
67
-    ++sum;
68
-  }
69
-  if((sum += BUF->destipaddr[1]) < BUF->destipaddr[1]) {
70
-    ++sum;
71
-  }
72
-  if((sum += (u16_t)htons((u16_t)IP_PROTO_TCP)) < (u16_t)htons((u16_t)IP_PROTO_TCP)) {
73
-    ++sum;
74
-  }
75
-
76
-  hsum = (u16_t)htons((((u16_t)(BUF->len[0]) << 8) + BUF->len[1]) - 20);
77
-  
78
-  if((sum += hsum) < hsum) {
79
-    ++sum;
80
-  }
81
-  
82
-  return sum;
83
-}

+ 0
- 130
src/net/uip/uip_arch.h Wyświetl plik

@@ -1,130 +0,0 @@
1
-/**
2
- * \defgroup uiparch Architecture specific uIP functions
3
- * @{
4
- *
5
- * The functions in the architecture specific module implement the IP
6
- * check sum and 32-bit additions.
7
- *
8
- * The IP checksum calculation is the most computationally expensive
9
- * operation in the TCP/IP stack and it therefore pays off to
10
- * implement this in efficient assembler. The purpose of the uip-arch
11
- * module is to let the checksum functions to be implemented in
12
- * architecture specific assembler.
13
- *
14
- */
15
-
16
-/**
17
- * \file
18
- * Declarations of architecture specific functions.
19
- * \author Adam Dunkels <adam@dunkels.com>
20
- */
21
-
22
-/*
23
- * Copyright (c) 2001, Adam Dunkels.
24
- * All rights reserved. 
25
- *
26
- * Redistribution and use in source and binary forms, with or without 
27
- * modification, are permitted provided that the following conditions 
28
- * are met: 
29
- * 1. Redistributions of source code must retain the above copyright 
30
- *    notice, this list of conditions and the following disclaimer. 
31
- * 2. Redistributions in binary form must reproduce the above copyright 
32
- *    notice, this list of conditions and the following disclaimer in the 
33
- *    documentation and/or other materials provided with the distribution. 
34
- * 3. The name of the author may not be used to endorse or promote
35
- *    products derived from this software without specific prior
36
- *    written permission.  
37
- *
38
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
39
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
40
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
41
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
42
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
43
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
44
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
45
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
46
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
47
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
48
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
49
- *
50
- * This file is part of the uIP TCP/IP stack.
51
- *
52
- * $Id$
53
- *
54
- */
55
-
56
-#ifndef __UIP_ARCH_H__
57
-#define __UIP_ARCH_H__
58
-
59
-#include "uip.h"
60
-
61
-/**
62
- * Carry out a 32-bit addition.
63
- *
64
- * Because not all architectures for which uIP is intended has native
65
- * 32-bit arithmetic, uIP uses an external C function for doing the
66
- * required 32-bit additions in the TCP protocol processing. This
67
- * function should add the two arguments and place the result in the
68
- * global variable uip_acc32.
69
- *
70
- * \note The 32-bit integer pointed to by the op32 parameter and the
71
- * result in the uip_acc32 variable are in network byte order (big
72
- * endian).
73
- *
74
- * \param op32 A pointer to a 4-byte array representing a 32-bit
75
- * integer in network byte order (big endian).
76
- *
77
- * \param op16 A 16-bit integer in host byte order.
78
- */
79
-void uip_add32(u8_t *op32, u16_t op16);
80
-
81
-/**
82
- * Calculate the Internet checksum over a buffer.
83
- *
84
- * The Internet checksum is the one's complement of the one's
85
- * complement sum of all 16-bit words in the buffer.
86
- *
87
- * See RFC1071.
88
- *
89
- * \note This function is not called in the current version of uIP,
90
- * but future versions might make use of it.
91
- *
92
- * \param buf A pointer to the buffer over which the checksum is to be
93
- * computed.
94
- *
95
- * \param len The length of the buffer over which the checksum is to
96
- * be computed.
97
- *
98
- * \return The Internet checksum of the buffer.
99
- */
100
-u16_t uip_chksum(u16_t *buf, u16_t len);
101
-
102
-/**
103
- * Calculate the IP header checksum of the packet header in uip_buf.
104
- *
105
- * The IP header checksum is the Internet checksum of the 20 bytes of
106
- * the IP header.
107
- *
108
- * \return The IP header checksum of the IP header in the uip_buf
109
- * buffer.
110
- */
111
-u16_t uip_ipchksum(void);
112
-
113
-/**
114
- * Calculate the TCP checksum of the packet in uip_buf and uip_appdata.
115
- *
116
- * The TCP checksum is the Internet checksum of data contents of the
117
- * TCP segment, and a pseudo-header as defined in RFC793.
118
- *
119
- * \note The uip_appdata pointer that points to the packet data may
120
- * point anywhere in memory, so it is not possible to simply calculate
121
- * the Internet checksum of the contents of the uip_buf buffer.
122
- *
123
- * \return The TCP checksum of the TCP segment in uip_buf and pointed
124
- * to by uip_appdata.
125
- */
126
-u16_t uip_tcpchksum(void);
127
-
128
-/** @} */
129
-
130
-#endif /* __UIP_ARCH_H__ */

+ 0
- 562
src/net/uip/uipopt.h Wyświetl plik

@@ -1,562 +0,0 @@
1
-/**
2
- * \defgroup uipopt Configuration options for uIP
3
- * @{
4
- *
5
- * uIP is configured using the per-project configuration file
6
- * "uipopt.h". This file contains all compile-time options for uIP and
7
- * should be tweaked to match each specific project. The uIP
8
- * distribution contains a documented example "uipopt.h" that can be
9
- * copied and modified for each project.
10
- */
11
-
12
-/**
13
- * \file
14
- * Configuration options for uIP.
15
- * \author Adam Dunkels <adam@dunkels.com>
16
- *
17
- * This file is used for tweaking various configuration options for
18
- * uIP. You should make a copy of this file into one of your project's
19
- * directories instead of editing this example "uipopt.h" file that
20
- * comes with the uIP distribution.
21
- */
22
-
23
-/*
24
- * Copyright (c) 2001-2003, Adam Dunkels.
25
- * All rights reserved. 
26
- *
27
- * Redistribution and use in source and binary forms, with or without 
28
- * modification, are permitted provided that the following conditions 
29
- * are met: 
30
- * 1. Redistributions of source code must retain the above copyright 
31
- *    notice, this list of conditions and the following disclaimer. 
32
- * 2. Redistributions in binary form must reproduce the above copyright 
33
- *    notice, this list of conditions and the following disclaimer in the 
34
- *    documentation and/or other materials provided with the distribution. 
35
- * 3. The name of the author may not be used to endorse or promote
36
- *    products derived from this software without specific prior
37
- *    written permission.  
38
- *
39
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
40
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
41
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
42
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
43
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
44
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
45
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
46
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
47
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
48
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
49
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
50
- *
51
- * This file is part of the uIP TCP/IP stack.
52
- *
53
- * $Id$
54
- *
55
- */
56
-
57
-#ifndef __UIPOPT_H__
58
-#define __UIPOPT_H__
59
-
60
-/*------------------------------------------------------------------------------*/
61
-/**
62
- * \defgroup uipopttypedef uIP type definitions
63
- * @{
64
- */
65
-
66
-/**
67
- * The 8-bit unsigned data type.
68
- *
69
- * This may have to be tweaked for your particular compiler. "unsigned
70
- * char" works for most compilers.
71
- */
72
-typedef unsigned char u8_t;
73
-
74
-/**
75
- * The 16-bit unsigned data type.
76
- *
77
- * This may have to be tweaked for your particular compiler. "unsigned
78
- * short" works for most compilers.
79
- */
80
-typedef unsigned short u16_t;
81
-
82
-/**
83
- * The statistics data type.
84
- *
85
- * This datatype determines how high the statistics counters are able
86
- * to count.
87
- */
88
-typedef unsigned short uip_stats_t;
89
-
90
-/** @} */
91
-
92
-/*------------------------------------------------------------------------------*/
93
-
94
-/**
95
- * \defgroup uipoptstaticconf Static configuration options
96
- * @{
97
- *
98
- * These configuration options can be used for setting the IP address
99
- * settings statically, but only if UIP_FIXEDADDR is set to 1. The
100
- * configuration options for a specific node includes IP address,
101
- * netmask and default router as well as the Ethernet address. The
102
- * netmask, default router and Ethernet address are appliciable only
103
- * if uIP should be run over Ethernet.
104
- *
105
- * All of these should be changed to suit your project.
106
-*/
107
-
108
-/**
109
- * Determines if uIP should use a fixed IP address or not.
110
- *
111
- * If uIP should use a fixed IP address, the settings are set in the
112
- * uipopt.h file. If not, the macros uip_sethostaddr(),
113
- * uip_setdraddr() and uip_setnetmask() should be used instead.
114
- *
115
- * \hideinitializer
116
- */
117
-#define UIP_FIXEDADDR    0
118
-
119
-/**
120
- * Ping IP address asignment.
121
- *
122
- * uIP uses a "ping" packets for setting its own IP address if this
123
- * option is set. If so, uIP will start with an empty IP address and
124
- * the destination IP address of the first incoming "ping" (ICMP echo)
125
- * packet will be used for setting the hosts IP address.
126
- *
127
- * \note This works only if UIP_FIXEDADDR is 0.
128
- *
129
- * \hideinitializer
130
- */
131
-#define UIP_PINGADDRCONF 0
132
-
133
-#define UIP_IPADDR0     0   /**< The first octet of the IP address of
134
-			       this uIP node, if UIP_FIXEDADDR is
135
-			       1. \hideinitializer */
136
-#define UIP_IPADDR1     0   /**< The second octet of the IP address of
137
-			       this uIP node, if UIP_FIXEDADDR is
138
-			       1. \hideinitializer */
139
-#define UIP_IPADDR2     0   /**< The third octet of the IP address of
140
-			       this uIP node, if UIP_FIXEDADDR is
141
-			       1. \hideinitializer */
142
-#define UIP_IPADDR3     0   /**< The fourth octet of the IP address of
143
-			       this uIP node, if UIP_FIXEDADDR is
144
-			       1. \hideinitializer */
145
-
146
-#define UIP_NETMASK0    0   /**< The first octet of the netmask of
147
-			       this uIP node, if UIP_FIXEDADDR is
148
-			       1. \hideinitializer */
149
-#define UIP_NETMASK1    0   /**< The second octet of the netmask of
150
-			       this uIP node, if UIP_FIXEDADDR is
151
-			       1. \hideinitializer */
152
-#define UIP_NETMASK2    0   /**< The third octet of the netmask of
153
-			       this uIP node, if UIP_FIXEDADDR is
154
-			       1. \hideinitializer */
155
-#define UIP_NETMASK3    0   /**< The fourth octet of the netmask of
156
-			       this uIP node, if UIP_FIXEDADDR is
157
-			       1. \hideinitializer */
158
-
159
-#define UIP_DRIPADDR0   0   /**< The first octet of the IP address of
160
-			       the default router, if UIP_FIXEDADDR is
161
-			       1. \hideinitializer */
162
-#define UIP_DRIPADDR1   0   /**< The second octet of the IP address of
163
-			       the default router, if UIP_FIXEDADDR is
164
-			       1. \hideinitializer */
165
-#define UIP_DRIPADDR2   0   /**< The third octet of the IP address of
166
-			       the default router, if UIP_FIXEDADDR is
167
-			       1. \hideinitializer */
168
-#define UIP_DRIPADDR3   0   /**< The fourth octet of the IP address of
169
-			       the default router, if UIP_FIXEDADDR is
170
-			       1. \hideinitializer */
171
-
172
-/**
173
- * Specifies if the uIP ARP module should be compiled with a fixed
174
- * Ethernet MAC address or not.
175
- *
176
- * If this configuration option is 0, the macro uip_setethaddr() can
177
- * be used to specify the Ethernet address at run-time.
178
- *
179
- * \hideinitializer
180
- */
181
-#define UIP_FIXEDETHADDR 0
182
-
183
-#define UIP_ETHADDR0    0x00  /**< The first octet of the Ethernet
184
-				 address if UIP_FIXEDETHADDR is
185
-				 1. \hideinitializer */
186
-#define UIP_ETHADDR1    0xbd  /**< The second octet of the Ethernet
187
-				 address if UIP_FIXEDETHADDR is
188
-				 1. \hideinitializer */
189
-#define UIP_ETHADDR2    0x3b  /**< The third octet of the Ethernet
190
-				 address if UIP_FIXEDETHADDR is
191
-				 1. \hideinitializer */
192
-#define UIP_ETHADDR3    0x33  /**< The fourth octet of the Ethernet
193
-				 address if UIP_FIXEDETHADDR is
194
-				 1. \hideinitializer */
195
-#define UIP_ETHADDR4    0x05  /**< The fifth octet of the Ethernet
196
-				 address if UIP_FIXEDETHADDR is
197
-				 1. \hideinitializer */
198
-#define UIP_ETHADDR5    0x71  /**< The sixth octet of the Ethernet
199
-				 address if UIP_FIXEDETHADDR is
200
-				 1. \hideinitializer */
201
-
202
-/** @} */
203
-/*------------------------------------------------------------------------------*/
204
-/**
205
- * \defgroup uipoptip IP configuration options
206
- * @{
207
- *
208
- */
209
-/**
210
- * The IP TTL (time to live) of IP packets sent by uIP.
211
- *
212
- * This should normally not be changed.
213
- */
214
-#define UIP_TTL         255
215
-
216
-/**
217
- * Turn on support for IP packet reassembly.
218
- *
219
- * uIP supports reassembly of fragmented IP packets. This features
220
- * requires an additonal amount of RAM to hold the reassembly buffer
221
- * and the reassembly code size is approximately 700 bytes.  The
222
- * reassembly buffer is of the same size as the uip_buf buffer
223
- * (configured by UIP_BUFSIZE).
224
- *
225
- * \note IP packet reassembly is not heavily tested.
226
- *
227
- * \hideinitializer
228
- */
229
-#define UIP_REASSEMBLY 0
230
-
231
-/**
232
- * The maximum time an IP fragment should wait in the reassembly
233
- * buffer before it is dropped.
234
- *
235
- */
236
-#define UIP_REASS_MAXAGE 40
237
-
238
-/** @} */
239
-
240
-/*------------------------------------------------------------------------------*/
241
-/**
242
- * \defgroup uipoptudp UDP configuration options
243
- * @{
244
- *
245
- * \note The UDP support in uIP is still not entirely complete; there
246
- * is no support for sending or receiving broadcast or multicast
247
- * packets, but it works well enough to support a number of vital
248
- * applications such as DNS queries, though
249
- */
250
-
251
-/**
252
- * Toggles wether UDP support should be compiled in or not.
253
- *
254
- * \hideinitializer
255
- */
256
-#define UIP_UDP           1
257
-
258
-/**
259
- * Toggles if UDP checksums should be used or not.
260
- *
261
- * \note Support for UDP checksums is currently not included in uIP,
262
- * so this option has no function.
263
- *
264
- * \hideinitializer
265
- */
266
-#define UIP_UDP_CHECKSUMS 0
267
-
268
-/**
269
- * The maximum amount of concurrent UDP connections.
270
- *
271
- * \hideinitializer
272
- */
273
-#define UIP_UDP_CONNS    10
274
-
275
-/**
276
- * The name of the function that should be called when UDP datagrams arrive.
277
- *
278
- * \hideinitializer
279
- */
280
-extern void uip_udp_appcall ( void );
281
-#define UIP_UDP_APPCALL  uip_udp_appcall
282
-
283
-/** @} */
284
-/*------------------------------------------------------------------------------*/
285
-/**
286
- * \defgroup uipopttcp TCP configuration options
287
- * @{
288
- */
289
-
290
-/**
291
- * Determines if support for opening connections from uIP should be
292
- * compiled in.
293
- *
294
- * If the applications that are running on top of uIP for this project
295
- * do not need to open outgoing TCP connections, this configration
296
- * option can be turned off to reduce the code size of uIP.
297
- *
298
- * \hideinitializer
299
- */
300
-#define UIP_ACTIVE_OPEN 1
301
-
302
-/**
303
- * The maximum number of simultaneously open TCP connections.
304
- *
305
- * Since the TCP connections are statically allocated, turning this
306
- * configuration knob down results in less RAM used. Each TCP
307
- * connection requires approximatly 30 bytes of memory.
308
- *
309
- * \hideinitializer
310
- */
311
-#define UIP_CONNS       10
312
-
313
-/**
314
- * The maximum number of simultaneously listening TCP ports.
315
- *
316
- * Each listening TCP port requires 2 bytes of memory.
317
- *
318
- * \hideinitializer
319
- */
320
-#define UIP_LISTENPORTS 10
321
-
322
-/**
323
- * The size of the advertised receiver's window.
324
- *
325
- * Should be set low (i.e., to the size of the uip_buf buffer) is the
326
- * application is slow to process incoming data, or high (32768 bytes)
327
- * if the application processes data quickly.
328
- *
329
- * \hideinitializer
330
- */
331
-#define UIP_RECEIVE_WINDOW   4096
332
-
333
-/**
334
- * Determines if support for TCP urgent data notification should be
335
- * compiled in.
336
- *
337
- * Urgent data (out-of-band data) is a rarely used TCP feature that
338
- * very seldom would be required.
339
- *
340
- * \hideinitializer
341
- */
342
-#define UIP_URGDATA      1
343
-
344
-/**
345
- * The initial retransmission timeout counted in timer pulses.
346
- *
347
- * This should not be changed.
348
- */
349
-#define UIP_RTO         3
350
-
351
-/**
352
- * The maximum number of times a segment should be retransmitted
353
- * before the connection should be aborted.
354
- *
355
- * This should not be changed.
356
- */
357
-#define UIP_MAXRTX      8
358
-
359
-/**
360
- * The maximum number of times a SYN segment should be retransmitted
361
- * before a connection request should be deemed to have been
362
- * unsuccessful.
363
- *
364
- * This should not need to be changed.
365
- */
366
-#define UIP_MAXSYNRTX      3
367
-
368
-/**
369
- * The TCP maximum segment size.
370
- *
371
- * This is should not be to set to more than UIP_BUFSIZE - UIP_LLH_LEN - 40.
372
- */
373
-#define UIP_TCP_MSS     (UIP_BUFSIZE - UIP_LLH_LEN - 40)
374
-
375
-/**
376
- * How long a connection should stay in the TIME_WAIT state.
377
- *
378
- * This configiration option has no real implication, and it should be
379
- * left untouched.
380
- */ 
381
-#define UIP_TIME_WAIT_TIMEOUT 120
382
-
383
-
384
-/** @} */
385
-/*------------------------------------------------------------------------------*/
386
-/**
387
- * \defgroup uipoptarp ARP configuration options
388
- * @{
389
- */
390
-
391
-/**
392
- * The size of the ARP table.
393
- *
394
- * This option should be set to a larger value if this uIP node will
395
- * have many connections from the local network.
396
- *
397
- * \hideinitializer
398
- */
399
-#define UIP_ARPTAB_SIZE 8
400
-
401
-/**
402
- * The maxium age of ARP table entries measured in 10ths of seconds.
403
- *
404
- * An UIP_ARP_MAXAGE of 120 corresponds to 20 minutes (BSD
405
- * default).
406
- */
407
-#define UIP_ARP_MAXAGE 120
408
-
409
-/** @} */
410
-
411
-/*------------------------------------------------------------------------------*/
412
-
413
-/**
414
- * \defgroup uipoptgeneral General configuration options
415
- * @{
416
- */
417
-
418
-/**
419
- * The size of the uIP packet buffer.
420
- *
421
- * The uIP packet buffer should not be smaller than 60 bytes, and does
422
- * not need to be larger than 1500 bytes. Lower size results in lower
423
- * TCP throughput, larger size results in higher TCP throughput.
424
- *
425
- * \hideinitializer
426
- */
427
-#define UIP_BUFSIZE     1500
428
-
429
-
430
-/**
431
- * Determines if statistics support should be compiled in.
432
- *
433
- * The statistics is useful for debugging and to show the user.
434
- *
435
- * \hideinitializer
436
- */
437
-#define UIP_STATISTICS  0
438
-
439
-/**
440
- * Determines if logging of certain events should be compiled in.
441
- *
442
- * This is useful mostly for debugging. The function uip_log()
443
- * must be implemented to suit the architecture of the project, if
444
- * logging is turned on.
445
- *
446
- * \hideinitializer
447
- */
448
-#define UIP_LOGGING     0
449
-
450
-/**
451
- * Print out a uIP log message.
452
- *
453
- * This function must be implemented by the module that uses uIP, and
454
- * is called by uIP whenever a log message is generated.
455
- */
456
-void uip_log(char *msg);
457
-
458
-/**
459
- * The link level header length.
460
- *
461
- * This is the offset into the uip_buf where the IP header can be
462
- * found. For Ethernet, this should be set to 14. For SLIP, this
463
- * should be set to 0.
464
- *
465
- * \hideinitializer
466
- */
467
-#define UIP_LLH_LEN     0
468
-
469
-
470
-/** @} */
471
-/*------------------------------------------------------------------------------*/
472
-/**
473
- * \defgroup uipoptcpu CPU architecture configuration
474
- * @{
475
- *
476
- * The CPU architecture configuration is where the endianess of the
477
- * CPU on which uIP is to be run is specified. Most CPUs today are
478
- * little endian, and the most notable exception are the Motorolas
479
- * which are big endian. The BYTE_ORDER macro should be changed to
480
- * reflect the CPU architecture on which uIP is to be run.
481
- */
482
-#ifndef LITTLE_ENDIAN
483
-#define LITTLE_ENDIAN  3412
484
-#endif /* LITTLE_ENDIAN */
485
-#ifndef BIG_ENDIAN
486
-#define BIG_ENDIAN     1234
487
-#endif /* BIGE_ENDIAN */
488
-
489
-/**
490
- * The byte order of the CPU architecture on which uIP is to be run.
491
- *
492
- * This option can be either BIG_ENDIAN (Motorola byte order) or
493
- * LITTLE_ENDIAN (Intel byte order).
494
- *
495
- * \hideinitializer
496
- */
497
-#ifndef BYTE_ORDER
498
-#define BYTE_ORDER     LITTLE_ENDIAN
499
-#endif /* BYTE_ORDER */
500
-
501
-/** @} */
502
-/*------------------------------------------------------------------------------*/
503
-
504
-/**
505
- * \defgroup uipoptapp Appication specific configurations
506
- * @{
507
- *
508
- * An uIP application is implemented using a single application
509
- * function that is called by uIP whenever a TCP/IP event occurs. The
510
- * name of this function must be registered with uIP at compile time
511
- * using the UIP_APPCALL definition.
512
- *
513
- * uIP applications can store the application state within the
514
- * uip_conn structure by specifying the size of the application
515
- * structure with the UIP_APPSTATE_SIZE macro.
516
- *
517
- * The file containing the definitions must be included in the
518
- * uipopt.h file.
519
- *
520
- * The following example illustrates how this can look.
521
- \code
522
-
523
-void httpd_appcall(void);
524
-#define UIP_APPCALL     httpd_appcall
525
-
526
-struct httpd_state {
527
-  u8_t state; 
528
-  u16_t count;
529
-  char *dataptr;
530
-  char *script;
531
-};
532
-#define UIP_APPSTATE_SIZE (sizeof(struct httpd_state))
533
- \endcode
534
- */
535
-
536
-/**
537
- * \var #define UIP_APPCALL
538
- *
539
- * The name of the application function that uIP should call in
540
- * response to TCP/IP events.
541
- *
542
- */
543
-extern void uip_tcp_appcall ( void );
544
-#define UIP_APPCALL uip_tcp_appcall
545
-
546
-/**
547
- * \var #define UIP_APPSTATE_SIZE
548
- *
549
- * The size of the application state that is to be stored in the
550
- * uip_conn structure.
551
- */
552
-#define UIP_APPSTATE_SIZE sizeof ( void * )
553
-/** @} */
554
-
555
-/* Include the header file for the application program that should be
556
-   used. If you don't use the example web server, you should change
557
-   this. */
558
-//#include "httpd.h"
559
-
560
-#define USE_UIP 0
561
-
562
-#endif /* __UIPOPT_H__ */

Ładowanie…
Anuluj
Zapisz