diff options
Diffstat (limited to 'lib/chibios/demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/cfg/lwipopts.h')
-rw-r--r-- | lib/chibios/demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/cfg/lwipopts.h | 2127 |
1 files changed, 2127 insertions, 0 deletions
diff --git a/lib/chibios/demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/cfg/lwipopts.h b/lib/chibios/demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/cfg/lwipopts.h new file mode 100644 index 000000000..cebde0fc4 --- /dev/null +++ b/lib/chibios/demos/STM32/RT-STM32-LWIP-FATFS-USB-HTTPS/cfg/lwipopts.h | |||
@@ -0,0 +1,2127 @@ | |||
1 | /** | ||
2 | * @file | ||
3 | * | ||
4 | * lwIP Options Configuration | ||
5 | */ | ||
6 | |||
7 | /* | ||
8 | * Copyright (c) 2001-2004 Swedish Institute of Computer Science. | ||
9 | * All rights reserved. | ||
10 | * | ||
11 | * Redistribution and use in source and binary forms, with or without modification, | ||
12 | * are permitted provided that the following conditions are met: | ||
13 | * | ||
14 | * 1. Redistributions of source code must retain the above copyright notice, | ||
15 | * this list of conditions and the following disclaimer. | ||
16 | * 2. Redistributions in binary form must reproduce the above copyright notice, | ||
17 | * this list of conditions and the following disclaimer in the documentation | ||
18 | * and/or other materials provided with the distribution. | ||
19 | * 3. The name of the author may not be used to endorse or promote products | ||
20 | * derived from this software without specific prior written permission. | ||
21 | * | ||
22 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
23 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
24 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT | ||
25 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | ||
26 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT | ||
27 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING | ||
30 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY | ||
31 | * OF SUCH DAMAGE. | ||
32 | * | ||
33 | * This file is part of the lwIP TCP/IP stack. | ||
34 | * | ||
35 | * Author: Adam Dunkels <[email protected]> | ||
36 | * | ||
37 | */ | ||
38 | #ifndef __LWIPOPT_H__ | ||
39 | #define __LWIPOPT_H__ | ||
40 | |||
41 | |||
42 | /* | ||
43 | ----------------------------------------------- | ||
44 | ---------- Platform specific locking ---------- | ||
45 | ----------------------------------------------- | ||
46 | */ | ||
47 | |||
48 | /** | ||
49 | * SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain | ||
50 | * critical regions during buffer allocation, deallocation and memory | ||
51 | * allocation and deallocation. | ||
52 | */ | ||
53 | #ifndef SYS_LIGHTWEIGHT_PROT | ||
54 | #define SYS_LIGHTWEIGHT_PROT 0 | ||
55 | #endif | ||
56 | |||
57 | /** | ||
58 | * NO_SYS==1: Provides VERY minimal functionality. Otherwise, | ||
59 | * use lwIP facilities. | ||
60 | */ | ||
61 | #ifndef NO_SYS | ||
62 | #define NO_SYS 0 | ||
63 | #endif | ||
64 | |||
65 | /** | ||
66 | * NO_SYS_NO_TIMERS==1: Drop support for sys_timeout when NO_SYS==1 | ||
67 | * Mainly for compatibility to old versions. | ||
68 | */ | ||
69 | #ifndef NO_SYS_NO_TIMERS | ||
70 | #define NO_SYS_NO_TIMERS 0 | ||
71 | #endif | ||
72 | |||
73 | /** | ||
74 | * MEMCPY: override this if you have a faster implementation at hand than the | ||
75 | * one included in your C library | ||
76 | */ | ||
77 | #ifndef MEMCPY | ||
78 | #define MEMCPY(dst,src,len) memcpy(dst,src,len) | ||
79 | #endif | ||
80 | |||
81 | /** | ||
82 | * SMEMCPY: override this with care! Some compilers (e.g. gcc) can inline a | ||
83 | * call to memcpy() if the length is known at compile time and is small. | ||
84 | */ | ||
85 | #ifndef SMEMCPY | ||
86 | #define SMEMCPY(dst,src,len) memcpy(dst,src,len) | ||
87 | #endif | ||
88 | |||
89 | /* | ||
90 | ------------------------------------ | ||
91 | ---------- Memory options ---------- | ||
92 | ------------------------------------ | ||
93 | */ | ||
94 | /** | ||
95 | * MEM_LIBC_MALLOC==1: Use malloc/free/realloc provided by your C-library | ||
96 | * instead of the lwip internal allocator. Can save code size if you | ||
97 | * already use it. | ||
98 | */ | ||
99 | #ifndef MEM_LIBC_MALLOC | ||
100 | #define MEM_LIBC_MALLOC 0 | ||
101 | #endif | ||
102 | |||
103 | /** | ||
104 | * MEMP_MEM_MALLOC==1: Use mem_malloc/mem_free instead of the lwip pool allocator. | ||
105 | * Especially useful with MEM_LIBC_MALLOC but handle with care regarding execution | ||
106 | * speed and usage from interrupts! | ||
107 | */ | ||
108 | #ifndef MEMP_MEM_MALLOC | ||
109 | #define MEMP_MEM_MALLOC 0 | ||
110 | #endif | ||
111 | |||
112 | /** | ||
113 | * MEM_ALIGNMENT: should be set to the alignment of the CPU | ||
114 | * 4 byte alignment -> #define MEM_ALIGNMENT 4 | ||
115 | * 2 byte alignment -> #define MEM_ALIGNMENT 2 | ||
116 | */ | ||
117 | #ifndef MEM_ALIGNMENT | ||
118 | #define MEM_ALIGNMENT 4 | ||
119 | #endif | ||
120 | |||
121 | /** | ||
122 | * MEM_SIZE: the size of the heap memory. If the application will send | ||
123 | * a lot of data that needs to be copied, this should be set high. | ||
124 | */ | ||
125 | #ifndef MEM_SIZE | ||
126 | #define MEM_SIZE 1600 | ||
127 | #endif | ||
128 | |||
129 | /** | ||
130 | * MEMP_SEPARATE_POOLS: if defined to 1, each pool is placed in its own array. | ||
131 | * This can be used to individually change the location of each pool. | ||
132 | * Default is one big array for all pools | ||
133 | */ | ||
134 | #ifndef MEMP_SEPARATE_POOLS | ||
135 | #define MEMP_SEPARATE_POOLS 0 | ||
136 | #endif | ||
137 | |||
138 | /** | ||
139 | * MEMP_OVERFLOW_CHECK: memp overflow protection reserves a configurable | ||
140 | * amount of bytes before and after each memp element in every pool and fills | ||
141 | * it with a prominent default value. | ||
142 | * MEMP_OVERFLOW_CHECK == 0 no checking | ||
143 | * MEMP_OVERFLOW_CHECK == 1 checks each element when it is freed | ||
144 | * MEMP_OVERFLOW_CHECK >= 2 checks each element in every pool every time | ||
145 | * memp_malloc() or memp_free() is called (useful but slow!) | ||
146 | */ | ||
147 | #ifndef MEMP_OVERFLOW_CHECK | ||
148 | #define MEMP_OVERFLOW_CHECK 0 | ||
149 | #endif | ||
150 | |||
151 | /** | ||
152 | * MEMP_SANITY_CHECK==1: run a sanity check after each memp_free() to make | ||
153 | * sure that there are no cycles in the linked lists. | ||
154 | */ | ||
155 | #ifndef MEMP_SANITY_CHECK | ||
156 | #define MEMP_SANITY_CHECK 0 | ||
157 | #endif | ||
158 | |||
159 | /** | ||
160 | * MEM_USE_POOLS==1: Use an alternative to malloc() by allocating from a set | ||
161 | * of memory pools of various sizes. When mem_malloc is called, an element of | ||
162 | * the smallest pool that can provide the length needed is returned. | ||
163 | * To use this, MEMP_USE_CUSTOM_POOLS also has to be enabled. | ||
164 | */ | ||
165 | #ifndef MEM_USE_POOLS | ||
166 | #define MEM_USE_POOLS 0 | ||
167 | #endif | ||
168 | |||
169 | /** | ||
170 | * MEM_USE_POOLS_TRY_BIGGER_POOL==1: if one malloc-pool is empty, try the next | ||
171 | * bigger pool - WARNING: THIS MIGHT WASTE MEMORY but it can make a system more | ||
172 | * reliable. */ | ||
173 | #ifndef MEM_USE_POOLS_TRY_BIGGER_POOL | ||
174 | #define MEM_USE_POOLS_TRY_BIGGER_POOL 0 | ||
175 | #endif | ||
176 | |||
177 | /** | ||
178 | * MEMP_USE_CUSTOM_POOLS==1: whether to include a user file lwippools.h | ||
179 | * that defines additional pools beyond the "standard" ones required | ||
180 | * by lwIP. If you set this to 1, you must have lwippools.h in your | ||
181 | * inlude path somewhere. | ||
182 | */ | ||
183 | #ifndef MEMP_USE_CUSTOM_POOLS | ||
184 | #define MEMP_USE_CUSTOM_POOLS 0 | ||
185 | #endif | ||
186 | |||
187 | /** | ||
188 | * Set this to 1 if you want to free PBUF_RAM pbufs (or call mem_free()) from | ||
189 | * interrupt context (or another context that doesn't allow waiting for a | ||
190 | * semaphore). | ||
191 | * If set to 1, mem_malloc will be protected by a semaphore and SYS_ARCH_PROTECT, | ||
192 | * while mem_free will only use SYS_ARCH_PROTECT. mem_malloc SYS_ARCH_UNPROTECTs | ||
193 | * with each loop so that mem_free can run. | ||
194 | * | ||
195 | * ATTENTION: As you can see from the above description, this leads to dis-/ | ||
196 | * enabling interrupts often, which can be slow! Also, on low memory, mem_malloc | ||
197 | * can need longer. | ||
198 | * | ||
199 | * If you don't want that, at least for NO_SYS=0, you can still use the following | ||
200 | * functions to enqueue a deallocation call which then runs in the tcpip_thread | ||
201 | * context: | ||
202 | * - pbuf_free_callback(p); | ||
203 | * - mem_free_callback(m); | ||
204 | */ | ||
205 | #ifndef LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT | ||
206 | #define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0 | ||
207 | #endif | ||
208 | |||
209 | /* | ||
210 | ------------------------------------------------ | ||
211 | ---------- Internal Memory Pool Sizes ---------- | ||
212 | ------------------------------------------------ | ||
213 | */ | ||
214 | /** | ||
215 | * MEMP_NUM_PBUF: the number of memp struct pbufs (used for PBUF_ROM and PBUF_REF). | ||
216 | * If the application sends a lot of data out of ROM (or other static memory), | ||
217 | * this should be set high. | ||
218 | */ | ||
219 | #ifndef MEMP_NUM_PBUF | ||
220 | #define MEMP_NUM_PBUF 16 | ||
221 | #endif | ||
222 | |||
223 | /** | ||
224 | * MEMP_NUM_RAW_PCB: Number of raw connection PCBs | ||
225 | * (requires the LWIP_RAW option) | ||
226 | */ | ||
227 | #ifndef MEMP_NUM_RAW_PCB | ||
228 | #define MEMP_NUM_RAW_PCB 4 | ||
229 | #endif | ||
230 | |||
231 | /** | ||
232 | * MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. One | ||
233 | * per active UDP "connection". | ||
234 | * (requires the LWIP_UDP option) | ||
235 | */ | ||
236 | #ifndef MEMP_NUM_UDP_PCB | ||
237 | #define MEMP_NUM_UDP_PCB 4 | ||
238 | #endif | ||
239 | |||
240 | /** | ||
241 | * MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections. | ||
242 | * (requires the LWIP_TCP option) | ||
243 | */ | ||
244 | #ifndef MEMP_NUM_TCP_PCB | ||
245 | #define MEMP_NUM_TCP_PCB 5 | ||
246 | #endif | ||
247 | |||
248 | /** | ||
249 | * MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections. | ||
250 | * (requires the LWIP_TCP option) | ||
251 | */ | ||
252 | #ifndef MEMP_NUM_TCP_PCB_LISTEN | ||
253 | #define MEMP_NUM_TCP_PCB_LISTEN 8 | ||
254 | #endif | ||
255 | |||
256 | /** | ||
257 | * MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments. | ||
258 | * (requires the LWIP_TCP option) | ||
259 | */ | ||
260 | #ifndef MEMP_NUM_TCP_SEG | ||
261 | #define MEMP_NUM_TCP_SEG 16 | ||
262 | #endif | ||
263 | |||
264 | /** | ||
265 | * MEMP_NUM_REASSDATA: the number of IP packets simultaneously queued for | ||
266 | * reassembly (whole packets, not fragments!) | ||
267 | */ | ||
268 | #ifndef MEMP_NUM_REASSDATA | ||
269 | #define MEMP_NUM_REASSDATA 5 | ||
270 | #endif | ||
271 | |||
272 | /** | ||
273 | * MEMP_NUM_FRAG_PBUF: the number of IP fragments simultaneously sent | ||
274 | * (fragments, not whole packets!). | ||
275 | * This is only used with IP_FRAG_USES_STATIC_BUF==0 and | ||
276 | * LWIP_NETIF_TX_SINGLE_PBUF==0 and only has to be > 1 with DMA-enabled MACs | ||
277 | * where the packet is not yet sent when netif->output returns. | ||
278 | */ | ||
279 | #ifndef MEMP_NUM_FRAG_PBUF | ||
280 | #define MEMP_NUM_FRAG_PBUF 15 | ||
281 | #endif | ||
282 | |||
283 | /** | ||
284 | * MEMP_NUM_ARP_QUEUE: the number of simulateously queued outgoing | ||
285 | * packets (pbufs) that are waiting for an ARP request (to resolve | ||
286 | * their destination address) to finish. | ||
287 | * (requires the ARP_QUEUEING option) | ||
288 | */ | ||
289 | #ifndef MEMP_NUM_ARP_QUEUE | ||
290 | #define MEMP_NUM_ARP_QUEUE 30 | ||
291 | #endif | ||
292 | |||
293 | /** | ||
294 | * MEMP_NUM_IGMP_GROUP: The number of multicast groups whose network interfaces | ||
295 | * can be members et the same time (one per netif - allsystems group -, plus one | ||
296 | * per netif membership). | ||
297 | * (requires the LWIP_IGMP option) | ||
298 | */ | ||
299 | #ifndef MEMP_NUM_IGMP_GROUP | ||
300 | #define MEMP_NUM_IGMP_GROUP 8 | ||
301 | #endif | ||
302 | |||
303 | /** | ||
304 | * MEMP_NUM_SYS_TIMEOUT: the number of simulateously active timeouts. | ||
305 | * (requires NO_SYS==0) | ||
306 | * The default number of timeouts is calculated here for all enabled modules. | ||
307 | * The formula expects settings to be either '0' or '1'. | ||
308 | */ | ||
309 | #ifndef MEMP_NUM_SYS_TIMEOUT | ||
310 | #define MEMP_NUM_SYS_TIMEOUT (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_SUPPORT) | ||
311 | #endif | ||
312 | |||
313 | /** | ||
314 | * MEMP_NUM_NETBUF: the number of struct netbufs. | ||
315 | * (only needed if you use the sequential API, like api_lib.c) | ||
316 | */ | ||
317 | #ifndef MEMP_NUM_NETBUF | ||
318 | #define MEMP_NUM_NETBUF 2 | ||
319 | #endif | ||
320 | |||
321 | /** | ||
322 | * MEMP_NUM_NETCONN: the number of struct netconns. | ||
323 | * (only needed if you use the sequential API, like api_lib.c) | ||
324 | */ | ||
325 | #ifndef MEMP_NUM_NETCONN | ||
326 | #define MEMP_NUM_NETCONN 4 | ||
327 | #endif | ||
328 | |||
329 | /** | ||
330 | * MEMP_NUM_TCPIP_MSG_API: the number of struct tcpip_msg, which are used | ||
331 | * for callback/timeout API communication. | ||
332 | * (only needed if you use tcpip.c) | ||
333 | */ | ||
334 | #ifndef MEMP_NUM_TCPIP_MSG_API | ||
335 | #define MEMP_NUM_TCPIP_MSG_API 8 | ||
336 | #endif | ||
337 | |||
338 | /** | ||
339 | * MEMP_NUM_TCPIP_MSG_INPKT: the number of struct tcpip_msg, which are used | ||
340 | * for incoming packets. | ||
341 | * (only needed if you use tcpip.c) | ||
342 | */ | ||
343 | #ifndef MEMP_NUM_TCPIP_MSG_INPKT | ||
344 | #define MEMP_NUM_TCPIP_MSG_INPKT 8 | ||
345 | #endif | ||
346 | |||
347 | /** | ||
348 | * MEMP_NUM_SNMP_NODE: the number of leafs in the SNMP tree. | ||
349 | */ | ||
350 | #ifndef MEMP_NUM_SNMP_NODE | ||
351 | #define MEMP_NUM_SNMP_NODE 50 | ||
352 | #endif | ||
353 | |||
354 | /** | ||
355 | * MEMP_NUM_SNMP_ROOTNODE: the number of branches in the SNMP tree. | ||
356 | * Every branch has one leaf (MEMP_NUM_SNMP_NODE) at least! | ||
357 | */ | ||
358 | #ifndef MEMP_NUM_SNMP_ROOTNODE | ||
359 | #define MEMP_NUM_SNMP_ROOTNODE 30 | ||
360 | #endif | ||
361 | |||
362 | /** | ||
363 | * MEMP_NUM_SNMP_VARBIND: the number of concurrent requests (does not have to | ||
364 | * be changed normally) - 2 of these are used per request (1 for input, | ||
365 | * 1 for output) | ||
366 | */ | ||
367 | #ifndef MEMP_NUM_SNMP_VARBIND | ||
368 | #define MEMP_NUM_SNMP_VARBIND 2 | ||
369 | #endif | ||
370 | |||
371 | /** | ||
372 | * MEMP_NUM_SNMP_VALUE: the number of OID or values concurrently used | ||
373 | * (does not have to be changed normally) - 3 of these are used per request | ||
374 | * (1 for the value read and 2 for OIDs - input and output) | ||
375 | */ | ||
376 | #ifndef MEMP_NUM_SNMP_VALUE | ||
377 | #define MEMP_NUM_SNMP_VALUE 3 | ||
378 | #endif | ||
379 | |||
380 | /** | ||
381 | * MEMP_NUM_NETDB: the number of concurrently running lwip_addrinfo() calls | ||
382 | * (before freeing the corresponding memory using lwip_freeaddrinfo()). | ||
383 | */ | ||
384 | #ifndef MEMP_NUM_NETDB | ||
385 | #define MEMP_NUM_NETDB 1 | ||
386 | #endif | ||
387 | |||
388 | /** | ||
389 | * MEMP_NUM_LOCALHOSTLIST: the number of host entries in the local host list | ||
390 | * if DNS_LOCAL_HOSTLIST_IS_DYNAMIC==1. | ||
391 | */ | ||
392 | #ifndef MEMP_NUM_LOCALHOSTLIST | ||
393 | #define MEMP_NUM_LOCALHOSTLIST 1 | ||
394 | #endif | ||
395 | |||
396 | /** | ||
397 | * MEMP_NUM_PPPOE_INTERFACES: the number of concurrently active PPPoE | ||
398 | * interfaces (only used with PPPOE_SUPPORT==1) | ||
399 | */ | ||
400 | #ifndef MEMP_NUM_PPPOE_INTERFACES | ||
401 | #define MEMP_NUM_PPPOE_INTERFACES 1 | ||
402 | #endif | ||
403 | |||
404 | /** | ||
405 | * PBUF_POOL_SIZE: the number of buffers in the pbuf pool. | ||
406 | */ | ||
407 | #ifndef PBUF_POOL_SIZE | ||
408 | #define PBUF_POOL_SIZE 16 | ||
409 | #endif | ||
410 | |||
411 | /* | ||
412 | --------------------------------- | ||
413 | ---------- ARP options ---------- | ||
414 | --------------------------------- | ||
415 | */ | ||
416 | /** | ||
417 | * LWIP_ARP==1: Enable ARP functionality. | ||
418 | */ | ||
419 | #ifndef LWIP_ARP | ||
420 | #define LWIP_ARP 1 | ||
421 | #endif | ||
422 | |||
423 | /** | ||
424 | * ARP_TABLE_SIZE: Number of active MAC-IP address pairs cached. | ||
425 | */ | ||
426 | #ifndef ARP_TABLE_SIZE | ||
427 | #define ARP_TABLE_SIZE 10 | ||
428 | #endif | ||
429 | |||
430 | /** | ||
431 | * ARP_QUEUEING==1: Multiple outgoing packets are queued during hardware address | ||
432 | * resolution. By default, only the most recent packet is queued per IP address. | ||
433 | * This is sufficient for most protocols and mainly reduces TCP connection | ||
434 | * startup time. Set this to 1 if you know your application sends more than one | ||
435 | * packet in a row to an IP address that is not in the ARP cache. | ||
436 | */ | ||
437 | #ifndef ARP_QUEUEING | ||
438 | #define ARP_QUEUEING 0 | ||
439 | #endif | ||
440 | |||
441 | /** | ||
442 | * ETHARP_TRUST_IP_MAC==1: Incoming IP packets cause the ARP table to be | ||
443 | * updated with the source MAC and IP addresses supplied in the packet. | ||
444 | * You may want to disable this if you do not trust LAN peers to have the | ||
445 | * correct addresses, or as a limited approach to attempt to handle | ||
446 | * spoofing. If disabled, lwIP will need to make a new ARP request if | ||
447 | * the peer is not already in the ARP table, adding a little latency. | ||
448 | * The peer *is* in the ARP table if it requested our address before. | ||
449 | * Also notice that this slows down input processing of every IP packet! | ||
450 | */ | ||
451 | #ifndef ETHARP_TRUST_IP_MAC | ||
452 | #define ETHARP_TRUST_IP_MAC 0 | ||
453 | #endif | ||
454 | |||
455 | /** | ||
456 | * ETHARP_SUPPORT_VLAN==1: support receiving ethernet packets with VLAN header. | ||
457 | * Additionally, you can define ETHARP_VLAN_CHECK to an u16_t VLAN ID to check. | ||
458 | * If ETHARP_VLAN_CHECK is defined, only VLAN-traffic for this VLAN is accepted. | ||
459 | * If ETHARP_VLAN_CHECK is not defined, all traffic is accepted. | ||
460 | * Alternatively, define a function/define ETHARP_VLAN_CHECK_FN(eth_hdr, vlan) | ||
461 | * that returns 1 to accept a packet or 0 to drop a packet. | ||
462 | */ | ||
463 | #ifndef ETHARP_SUPPORT_VLAN | ||
464 | #define ETHARP_SUPPORT_VLAN 0 | ||
465 | #endif | ||
466 | |||
467 | /** LWIP_ETHERNET==1: enable ethernet support for PPPoE even though ARP | ||
468 | * might be disabled | ||
469 | */ | ||
470 | #ifndef LWIP_ETHERNET | ||
471 | #define LWIP_ETHERNET (LWIP_ARP || PPPOE_SUPPORT) | ||
472 | #endif | ||
473 | |||
474 | /** ETH_PAD_SIZE: number of bytes added before the ethernet header to ensure | ||
475 | * alignment of payload after that header. Since the header is 14 bytes long, | ||
476 | * without this padding e.g. addresses in the IP header will not be aligned | ||
477 | * on a 32-bit boundary, so setting this to 2 can speed up 32-bit-platforms. | ||
478 | */ | ||
479 | #ifndef ETH_PAD_SIZE | ||
480 | #define ETH_PAD_SIZE 0 | ||
481 | #endif | ||
482 | |||
483 | /** ETHARP_SUPPORT_STATIC_ENTRIES==1: enable code to support static ARP table | ||
484 | * entries (using etharp_add_static_entry/etharp_remove_static_entry). | ||
485 | */ | ||
486 | #ifndef ETHARP_SUPPORT_STATIC_ENTRIES | ||
487 | #define ETHARP_SUPPORT_STATIC_ENTRIES 0 | ||
488 | #endif | ||
489 | |||
490 | |||
491 | /* | ||
492 | -------------------------------- | ||
493 | ---------- IP options ---------- | ||
494 | -------------------------------- | ||
495 | */ | ||
496 | /** | ||
497 | * IP_FORWARD==1: Enables the ability to forward IP packets across network | ||
498 | * interfaces. If you are going to run lwIP on a device with only one network | ||
499 | * interface, define this to 0. | ||
500 | */ | ||
501 | #ifndef IP_FORWARD | ||
502 | #define IP_FORWARD 0 | ||
503 | #endif | ||
504 | |||
505 | /** | ||
506 | * IP_OPTIONS_ALLOWED: Defines the behavior for IP options. | ||
507 | * IP_OPTIONS_ALLOWED==0: All packets with IP options are dropped. | ||
508 | * IP_OPTIONS_ALLOWED==1: IP options are allowed (but not parsed). | ||
509 | */ | ||
510 | #ifndef IP_OPTIONS_ALLOWED | ||
511 | #define IP_OPTIONS_ALLOWED 1 | ||
512 | #endif | ||
513 | |||
514 | /** | ||
515 | * IP_REASSEMBLY==1: Reassemble incoming fragmented IP packets. Note that | ||
516 | * this option does not affect outgoing packet sizes, which can be controlled | ||
517 | * via IP_FRAG. | ||
518 | */ | ||
519 | #ifndef IP_REASSEMBLY | ||
520 | #define IP_REASSEMBLY 1 | ||
521 | #endif | ||
522 | |||
523 | /** | ||
524 | * IP_FRAG==1: Fragment outgoing IP packets if their size exceeds MTU. Note | ||
525 | * that this option does not affect incoming packet sizes, which can be | ||
526 | * controlled via IP_REASSEMBLY. | ||
527 | */ | ||
528 | #ifndef IP_FRAG | ||
529 | #define IP_FRAG 1 | ||
530 | #endif | ||
531 | |||
532 | /** | ||
533 | * IP_REASS_MAXAGE: Maximum time (in multiples of IP_TMR_INTERVAL - so seconds, normally) | ||
534 | * a fragmented IP packet waits for all fragments to arrive. If not all fragments arrived | ||
535 | * in this time, the whole packet is discarded. | ||
536 | */ | ||
537 | #ifndef IP_REASS_MAXAGE | ||
538 | #define IP_REASS_MAXAGE 3 | ||
539 | #endif | ||
540 | |||
541 | /** | ||
542 | * IP_REASS_MAX_PBUFS: Total maximum amount of pbufs waiting to be reassembled. | ||
543 | * Since the received pbufs are enqueued, be sure to configure | ||
544 | * PBUF_POOL_SIZE > IP_REASS_MAX_PBUFS so that the stack is still able to receive | ||
545 | * packets even if the maximum amount of fragments is enqueued for reassembly! | ||
546 | */ | ||
547 | #ifndef IP_REASS_MAX_PBUFS | ||
548 | #define IP_REASS_MAX_PBUFS 10 | ||
549 | #endif | ||
550 | |||
551 | /** | ||
552 | * IP_FRAG_USES_STATIC_BUF==1: Use a static MTU-sized buffer for IP | ||
553 | * fragmentation. Otherwise pbufs are allocated and reference the original | ||
554 | * packet data to be fragmented (or with LWIP_NETIF_TX_SINGLE_PBUF==1, | ||
555 | * new PBUF_RAM pbufs are used for fragments). | ||
556 | * ATTENTION: IP_FRAG_USES_STATIC_BUF==1 may not be used for DMA-enabled MACs! | ||
557 | */ | ||
558 | #ifndef IP_FRAG_USES_STATIC_BUF | ||
559 | #define IP_FRAG_USES_STATIC_BUF 0 | ||
560 | #endif | ||
561 | |||
562 | /** | ||
563 | * IP_FRAG_MAX_MTU: Assumed max MTU on any interface for IP frag buffer | ||
564 | * (requires IP_FRAG_USES_STATIC_BUF==1) | ||
565 | */ | ||
566 | #if IP_FRAG_USES_STATIC_BUF && !defined(IP_FRAG_MAX_MTU) | ||
567 | #define IP_FRAG_MAX_MTU 1500 | ||
568 | #endif | ||
569 | |||
570 | /** | ||
571 | * IP_DEFAULT_TTL: Default value for Time-To-Live used by transport layers. | ||
572 | */ | ||
573 | #ifndef IP_DEFAULT_TTL | ||
574 | #define IP_DEFAULT_TTL 255 | ||
575 | #endif | ||
576 | |||
577 | /** | ||
578 | * IP_SOF_BROADCAST=1: Use the SOF_BROADCAST field to enable broadcast | ||
579 | * filter per pcb on udp and raw send operations. To enable broadcast filter | ||
580 | * on recv operations, you also have to set IP_SOF_BROADCAST_RECV=1. | ||
581 | */ | ||
582 | #ifndef IP_SOF_BROADCAST | ||
583 | #define IP_SOF_BROADCAST 0 | ||
584 | #endif | ||
585 | |||
586 | /** | ||
587 | * IP_SOF_BROADCAST_RECV (requires IP_SOF_BROADCAST=1) enable the broadcast | ||
588 | * filter on recv operations. | ||
589 | */ | ||
590 | #ifndef IP_SOF_BROADCAST_RECV | ||
591 | #define IP_SOF_BROADCAST_RECV 0 | ||
592 | #endif | ||
593 | |||
594 | /** | ||
595 | * IP_FORWARD_ALLOW_TX_ON_RX_NETIF==1: allow ip_forward() to send packets back | ||
596 | * out on the netif where it was received. This should only be used for | ||
597 | * wireless networks. | ||
598 | * ATTENTION: When this is 1, make sure your netif driver correctly marks incoming | ||
599 | * link-layer-broadcast/multicast packets as such using the corresponding pbuf flags! | ||
600 | */ | ||
601 | #ifndef IP_FORWARD_ALLOW_TX_ON_RX_NETIF | ||
602 | #define IP_FORWARD_ALLOW_TX_ON_RX_NETIF 0 | ||
603 | #endif | ||
604 | |||
605 | /** | ||
606 | * LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS==1: randomize the local port for the first | ||
607 | * local TCP/UDP pcb (default==0). This can prevent creating predictable port | ||
608 | * numbers after booting a device. | ||
609 | */ | ||
610 | #ifndef LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS | ||
611 | #define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS 0 | ||
612 | #endif | ||
613 | |||
614 | /* | ||
615 | ---------------------------------- | ||
616 | ---------- ICMP options ---------- | ||
617 | ---------------------------------- | ||
618 | */ | ||
619 | /** | ||
620 | * LWIP_ICMP==1: Enable ICMP module inside the IP stack. | ||
621 | * Be careful, disable that make your product non-compliant to RFC1122 | ||
622 | */ | ||
623 | #ifndef LWIP_ICMP | ||
624 | #define LWIP_ICMP 1 | ||
625 | #endif | ||
626 | |||
627 | /** | ||
628 | * ICMP_TTL: Default value for Time-To-Live used by ICMP packets. | ||
629 | */ | ||
630 | #ifndef ICMP_TTL | ||
631 | #define ICMP_TTL (IP_DEFAULT_TTL) | ||
632 | #endif | ||
633 | |||
634 | /** | ||
635 | * LWIP_BROADCAST_PING==1: respond to broadcast pings (default is unicast only) | ||
636 | */ | ||
637 | #ifndef LWIP_BROADCAST_PING | ||
638 | #define LWIP_BROADCAST_PING 0 | ||
639 | #endif | ||
640 | |||
641 | /** | ||
642 | * LWIP_MULTICAST_PING==1: respond to multicast pings (default is unicast only) | ||
643 | */ | ||
644 | #ifndef LWIP_MULTICAST_PING | ||
645 | #define LWIP_MULTICAST_PING 0 | ||
646 | #endif | ||
647 | |||
648 | /* | ||
649 | --------------------------------- | ||
650 | ---------- RAW options ---------- | ||
651 | --------------------------------- | ||
652 | */ | ||
653 | /** | ||
654 | * LWIP_RAW==1: Enable application layer to hook into the IP layer itself. | ||
655 | */ | ||
656 | #ifndef LWIP_RAW | ||
657 | #define LWIP_RAW 1 | ||
658 | #endif | ||
659 | |||
660 | /** | ||
661 | * LWIP_RAW==1: Enable application layer to hook into the IP layer itself. | ||
662 | */ | ||
663 | #ifndef RAW_TTL | ||
664 | #define RAW_TTL (IP_DEFAULT_TTL) | ||
665 | #endif | ||
666 | |||
667 | /* | ||
668 | ---------------------------------- | ||
669 | ---------- DHCP options ---------- | ||
670 | ---------------------------------- | ||
671 | */ | ||
672 | /** | ||
673 | * LWIP_DHCP==1: Enable DHCP module. | ||
674 | */ | ||
675 | #ifndef LWIP_DHCP | ||
676 | #define LWIP_DHCP 0 | ||
677 | #endif | ||
678 | |||
679 | /** | ||
680 | * DHCP_DOES_ARP_CHECK==1: Do an ARP check on the offered address. | ||
681 | */ | ||
682 | #ifndef DHCP_DOES_ARP_CHECK | ||
683 | #define DHCP_DOES_ARP_CHECK ((LWIP_DHCP) && (LWIP_ARP)) | ||
684 | #endif | ||
685 | |||
686 | /* | ||
687 | ------------------------------------ | ||
688 | ---------- AUTOIP options ---------- | ||
689 | ------------------------------------ | ||
690 | */ | ||
691 | /** | ||
692 | * LWIP_AUTOIP==1: Enable AUTOIP module. | ||
693 | */ | ||
694 | #ifndef LWIP_AUTOIP | ||
695 | #define LWIP_AUTOIP 0 | ||
696 | #endif | ||
697 | |||
698 | /** | ||
699 | * LWIP_DHCP_AUTOIP_COOP==1: Allow DHCP and AUTOIP to be both enabled on | ||
700 | * the same interface at the same time. | ||
701 | */ | ||
702 | #ifndef LWIP_DHCP_AUTOIP_COOP | ||
703 | #define LWIP_DHCP_AUTOIP_COOP 0 | ||
704 | #endif | ||
705 | |||
706 | /** | ||
707 | * LWIP_DHCP_AUTOIP_COOP_TRIES: Set to the number of DHCP DISCOVER probes | ||
708 | * that should be sent before falling back on AUTOIP. This can be set | ||
709 | * as low as 1 to get an AutoIP address very quickly, but you should | ||
710 | * be prepared to handle a changing IP address when DHCP overrides | ||
711 | * AutoIP. | ||
712 | */ | ||
713 | #ifndef LWIP_DHCP_AUTOIP_COOP_TRIES | ||
714 | #define LWIP_DHCP_AUTOIP_COOP_TRIES 9 | ||
715 | #endif | ||
716 | |||
717 | /* | ||
718 | ---------------------------------- | ||
719 | ---------- SNMP options ---------- | ||
720 | ---------------------------------- | ||
721 | */ | ||
722 | /** | ||
723 | * LWIP_SNMP==1: Turn on SNMP module. UDP must be available for SNMP | ||
724 | * transport. | ||
725 | */ | ||
726 | #ifndef LWIP_SNMP | ||
727 | #define LWIP_SNMP 0 | ||
728 | #endif | ||
729 | |||
730 | /** | ||
731 | * SNMP_CONCURRENT_REQUESTS: Number of concurrent requests the module will | ||
732 | * allow. At least one request buffer is required. | ||
733 | * Does not have to be changed unless external MIBs answer request asynchronously | ||
734 | */ | ||
735 | #ifndef SNMP_CONCURRENT_REQUESTS | ||
736 | #define SNMP_CONCURRENT_REQUESTS 1 | ||
737 | #endif | ||
738 | |||
739 | /** | ||
740 | * SNMP_TRAP_DESTINATIONS: Number of trap destinations. At least one trap | ||
741 | * destination is required | ||
742 | */ | ||
743 | #ifndef SNMP_TRAP_DESTINATIONS | ||
744 | #define SNMP_TRAP_DESTINATIONS 1 | ||
745 | #endif | ||
746 | |||
747 | /** | ||
748 | * SNMP_PRIVATE_MIB: | ||
749 | * When using a private MIB, you have to create a file 'private_mib.h' that contains | ||
750 | * a 'struct mib_array_node mib_private' which contains your MIB. | ||
751 | */ | ||
752 | #ifndef SNMP_PRIVATE_MIB | ||
753 | #define SNMP_PRIVATE_MIB 0 | ||
754 | #endif | ||
755 | |||
756 | /** | ||
757 | * Only allow SNMP write actions that are 'safe' (e.g. disabeling netifs is not | ||
758 | * a safe action and disabled when SNMP_SAFE_REQUESTS = 1). | ||
759 | * Unsafe requests are disabled by default! | ||
760 | */ | ||
761 | #ifndef SNMP_SAFE_REQUESTS | ||
762 | #define SNMP_SAFE_REQUESTS 1 | ||
763 | #endif | ||
764 | |||
765 | /** | ||
766 | * The maximum length of strings used. This affects the size of | ||
767 | * MEMP_SNMP_VALUE elements. | ||
768 | */ | ||
769 | #ifndef SNMP_MAX_OCTET_STRING_LEN | ||
770 | #define SNMP_MAX_OCTET_STRING_LEN 127 | ||
771 | #endif | ||
772 | |||
773 | /** | ||
774 | * The maximum depth of the SNMP tree. | ||
775 | * With private MIBs enabled, this depends on your MIB! | ||
776 | * This affects the size of MEMP_SNMP_VALUE elements. | ||
777 | */ | ||
778 | #ifndef SNMP_MAX_TREE_DEPTH | ||
779 | #define SNMP_MAX_TREE_DEPTH 15 | ||
780 | #endif | ||
781 | |||
782 | /** | ||
783 | * The size of the MEMP_SNMP_VALUE elements, normally calculated from | ||
784 | * SNMP_MAX_OCTET_STRING_LEN and SNMP_MAX_TREE_DEPTH. | ||
785 | */ | ||
786 | #ifndef SNMP_MAX_VALUE_SIZE | ||
787 | #define SNMP_MAX_VALUE_SIZE LWIP_MAX((SNMP_MAX_OCTET_STRING_LEN)+1, sizeof(s32_t)*(SNMP_MAX_TREE_DEPTH)) | ||
788 | #endif | ||
789 | |||
790 | /* | ||
791 | ---------------------------------- | ||
792 | ---------- IGMP options ---------- | ||
793 | ---------------------------------- | ||
794 | */ | ||
795 | /** | ||
796 | * LWIP_IGMP==1: Turn on IGMP module. | ||
797 | */ | ||
798 | #ifndef LWIP_IGMP | ||
799 | #define LWIP_IGMP 0 | ||
800 | #endif | ||
801 | |||
802 | /* | ||
803 | ---------------------------------- | ||
804 | ---------- DNS options ----------- | ||
805 | ---------------------------------- | ||
806 | */ | ||
807 | /** | ||
808 | * LWIP_DNS==1: Turn on DNS module. UDP must be available for DNS | ||
809 | * transport. | ||
810 | */ | ||
811 | #ifndef LWIP_DNS | ||
812 | #define LWIP_DNS 0 | ||
813 | #endif | ||
814 | |||
815 | /** DNS maximum number of entries to maintain locally. */ | ||
816 | #ifndef DNS_TABLE_SIZE | ||
817 | #define DNS_TABLE_SIZE 4 | ||
818 | #endif | ||
819 | |||
820 | /** DNS maximum host name length supported in the name table. */ | ||
821 | #ifndef DNS_MAX_NAME_LENGTH | ||
822 | #define DNS_MAX_NAME_LENGTH 256 | ||
823 | #endif | ||
824 | |||
825 | /** The maximum of DNS servers */ | ||
826 | #ifndef DNS_MAX_SERVERS | ||
827 | #define DNS_MAX_SERVERS 2 | ||
828 | #endif | ||
829 | |||
830 | /** DNS do a name checking between the query and the response. */ | ||
831 | #ifndef DNS_DOES_NAME_CHECK | ||
832 | #define DNS_DOES_NAME_CHECK 1 | ||
833 | #endif | ||
834 | |||
835 | /** DNS message max. size. Default value is RFC compliant. */ | ||
836 | #ifndef DNS_MSG_SIZE | ||
837 | #define DNS_MSG_SIZE 512 | ||
838 | #endif | ||
839 | |||
840 | /** DNS_LOCAL_HOSTLIST: Implements a local host-to-address list. If enabled, | ||
841 | * you have to define | ||
842 | * #define DNS_LOCAL_HOSTLIST_INIT {{"host1", 0x123}, {"host2", 0x234}} | ||
843 | * (an array of structs name/address, where address is an u32_t in network | ||
844 | * byte order). | ||
845 | * | ||
846 | * Instead, you can also use an external function: | ||
847 | * #define DNS_LOOKUP_LOCAL_EXTERN(x) extern u32_t my_lookup_function(const char *name) | ||
848 | * that returns the IP address or INADDR_NONE if not found. | ||
849 | */ | ||
850 | #ifndef DNS_LOCAL_HOSTLIST | ||
851 | #define DNS_LOCAL_HOSTLIST 0 | ||
852 | #endif /* DNS_LOCAL_HOSTLIST */ | ||
853 | |||
854 | /** If this is turned on, the local host-list can be dynamically changed | ||
855 | * at runtime. */ | ||
856 | #ifndef DNS_LOCAL_HOSTLIST_IS_DYNAMIC | ||
857 | #define DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0 | ||
858 | #endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */ | ||
859 | |||
860 | /* | ||
861 | --------------------------------- | ||
862 | ---------- UDP options ---------- | ||
863 | --------------------------------- | ||
864 | */ | ||
865 | /** | ||
866 | * LWIP_UDP==1: Turn on UDP. | ||
867 | */ | ||
868 | #ifndef LWIP_UDP | ||
869 | #define LWIP_UDP 1 | ||
870 | #endif | ||
871 | |||
872 | /** | ||
873 | * LWIP_UDPLITE==1: Turn on UDP-Lite. (Requires LWIP_UDP) | ||
874 | */ | ||
875 | #ifndef LWIP_UDPLITE | ||
876 | #define LWIP_UDPLITE 0 | ||
877 | #endif | ||
878 | |||
879 | /** | ||
880 | * UDP_TTL: Default Time-To-Live value. | ||
881 | */ | ||
882 | #ifndef UDP_TTL | ||
883 | #define UDP_TTL (IP_DEFAULT_TTL) | ||
884 | #endif | ||
885 | |||
886 | /** | ||
887 | * LWIP_NETBUF_RECVINFO==1: append destination addr and port to every netbuf. | ||
888 | */ | ||
889 | #ifndef LWIP_NETBUF_RECVINFO | ||
890 | #define LWIP_NETBUF_RECVINFO 0 | ||
891 | #endif | ||
892 | |||
893 | /* | ||
894 | --------------------------------- | ||
895 | ---------- TCP options ---------- | ||
896 | --------------------------------- | ||
897 | */ | ||
898 | /** | ||
899 | * LWIP_TCP==1: Turn on TCP. | ||
900 | */ | ||
901 | #ifndef LWIP_TCP | ||
902 | #define LWIP_TCP 1 | ||
903 | #endif | ||
904 | |||
905 | /** | ||
906 | * TCP_TTL: Default Time-To-Live value. | ||
907 | */ | ||
908 | #ifndef TCP_TTL | ||
909 | #define TCP_TTL (IP_DEFAULT_TTL) | ||
910 | #endif | ||
911 | |||
912 | /** | ||
913 | * TCP_WND: The size of a TCP window. This must be at least | ||
914 | * (2 * TCP_MSS) for things to work well | ||
915 | */ | ||
916 | #ifndef TCP_WND | ||
917 | #define TCP_WND (4 * TCP_MSS) | ||
918 | #endif | ||
919 | |||
920 | /** | ||
921 | * TCP_MAXRTX: Maximum number of retransmissions of data segments. | ||
922 | */ | ||
923 | #ifndef TCP_MAXRTX | ||
924 | #define TCP_MAXRTX 12 | ||
925 | #endif | ||
926 | |||
927 | /** | ||
928 | * TCP_SYNMAXRTX: Maximum number of retransmissions of SYN segments. | ||
929 | */ | ||
930 | #ifndef TCP_SYNMAXRTX | ||
931 | #define TCP_SYNMAXRTX 6 | ||
932 | #endif | ||
933 | |||
934 | /** | ||
935 | * TCP_QUEUE_OOSEQ==1: TCP will queue segments that arrive out of order. | ||
936 | * Define to 0 if your device is low on memory. | ||
937 | */ | ||
938 | #ifndef TCP_QUEUE_OOSEQ | ||
939 | #define TCP_QUEUE_OOSEQ (LWIP_TCP) | ||
940 | #endif | ||
941 | |||
942 | /** | ||
943 | * TCP_MSS: TCP Maximum segment size. (default is 536, a conservative default, | ||
944 | * you might want to increase this.) | ||
945 | * For the receive side, this MSS is advertised to the remote side | ||
946 | * when opening a connection. For the transmit size, this MSS sets | ||
947 | * an upper limit on the MSS advertised by the remote host. | ||
948 | */ | ||
949 | #ifndef TCP_MSS | ||
950 | #define TCP_MSS 1480 | ||
951 | #endif | ||
952 | |||
953 | /** | ||
954 | * TCP_CALCULATE_EFF_SEND_MSS: "The maximum size of a segment that TCP really | ||
955 | * sends, the 'effective send MSS,' MUST be the smaller of the send MSS (which | ||
956 | * reflects the available reassembly buffer size at the remote host) and the | ||
957 | * largest size permitted by the IP layer" (RFC 1122) | ||
958 | * Setting this to 1 enables code that checks TCP_MSS against the MTU of the | ||
959 | * netif used for a connection and limits the MSS if it would be too big otherwise. | ||
960 | */ | ||
961 | #ifndef TCP_CALCULATE_EFF_SEND_MSS | ||
962 | #define TCP_CALCULATE_EFF_SEND_MSS 1 | ||
963 | #endif | ||
964 | |||
965 | |||
966 | /** | ||
967 | * TCP_SND_BUF: TCP sender buffer space (bytes). | ||
968 | * To achieve good performance, this should be at least 2 * TCP_MSS. | ||
969 | */ | ||
970 | #ifndef TCP_SND_BUF | ||
971 | #define TCP_SND_BUF (2 * TCP_MSS) | ||
972 | #endif | ||
973 | |||
974 | /** | ||
975 | * TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least | ||
976 | * as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work. | ||
977 | */ | ||
978 | #ifndef TCP_SND_QUEUELEN | ||
979 | #define TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS)) | ||
980 | #endif | ||
981 | |||
982 | /** | ||
983 | * TCP_SNDLOWAT: TCP writable space (bytes). This must be less than | ||
984 | * TCP_SND_BUF. It is the amount of space which must be available in the | ||
985 | * TCP snd_buf for select to return writable (combined with TCP_SNDQUEUELOWAT). | ||
986 | */ | ||
987 | #ifndef TCP_SNDLOWAT | ||
988 | #define TCP_SNDLOWAT LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1) | ||
989 | #endif | ||
990 | |||
991 | /** | ||
992 | * TCP_SNDQUEUELOWAT: TCP writable bufs (pbuf count). This must be less | ||
993 | * than TCP_SND_QUEUELEN. If the number of pbufs queued on a pcb drops below | ||
994 | * this number, select returns writable (combined with TCP_SNDLOWAT). | ||
995 | */ | ||
996 | #ifndef TCP_SNDQUEUELOWAT | ||
997 | #define TCP_SNDQUEUELOWAT LWIP_MAX(((TCP_SND_QUEUELEN)/2), 5) | ||
998 | #endif | ||
999 | |||
1000 | /** | ||
1001 | * TCP_OOSEQ_MAX_BYTES: The maximum number of bytes queued on ooseq per pcb. | ||
1002 | * Default is 0 (no limit). Only valid for TCP_QUEUE_OOSEQ==0. | ||
1003 | */ | ||
1004 | #ifndef TCP_OOSEQ_MAX_BYTES | ||
1005 | #define TCP_OOSEQ_MAX_BYTES 0 | ||
1006 | #endif | ||
1007 | |||
1008 | /** | ||
1009 | * TCP_OOSEQ_MAX_PBUFS: The maximum number of pbufs queued on ooseq per pcb. | ||
1010 | * Default is 0 (no limit). Only valid for TCP_QUEUE_OOSEQ==0. | ||
1011 | */ | ||
1012 | #ifndef TCP_OOSEQ_MAX_PBUFS | ||
1013 | #define TCP_OOSEQ_MAX_PBUFS 0 | ||
1014 | #endif | ||
1015 | |||
1016 | /** | ||
1017 | * TCP_LISTEN_BACKLOG: Enable the backlog option for tcp listen pcb. | ||
1018 | */ | ||
1019 | #ifndef TCP_LISTEN_BACKLOG | ||
1020 | #define TCP_LISTEN_BACKLOG 0 | ||
1021 | #endif | ||
1022 | |||
1023 | /** | ||
1024 | * The maximum allowed backlog for TCP listen netconns. | ||
1025 | * This backlog is used unless another is explicitly specified. | ||
1026 | * 0xff is the maximum (u8_t). | ||
1027 | */ | ||
1028 | #ifndef TCP_DEFAULT_LISTEN_BACKLOG | ||
1029 | #define TCP_DEFAULT_LISTEN_BACKLOG 0xff | ||
1030 | #endif | ||
1031 | |||
1032 | /** | ||
1033 | * TCP_OVERSIZE: The maximum number of bytes that tcp_write may | ||
1034 | * allocate ahead of time in an attempt to create shorter pbuf chains | ||
1035 | * for transmission. The meaningful range is 0 to TCP_MSS. Some | ||
1036 | * suggested values are: | ||
1037 | * | ||
1038 | * 0: Disable oversized allocation. Each tcp_write() allocates a new | ||
1039 | pbuf (old behaviour). | ||
1040 | * 1: Allocate size-aligned pbufs with minimal excess. Use this if your | ||
1041 | * scatter-gather DMA requires aligned fragments. | ||
1042 | * 128: Limit the pbuf/memory overhead to 20%. | ||
1043 | * TCP_MSS: Try to create unfragmented TCP packets. | ||
1044 | * TCP_MSS/4: Try to create 4 fragments or less per TCP packet. | ||
1045 | */ | ||
1046 | #ifndef TCP_OVERSIZE | ||
1047 | #define TCP_OVERSIZE TCP_MSS | ||
1048 | #endif | ||
1049 | |||
1050 | /** | ||
1051 | * LWIP_TCP_TIMESTAMPS==1: support the TCP timestamp option. | ||
1052 | */ | ||
1053 | #ifndef LWIP_TCP_TIMESTAMPS | ||
1054 | #define LWIP_TCP_TIMESTAMPS 0 | ||
1055 | #endif | ||
1056 | |||
1057 | /** | ||
1058 | * TCP_WND_UPDATE_THRESHOLD: difference in window to trigger an | ||
1059 | * explicit window update | ||
1060 | */ | ||
1061 | #ifndef TCP_WND_UPDATE_THRESHOLD | ||
1062 | #define TCP_WND_UPDATE_THRESHOLD (TCP_WND / 4) | ||
1063 | #endif | ||
1064 | |||
1065 | /** | ||
1066 | * LWIP_EVENT_API and LWIP_CALLBACK_API: Only one of these should be set to 1. | ||
1067 | * LWIP_EVENT_API==1: The user defines lwip_tcp_event() to receive all | ||
1068 | * events (accept, sent, etc) that happen in the system. | ||
1069 | * LWIP_CALLBACK_API==1: The PCB callback function is called directly | ||
1070 | * for the event. This is the default. | ||
1071 | */ | ||
1072 | #if !defined(LWIP_EVENT_API) && !defined(LWIP_CALLBACK_API) | ||
1073 | #define LWIP_EVENT_API 0 | ||
1074 | #define LWIP_CALLBACK_API 1 | ||
1075 | #endif | ||
1076 | |||
1077 | |||
1078 | /* | ||
1079 | ---------------------------------- | ||
1080 | ---------- Pbuf options ---------- | ||
1081 | ---------------------------------- | ||
1082 | */ | ||
1083 | /** | ||
1084 | * PBUF_LINK_HLEN: the number of bytes that should be allocated for a | ||
1085 | * link level header. The default is 14, the standard value for | ||
1086 | * Ethernet. | ||
1087 | */ | ||
1088 | #ifndef PBUF_LINK_HLEN | ||
1089 | #define PBUF_LINK_HLEN (14 + ETH_PAD_SIZE) | ||
1090 | #endif | ||
1091 | |||
1092 | /** | ||
1093 | * PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. The default is | ||
1094 | * designed to accomodate single full size TCP frame in one pbuf, including | ||
1095 | * TCP_MSS, IP header, and link header. | ||
1096 | */ | ||
1097 | #ifndef PBUF_POOL_BUFSIZE | ||
1098 | #define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN) | ||
1099 | #endif | ||
1100 | |||
1101 | /* | ||
1102 | ------------------------------------------------ | ||
1103 | ---------- Network Interfaces options ---------- | ||
1104 | ------------------------------------------------ | ||
1105 | */ | ||
1106 | /** | ||
1107 | * LWIP_NETIF_HOSTNAME==1: use DHCP_OPTION_HOSTNAME with netif's hostname | ||
1108 | * field. | ||
1109 | */ | ||
1110 | #ifndef LWIP_NETIF_HOSTNAME | ||
1111 | #define LWIP_NETIF_HOSTNAME 0 | ||
1112 | #endif | ||
1113 | |||
1114 | /** | ||
1115 | * LWIP_NETIF_API==1: Support netif api (in netifapi.c) | ||
1116 | */ | ||
1117 | #ifndef LWIP_NETIF_API | ||
1118 | #define LWIP_NETIF_API 0 | ||
1119 | #endif | ||
1120 | |||
1121 | /** | ||
1122 | * LWIP_NETIF_STATUS_CALLBACK==1: Support a callback function whenever an interface | ||
1123 | * changes its up/down status (i.e., due to DHCP IP acquistion) | ||
1124 | */ | ||
1125 | #ifndef LWIP_NETIF_STATUS_CALLBACK | ||
1126 | #define LWIP_NETIF_STATUS_CALLBACK 0 | ||
1127 | #endif | ||
1128 | |||
1129 | /** | ||
1130 | * LWIP_NETIF_LINK_CALLBACK==1: Support a callback function from an interface | ||
1131 | * whenever the link changes (i.e., link down) | ||
1132 | */ | ||
1133 | #ifndef LWIP_NETIF_LINK_CALLBACK | ||
1134 | #define LWIP_NETIF_LINK_CALLBACK 0 | ||
1135 | #endif | ||
1136 | |||
1137 | /** | ||
1138 | * LWIP_NETIF_REMOVE_CALLBACK==1: Support a callback function that is called | ||
1139 | * when a netif has been removed | ||
1140 | */ | ||
1141 | #ifndef LWIP_NETIF_REMOVE_CALLBACK | ||
1142 | #define LWIP_NETIF_REMOVE_CALLBACK 0 | ||
1143 | #endif | ||
1144 | |||
1145 | /** | ||
1146 | * LWIP_NETIF_HWADDRHINT==1: Cache link-layer-address hints (e.g. table | ||
1147 | * indices) in struct netif. TCP and UDP can make use of this to prevent | ||
1148 | * scanning the ARP table for every sent packet. While this is faster for big | ||
1149 | * ARP tables or many concurrent connections, it might be counterproductive | ||
1150 | * if you have a tiny ARP table or if there never are concurrent connections. | ||
1151 | */ | ||
1152 | #ifndef LWIP_NETIF_HWADDRHINT | ||
1153 | #define LWIP_NETIF_HWADDRHINT 0 | ||
1154 | #endif | ||
1155 | |||
1156 | /** | ||
1157 | * LWIP_NETIF_LOOPBACK==1: Support sending packets with a destination IP | ||
1158 | * address equal to the netif IP address, looping them back up the stack. | ||
1159 | */ | ||
1160 | #ifndef LWIP_NETIF_LOOPBACK | ||
1161 | #define LWIP_NETIF_LOOPBACK 0 | ||
1162 | #endif | ||
1163 | |||
1164 | /** | ||
1165 | * LWIP_LOOPBACK_MAX_PBUFS: Maximum number of pbufs on queue for loopback | ||
1166 | * sending for each netif (0 = disabled) | ||
1167 | */ | ||
1168 | #ifndef LWIP_LOOPBACK_MAX_PBUFS | ||
1169 | #define LWIP_LOOPBACK_MAX_PBUFS 0 | ||
1170 | #endif | ||
1171 | |||
1172 | /** | ||
1173 | * LWIP_NETIF_LOOPBACK_MULTITHREADING: Indicates whether threading is enabled in | ||
1174 | * the system, as netifs must change how they behave depending on this setting | ||
1175 | * for the LWIP_NETIF_LOOPBACK option to work. | ||
1176 | * Setting this is needed to avoid reentering non-reentrant functions like | ||
1177 | * tcp_input(). | ||
1178 | * LWIP_NETIF_LOOPBACK_MULTITHREADING==1: Indicates that the user is using a | ||
1179 | * multithreaded environment like tcpip.c. In this case, netif->input() | ||
1180 | * is called directly. | ||
1181 | * LWIP_NETIF_LOOPBACK_MULTITHREADING==0: Indicates a polling (or NO_SYS) setup. | ||
1182 | * The packets are put on a list and netif_poll() must be called in | ||
1183 | * the main application loop. | ||
1184 | */ | ||
1185 | #ifndef LWIP_NETIF_LOOPBACK_MULTITHREADING | ||
1186 | #define LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS) | ||
1187 | #endif | ||
1188 | |||
1189 | /** | ||
1190 | * LWIP_NETIF_TX_SINGLE_PBUF: if this is set to 1, lwIP tries to put all data | ||
1191 | * to be sent into one single pbuf. This is for compatibility with DMA-enabled | ||
1192 | * MACs that do not support scatter-gather. | ||
1193 | * Beware that this might involve CPU-memcpy before transmitting that would not | ||
1194 | * be needed without this flag! Use this only if you need to! | ||
1195 | * | ||
1196 | * @todo: TCP and IP-frag do not work with this, yet: | ||
1197 | */ | ||
1198 | #ifndef LWIP_NETIF_TX_SINGLE_PBUF | ||
1199 | #define LWIP_NETIF_TX_SINGLE_PBUF 0 | ||
1200 | #endif /* LWIP_NETIF_TX_SINGLE_PBUF */ | ||
1201 | |||
1202 | /* | ||
1203 | ------------------------------------ | ||
1204 | ---------- LOOPIF options ---------- | ||
1205 | ------------------------------------ | ||
1206 | */ | ||
1207 | /** | ||
1208 | * LWIP_HAVE_LOOPIF==1: Support loop interface (127.0.0.1) and loopif.c | ||
1209 | */ | ||
1210 | #ifndef LWIP_HAVE_LOOPIF | ||
1211 | #define LWIP_HAVE_LOOPIF 0 | ||
1212 | #endif | ||
1213 | |||
1214 | /* | ||
1215 | ------------------------------------ | ||
1216 | ---------- SLIPIF options ---------- | ||
1217 | ------------------------------------ | ||
1218 | */ | ||
1219 | /** | ||
1220 | * LWIP_HAVE_SLIPIF==1: Support slip interface and slipif.c | ||
1221 | */ | ||
1222 | #ifndef LWIP_HAVE_SLIPIF | ||
1223 | #define LWIP_HAVE_SLIPIF 0 | ||
1224 | #endif | ||
1225 | |||
1226 | /* | ||
1227 | ------------------------------------ | ||
1228 | ---------- Thread options ---------- | ||
1229 | ------------------------------------ | ||
1230 | */ | ||
1231 | /** | ||
1232 | * TCPIP_THREAD_NAME: The name assigned to the main tcpip thread. | ||
1233 | */ | ||
1234 | #ifndef TCPIP_THREAD_NAME | ||
1235 | #define TCPIP_THREAD_NAME "tcpip_thread" | ||
1236 | #endif | ||
1237 | |||
1238 | /** | ||
1239 | * TCPIP_THREAD_STACKSIZE: The stack size used by the main tcpip thread. | ||
1240 | * The stack size value itself is platform-dependent, but is passed to | ||
1241 | * sys_thread_new() when the thread is created. | ||
1242 | */ | ||
1243 | #ifndef TCPIP_THREAD_STACKSIZE | ||
1244 | #define TCPIP_THREAD_STACKSIZE 1024 | ||
1245 | #endif | ||
1246 | |||
1247 | /** | ||
1248 | * TCPIP_THREAD_PRIO: The priority assigned to the main tcpip thread. | ||
1249 | * The priority value itself is platform-dependent, but is passed to | ||
1250 | * sys_thread_new() when the thread is created. | ||
1251 | */ | ||
1252 | #ifndef TCPIP_THREAD_PRIO | ||
1253 | #define TCPIP_THREAD_PRIO (LOWPRIO + 1) | ||
1254 | #endif | ||
1255 | |||
1256 | /** | ||
1257 | * TCPIP_MBOX_SIZE: The mailbox size for the tcpip thread messages | ||
1258 | * The queue size value itself is platform-dependent, but is passed to | ||
1259 | * sys_mbox_new() when tcpip_init is called. | ||
1260 | */ | ||
1261 | #ifndef TCPIP_MBOX_SIZE | ||
1262 | #define TCPIP_MBOX_SIZE MEMP_NUM_PBUF | ||
1263 | #endif | ||
1264 | |||
1265 | /** | ||
1266 | * SLIPIF_THREAD_NAME: The name assigned to the slipif_loop thread. | ||
1267 | */ | ||
1268 | #ifndef SLIPIF_THREAD_NAME | ||
1269 | #define SLIPIF_THREAD_NAME "slipif_loop" | ||
1270 | #endif | ||
1271 | |||
1272 | /** | ||
1273 | * SLIP_THREAD_STACKSIZE: The stack size used by the slipif_loop thread. | ||
1274 | * The stack size value itself is platform-dependent, but is passed to | ||
1275 | * sys_thread_new() when the thread is created. | ||
1276 | */ | ||
1277 | #ifndef SLIPIF_THREAD_STACKSIZE | ||
1278 | #define SLIPIF_THREAD_STACKSIZE 1024 | ||
1279 | #endif | ||
1280 | |||
1281 | /** | ||
1282 | * SLIPIF_THREAD_PRIO: The priority assigned to the slipif_loop thread. | ||
1283 | * The priority value itself is platform-dependent, but is passed to | ||
1284 | * sys_thread_new() when the thread is created. | ||
1285 | */ | ||
1286 | #ifndef SLIPIF_THREAD_PRIO | ||
1287 | #define SLIPIF_THREAD_PRIO (LOWPRIO + 1) | ||
1288 | #endif | ||
1289 | |||
1290 | /** | ||
1291 | * PPP_THREAD_NAME: The name assigned to the pppInputThread. | ||
1292 | */ | ||
1293 | #ifndef PPP_THREAD_NAME | ||
1294 | #define PPP_THREAD_NAME "pppInputThread" | ||
1295 | #endif | ||
1296 | |||
1297 | /** | ||
1298 | * PPP_THREAD_STACKSIZE: The stack size used by the pppInputThread. | ||
1299 | * The stack size value itself is platform-dependent, but is passed to | ||
1300 | * sys_thread_new() when the thread is created. | ||
1301 | */ | ||
1302 | #ifndef PPP_THREAD_STACKSIZE | ||
1303 | #define PPP_THREAD_STACKSIZE 1024 | ||
1304 | #endif | ||
1305 | |||
1306 | /** | ||
1307 | * PPP_THREAD_PRIO: The priority assigned to the pppInputThread. | ||
1308 | * The priority value itself is platform-dependent, but is passed to | ||
1309 | * sys_thread_new() when the thread is created. | ||
1310 | */ | ||
1311 | #ifndef PPP_THREAD_PRIO | ||
1312 | #define PPP_THREAD_PRIO (LOWPRIO + 1) | ||
1313 | #endif | ||
1314 | |||
1315 | /** | ||
1316 | * DEFAULT_THREAD_NAME: The name assigned to any other lwIP thread. | ||
1317 | */ | ||
1318 | #ifndef DEFAULT_THREAD_NAME | ||
1319 | #define DEFAULT_THREAD_NAME "lwIP" | ||
1320 | #endif | ||
1321 | |||
1322 | /** | ||
1323 | * DEFAULT_THREAD_STACKSIZE: The stack size used by any other lwIP thread. | ||
1324 | * The stack size value itself is platform-dependent, but is passed to | ||
1325 | * sys_thread_new() when the thread is created. | ||
1326 | */ | ||
1327 | #ifndef DEFAULT_THREAD_STACKSIZE | ||
1328 | #define DEFAULT_THREAD_STACKSIZE 1024 | ||
1329 | #endif | ||
1330 | |||
1331 | /** | ||
1332 | * DEFAULT_THREAD_PRIO: The priority assigned to any other lwIP thread. | ||
1333 | * The priority value itself is platform-dependent, but is passed to | ||
1334 | * sys_thread_new() when the thread is created. | ||
1335 | */ | ||
1336 | #ifndef DEFAULT_THREAD_PRIO | ||
1337 | #define DEFAULT_THREAD_PRIO (LOWPRIO + 1) | ||
1338 | #endif | ||
1339 | |||
1340 | /** | ||
1341 | * DEFAULT_RAW_RECVMBOX_SIZE: The mailbox size for the incoming packets on a | ||
1342 | * NETCONN_RAW. The queue size value itself is platform-dependent, but is passed | ||
1343 | * to sys_mbox_new() when the recvmbox is created. | ||
1344 | */ | ||
1345 | #ifndef DEFAULT_RAW_RECVMBOX_SIZE | ||
1346 | #define DEFAULT_RAW_RECVMBOX_SIZE 4 | ||
1347 | #endif | ||
1348 | |||
1349 | /** | ||
1350 | * DEFAULT_UDP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a | ||
1351 | * NETCONN_UDP. The queue size value itself is platform-dependent, but is passed | ||
1352 | * to sys_mbox_new() when the recvmbox is created. | ||
1353 | */ | ||
1354 | #ifndef DEFAULT_UDP_RECVMBOX_SIZE | ||
1355 | #define DEFAULT_UDP_RECVMBOX_SIZE 4 | ||
1356 | #endif | ||
1357 | |||
1358 | /** | ||
1359 | * DEFAULT_TCP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a | ||
1360 | * NETCONN_TCP. The queue size value itself is platform-dependent, but is passed | ||
1361 | * to sys_mbox_new() when the recvmbox is created. | ||
1362 | */ | ||
1363 | #ifndef DEFAULT_TCP_RECVMBOX_SIZE | ||
1364 | #define DEFAULT_TCP_RECVMBOX_SIZE 40 | ||
1365 | #endif | ||
1366 | |||
1367 | /** | ||
1368 | * DEFAULT_ACCEPTMBOX_SIZE: The mailbox size for the incoming connections. | ||
1369 | * The queue size value itself is platform-dependent, but is passed to | ||
1370 | * sys_mbox_new() when the acceptmbox is created. | ||
1371 | */ | ||
1372 | #ifndef DEFAULT_ACCEPTMBOX_SIZE | ||
1373 | #define DEFAULT_ACCEPTMBOX_SIZE 4 | ||
1374 | #endif | ||
1375 | |||
1376 | /* | ||
1377 | ---------------------------------------------- | ||
1378 | ---------- Sequential layer options ---------- | ||
1379 | ---------------------------------------------- | ||
1380 | */ | ||
1381 | /** | ||
1382 | * LWIP_TCPIP_CORE_LOCKING: (EXPERIMENTAL!) | ||
1383 | * Don't use it if you're not an active lwIP project member | ||
1384 | */ | ||
1385 | #ifndef LWIP_TCPIP_CORE_LOCKING | ||
1386 | #define LWIP_TCPIP_CORE_LOCKING 0 | ||
1387 | #endif | ||
1388 | |||
1389 | /** | ||
1390 | * LWIP_TCPIP_CORE_LOCKING_INPUT: (EXPERIMENTAL!) | ||
1391 | * Don't use it if you're not an active lwIP project member | ||
1392 | */ | ||
1393 | #ifndef LWIP_TCPIP_CORE_LOCKING_INPUT | ||
1394 | #define LWIP_TCPIP_CORE_LOCKING_INPUT 0 | ||
1395 | #endif | ||
1396 | |||
1397 | /** | ||
1398 | * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c) | ||
1399 | */ | ||
1400 | #ifndef LWIP_NETCONN | ||
1401 | #define LWIP_NETCONN 1 | ||
1402 | #endif | ||
1403 | |||
1404 | /** LWIP_TCPIP_TIMEOUT==1: Enable tcpip_timeout/tcpip_untimeout tod create | ||
1405 | * timers running in tcpip_thread from another thread. | ||
1406 | */ | ||
1407 | #ifndef LWIP_TCPIP_TIMEOUT | ||
1408 | #define LWIP_TCPIP_TIMEOUT 1 | ||
1409 | #endif | ||
1410 | |||
1411 | /* | ||
1412 | ------------------------------------ | ||
1413 | ---------- Socket options ---------- | ||
1414 | ------------------------------------ | ||
1415 | */ | ||
1416 | /** | ||
1417 | * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c) | ||
1418 | */ | ||
1419 | #ifndef LWIP_SOCKET | ||
1420 | #define LWIP_SOCKET 1 | ||
1421 | #endif | ||
1422 | |||
1423 | /** | ||
1424 | * LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names. | ||
1425 | * (only used if you use sockets.c) | ||
1426 | */ | ||
1427 | #ifndef LWIP_COMPAT_SOCKETS | ||
1428 | #define LWIP_COMPAT_SOCKETS 1 | ||
1429 | #endif | ||
1430 | |||
1431 | /** | ||
1432 | * LWIP_POSIX_SOCKETS_IO_NAMES==1: Enable POSIX-style sockets functions names. | ||
1433 | * Disable this option if you use a POSIX operating system that uses the same | ||
1434 | * names (read, write & close). (only used if you use sockets.c) | ||
1435 | */ | ||
1436 | #ifndef LWIP_POSIX_SOCKETS_IO_NAMES | ||
1437 | #define LWIP_POSIX_SOCKETS_IO_NAMES 1 | ||
1438 | #endif | ||
1439 | |||
1440 | /** | ||
1441 | * LWIP_TCP_KEEPALIVE==1: Enable TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT | ||
1442 | * options processing. Note that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set | ||
1443 | * in seconds. (does not require sockets.c, and will affect tcp.c) | ||
1444 | */ | ||
1445 | #ifndef LWIP_TCP_KEEPALIVE | ||
1446 | #define LWIP_TCP_KEEPALIVE 0 | ||
1447 | #endif | ||
1448 | |||
1449 | /** | ||
1450 | * LWIP_SO_SNDTIMEO==1: Enable send timeout for sockets/netconns and | ||
1451 | * SO_SNDTIMEO processing. | ||
1452 | */ | ||
1453 | #ifndef LWIP_SO_SNDTIMEO | ||
1454 | #define LWIP_SO_SNDTIMEO 0 | ||
1455 | #endif | ||
1456 | |||
1457 | /** | ||
1458 | * LWIP_SO_RCVTIMEO==1: Enable receive timeout for sockets/netconns and | ||
1459 | * SO_RCVTIMEO processing. | ||
1460 | */ | ||
1461 | #ifndef LWIP_SO_RCVTIMEO | ||
1462 | #define LWIP_SO_RCVTIMEO 0 | ||
1463 | #endif | ||
1464 | |||
1465 | /** | ||
1466 | * LWIP_SO_RCVBUF==1: Enable SO_RCVBUF processing. | ||
1467 | */ | ||
1468 | #ifndef LWIP_SO_RCVBUF | ||
1469 | #define LWIP_SO_RCVBUF 0 | ||
1470 | #endif | ||
1471 | |||
1472 | /** | ||
1473 | * If LWIP_SO_RCVBUF is used, this is the default value for recv_bufsize. | ||
1474 | */ | ||
1475 | #ifndef RECV_BUFSIZE_DEFAULT | ||
1476 | #define RECV_BUFSIZE_DEFAULT INT_MAX | ||
1477 | #endif | ||
1478 | |||
1479 | /** | ||
1480 | * SO_REUSE==1: Enable SO_REUSEADDR option. | ||
1481 | */ | ||
1482 | #ifndef SO_REUSE | ||
1483 | #define SO_REUSE 0 | ||
1484 | #endif | ||
1485 | |||
1486 | /** | ||
1487 | * SO_REUSE_RXTOALL==1: Pass a copy of incoming broadcast/multicast packets | ||
1488 | * to all local matches if SO_REUSEADDR is turned on. | ||
1489 | * WARNING: Adds a memcpy for every packet if passing to more than one pcb! | ||
1490 | */ | ||
1491 | #ifndef SO_REUSE_RXTOALL | ||
1492 | #define SO_REUSE_RXTOALL 0 | ||
1493 | #endif | ||
1494 | |||
1495 | /* | ||
1496 | ---------------------------------------- | ||
1497 | ---------- Statistics options ---------- | ||
1498 | ---------------------------------------- | ||
1499 | */ | ||
1500 | /** | ||
1501 | * LWIP_STATS==1: Enable statistics collection in lwip_stats. | ||
1502 | */ | ||
1503 | #ifndef LWIP_STATS | ||
1504 | #define LWIP_STATS 1 | ||
1505 | #endif | ||
1506 | |||
1507 | #if LWIP_STATS | ||
1508 | |||
1509 | /** | ||
1510 | * LWIP_STATS_DISPLAY==1: Compile in the statistics output functions. | ||
1511 | */ | ||
1512 | #ifndef LWIP_STATS_DISPLAY | ||
1513 | #define LWIP_STATS_DISPLAY 0 | ||
1514 | #endif | ||
1515 | |||
1516 | /** | ||
1517 | * LINK_STATS==1: Enable link stats. | ||
1518 | */ | ||
1519 | #ifndef LINK_STATS | ||
1520 | #define LINK_STATS 1 | ||
1521 | #endif | ||
1522 | |||
1523 | /** | ||
1524 | * ETHARP_STATS==1: Enable etharp stats. | ||
1525 | */ | ||
1526 | #ifndef ETHARP_STATS | ||
1527 | #define ETHARP_STATS (LWIP_ARP) | ||
1528 | #endif | ||
1529 | |||
1530 | /** | ||
1531 | * IP_STATS==1: Enable IP stats. | ||
1532 | */ | ||
1533 | #ifndef IP_STATS | ||
1534 | #define IP_STATS 1 | ||
1535 | #endif | ||
1536 | |||
1537 | /** | ||
1538 | * IPFRAG_STATS==1: Enable IP fragmentation stats. Default is | ||
1539 | * on if using either frag or reass. | ||
1540 | */ | ||
1541 | #ifndef IPFRAG_STATS | ||
1542 | #define IPFRAG_STATS (IP_REASSEMBLY || IP_FRAG) | ||
1543 | #endif | ||
1544 | |||
1545 | /** | ||
1546 | * ICMP_STATS==1: Enable ICMP stats. | ||
1547 | */ | ||
1548 | #ifndef ICMP_STATS | ||
1549 | #define ICMP_STATS 1 | ||
1550 | #endif | ||
1551 | |||
1552 | /** | ||
1553 | * IGMP_STATS==1: Enable IGMP stats. | ||
1554 | */ | ||
1555 | #ifndef IGMP_STATS | ||
1556 | #define IGMP_STATS (LWIP_IGMP) | ||
1557 | #endif | ||
1558 | |||
1559 | /** | ||
1560 | * UDP_STATS==1: Enable UDP stats. Default is on if | ||
1561 | * UDP enabled, otherwise off. | ||
1562 | */ | ||
1563 | #ifndef UDP_STATS | ||
1564 | #define UDP_STATS (LWIP_UDP) | ||
1565 | #endif | ||
1566 | |||
1567 | /** | ||
1568 | * TCP_STATS==1: Enable TCP stats. Default is on if TCP | ||
1569 | * enabled, otherwise off. | ||
1570 | */ | ||
1571 | #ifndef TCP_STATS | ||
1572 | #define TCP_STATS (LWIP_TCP) | ||
1573 | #endif | ||
1574 | |||
1575 | /** | ||
1576 | * MEM_STATS==1: Enable mem.c stats. | ||
1577 | */ | ||
1578 | #ifndef MEM_STATS | ||
1579 | #define MEM_STATS ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0)) | ||
1580 | #endif | ||
1581 | |||
1582 | /** | ||
1583 | * MEMP_STATS==1: Enable memp.c pool stats. | ||
1584 | */ | ||
1585 | #ifndef MEMP_STATS | ||
1586 | #define MEMP_STATS (MEMP_MEM_MALLOC == 0) | ||
1587 | #endif | ||
1588 | |||
1589 | /** | ||
1590 | * SYS_STATS==1: Enable system stats (sem and mbox counts, etc). | ||
1591 | */ | ||
1592 | #ifndef SYS_STATS | ||
1593 | #define SYS_STATS (NO_SYS == 0) | ||
1594 | #endif | ||
1595 | |||
1596 | #else | ||
1597 | |||
1598 | #define LINK_STATS 0 | ||
1599 | #define IP_STATS 0 | ||
1600 | #define IPFRAG_STATS 0 | ||
1601 | #define ICMP_STATS 0 | ||
1602 | #define IGMP_STATS 0 | ||
1603 | #define UDP_STATS 0 | ||
1604 | #define TCP_STATS 0 | ||
1605 | #define MEM_STATS 0 | ||
1606 | #define MEMP_STATS 0 | ||
1607 | #define SYS_STATS 0 | ||
1608 | #define LWIP_STATS_DISPLAY 0 | ||
1609 | |||
1610 | #endif /* LWIP_STATS */ | ||
1611 | |||
1612 | /* | ||
1613 | --------------------------------- | ||
1614 | ---------- PPP options ---------- | ||
1615 | --------------------------------- | ||
1616 | */ | ||
1617 | /** | ||
1618 | * PPP_SUPPORT==1: Enable PPP. | ||
1619 | */ | ||
1620 | #ifndef PPP_SUPPORT | ||
1621 | #define PPP_SUPPORT 0 | ||
1622 | #endif | ||
1623 | |||
1624 | /** | ||
1625 | * PPPOE_SUPPORT==1: Enable PPP Over Ethernet | ||
1626 | */ | ||
1627 | #ifndef PPPOE_SUPPORT | ||
1628 | #define PPPOE_SUPPORT 0 | ||
1629 | #endif | ||
1630 | |||
1631 | /** | ||
1632 | * PPPOS_SUPPORT==1: Enable PPP Over Serial | ||
1633 | */ | ||
1634 | #ifndef PPPOS_SUPPORT | ||
1635 | #define PPPOS_SUPPORT PPP_SUPPORT | ||
1636 | #endif | ||
1637 | |||
1638 | #if PPP_SUPPORT | ||
1639 | |||
1640 | /** | ||
1641 | * NUM_PPP: Max PPP sessions. | ||
1642 | */ | ||
1643 | #ifndef NUM_PPP | ||
1644 | #define NUM_PPP 1 | ||
1645 | #endif | ||
1646 | |||
1647 | /** | ||
1648 | * PAP_SUPPORT==1: Support PAP. | ||
1649 | */ | ||
1650 | #ifndef PAP_SUPPORT | ||
1651 | #define PAP_SUPPORT 0 | ||
1652 | #endif | ||
1653 | |||
1654 | /** | ||
1655 | * CHAP_SUPPORT==1: Support CHAP. | ||
1656 | */ | ||
1657 | #ifndef CHAP_SUPPORT | ||
1658 | #define CHAP_SUPPORT 0 | ||
1659 | #endif | ||
1660 | |||
1661 | /** | ||
1662 | * MSCHAP_SUPPORT==1: Support MSCHAP. CURRENTLY NOT SUPPORTED! DO NOT SET! | ||
1663 | */ | ||
1664 | #ifndef MSCHAP_SUPPORT | ||
1665 | #define MSCHAP_SUPPORT 0 | ||
1666 | #endif | ||
1667 | |||
1668 | /** | ||
1669 | * CBCP_SUPPORT==1: Support CBCP. CURRENTLY NOT SUPPORTED! DO NOT SET! | ||
1670 | */ | ||
1671 | #ifndef CBCP_SUPPORT | ||
1672 | #define CBCP_SUPPORT 0 | ||
1673 | #endif | ||
1674 | |||
1675 | /** | ||
1676 | * CCP_SUPPORT==1: Support CCP. CURRENTLY NOT SUPPORTED! DO NOT SET! | ||
1677 | */ | ||
1678 | #ifndef CCP_SUPPORT | ||
1679 | #define CCP_SUPPORT 0 | ||
1680 | #endif | ||
1681 | |||
1682 | /** | ||
1683 | * VJ_SUPPORT==1: Support VJ header compression. | ||
1684 | */ | ||
1685 | #ifndef VJ_SUPPORT | ||
1686 | #define VJ_SUPPORT 0 | ||
1687 | #endif | ||
1688 | |||
1689 | /** | ||
1690 | * MD5_SUPPORT==1: Support MD5 (see also CHAP). | ||
1691 | */ | ||
1692 | #ifndef MD5_SUPPORT | ||
1693 | #define MD5_SUPPORT 0 | ||
1694 | #endif | ||
1695 | |||
1696 | /* | ||
1697 | * Timeouts | ||
1698 | */ | ||
1699 | #ifndef FSM_DEFTIMEOUT | ||
1700 | #define FSM_DEFTIMEOUT 6 /* Timeout time in seconds */ | ||
1701 | #endif | ||
1702 | |||
1703 | #ifndef FSM_DEFMAXTERMREQS | ||
1704 | #define FSM_DEFMAXTERMREQS 2 /* Maximum Terminate-Request transmissions */ | ||
1705 | #endif | ||
1706 | |||
1707 | #ifndef FSM_DEFMAXCONFREQS | ||
1708 | #define FSM_DEFMAXCONFREQS 10 /* Maximum Configure-Request transmissions */ | ||
1709 | #endif | ||
1710 | |||
1711 | #ifndef FSM_DEFMAXNAKLOOPS | ||
1712 | #define FSM_DEFMAXNAKLOOPS 5 /* Maximum number of nak loops */ | ||
1713 | #endif | ||
1714 | |||
1715 | #ifndef UPAP_DEFTIMEOUT | ||
1716 | #define UPAP_DEFTIMEOUT 6 /* Timeout (seconds) for retransmitting req */ | ||
1717 | #endif | ||
1718 | |||
1719 | #ifndef UPAP_DEFREQTIME | ||
1720 | #define UPAP_DEFREQTIME 30 /* Time to wait for auth-req from peer */ | ||
1721 | #endif | ||
1722 | |||
1723 | #ifndef CHAP_DEFTIMEOUT | ||
1724 | #define CHAP_DEFTIMEOUT 6 /* Timeout time in seconds */ | ||
1725 | #endif | ||
1726 | |||
1727 | #ifndef CHAP_DEFTRANSMITS | ||
1728 | #define CHAP_DEFTRANSMITS 10 /* max # times to send challenge */ | ||
1729 | #endif | ||
1730 | |||
1731 | /* Interval in seconds between keepalive echo requests, 0 to disable. */ | ||
1732 | #ifndef LCP_ECHOINTERVAL | ||
1733 | #define LCP_ECHOINTERVAL 0 | ||
1734 | #endif | ||
1735 | |||
1736 | /* Number of unanswered echo requests before failure. */ | ||
1737 | #ifndef LCP_MAXECHOFAILS | ||
1738 | #define LCP_MAXECHOFAILS 3 | ||
1739 | #endif | ||
1740 | |||
1741 | /* Max Xmit idle time (in jiffies) before resend flag char. */ | ||
1742 | #ifndef PPP_MAXIDLEFLAG | ||
1743 | #define PPP_MAXIDLEFLAG 100 | ||
1744 | #endif | ||
1745 | |||
1746 | /* | ||
1747 | * Packet sizes | ||
1748 | * | ||
1749 | * Note - lcp shouldn't be allowed to negotiate stuff outside these | ||
1750 | * limits. See lcp.h in the pppd directory. | ||
1751 | * (XXX - these constants should simply be shared by lcp.c instead | ||
1752 | * of living in lcp.h) | ||
1753 | */ | ||
1754 | #define PPP_MTU 1500 /* Default MTU (size of Info field) */ | ||
1755 | #ifndef PPP_MAXMTU | ||
1756 | /* #define PPP_MAXMTU 65535 - (PPP_HDRLEN + PPP_FCSLEN) */ | ||
1757 | #define PPP_MAXMTU 1500 /* Largest MTU we allow */ | ||
1758 | #endif | ||
1759 | #define PPP_MINMTU 64 | ||
1760 | #define PPP_MRU 1500 /* default MRU = max length of info field */ | ||
1761 | #define PPP_MAXMRU 1500 /* Largest MRU we allow */ | ||
1762 | #ifndef PPP_DEFMRU | ||
1763 | #define PPP_DEFMRU 296 /* Try for this */ | ||
1764 | #endif | ||
1765 | #define PPP_MINMRU 128 /* No MRUs below this */ | ||
1766 | |||
1767 | #ifndef MAXNAMELEN | ||
1768 | #define MAXNAMELEN 256 /* max length of hostname or name for auth */ | ||
1769 | #endif | ||
1770 | #ifndef MAXSECRETLEN | ||
1771 | #define MAXSECRETLEN 256 /* max length of password or secret */ | ||
1772 | #endif | ||
1773 | |||
1774 | #endif /* PPP_SUPPORT */ | ||
1775 | |||
1776 | /* | ||
1777 | -------------------------------------- | ||
1778 | ---------- Checksum options ---------- | ||
1779 | -------------------------------------- | ||
1780 | */ | ||
1781 | /** | ||
1782 | * CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets. | ||
1783 | */ | ||
1784 | #ifndef CHECKSUM_GEN_IP | ||
1785 | #define CHECKSUM_GEN_IP 1 | ||
1786 | #endif | ||
1787 | |||
1788 | /** | ||
1789 | * CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets. | ||
1790 | */ | ||
1791 | #ifndef CHECKSUM_GEN_UDP | ||
1792 | #define CHECKSUM_GEN_UDP 1 | ||
1793 | #endif | ||
1794 | |||
1795 | /** | ||
1796 | * CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets. | ||
1797 | */ | ||
1798 | #ifndef CHECKSUM_GEN_TCP | ||
1799 | #define CHECKSUM_GEN_TCP 1 | ||
1800 | #endif | ||
1801 | |||
1802 | /** | ||
1803 | * CHECKSUM_GEN_ICMP==1: Generate checksums in software for outgoing ICMP packets. | ||
1804 | */ | ||
1805 | #ifndef CHECKSUM_GEN_ICMP | ||
1806 | #define CHECKSUM_GEN_ICMP 1 | ||
1807 | #endif | ||
1808 | |||
1809 | /** | ||
1810 | * CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets. | ||
1811 | */ | ||
1812 | #ifndef CHECKSUM_CHECK_IP | ||
1813 | #define CHECKSUM_CHECK_IP 1 | ||
1814 | #endif | ||
1815 | |||
1816 | /** | ||
1817 | * CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets. | ||
1818 | */ | ||
1819 | #ifndef CHECKSUM_CHECK_UDP | ||
1820 | #define CHECKSUM_CHECK_UDP 1 | ||
1821 | #endif | ||
1822 | |||
1823 | /** | ||
1824 | * CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets. | ||
1825 | */ | ||
1826 | #ifndef CHECKSUM_CHECK_TCP | ||
1827 | #define CHECKSUM_CHECK_TCP 1 | ||
1828 | #endif | ||
1829 | |||
1830 | /** | ||
1831 | * LWIP_CHECKSUM_ON_COPY==1: Calculate checksum when copying data from | ||
1832 | * application buffers to pbufs. | ||
1833 | */ | ||
1834 | #ifndef LWIP_CHECKSUM_ON_COPY | ||
1835 | #define LWIP_CHECKSUM_ON_COPY 0 | ||
1836 | #endif | ||
1837 | |||
1838 | /* | ||
1839 | --------------------------------------- | ||
1840 | ---------- Hook options --------------- | ||
1841 | --------------------------------------- | ||
1842 | */ | ||
1843 | |||
1844 | /* Hooks are undefined by default, define them to a function if you need them. */ | ||
1845 | |||
1846 | /** | ||
1847 | * LWIP_HOOK_IP4_INPUT(pbuf, input_netif): | ||
1848 | * - called from ip_input() (IPv4) | ||
1849 | * - pbuf: received struct pbuf passed to ip_input() | ||
1850 | * - input_netif: struct netif on which the packet has been received | ||
1851 | * Return values: | ||
1852 | * - 0: Hook has not consumed the packet, packet is processed as normal | ||
1853 | * - != 0: Hook has consumed the packet. | ||
1854 | * If the hook consumed the packet, 'pbuf' is in the responsibility of the hook | ||
1855 | * (i.e. free it when done). | ||
1856 | */ | ||
1857 | |||
1858 | /** | ||
1859 | * LWIP_HOOK_IP4_ROUTE(dest): | ||
1860 | * - called from ip_route() (IPv4) | ||
1861 | * - dest: destination IPv4 address | ||
1862 | * Returns the destination netif or NULL if no destination netif is found. In | ||
1863 | * that case, ip_route() continues as normal. | ||
1864 | */ | ||
1865 | |||
1866 | /* | ||
1867 | --------------------------------------- | ||
1868 | ---------- Debugging options ---------- | ||
1869 | --------------------------------------- | ||
1870 | */ | ||
1871 | /** | ||
1872 | * LWIP_DBG_MIN_LEVEL: After masking, the value of the debug is | ||
1873 | * compared against this value. If it is smaller, then debugging | ||
1874 | * messages are written. | ||
1875 | */ | ||
1876 | #ifndef LWIP_DBG_MIN_LEVEL | ||
1877 | #define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL | ||
1878 | #endif | ||
1879 | |||
1880 | /** | ||
1881 | * LWIP_DBG_TYPES_ON: A mask that can be used to globally enable/disable | ||
1882 | * debug messages of certain types. | ||
1883 | */ | ||
1884 | #ifndef LWIP_DBG_TYPES_ON | ||
1885 | #define LWIP_DBG_TYPES_ON LWIP_DBG_ON | ||
1886 | #endif | ||
1887 | |||
1888 | /** | ||
1889 | * ETHARP_DEBUG: Enable debugging in etharp.c. | ||
1890 | */ | ||
1891 | #ifndef ETHARP_DEBUG | ||
1892 | #define ETHARP_DEBUG LWIP_DBG_OFF | ||
1893 | #endif | ||
1894 | |||
1895 | /** | ||
1896 | * NETIF_DEBUG: Enable debugging in netif.c. | ||
1897 | */ | ||
1898 | #ifndef NETIF_DEBUG | ||
1899 | #define NETIF_DEBUG LWIP_DBG_OFF | ||
1900 | #endif | ||
1901 | |||
1902 | /** | ||
1903 | * PBUF_DEBUG: Enable debugging in pbuf.c. | ||
1904 | */ | ||
1905 | #ifndef PBUF_DEBUG | ||
1906 | #define PBUF_DEBUG LWIP_DBG_OFF | ||
1907 | #endif | ||
1908 | |||
1909 | /** | ||
1910 | * API_LIB_DEBUG: Enable debugging in api_lib.c. | ||
1911 | */ | ||
1912 | #ifndef API_LIB_DEBUG | ||
1913 | #define API_LIB_DEBUG LWIP_DBG_OFF | ||
1914 | #endif | ||
1915 | |||
1916 | /** | ||
1917 | * API_MSG_DEBUG: Enable debugging in api_msg.c. | ||
1918 | */ | ||
1919 | #ifndef API_MSG_DEBUG | ||
1920 | #define API_MSG_DEBUG LWIP_DBG_OFF | ||
1921 | #endif | ||
1922 | |||
1923 | /** | ||
1924 | * SOCKETS_DEBUG: Enable debugging in sockets.c. | ||
1925 | */ | ||
1926 | #ifndef SOCKETS_DEBUG | ||
1927 | #define SOCKETS_DEBUG LWIP_DBG_OFF | ||
1928 | #endif | ||
1929 | |||
1930 | /** | ||
1931 | * ICMP_DEBUG: Enable debugging in icmp.c. | ||
1932 | */ | ||
1933 | #ifndef ICMP_DEBUG | ||
1934 | #define ICMP_DEBUG LWIP_DBG_OFF | ||
1935 | #endif | ||
1936 | |||
1937 | /** | ||
1938 | * IGMP_DEBUG: Enable debugging in igmp.c. | ||
1939 | */ | ||
1940 | #ifndef IGMP_DEBUG | ||
1941 | #define IGMP_DEBUG LWIP_DBG_OFF | ||
1942 | #endif | ||
1943 | |||
1944 | /** | ||
1945 | * INET_DEBUG: Enable debugging in inet.c. | ||
1946 | */ | ||
1947 | #ifndef INET_DEBUG | ||
1948 | #define INET_DEBUG LWIP_DBG_OFF | ||
1949 | #endif | ||
1950 | |||
1951 | /** | ||
1952 | * IP_DEBUG: Enable debugging for IP. | ||
1953 | */ | ||
1954 | #ifndef IP_DEBUG | ||
1955 | #define IP_DEBUG LWIP_DBG_OFF | ||
1956 | #endif | ||
1957 | |||
1958 | /** | ||
1959 | * IP_REASS_DEBUG: Enable debugging in ip_frag.c for both frag & reass. | ||
1960 | */ | ||
1961 | #ifndef IP_REASS_DEBUG | ||
1962 | #define IP_REASS_DEBUG LWIP_DBG_OFF | ||
1963 | #endif | ||
1964 | |||
1965 | /** | ||
1966 | * RAW_DEBUG: Enable debugging in raw.c. | ||
1967 | */ | ||
1968 | #ifndef RAW_DEBUG | ||
1969 | #define RAW_DEBUG LWIP_DBG_OFF | ||
1970 | #endif | ||
1971 | |||
1972 | /** | ||
1973 | * MEM_DEBUG: Enable debugging in mem.c. | ||
1974 | */ | ||
1975 | #ifndef MEM_DEBUG | ||
1976 | #define MEM_DEBUG LWIP_DBG_OFF | ||
1977 | #endif | ||
1978 | |||
1979 | /** | ||
1980 | * MEMP_DEBUG: Enable debugging in memp.c. | ||
1981 | */ | ||
1982 | #ifndef MEMP_DEBUG | ||
1983 | #define MEMP_DEBUG LWIP_DBG_OFF | ||
1984 | #endif | ||
1985 | |||
1986 | /** | ||
1987 | * SYS_DEBUG: Enable debugging in sys.c. | ||
1988 | */ | ||
1989 | #ifndef SYS_DEBUG | ||
1990 | #define SYS_DEBUG LWIP_DBG_OFF | ||
1991 | #endif | ||
1992 | |||
1993 | /** | ||
1994 | * TIMERS_DEBUG: Enable debugging in timers.c. | ||
1995 | */ | ||
1996 | #ifndef TIMERS_DEBUG | ||
1997 | #define TIMERS_DEBUG LWIP_DBG_OFF | ||
1998 | #endif | ||
1999 | |||
2000 | /** | ||
2001 | * TCP_DEBUG: Enable debugging for TCP. | ||
2002 | */ | ||
2003 | #ifndef TCP_DEBUG | ||
2004 | #define TCP_DEBUG LWIP_DBG_OFF | ||
2005 | #endif | ||
2006 | |||
2007 | /** | ||
2008 | * TCP_INPUT_DEBUG: Enable debugging in tcp_in.c for incoming debug. | ||
2009 | */ | ||
2010 | #ifndef TCP_INPUT_DEBUG | ||
2011 | #define TCP_INPUT_DEBUG LWIP_DBG_OFF | ||
2012 | #endif | ||
2013 | |||
2014 | /** | ||
2015 | * TCP_FR_DEBUG: Enable debugging in tcp_in.c for fast retransmit. | ||
2016 | */ | ||
2017 | #ifndef TCP_FR_DEBUG | ||
2018 | #define TCP_FR_DEBUG LWIP_DBG_OFF | ||
2019 | #endif | ||
2020 | |||
2021 | /** | ||
2022 | * TCP_RTO_DEBUG: Enable debugging in TCP for retransmit | ||
2023 | * timeout. | ||
2024 | */ | ||
2025 | #ifndef TCP_RTO_DEBUG | ||
2026 | #define TCP_RTO_DEBUG LWIP_DBG_OFF | ||
2027 | #endif | ||
2028 | |||
2029 | /** | ||
2030 | * TCP_CWND_DEBUG: Enable debugging for TCP congestion window. | ||
2031 | */ | ||
2032 | #ifndef TCP_CWND_DEBUG | ||
2033 | #define TCP_CWND_DEBUG LWIP_DBG_OFF | ||
2034 | #endif | ||
2035 | |||
2036 | /** | ||
2037 | * TCP_WND_DEBUG: Enable debugging in tcp_in.c for window updating. | ||
2038 | */ | ||
2039 | #ifndef TCP_WND_DEBUG | ||
2040 | #define TCP_WND_DEBUG LWIP_DBG_OFF | ||
2041 | #endif | ||
2042 | |||
2043 | /** | ||
2044 | * TCP_OUTPUT_DEBUG: Enable debugging in tcp_out.c output functions. | ||
2045 | */ | ||
2046 | #ifndef TCP_OUTPUT_DEBUG | ||
2047 | #define TCP_OUTPUT_DEBUG LWIP_DBG_OFF | ||
2048 | #endif | ||
2049 | |||
2050 | /** | ||
2051 | * TCP_RST_DEBUG: Enable debugging for TCP with the RST message. | ||
2052 | */ | ||
2053 | #ifndef TCP_RST_DEBUG | ||
2054 | #define TCP_RST_DEBUG LWIP_DBG_OFF | ||
2055 | #endif | ||
2056 | |||
2057 | /** | ||
2058 | * TCP_QLEN_DEBUG: Enable debugging for TCP queue lengths. | ||
2059 | */ | ||
2060 | #ifndef TCP_QLEN_DEBUG | ||
2061 | #define TCP_QLEN_DEBUG LWIP_DBG_OFF | ||
2062 | #endif | ||
2063 | |||
2064 | /** | ||
2065 | * UDP_DEBUG: Enable debugging in UDP. | ||
2066 | */ | ||
2067 | #ifndef UDP_DEBUG | ||
2068 | #define UDP_DEBUG LWIP_DBG_OFF | ||
2069 | #endif | ||
2070 | |||
2071 | /** | ||
2072 | * TCPIP_DEBUG: Enable debugging in tcpip.c. | ||
2073 | */ | ||
2074 | #ifndef TCPIP_DEBUG | ||
2075 | #define TCPIP_DEBUG LWIP_DBG_OFF | ||
2076 | #endif | ||
2077 | |||
2078 | /** | ||
2079 | * PPP_DEBUG: Enable debugging for PPP. | ||
2080 | */ | ||
2081 | #ifndef PPP_DEBUG | ||
2082 | #define PPP_DEBUG LWIP_DBG_OFF | ||
2083 | #endif | ||
2084 | |||
2085 | /** | ||
2086 | * SLIP_DEBUG: Enable debugging in slipif.c. | ||
2087 | */ | ||
2088 | #ifndef SLIP_DEBUG | ||
2089 | #define SLIP_DEBUG LWIP_DBG_OFF | ||
2090 | #endif | ||
2091 | |||
2092 | /** | ||
2093 | * DHCP_DEBUG: Enable debugging in dhcp.c. | ||
2094 | */ | ||
2095 | #ifndef DHCP_DEBUG | ||
2096 | #define DHCP_DEBUG LWIP_DBG_OFF | ||
2097 | #endif | ||
2098 | |||
2099 | /** | ||
2100 | * AUTOIP_DEBUG: Enable debugging in autoip.c. | ||
2101 | */ | ||
2102 | #ifndef AUTOIP_DEBUG | ||
2103 | #define AUTOIP_DEBUG LWIP_DBG_OFF | ||
2104 | #endif | ||
2105 | |||
2106 | /** | ||
2107 | * SNMP_MSG_DEBUG: Enable debugging for SNMP messages. | ||
2108 | */ | ||
2109 | #ifndef SNMP_MSG_DEBUG | ||
2110 | #define SNMP_MSG_DEBUG LWIP_DBG_OFF | ||
2111 | #endif | ||
2112 | |||
2113 | /** | ||
2114 | * SNMP_MIB_DEBUG: Enable debugging for SNMP MIBs. | ||
2115 | */ | ||
2116 | #ifndef SNMP_MIB_DEBUG | ||
2117 | #define SNMP_MIB_DEBUG LWIP_DBG_OFF | ||
2118 | #endif | ||
2119 | |||
2120 | /** | ||
2121 | * DNS_DEBUG: Enable debugging for DNS. | ||
2122 | */ | ||
2123 | #ifndef DNS_DEBUG | ||
2124 | #define DNS_DEBUG LWIP_DBG_OFF | ||
2125 | #endif | ||
2126 | |||
2127 | #endif /* __LWIPOPT_H__ */ | ||