The Pedigree Project  0.1
opt.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008-2014, Pedigree Developers
3  *
4  * Please see the CONTRIB file in the root of the source tree for a full
5  * list of contributors.
6  *
7  * Permission to use, copy, modify, and distribute this software for any
8  * purpose with or without fee is hereby granted, provided that the above
9  * copyright notice and this permission notice appear in all copies.
10  *
11  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18  */
19 
26 /*
27  * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
28  * All rights reserved.
29  *
30  * Redistribution and use in source and binary forms, with or without modification,
31  * are permitted provided that the following conditions are met:
32  *
33  * 1. Redistributions of source code must retain the above copyright notice,
34  * this list of conditions and the following disclaimer.
35  * 2. Redistributions in binary form must reproduce the above copyright notice,
36  * this list of conditions and the following disclaimer in the documentation
37  * and/or other materials provided with the distribution.
38  * 3. The name of the author may not be used to endorse or promote products
39  * derived from this software without specific prior written permission.
40  *
41  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
42  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
43  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
44  * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
45  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
46  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
47  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
48  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
49  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
50  * OF SUCH DAMAGE.
51  *
52  * This file is part of the lwIP TCP/IP stack.
53  *
54  * Author: Adam Dunkels <adam@sics.se>
55  *
56  */
57 
58 /*
59  * NOTE: || defined __DOXYGEN__ is a workaround for doxygen bug -
60  * without this, doxygen does not see the actual #define
61  */
62 
63 #if !defined LWIP_HDR_OPT_H
64 #define LWIP_HDR_OPT_H
65 
66 /*
67  * Include user defined options first. Anything not defined in these files
68  * will be set to standard values. Override anything you don't like!
69  */
70 #include "lwipopts.h"
71 #include "lwip/debug.h"
72 
90  /*
91  ------------------------------------
92  -------------- NO SYS --------------
93  ------------------------------------
94 */
107 #if !defined NO_SYS || defined __DOXYGEN__
108 #define NO_SYS 0
109 #endif
110 
124 #if !defined LWIP_TIMERS || defined __DOXYGEN__
125 #ifdef NO_SYS_NO_TIMERS
126 #define LWIP_TIMERS (!NO_SYS || (NO_SYS && !NO_SYS_NO_TIMERS))
127 #else
128 #define LWIP_TIMERS 1
129 #endif
130 #endif
131 
139 #if !defined LWIP_TIMERS_CUSTOM || defined __DOXYGEN__
140 #define LWIP_TIMERS_CUSTOM 0
141 #endif
142 
155 #if !defined MEMCPY || defined __DOXYGEN__
156 #define MEMCPY(dst,src,len) memcpy(dst,src,len)
157 #endif
158 
163 #if !defined SMEMCPY || defined __DOXYGEN__
164 #define SMEMCPY(dst,src,len) memcpy(dst,src,len)
165 #endif
166 
170 /*
171  ------------------------------------
172  ----------- Core locking -----------
173  ------------------------------------
174 */
187 #if !defined LWIP_MPU_COMPATIBLE || defined __DOXYGEN__
188 #define LWIP_MPU_COMPATIBLE 0
189 #endif
190 
199 #if !defined LWIP_TCPIP_CORE_LOCKING || defined __DOXYGEN__
200 #define LWIP_TCPIP_CORE_LOCKING 1
201 #endif
202 
211 #if !defined LWIP_TCPIP_CORE_LOCKING_INPUT || defined __DOXYGEN__
212 #define LWIP_TCPIP_CORE_LOCKING_INPUT 0
213 #endif
214 
222 #if !defined SYS_LIGHTWEIGHT_PROT || defined __DOXYGEN__
223 #define SYS_LIGHTWEIGHT_PROT 1
224 #endif
225 
229 /*
230  ------------------------------------
231  ---------- Memory options ----------
232  ------------------------------------
233 */
244 #if !defined MEM_LIBC_MALLOC || defined __DOXYGEN__
245 #define MEM_LIBC_MALLOC 0
246 #endif
247 
257 #if !defined MEMP_MEM_MALLOC || defined __DOXYGEN__
258 #define MEMP_MEM_MALLOC 0
259 #endif
260 
266 #if !defined MEM_ALIGNMENT || defined __DOXYGEN__
267 #define MEM_ALIGNMENT 1
268 #endif
269 
274 #if !defined MEM_SIZE || defined __DOXYGEN__
275 #define MEM_SIZE 1600
276 #endif
277 
287 #if !defined MEMP_OVERFLOW_CHECK || defined __DOXYGEN__
288 #define MEMP_OVERFLOW_CHECK 0
289 #endif
290 
295 #if !defined MEMP_SANITY_CHECK || defined __DOXYGEN__
296 #define MEMP_SANITY_CHECK 0
297 #endif
298 
305 #if !defined MEM_USE_POOLS || defined __DOXYGEN__
306 #define MEM_USE_POOLS 0
307 #endif
308 
313 #if !defined MEM_USE_POOLS_TRY_BIGGER_POOL || defined __DOXYGEN__
314 #define MEM_USE_POOLS_TRY_BIGGER_POOL 0
315 #endif
316 
323 #if !defined MEMP_USE_CUSTOM_POOLS || defined __DOXYGEN__
324 #define MEMP_USE_CUSTOM_POOLS 0
325 #endif
326 
345 #if !defined LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT || defined __DOXYGEN__
346 #define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0
347 #endif
348 
352 /*
353  ------------------------------------------------
354  ---------- Internal Memory Pool Sizes ----------
355  ------------------------------------------------
356 */
367 #if !defined MEMP_NUM_PBUF || defined __DOXYGEN__
368 #define MEMP_NUM_PBUF 16
369 #endif
370 
375 #if !defined MEMP_NUM_RAW_PCB || defined __DOXYGEN__
376 #define MEMP_NUM_RAW_PCB 4
377 #endif
378 
384 #if !defined MEMP_NUM_UDP_PCB || defined __DOXYGEN__
385 #define MEMP_NUM_UDP_PCB 4
386 #endif
387 
392 #if !defined MEMP_NUM_TCP_PCB || defined __DOXYGEN__
393 #define MEMP_NUM_TCP_PCB 5
394 #endif
395 
400 #if !defined MEMP_NUM_TCP_PCB_LISTEN || defined __DOXYGEN__
401 #define MEMP_NUM_TCP_PCB_LISTEN 8
402 #endif
403 
408 #if !defined MEMP_NUM_TCP_SEG || defined __DOXYGEN__
409 #define MEMP_NUM_TCP_SEG 16
410 #endif
411 
416 #if !defined MEMP_NUM_REASSDATA || defined __DOXYGEN__
417 #define MEMP_NUM_REASSDATA 5
418 #endif
419 
427 #if !defined MEMP_NUM_FRAG_PBUF || defined __DOXYGEN__
428 #define MEMP_NUM_FRAG_PBUF 15
429 #endif
430 
437 #if !defined MEMP_NUM_ARP_QUEUE || defined __DOXYGEN__
438 #define MEMP_NUM_ARP_QUEUE 30
439 #endif
440 
447 #if !defined MEMP_NUM_IGMP_GROUP || defined __DOXYGEN__
448 #define MEMP_NUM_IGMP_GROUP 8
449 #endif
450 
456 #if !defined MEMP_NUM_SYS_TIMEOUT || defined __DOXYGEN__
457 #define MEMP_NUM_SYS_TIMEOUT (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + (PPP_SUPPORT*6*MEMP_NUM_PPP_PCB) + (LWIP_IPV6 ? (1 + LWIP_IPV6_REASS + LWIP_IPV6_MLD) : 0))
458 #endif
459 
464 #if !defined MEMP_NUM_NETBUF || defined __DOXYGEN__
465 #define MEMP_NUM_NETBUF 2
466 #endif
467 
472 #if !defined MEMP_NUM_NETCONN || defined __DOXYGEN__
473 #define MEMP_NUM_NETCONN 4
474 #endif
475 
481 #if !defined MEMP_NUM_TCPIP_MSG_API || defined __DOXYGEN__
482 #define MEMP_NUM_TCPIP_MSG_API 8
483 #endif
484 
490 #if !defined MEMP_NUM_TCPIP_MSG_INPKT || defined __DOXYGEN__
491 #define MEMP_NUM_TCPIP_MSG_INPKT 8
492 #endif
493 
498 #if !defined MEMP_NUM_NETDB || defined __DOXYGEN__
499 #define MEMP_NUM_NETDB 1
500 #endif
501 
506 #if !defined MEMP_NUM_LOCALHOSTLIST || defined __DOXYGEN__
507 #define MEMP_NUM_LOCALHOSTLIST 1
508 #endif
509 
513 #if !defined PBUF_POOL_SIZE || defined __DOXYGEN__
514 #define PBUF_POOL_SIZE 16
515 #endif
516 
520 #if !defined MEMP_NUM_API_MSG || defined __DOXYGEN__
521 #define MEMP_NUM_API_MSG MEMP_NUM_TCPIP_MSG_API
522 #endif
523 
526 #if !defined MEMP_NUM_DNS_API_MSG || defined __DOXYGEN__
527 #define MEMP_NUM_DNS_API_MSG MEMP_NUM_TCPIP_MSG_API
528 #endif
529 
533 #if !defined MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA || defined __DOXYGEN__
534 #define MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA MEMP_NUM_TCPIP_MSG_API
535 #endif
536 
540 #if !defined MEMP_NUM_NETIFAPI_MSG || defined __DOXYGEN__
541 #define MEMP_NUM_NETIFAPI_MSG MEMP_NUM_TCPIP_MSG_API
542 #endif
543 
547 /*
548  ---------------------------------
549  ---------- ARP options ----------
550  ---------------------------------
551 */
560 #if !defined LWIP_ARP || defined __DOXYGEN__
561 #define LWIP_ARP 1
562 #endif
563 
567 #if !defined ARP_TABLE_SIZE || defined __DOXYGEN__
568 #define ARP_TABLE_SIZE 10
569 #endif
570 
575 #if !defined ARP_MAXAGE || defined __DOXYGEN__
576 #define ARP_MAXAGE 300
577 #endif
578 
586 #if !defined ARP_QUEUEING || defined __DOXYGEN__
587 #define ARP_QUEUEING 0
588 #endif
589 
594 #if !defined ARP_QUEUE_LEN || defined __DOXYGEN__
595 #define ARP_QUEUE_LEN 3
596 #endif
597 
608 #if !defined ETHARP_SUPPORT_VLAN || defined __DOXYGEN__
609 #define ETHARP_SUPPORT_VLAN 0
610 #endif
611 
614 #if !defined LWIP_ETHERNET || defined __DOXYGEN__
615 #define LWIP_ETHERNET LWIP_ARP
616 #endif
617 
623 #if !defined ETH_PAD_SIZE || defined __DOXYGEN__
624 #define ETH_PAD_SIZE 0
625 #endif
626 
630 #if !defined ETHARP_SUPPORT_STATIC_ENTRIES || defined __DOXYGEN__
631 #define ETHARP_SUPPORT_STATIC_ENTRIES 0
632 #endif
633 
638 #if !defined ETHARP_TABLE_MATCH_NETIF || defined __DOXYGEN__
639 #define ETHARP_TABLE_MATCH_NETIF 0
640 #endif
641 
645 /*
646  --------------------------------
647  ---------- IP options ----------
648  --------------------------------
649 */
658 #if !defined LWIP_IPV4 || defined __DOXYGEN__
659 #define LWIP_IPV4 1
660 #endif
661 
667 #if !defined IP_FORWARD || defined __DOXYGEN__
668 #define IP_FORWARD 0
669 #endif
670 
676 #if !defined IP_REASSEMBLY || defined __DOXYGEN__
677 #define IP_REASSEMBLY 1
678 #endif
679 
685 #if !defined IP_FRAG || defined __DOXYGEN__
686 #define IP_FRAG 1
687 #endif
688 
689 #if !LWIP_IPV4
690 /* disable IPv4 extensions when IPv4 is disabled */
691 #undef IP_FORWARD
692 #define IP_FORWARD 0
693 #undef IP_REASSEMBLY
694 #define IP_REASSEMBLY 0
695 #undef IP_FRAG
696 #define IP_FRAG 0
697 #endif /* !LWIP_IPV4 */
698 
704 #if !defined IP_OPTIONS_ALLOWED || defined __DOXYGEN__
705 #define IP_OPTIONS_ALLOWED 1
706 #endif
707 
713 #if !defined IP_REASS_MAXAGE || defined __DOXYGEN__
714 #define IP_REASS_MAXAGE 3
715 #endif
716 
723 #if !defined IP_REASS_MAX_PBUFS || defined __DOXYGEN__
724 #define IP_REASS_MAX_PBUFS 10
725 #endif
726 
730 #if !defined IP_DEFAULT_TTL || defined __DOXYGEN__
731 #define IP_DEFAULT_TTL 255
732 #endif
733 
739 #if !defined IP_SOF_BROADCAST || defined __DOXYGEN__
740 #define IP_SOF_BROADCAST 0
741 #endif
742 
747 #if !defined IP_SOF_BROADCAST_RECV || defined __DOXYGEN__
748 #define IP_SOF_BROADCAST_RECV 0
749 #endif
750 
758 #if !defined IP_FORWARD_ALLOW_TX_ON_RX_NETIF || defined __DOXYGEN__
759 #define IP_FORWARD_ALLOW_TX_ON_RX_NETIF 0
760 #endif
761 
767 #if !defined LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS || defined __DOXYGEN__
768 #define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS 0
769 #endif
770 
774 /*
775  ----------------------------------
776  ---------- ICMP options ----------
777  ----------------------------------
778 */
788 #if !defined LWIP_ICMP || defined __DOXYGEN__
789 #define LWIP_ICMP 1
790 #endif
791 
795 #if !defined ICMP_TTL || defined __DOXYGEN__
796 #define ICMP_TTL (IP_DEFAULT_TTL)
797 #endif
798 
802 #if !defined LWIP_BROADCAST_PING || defined __DOXYGEN__
803 #define LWIP_BROADCAST_PING 0
804 #endif
805 
809 #if !defined LWIP_MULTICAST_PING || defined __DOXYGEN__
810 #define LWIP_MULTICAST_PING 0
811 #endif
812 
816 /*
817  ---------------------------------
818  ---------- RAW options ----------
819  ---------------------------------
820 */
829 #if !defined LWIP_RAW || defined __DOXYGEN__
830 #define LWIP_RAW 0
831 #endif
832 
836 #if !defined RAW_TTL || defined __DOXYGEN__
837 #define RAW_TTL (IP_DEFAULT_TTL)
838 #endif
839 
843 /*
844  ----------------------------------
845  ---------- DHCP options ----------
846  ----------------------------------
847 */
856 #if !defined LWIP_DHCP || defined __DOXYGEN__
857 #define LWIP_DHCP 0
858 #endif
859 #if !LWIP_IPV4
860 /* disable DHCP when IPv4 is disabled */
861 #undef LWIP_DHCP
862 #define LWIP_DHCP 0
863 #endif /* !LWIP_IPV4 */
864 
868 #if !defined DHCP_DOES_ARP_CHECK || defined __DOXYGEN__
869 #define DHCP_DOES_ARP_CHECK ((LWIP_DHCP) && (LWIP_ARP))
870 #endif
871 
878 #if !defined LWIP_DHCP_CHECK_LINK_UP
879 #define LWIP_DHCP_CHECK_LINK_UP 0
880 #endif
881 
885 #if !defined LWIP_DHCP_BOOTP_FILE || defined __DOXYGEN__
886 #define LWIP_DHCP_BOOTP_FILE 0
887 #endif
888 
894 #if !defined LWIP_DHCP_GET_NTP_SRV || defined __DOXYGEN__
895 #define LWIP_DHCP_GET_NTP_SRV 0
896 #endif
897 
901 #if !defined LWIP_DHCP_MAX_NTP_SERVERS || defined __DOXYGEN__
902 #define LWIP_DHCP_MAX_NTP_SERVERS 1
903 #endif
904 
910 #if !defined LWIP_DHCP_MAX_DNS_SERVERS || defined __DOXYGEN__
911 #define LWIP_DHCP_MAX_DNS_SERVERS DNS_MAX_SERVERS
912 #endif
913 
917 /*
918  ------------------------------------
919  ---------- AUTOIP options ----------
920  ------------------------------------
921 */
930 #if !defined LWIP_AUTOIP || defined __DOXYGEN__
931 #define LWIP_AUTOIP 0
932 #endif
933 #if !LWIP_IPV4
934 /* disable AUTOIP when IPv4 is disabled */
935 #undef LWIP_AUTOIP
936 #define LWIP_AUTOIP 0
937 #endif /* !LWIP_IPV4 */
938 
943 #if !defined LWIP_DHCP_AUTOIP_COOP || defined __DOXYGEN__
944 #define LWIP_DHCP_AUTOIP_COOP 0
945 #endif
946 
954 #if !defined LWIP_DHCP_AUTOIP_COOP_TRIES || defined __DOXYGEN__
955 #define LWIP_DHCP_AUTOIP_COOP_TRIES 9
956 #endif
957 
961 /*
962  ----------------------------------
963  ----- SNMP MIB2 support -----
964  ----------------------------------
965 */
976 #if !defined LWIP_MIB2_CALLBACKS || defined __DOXYGEN__
977 #define LWIP_MIB2_CALLBACKS 0
978 #endif
979 
983 /*
984  ----------------------------------
985  ----- Multicast/IGMP options -----
986  ----------------------------------
987 */
996 #if !defined LWIP_IGMP || defined __DOXYGEN__
997 #define LWIP_IGMP 0
998 #endif
999 #if !LWIP_IPV4
1000 #undef LWIP_IGMP
1001 #define LWIP_IGMP 0
1002 #endif
1003 
1008 #if !defined LWIP_MULTICAST_TX_OPTIONS || defined __DOXYGEN__
1009 #define LWIP_MULTICAST_TX_OPTIONS (LWIP_IGMP && LWIP_UDP)
1010 #endif
1011 
1015 /*
1016  ----------------------------------
1017  ---------- DNS options -----------
1018  ----------------------------------
1019 */
1029 #if !defined LWIP_DNS || defined __DOXYGEN__
1030 #define LWIP_DNS 0
1031 #endif
1032 
1034 #if !defined DNS_TABLE_SIZE || defined __DOXYGEN__
1035 #define DNS_TABLE_SIZE 4
1036 #endif
1037 
1039 #if !defined DNS_MAX_NAME_LENGTH || defined __DOXYGEN__
1040 #define DNS_MAX_NAME_LENGTH 256
1041 #endif
1042 
1047 #if !defined DNS_MAX_SERVERS || defined __DOXYGEN__
1048 #define DNS_MAX_SERVERS 2
1049 #endif
1050 
1052 #if !defined DNS_DOES_NAME_CHECK || defined __DOXYGEN__
1053 #define DNS_DOES_NAME_CHECK 1
1054 #endif
1055 
1060 #if !defined LWIP_DNS_SECURE || defined __DOXYGEN__
1061 #define LWIP_DNS_SECURE (LWIP_DNS_SECURE_RAND_XID | LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING | LWIP_DNS_SECURE_RAND_SRC_PORT)
1062 #endif
1063 
1064 /* A list of DNS security features follows */
1065 #define LWIP_DNS_SECURE_RAND_XID 1
1066 #define LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING 2
1067 #define LWIP_DNS_SECURE_RAND_SRC_PORT 4
1068 
1077 #if !defined DNS_LOCAL_HOSTLIST || defined __DOXYGEN__
1078 #define DNS_LOCAL_HOSTLIST 0
1079 #endif /* DNS_LOCAL_HOSTLIST */
1080 
1083 #if !defined DNS_LOCAL_HOSTLIST_IS_DYNAMIC || defined __DOXYGEN__
1084 #define DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0
1085 #endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */
1086 
1089 #if !defined LWIP_DNS_SUPPORT_MDNS_QUERIES || defined __DOXYGEN__
1090 #define LWIP_DNS_SUPPORT_MDNS_QUERIES 0
1091 #endif
1092 
1096 /*
1097  ---------------------------------
1098  ---------- UDP options ----------
1099  ---------------------------------
1100 */
1109 #if !defined LWIP_UDP || defined __DOXYGEN__
1110 #define LWIP_UDP 1
1111 #endif
1112 
1116 #if !defined LWIP_UDPLITE || defined __DOXYGEN__
1117 #define LWIP_UDPLITE 0
1118 #endif
1119 
1123 #if !defined UDP_TTL || defined __DOXYGEN__
1124 #define UDP_TTL (IP_DEFAULT_TTL)
1125 #endif
1126 
1130 #if !defined LWIP_NETBUF_RECVINFO || defined __DOXYGEN__
1131 #define LWIP_NETBUF_RECVINFO 0
1132 #endif
1133 
1137 /*
1138  ---------------------------------
1139  ---------- TCP options ----------
1140  ---------------------------------
1141 */
1150 #if !defined LWIP_TCP || defined __DOXYGEN__
1151 #define LWIP_TCP 1
1152 #endif
1153 
1157 #if !defined TCP_TTL || defined __DOXYGEN__
1158 #define TCP_TTL (IP_DEFAULT_TTL)
1159 #endif
1160 
1168 #if !defined TCP_WND || defined __DOXYGEN__
1169 #define TCP_WND (4 * TCP_MSS)
1170 #endif
1171 
1175 #if !defined TCP_MAXRTX || defined __DOXYGEN__
1176 #define TCP_MAXRTX 12
1177 #endif
1178 
1182 #if !defined TCP_SYNMAXRTX || defined __DOXYGEN__
1183 #define TCP_SYNMAXRTX 6
1184 #endif
1185 
1190 #if !defined TCP_QUEUE_OOSEQ || defined __DOXYGEN__
1191 #define TCP_QUEUE_OOSEQ (LWIP_TCP)
1192 #endif
1193 
1201 #if !defined TCP_MSS || defined __DOXYGEN__
1202 #define TCP_MSS 536
1203 #endif
1204 
1213 #if !defined TCP_CALCULATE_EFF_SEND_MSS || defined __DOXYGEN__
1214 #define TCP_CALCULATE_EFF_SEND_MSS 1
1215 #endif
1216 
1217 
1222 #if !defined TCP_SND_BUF || defined __DOXYGEN__
1223 #define TCP_SND_BUF (2 * TCP_MSS)
1224 #endif
1225 
1230 #if !defined TCP_SND_QUEUELEN || defined __DOXYGEN__
1231 #define TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS))
1232 #endif
1233 
1239 #if !defined TCP_SNDLOWAT || defined __DOXYGEN__
1240 #define TCP_SNDLOWAT LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1)
1241 #endif
1242 
1248 #if !defined TCP_SNDQUEUELOWAT || defined __DOXYGEN__
1249 #define TCP_SNDQUEUELOWAT LWIP_MAX(((TCP_SND_QUEUELEN)/2), 5)
1250 #endif
1251 
1256 #if !defined TCP_OOSEQ_MAX_BYTES || defined __DOXYGEN__
1257 #define TCP_OOSEQ_MAX_BYTES 0
1258 #endif
1259 
1264 #if !defined TCP_OOSEQ_MAX_PBUFS || defined __DOXYGEN__
1265 #define TCP_OOSEQ_MAX_PBUFS 0
1266 #endif
1267 
1271 #if !defined TCP_LISTEN_BACKLOG || defined __DOXYGEN__
1272 #define TCP_LISTEN_BACKLOG 0
1273 #endif
1274 
1280 #if !defined TCP_DEFAULT_LISTEN_BACKLOG || defined __DOXYGEN__
1281 #define TCP_DEFAULT_LISTEN_BACKLOG 0xff
1282 #endif
1283 
1298 #if !defined TCP_OVERSIZE || defined __DOXYGEN__
1299 #define TCP_OVERSIZE TCP_MSS
1300 #endif
1301 
1308 #if !defined LWIP_TCP_TIMESTAMPS || defined __DOXYGEN__
1309 #define LWIP_TCP_TIMESTAMPS 0
1310 #endif
1311 
1316 #if !defined TCP_WND_UPDATE_THRESHOLD || defined __DOXYGEN__
1317 #define TCP_WND_UPDATE_THRESHOLD LWIP_MIN((TCP_WND / 4), (TCP_MSS * 4))
1318 #endif
1319 
1327 #if !defined(LWIP_EVENT_API) && !defined(LWIP_CALLBACK_API) || defined __DOXYGEN__
1328 #define LWIP_EVENT_API 0
1329 #define LWIP_CALLBACK_API 1
1330 #else
1331 #ifndef LWIP_EVENT_API
1332 #define LWIP_EVENT_API 0
1333 #endif
1334 #ifndef LWIP_CALLBACK_API
1335 #define LWIP_CALLBACK_API 0
1336 #endif
1337 #endif
1338 
1347 #if !defined LWIP_WND_SCALE || defined __DOXYGEN__
1348 #define LWIP_WND_SCALE 0
1349 #define TCP_RCV_SCALE 0
1350 #endif
1351 
1355 /*
1356  ----------------------------------
1357  ---------- Pbuf options ----------
1358  ----------------------------------
1359 */
1370 #if !defined PBUF_LINK_HLEN || defined __DOXYGEN__
1371 #if defined LWIP_HOOK_VLAN_SET && !defined __DOXYGEN__
1372 #define PBUF_LINK_HLEN (18 + ETH_PAD_SIZE)
1373 #else /* LWIP_HOOK_VLAN_SET */
1374 #define PBUF_LINK_HLEN (14 + ETH_PAD_SIZE)
1375 #endif /* LWIP_HOOK_VLAN_SET */
1376 #endif
1377 
1382 #if !defined PBUF_LINK_ENCAPSULATION_HLEN || defined __DOXYGEN__
1383 #define PBUF_LINK_ENCAPSULATION_HLEN 0u
1384 #endif
1385 
1391 #if !defined PBUF_POOL_BUFSIZE || defined __DOXYGEN__
1392 #define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_ENCAPSULATION_HLEN+PBUF_LINK_HLEN)
1393 #endif
1394 
1398 /*
1399  ------------------------------------------------
1400  ---------- Network Interfaces options ----------
1401  ------------------------------------------------
1402 */
1412 #if !defined LWIP_NETIF_HOSTNAME || defined __DOXYGEN__
1413 #define LWIP_NETIF_HOSTNAME 0
1414 #endif
1415 
1419 #if !defined LWIP_NETIF_API || defined __DOXYGEN__
1420 #define LWIP_NETIF_API 0
1421 #endif
1422 
1427 #if !defined LWIP_NETIF_STATUS_CALLBACK || defined __DOXYGEN__
1428 #define LWIP_NETIF_STATUS_CALLBACK 0
1429 #endif
1430 
1435 #if !defined LWIP_NETIF_LINK_CALLBACK || defined __DOXYGEN__
1436 #define LWIP_NETIF_LINK_CALLBACK 0
1437 #endif
1438 
1443 #if !defined LWIP_NETIF_REMOVE_CALLBACK || defined __DOXYGEN__
1444 #define LWIP_NETIF_REMOVE_CALLBACK 0
1445 #endif
1446 
1454 #if !defined LWIP_NETIF_HWADDRHINT || defined __DOXYGEN__
1455 #define LWIP_NETIF_HWADDRHINT 0
1456 #endif
1457 
1467 #if !defined LWIP_NETIF_TX_SINGLE_PBUF || defined __DOXYGEN__
1468 #define LWIP_NETIF_TX_SINGLE_PBUF 0
1469 #endif /* LWIP_NETIF_TX_SINGLE_PBUF */
1470 
1475 #if !defined LWIP_NUM_NETIF_CLIENT_DATA || defined __DOXYGEN__
1476 #define LWIP_NUM_NETIF_CLIENT_DATA 0
1477 #endif
1478 
1482 /*
1483  ------------------------------------
1484  ---------- LOOPIF options ----------
1485  ------------------------------------
1486 */
1497 #if !defined LWIP_HAVE_LOOPIF || defined __DOXYGEN__
1498 #define LWIP_HAVE_LOOPIF LWIP_NETIF_LOOPBACK
1499 #endif
1500 
1504 #if !defined LWIP_LOOPIF_MULTICAST || defined __DOXYGEN__
1505 #define LWIP_LOOPIF_MULTICAST 0
1506 #endif
1507 
1512 #if !defined LWIP_NETIF_LOOPBACK || defined __DOXYGEN__
1513 #define LWIP_NETIF_LOOPBACK 0
1514 #endif
1515 
1520 #if !defined LWIP_LOOPBACK_MAX_PBUFS || defined __DOXYGEN__
1521 #define LWIP_LOOPBACK_MAX_PBUFS 0
1522 #endif
1523 
1537 #if !defined LWIP_NETIF_LOOPBACK_MULTITHREADING || defined __DOXYGEN__
1538 #define LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS)
1539 #endif
1540 
1544 /*
1545  ------------------------------------
1546  ---------- Thread options ----------
1547  ------------------------------------
1548 */
1557 #if !defined TCPIP_THREAD_NAME || defined __DOXYGEN__
1558 #define TCPIP_THREAD_NAME "tcpip_thread"
1559 #endif
1560 
1566 #if !defined TCPIP_THREAD_STACKSIZE || defined __DOXYGEN__
1567 #define TCPIP_THREAD_STACKSIZE 0
1568 #endif
1569 
1575 #if !defined TCPIP_THREAD_PRIO || defined __DOXYGEN__
1576 #define TCPIP_THREAD_PRIO 1
1577 #endif
1578 
1584 #if !defined TCPIP_MBOX_SIZE || defined __DOXYGEN__
1585 #define TCPIP_MBOX_SIZE 0
1586 #endif
1587 
1592 #if !defined LWIP_TCPIP_THREAD_ALIVE || defined __DOXYGEN__
1593 #define LWIP_TCPIP_THREAD_ALIVE()
1594 #endif
1595 
1599 #if !defined SLIPIF_THREAD_NAME || defined __DOXYGEN__
1600 #define SLIPIF_THREAD_NAME "slipif_loop"
1601 #endif
1602 
1608 #if !defined SLIPIF_THREAD_STACKSIZE || defined __DOXYGEN__
1609 #define SLIPIF_THREAD_STACKSIZE 0
1610 #endif
1611 
1617 #if !defined SLIPIF_THREAD_PRIO || defined __DOXYGEN__
1618 #define SLIPIF_THREAD_PRIO 1
1619 #endif
1620 
1624 #if !defined DEFAULT_THREAD_NAME || defined __DOXYGEN__
1625 #define DEFAULT_THREAD_NAME "lwIP"
1626 #endif
1627 
1633 #if !defined DEFAULT_THREAD_STACKSIZE || defined __DOXYGEN__
1634 #define DEFAULT_THREAD_STACKSIZE 0
1635 #endif
1636 
1642 #if !defined DEFAULT_THREAD_PRIO || defined __DOXYGEN__
1643 #define DEFAULT_THREAD_PRIO 1
1644 #endif
1645 
1651 #if !defined DEFAULT_RAW_RECVMBOX_SIZE || defined __DOXYGEN__
1652 #define DEFAULT_RAW_RECVMBOX_SIZE 0
1653 #endif
1654 
1660 #if !defined DEFAULT_UDP_RECVMBOX_SIZE || defined __DOXYGEN__
1661 #define DEFAULT_UDP_RECVMBOX_SIZE 0
1662 #endif
1663 
1669 #if !defined DEFAULT_TCP_RECVMBOX_SIZE || defined __DOXYGEN__
1670 #define DEFAULT_TCP_RECVMBOX_SIZE 0
1671 #endif
1672 
1678 #if !defined DEFAULT_ACCEPTMBOX_SIZE || defined __DOXYGEN__
1679 #define DEFAULT_ACCEPTMBOX_SIZE 0
1680 #endif
1681 
1685 /*
1686  ----------------------------------------------
1687  ---------- Sequential layer options ----------
1688  ----------------------------------------------
1689 */
1698 #if !defined LWIP_NETCONN || defined __DOXYGEN__
1699 #define LWIP_NETCONN 1
1700 #endif
1701 
1705 #if !defined LWIP_TCPIP_TIMEOUT || defined __DOXYGEN__
1706 #define LWIP_TCPIP_TIMEOUT 0
1707 #endif
1708 
1719 #if !defined LWIP_NETCONN_SEM_PER_THREAD || defined __DOXYGEN__
1720 #define LWIP_NETCONN_SEM_PER_THREAD 0
1721 #endif
1722 
1731 #if !defined LWIP_NETCONN_FULLDUPLEX || defined __DOXYGEN__
1732 #define LWIP_NETCONN_FULLDUPLEX 0
1733 #endif
1734 
1738 /*
1739  ------------------------------------
1740  ---------- Socket options ----------
1741  ------------------------------------
1742 */
1751 #if !defined LWIP_SOCKET || defined __DOXYGEN__
1752 #define LWIP_SOCKET 1
1753 #endif
1754 
1755 /* LWIP_SOCKET_SET_ERRNO==1: Set errno when socket functions cannot complete
1756  * successfully, as required by POSIX. Default is POSIX-compliant.
1757  */
1758 #if !defined LWIP_SOCKET_SET_ERRNO || defined __DOXYGEN__
1759 #define LWIP_SOCKET_SET_ERRNO 1
1760 #endif
1761 
1768 #if !defined LWIP_COMPAT_SOCKETS || defined __DOXYGEN__
1769 #define LWIP_COMPAT_SOCKETS 1
1770 #endif
1771 
1777 #if !defined LWIP_POSIX_SOCKETS_IO_NAMES || defined __DOXYGEN__
1778 #define LWIP_POSIX_SOCKETS_IO_NAMES 1
1779 #endif
1780 
1788 #if !defined LWIP_SOCKET_OFFSET || defined __DOXYGEN__
1789 #define LWIP_SOCKET_OFFSET 0
1790 #endif
1791 
1797 #if !defined LWIP_TCP_KEEPALIVE || defined __DOXYGEN__
1798 #define LWIP_TCP_KEEPALIVE 0
1799 #endif
1800 
1805 #if !defined LWIP_SO_SNDTIMEO || defined __DOXYGEN__
1806 #define LWIP_SO_SNDTIMEO 0
1807 #endif
1808 
1813 #if !defined LWIP_SO_RCVTIMEO || defined __DOXYGEN__
1814 #define LWIP_SO_RCVTIMEO 0
1815 #endif
1816 
1821 #if !defined LWIP_SO_SNDRCVTIMEO_NONSTANDARD || defined __DOXYGEN__
1822 #define LWIP_SO_SNDRCVTIMEO_NONSTANDARD 0
1823 #endif
1824 
1828 #if !defined LWIP_SO_RCVBUF || defined __DOXYGEN__
1829 #define LWIP_SO_RCVBUF 0
1830 #endif
1831 
1835 #if !defined LWIP_SO_LINGER || defined __DOXYGEN__
1836 #define LWIP_SO_LINGER 0
1837 #endif
1838 
1842 #if !defined RECV_BUFSIZE_DEFAULT || defined __DOXYGEN__
1843 #define RECV_BUFSIZE_DEFAULT INT_MAX
1844 #endif
1845 
1849 #if !defined LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT || defined __DOXYGEN__
1850 #define LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT 20000
1851 #endif
1852 
1856 #if !defined SO_REUSE || defined __DOXYGEN__
1857 #define SO_REUSE 0
1858 #endif
1859 
1865 #if !defined SO_REUSE_RXTOALL || defined __DOXYGEN__
1866 #define SO_REUSE_RXTOALL 0
1867 #endif
1868 
1877 #if !defined LWIP_FIONREAD_LINUXMODE || defined __DOXYGEN__
1878 #define LWIP_FIONREAD_LINUXMODE 0
1879 #endif
1880 
1884 /*
1885  ----------------------------------------
1886  ---------- Statistics options ----------
1887  ----------------------------------------
1888 */
1897 #if !defined LWIP_STATS || defined __DOXYGEN__
1898 #define LWIP_STATS 1
1899 #endif
1900 
1901 #if LWIP_STATS
1902 
1906 #if !defined LWIP_STATS_DISPLAY || defined __DOXYGEN__
1907 #define LWIP_STATS_DISPLAY 0
1908 #endif
1909 
1913 #if !defined LINK_STATS || defined __DOXYGEN__
1914 #define LINK_STATS 1
1915 #endif
1916 
1920 #if !defined ETHARP_STATS || defined __DOXYGEN__
1921 #define ETHARP_STATS (LWIP_ARP)
1922 #endif
1923 
1927 #if !defined IP_STATS || defined __DOXYGEN__
1928 #define IP_STATS 1
1929 #endif
1930 
1935 #if !defined IPFRAG_STATS || defined __DOXYGEN__
1936 #define IPFRAG_STATS (IP_REASSEMBLY || IP_FRAG)
1937 #endif
1938 
1942 #if !defined ICMP_STATS || defined __DOXYGEN__
1943 #define ICMP_STATS 1
1944 #endif
1945 
1949 #if !defined IGMP_STATS || defined __DOXYGEN__
1950 #define IGMP_STATS (LWIP_IGMP)
1951 #endif
1952 
1957 #if !defined UDP_STATS || defined __DOXYGEN__
1958 #define UDP_STATS (LWIP_UDP)
1959 #endif
1960 
1965 #if !defined TCP_STATS || defined __DOXYGEN__
1966 #define TCP_STATS (LWIP_TCP)
1967 #endif
1968 
1972 #if !defined MEM_STATS || defined __DOXYGEN__
1973 #define MEM_STATS ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0))
1974 #endif
1975 
1979 #if !defined MEMP_STATS || defined __DOXYGEN__
1980 #define MEMP_STATS (MEMP_MEM_MALLOC == 0)
1981 #endif
1982 
1986 #if !defined SYS_STATS || defined __DOXYGEN__
1987 #define SYS_STATS (NO_SYS == 0)
1988 #endif
1989 
1993 #if !defined IP6_STATS || defined __DOXYGEN__
1994 #define IP6_STATS (LWIP_IPV6)
1995 #endif
1996 
2000 #if !defined ICMP6_STATS || defined __DOXYGEN__
2001 #define ICMP6_STATS (LWIP_IPV6 && LWIP_ICMP6)
2002 #endif
2003 
2007 #if !defined IP6_FRAG_STATS || defined __DOXYGEN__
2008 #define IP6_FRAG_STATS (LWIP_IPV6 && (LWIP_IPV6_FRAG || LWIP_IPV6_REASS))
2009 #endif
2010 
2014 #if !defined MLD6_STATS || defined __DOXYGEN__
2015 #define MLD6_STATS (LWIP_IPV6 && LWIP_IPV6_MLD)
2016 #endif
2017 
2021 #if !defined ND6_STATS || defined __DOXYGEN__
2022 #define ND6_STATS (LWIP_IPV6)
2023 #endif
2024 
2028 #if !defined MIB2_STATS || defined __DOXYGEN__
2029 #define MIB2_STATS 0
2030 #endif
2031 
2032 #else
2033 
2034 #define LINK_STATS 0
2035 #define ETHARP_STATS 0
2036 #define IP_STATS 0
2037 #define IPFRAG_STATS 0
2038 #define ICMP_STATS 0
2039 #define IGMP_STATS 0
2040 #define UDP_STATS 0
2041 #define TCP_STATS 0
2042 #define MEM_STATS 0
2043 #define MEMP_STATS 0
2044 #define SYS_STATS 0
2045 #define LWIP_STATS_DISPLAY 0
2046 #define IP6_STATS 0
2047 #define ICMP6_STATS 0
2048 #define IP6_FRAG_STATS 0
2049 #define MLD6_STATS 0
2050 #define ND6_STATS 0
2051 #define MIB2_STATS 0
2052 
2053 #endif /* LWIP_STATS */
2054 
2058 /*
2059  --------------------------------------
2060  ---------- Checksum options ----------
2061  --------------------------------------
2062 */
2073 #if !defined LWIP_CHECKSUM_CTRL_PER_NETIF || defined __DOXYGEN__
2074 #define LWIP_CHECKSUM_CTRL_PER_NETIF 0
2075 #endif
2076 
2080 #if !defined CHECKSUM_GEN_IP || defined __DOXYGEN__
2081 #define CHECKSUM_GEN_IP 1
2082 #endif
2083 
2087 #if !defined CHECKSUM_GEN_UDP || defined __DOXYGEN__
2088 #define CHECKSUM_GEN_UDP 1
2089 #endif
2090 
2094 #if !defined CHECKSUM_GEN_TCP || defined __DOXYGEN__
2095 #define CHECKSUM_GEN_TCP 1
2096 #endif
2097 
2101 #if !defined CHECKSUM_GEN_ICMP || defined __DOXYGEN__
2102 #define CHECKSUM_GEN_ICMP 1
2103 #endif
2104 
2108 #if !defined CHECKSUM_GEN_ICMP6 || defined __DOXYGEN__
2109 #define CHECKSUM_GEN_ICMP6 1
2110 #endif
2111 
2115 #if !defined CHECKSUM_CHECK_IP || defined __DOXYGEN__
2116 #define CHECKSUM_CHECK_IP 1
2117 #endif
2118 
2122 #if !defined CHECKSUM_CHECK_UDP || defined __DOXYGEN__
2123 #define CHECKSUM_CHECK_UDP 1
2124 #endif
2125 
2129 #if !defined CHECKSUM_CHECK_TCP || defined __DOXYGEN__
2130 #define CHECKSUM_CHECK_TCP 1
2131 #endif
2132 
2136 #if !defined CHECKSUM_CHECK_ICMP || defined __DOXYGEN__
2137 #define CHECKSUM_CHECK_ICMP 1
2138 #endif
2139 
2143 #if !defined CHECKSUM_CHECK_ICMP6 || defined __DOXYGEN__
2144 #define CHECKSUM_CHECK_ICMP6 1
2145 #endif
2146 
2151 #if !defined LWIP_CHECKSUM_ON_COPY || defined __DOXYGEN__
2152 #define LWIP_CHECKSUM_ON_COPY 0
2153 #endif
2154 
2158 /*
2159  ---------------------------------------
2160  ---------- IPv6 options ---------------
2161  ---------------------------------------
2162 */
2171 #if !defined LWIP_IPV6 || defined __DOXYGEN__
2172 #define LWIP_IPV6 0
2173 #endif
2174 
2178 #if !defined LWIP_IPV6_NUM_ADDRESSES || defined __DOXYGEN__
2179 #define LWIP_IPV6_NUM_ADDRESSES 3
2180 #endif
2181 
2185 #if !defined LWIP_IPV6_FORWARD || defined __DOXYGEN__
2186 #define LWIP_IPV6_FORWARD 0
2187 #endif
2188 
2192 #if !defined LWIP_IPV6_FRAG || defined __DOXYGEN__
2193 #define LWIP_IPV6_FRAG 0
2194 #endif
2195 
2199 #if !defined LWIP_IPV6_REASS || defined __DOXYGEN__
2200 #define LWIP_IPV6_REASS (LWIP_IPV6)
2201 #endif
2202 
2207 #if !defined LWIP_IPV6_SEND_ROUTER_SOLICIT || defined __DOXYGEN__
2208 #define LWIP_IPV6_SEND_ROUTER_SOLICIT 1
2209 #endif
2210 
2214 #if !defined LWIP_IPV6_AUTOCONFIG || defined __DOXYGEN__
2215 #define LWIP_IPV6_AUTOCONFIG (LWIP_IPV6)
2216 #endif
2217 
2221 #if !defined LWIP_IPV6_DUP_DETECT_ATTEMPTS || defined __DOXYGEN__
2222 #define LWIP_IPV6_DUP_DETECT_ATTEMPTS 1
2223 #endif
2224 
2236 #if !defined LWIP_ICMP6 || defined __DOXYGEN__
2237 #define LWIP_ICMP6 (LWIP_IPV6)
2238 #endif
2239 
2244 #if !defined LWIP_ICMP6_DATASIZE || defined __DOXYGEN__
2245 #define LWIP_ICMP6_DATASIZE 8
2246 #endif
2247 
2251 #if !defined LWIP_ICMP6_HL || defined __DOXYGEN__
2252 #define LWIP_ICMP6_HL 255
2253 #endif
2254 
2268 #if !defined LWIP_IPV6_MLD || defined __DOXYGEN__
2269 #define LWIP_IPV6_MLD (LWIP_IPV6)
2270 #endif
2271 
2278 #if !defined MEMP_NUM_MLD6_GROUP || defined __DOXYGEN__
2279 #define MEMP_NUM_MLD6_GROUP 4
2280 #endif
2281 
2294 #if !defined LWIP_ND6_QUEUEING || defined __DOXYGEN__
2295 #define LWIP_ND6_QUEUEING (LWIP_IPV6)
2296 #endif
2297 
2301 #if !defined MEMP_NUM_ND6_QUEUE || defined __DOXYGEN__
2302 #define MEMP_NUM_ND6_QUEUE 20
2303 #endif
2304 
2308 #if !defined LWIP_ND6_NUM_NEIGHBORS || defined __DOXYGEN__
2309 #define LWIP_ND6_NUM_NEIGHBORS 10
2310 #endif
2311 
2315 #if !defined LWIP_ND6_NUM_DESTINATIONS || defined __DOXYGEN__
2316 #define LWIP_ND6_NUM_DESTINATIONS 10
2317 #endif
2318 
2322 #if !defined LWIP_ND6_NUM_PREFIXES || defined __DOXYGEN__
2323 #define LWIP_ND6_NUM_PREFIXES 5
2324 #endif
2325 
2329 #if !defined LWIP_ND6_NUM_ROUTERS || defined __DOXYGEN__
2330 #define LWIP_ND6_NUM_ROUTERS 3
2331 #endif
2332 
2337 #if !defined LWIP_ND6_MAX_MULTICAST_SOLICIT || defined __DOXYGEN__
2338 #define LWIP_ND6_MAX_MULTICAST_SOLICIT 3
2339 #endif
2340 
2345 #if !defined LWIP_ND6_MAX_UNICAST_SOLICIT || defined __DOXYGEN__
2346 #define LWIP_ND6_MAX_UNICAST_SOLICIT 3
2347 #endif
2348 
2352 #if !defined LWIP_ND6_MAX_ANYCAST_DELAY_TIME || defined __DOXYGEN__
2353 #define LWIP_ND6_MAX_ANYCAST_DELAY_TIME 1000
2354 #endif
2355 
2359 #if !defined LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT || defined __DOXYGEN__
2360 #define LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT 3
2361 #endif
2362 
2367 #if !defined LWIP_ND6_REACHABLE_TIME || defined __DOXYGEN__
2368 #define LWIP_ND6_REACHABLE_TIME 30000
2369 #endif
2370 
2374 #if !defined LWIP_ND6_RETRANS_TIMER || defined __DOXYGEN__
2375 #define LWIP_ND6_RETRANS_TIMER 1000
2376 #endif
2377 
2382 #if !defined LWIP_ND6_DELAY_FIRST_PROBE_TIME || defined __DOXYGEN__
2383 #define LWIP_ND6_DELAY_FIRST_PROBE_TIME 5000
2384 #endif
2385 
2390 #if !defined LWIP_ND6_ALLOW_RA_UPDATES || defined __DOXYGEN__
2391 #define LWIP_ND6_ALLOW_RA_UPDATES 1
2392 #endif
2393 
2399 #if !defined LWIP_ND6_TCP_REACHABILITY_HINTS || defined __DOXYGEN__
2400 #define LWIP_ND6_TCP_REACHABILITY_HINTS 1
2401 #endif
2402 
2408 #if !defined LWIP_ND6_RDNSS_MAX_DNS_SERVERS || defined __DOXYGEN__
2409 #define LWIP_ND6_RDNSS_MAX_DNS_SERVERS 0
2410 #endif
2411 
2418 #if !defined LWIP_IPV6_DHCP6 || defined __DOXYGEN__
2419 #define LWIP_IPV6_DHCP6 0
2420 #endif
2421 
2422 /*
2423  ---------------------------------------
2424  ---------- Hook options ---------------
2425  ---------------------------------------
2426 */
2427 
2440 #ifdef __DOXYGEN__
2441 #define LWIP_HOOK_FILENAME "path/to/my/lwip_hooks.h"
2442 #endif
2443 
2463 #ifdef __DOXYGEN__
2464 #define LWIP_HOOK_TCP_ISN(local_ip, local_port, remote_ip, remote_port)
2465 #endif
2466 
2478 #ifdef __DOXYGEN__
2479 #define LWIP_HOOK_IP4_INPUT(pbuf, input_netif)
2480 #endif
2481 
2489 #ifdef __DOXYGEN__
2490 #define LWIP_HOOK_IP4_ROUTE()
2491 #endif
2492 
2497 #ifdef __DOXYGEN__
2498 #define LWIP_HOOK_IP4_ROUTE_SRC(dest, src)
2499 #endif
2500 
2513 #ifdef __DOXYGEN__
2514 #define LWIP_HOOK_ETHARP_GET_GW(netif, dest)
2515 #endif
2516 
2528 #ifdef __DOXYGEN__
2529 #define LWIP_HOOK_IP6_INPUT(pbuf, input_netif)
2530 #endif
2531 
2540 #ifdef __DOXYGEN__
2541 #define LWIP_HOOK_IP6_ROUTE(src, dest)
2542 #endif
2543 
2556 #ifdef __DOXYGEN__
2557 #define LWIP_HOOK_ND6_GET_GW(netif, dest)
2558 #endif
2559 
2570 #ifdef __DOXYGEN__
2571 #define LWIP_HOOK_VLAN_CHECK(netif, eth_hdr, vlan_hdr)
2572 #endif
2573 
2592 #ifdef __DOXYGEN__
2593 #define LWIP_HOOK_VLAN_SET(netif, p, src, dst, eth_type)
2594 #endif
2595 
2600 #ifdef __DOXYGEN__
2601 #define LWIP_HOOK_MEMP_AVAILABLE(memp_t_type)
2602 #endif
2603 
2610 #ifdef __DOXYGEN__
2611 #define LWIP_HOOK_UNKNOWN_ETH_PROTOCOL(pbuf, netif)
2612 #endif
2613 
2617 /*
2618  ---------------------------------------
2619  ---------- Debugging options ----------
2620  ---------------------------------------
2621 */
2633 #if !defined LWIP_DBG_MIN_LEVEL || defined __DOXYGEN__
2634 #define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL
2635 #endif
2636 
2642 #if !defined LWIP_DBG_TYPES_ON || defined __DOXYGEN__
2643 #define LWIP_DBG_TYPES_ON LWIP_DBG_ON
2644 #endif
2645 
2649 #if !defined ETHARP_DEBUG || defined __DOXYGEN__
2650 #define ETHARP_DEBUG LWIP_DBG_OFF
2651 #endif
2652 
2656 #if !defined NETIF_DEBUG || defined __DOXYGEN__
2657 #define NETIF_DEBUG LWIP_DBG_OFF
2658 #endif
2659 
2663 #if !defined PBUF_DEBUG || defined __DOXYGEN__
2664 #define PBUF_DEBUG LWIP_DBG_OFF
2665 #endif
2666 
2670 #if !defined API_LIB_DEBUG || defined __DOXYGEN__
2671 #define API_LIB_DEBUG LWIP_DBG_OFF
2672 #endif
2673 
2677 #if !defined API_MSG_DEBUG || defined __DOXYGEN__
2678 #define API_MSG_DEBUG LWIP_DBG_OFF
2679 #endif
2680 
2684 #if !defined SOCKETS_DEBUG || defined __DOXYGEN__
2685 #define SOCKETS_DEBUG LWIP_DBG_OFF
2686 #endif
2687 
2691 #if !defined ICMP_DEBUG || defined __DOXYGEN__
2692 #define ICMP_DEBUG LWIP_DBG_OFF
2693 #endif
2694 
2698 #if !defined IGMP_DEBUG || defined __DOXYGEN__
2699 #define IGMP_DEBUG LWIP_DBG_OFF
2700 #endif
2701 
2705 #if !defined INET_DEBUG || defined __DOXYGEN__
2706 #define INET_DEBUG LWIP_DBG_OFF
2707 #endif
2708 
2712 #if !defined IP_DEBUG || defined __DOXYGEN__
2713 #define IP_DEBUG LWIP_DBG_OFF
2714 #endif
2715 
2719 #if !defined IP_REASS_DEBUG || defined __DOXYGEN__
2720 #define IP_REASS_DEBUG LWIP_DBG_OFF
2721 #endif
2722 
2726 #if !defined RAW_DEBUG || defined __DOXYGEN__
2727 #define RAW_DEBUG LWIP_DBG_OFF
2728 #endif
2729 
2733 #if !defined MEM_DEBUG || defined __DOXYGEN__
2734 #define MEM_DEBUG LWIP_DBG_OFF
2735 #endif
2736 
2740 #if !defined MEMP_DEBUG || defined __DOXYGEN__
2741 #define MEMP_DEBUG LWIP_DBG_OFF
2742 #endif
2743 
2747 #if !defined SYS_DEBUG || defined __DOXYGEN__
2748 #define SYS_DEBUG LWIP_DBG_OFF
2749 #endif
2750 
2754 #if !defined TIMERS_DEBUG || defined __DOXYGEN__
2755 #define TIMERS_DEBUG LWIP_DBG_OFF
2756 #endif
2757 
2761 #if !defined TCP_DEBUG || defined __DOXYGEN__
2762 #define TCP_DEBUG LWIP_DBG_OFF
2763 #endif
2764 
2768 #if !defined TCP_INPUT_DEBUG || defined __DOXYGEN__
2769 #define TCP_INPUT_DEBUG LWIP_DBG_OFF
2770 #endif
2771 
2775 #if !defined TCP_FR_DEBUG || defined __DOXYGEN__
2776 #define TCP_FR_DEBUG LWIP_DBG_OFF
2777 #endif
2778 
2783 #if !defined TCP_RTO_DEBUG || defined __DOXYGEN__
2784 #define TCP_RTO_DEBUG LWIP_DBG_OFF
2785 #endif
2786 
2790 #if !defined TCP_CWND_DEBUG || defined __DOXYGEN__
2791 #define TCP_CWND_DEBUG LWIP_DBG_OFF
2792 #endif
2793 
2797 #if !defined TCP_WND_DEBUG || defined __DOXYGEN__
2798 #define TCP_WND_DEBUG LWIP_DBG_OFF
2799 #endif
2800 
2804 #if !defined TCP_OUTPUT_DEBUG || defined __DOXYGEN__
2805 #define TCP_OUTPUT_DEBUG LWIP_DBG_OFF
2806 #endif
2807 
2811 #if !defined TCP_RST_DEBUG || defined __DOXYGEN__
2812 #define TCP_RST_DEBUG LWIP_DBG_OFF
2813 #endif
2814 
2818 #if !defined TCP_QLEN_DEBUG || defined __DOXYGEN__
2819 #define TCP_QLEN_DEBUG LWIP_DBG_OFF
2820 #endif
2821 
2825 #if !defined UDP_DEBUG || defined __DOXYGEN__
2826 #define UDP_DEBUG LWIP_DBG_OFF
2827 #endif
2828 
2832 #if !defined TCPIP_DEBUG || defined __DOXYGEN__
2833 #define TCPIP_DEBUG LWIP_DBG_OFF
2834 #endif
2835 
2839 #if !defined SLIP_DEBUG || defined __DOXYGEN__
2840 #define SLIP_DEBUG LWIP_DBG_OFF
2841 #endif
2842 
2846 #if !defined DHCP_DEBUG || defined __DOXYGEN__
2847 #define DHCP_DEBUG LWIP_DBG_OFF
2848 #endif
2849 
2853 #if !defined AUTOIP_DEBUG || defined __DOXYGEN__
2854 #define AUTOIP_DEBUG LWIP_DBG_OFF
2855 #endif
2856 
2860 #if !defined DNS_DEBUG || defined __DOXYGEN__
2861 #define DNS_DEBUG LWIP_DBG_OFF
2862 #endif
2863 
2867 #if !defined IP6_DEBUG || defined __DOXYGEN__
2868 #define IP6_DEBUG LWIP_DBG_OFF
2869 #endif
2870 
2874 /*
2875  --------------------------------------------------
2876  ---------- Performance tracking options ----------
2877  --------------------------------------------------
2878 */
2888 #if !defined LWIP_PERF || defined __DOXYGEN__
2889 #define LWIP_PERF 0
2890 #endif
2891 
2895 #endif /* LWIP_HDR_OPT_H */