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
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
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
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
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
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
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
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
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
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
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
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
961/*
962 ----------------------------------
963 ----- SNMP MIB2 support -----
964 ----------------------------------
965*/
976#if !defined LWIP_MIB2_CALLBACKS || defined __DOXYGEN__
977#define LWIP_MIB2_CALLBACKS 0
978#endif
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
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
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
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
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
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
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
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
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
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
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 */
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
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
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
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
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
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
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
2874/*
2875 --------------------------------------------------
2876 ---------- Performance tracking options ----------
2877 --------------------------------------------------
2878*/
2888#if !defined LWIP_PERF || defined __DOXYGEN__
2889#define LWIP_PERF 0
2890#endif
2895#endif /* LWIP_HDR_OPT_H */