sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
opt.h
Go to the documentation of this file.
1
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 <adam@sics.se>
36 *
37 */
38
39/*
40 * NOTE: || defined __DOXYGEN__ is a workaround for doxygen bug -
41 * without this, doxygen does not see the actual #define
42 */
43
44#if !defined LWIP_HDR_OPT_H
45#define LWIP_HDR_OPT_H
46
47/*
48 * Include user defined options first. Anything not defined in these files
49 * will be set to standard values. Override anything you don't like!
50 */
51#include "lwipopts.h"
52#include "lwip/debug.h"
53
70
71 /*
72 ------------------------------------
73 -------------- NO SYS --------------
74 ------------------------------------
75*/
88#if !defined NO_SYS || defined __DOXYGEN__
89#define NO_SYS 0
90#endif
94
105#if !defined LWIP_TIMERS || defined __DOXYGEN__
106#ifdef NO_SYS_NO_TIMERS
107#define LWIP_TIMERS (!NO_SYS || (NO_SYS && !NO_SYS_NO_TIMERS))
108#else
109#define LWIP_TIMERS 1
110#endif
111#endif
112
120#if !defined LWIP_TIMERS_CUSTOM || defined __DOXYGEN__
121#define LWIP_TIMERS_CUSTOM 0
122#endif
126
136#if !defined MEMCPY || defined __DOXYGEN__
137#define MEMCPY(dst,src,len) memcpy(dst,src,len)
138#endif
139
144#if !defined SMEMCPY || defined __DOXYGEN__
145#define SMEMCPY(dst,src,len) memcpy(dst,src,len)
146#endif
147
153#if !defined MEMMOVE || defined __DOXYGEN__
154#define MEMMOVE(dst,src,len) memmove(dst,src,len)
155#endif
159
160/*
161 ------------------------------------
162 ----------- Core locking -----------
163 ------------------------------------
164*/
177#if !defined LWIP_MPU_COMPATIBLE || defined __DOXYGEN__
178#define LWIP_MPU_COMPATIBLE 0
179#endif
180
189#if !defined LWIP_TCPIP_CORE_LOCKING || defined __DOXYGEN__
190#define LWIP_TCPIP_CORE_LOCKING 1
191#endif
192
201#if !defined LWIP_TCPIP_CORE_LOCKING_INPUT || defined __DOXYGEN__
202#define LWIP_TCPIP_CORE_LOCKING_INPUT 0
203#endif
204
212#if !defined SYS_LIGHTWEIGHT_PROT || defined __DOXYGEN__
213#define SYS_LIGHTWEIGHT_PROT 1
214#endif
215
226#if !defined LWIP_ASSERT_CORE_LOCKED || defined __DOXYGEN__
227#define LWIP_ASSERT_CORE_LOCKED()
228#endif
229
230
234
235/*
236 ------------------------------------
237 ---------- Memory options ----------
238 ------------------------------------
239*/
251#if !defined MEM_LIBC_MALLOC || defined __DOXYGEN__
252#define MEM_LIBC_MALLOC 0
253#elif MEM_LIBC_MALLOC
254#define MEM_CUSTOM_ALLOCATOR 1
255#define MEM_CUSTOM_FREE free
256#define MEM_CUSTOM_MALLOC malloc
257#define MEM_CUSTOM_CALLOC calloc
258#endif
259
268#if !defined MEM_CUSTOM_ALLOCATOR || defined __DOXYGEN__
269#define MEM_CUSTOM_ALLOCATOR 0
270#endif
271
281#if !defined MEMP_MEM_MALLOC || defined __DOXYGEN__
282#define MEMP_MEM_MALLOC 0
283#endif
284
290#if !defined MEMP_MEM_INIT || defined __DOXYGEN__
291#define MEMP_MEM_INIT 0
292#endif
293
299#if !defined MEM_ALIGNMENT || defined __DOXYGEN__
300#define MEM_ALIGNMENT 1
301#endif
302
307#if !defined MEM_SIZE || defined __DOXYGEN__
308#define MEM_SIZE 1600
309#endif
310
320#if !defined MEMP_OVERFLOW_CHECK || defined __DOXYGEN__
321#define MEMP_OVERFLOW_CHECK 0
322#endif
323
328#if !defined MEMP_SANITY_CHECK || defined __DOXYGEN__
329#define MEMP_SANITY_CHECK 0
330#endif
331
341#if !defined MEM_OVERFLOW_CHECK || defined __DOXYGEN__
342#define MEM_OVERFLOW_CHECK 0
343#endif
344
349#if !defined MEM_SANITY_CHECK || defined __DOXYGEN__
350#define MEM_SANITY_CHECK 0
351#endif
352
359#if !defined MEM_USE_POOLS || defined __DOXYGEN__
360#define MEM_USE_POOLS 0
361#endif
362
367#if !defined MEM_USE_POOLS_TRY_BIGGER_POOL || defined __DOXYGEN__
368#define MEM_USE_POOLS_TRY_BIGGER_POOL 0
369#endif
370
377#if !defined MEMP_USE_CUSTOM_POOLS || defined __DOXYGEN__
378#define MEMP_USE_CUSTOM_POOLS 0
379#endif
380
399#if !defined LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT || defined __DOXYGEN__
400#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0
401#endif
405
406/*
407 ------------------------------------------------
408 ---------- Internal Memory Pool Sizes ----------
409 ------------------------------------------------
410*/
421#if !defined MEMP_NUM_PBUF || defined __DOXYGEN__
422#define MEMP_NUM_PBUF 16
423#endif
424
429#if !defined MEMP_NUM_RAW_PCB || defined __DOXYGEN__
430#define MEMP_NUM_RAW_PCB 4
431#endif
432
438#if !defined MEMP_NUM_UDP_PCB || defined __DOXYGEN__
439#define MEMP_NUM_UDP_PCB 4
440#endif
441
446#if !defined MEMP_NUM_TCP_PCB || defined __DOXYGEN__
447#define MEMP_NUM_TCP_PCB 5
448#endif
449
454#if !defined MEMP_NUM_TCP_PCB_LISTEN || defined __DOXYGEN__
455#define MEMP_NUM_TCP_PCB_LISTEN 8
456#endif
457
462#if !defined MEMP_NUM_TCP_SEG || defined __DOXYGEN__
463#define MEMP_NUM_TCP_SEG 16
464#endif
465
472#if !defined MEMP_NUM_ALTCP_PCB || defined __DOXYGEN__
473#define MEMP_NUM_ALTCP_PCB MEMP_NUM_TCP_PCB
474#endif
475
480#if !defined MEMP_NUM_REASSDATA || defined __DOXYGEN__
481#define MEMP_NUM_REASSDATA 5
482#endif
483
491#if !defined MEMP_NUM_FRAG_PBUF || defined __DOXYGEN__
492#define MEMP_NUM_FRAG_PBUF 15
493#endif
494
501#if !defined MEMP_NUM_ARP_QUEUE || defined __DOXYGEN__
502#define MEMP_NUM_ARP_QUEUE 30
503#endif
504
511#if !defined MEMP_NUM_IGMP_GROUP || defined __DOXYGEN__
512#define MEMP_NUM_IGMP_GROUP 8
513#endif
514
519#define LWIP_NUM_SYS_TIMEOUT_INTERNAL (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_ACD + LWIP_IGMP + LWIP_DNS + PPP_NUM_TIMEOUTS + (LWIP_IPV6 * (1 + LWIP_IPV6_REASS + LWIP_IPV6_MLD + LWIP_IPV6_DHCP6)))
520
526#if !defined MEMP_NUM_SYS_TIMEOUT || defined __DOXYGEN__
527#define MEMP_NUM_SYS_TIMEOUT LWIP_NUM_SYS_TIMEOUT_INTERNAL
528#endif
529
534#if !defined MEMP_NUM_NETBUF || defined __DOXYGEN__
535#define MEMP_NUM_NETBUF 2
536#endif
537
542#if !defined MEMP_NUM_NETCONN || defined __DOXYGEN__
543#define MEMP_NUM_NETCONN 4
544#endif
545
551#if !defined MEMP_NUM_SELECT_CB || defined __DOXYGEN__
552#define MEMP_NUM_SELECT_CB 4
553#endif
554
560#if !defined MEMP_NUM_TCPIP_MSG_API || defined __DOXYGEN__
561#define MEMP_NUM_TCPIP_MSG_API 8
562#endif
563
569#if !defined MEMP_NUM_TCPIP_MSG_INPKT || defined __DOXYGEN__
570#define MEMP_NUM_TCPIP_MSG_INPKT 8
571#endif
572
577#if !defined MEMP_NUM_NETDB || defined __DOXYGEN__
578#define MEMP_NUM_NETDB 1
579#endif
580
585#if !defined MEMP_NUM_LOCALHOSTLIST || defined __DOXYGEN__
586#define MEMP_NUM_LOCALHOSTLIST 1
587#endif
588
592#if !defined PBUF_POOL_SIZE || defined __DOXYGEN__
593#define PBUF_POOL_SIZE 16
594#endif
595
599#if !defined MEMP_NUM_API_MSG || defined __DOXYGEN__
600#define MEMP_NUM_API_MSG MEMP_NUM_TCPIP_MSG_API
601#endif
602
605#if !defined MEMP_NUM_DNS_API_MSG || defined __DOXYGEN__
606#define MEMP_NUM_DNS_API_MSG MEMP_NUM_TCPIP_MSG_API
607#endif
608
612#if !defined MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA || defined __DOXYGEN__
613#define MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA MEMP_NUM_TCPIP_MSG_API
614#endif
615
619#if !defined MEMP_NUM_NETIFAPI_MSG || defined __DOXYGEN__
620#define MEMP_NUM_NETIFAPI_MSG MEMP_NUM_TCPIP_MSG_API
621#endif
625
626/*
627 ---------------------------------
628 ---------- ARP options ----------
629 ---------------------------------
630*/
639#if !defined LWIP_ARP || defined __DOXYGEN__
640#define LWIP_ARP 1
641#endif
642
646#if !defined ARP_TABLE_SIZE || defined __DOXYGEN__
647#define ARP_TABLE_SIZE 10
648#endif
649
654#if !defined ARP_MAXAGE || defined __DOXYGEN__
655#define ARP_MAXAGE 300
656#endif
657
665#if !defined ARP_QUEUEING || defined __DOXYGEN__
666#define ARP_QUEUEING 0
667#endif
668
673#if !defined ARP_QUEUE_LEN || defined __DOXYGEN__
674#define ARP_QUEUE_LEN 3
675#endif
676
687#if !defined ETHARP_SUPPORT_VLAN || defined __DOXYGEN__
688#define ETHARP_SUPPORT_VLAN 0
689#endif
690
701#ifndef LWIP_VLAN_PCP
702#define LWIP_VLAN_PCP 0
703#endif
704
707#if !defined LWIP_ETHERNET || defined __DOXYGEN__
708#define LWIP_ETHERNET LWIP_ARP
709#endif
710
716#if !defined ETH_PAD_SIZE || defined __DOXYGEN__
717#define ETH_PAD_SIZE 0
718#endif
719
723#if !defined ETHARP_SUPPORT_STATIC_ENTRIES || defined __DOXYGEN__
724#define ETHARP_SUPPORT_STATIC_ENTRIES 0
725#endif
726
731#if !defined ETHARP_TABLE_MATCH_NETIF || defined __DOXYGEN__
732#define ETHARP_TABLE_MATCH_NETIF !LWIP_SINGLE_NETIF
733#endif
737
738/*
739 --------------------------------
740 ---------- IP options ----------
741 --------------------------------
742*/
751#if !defined LWIP_IPV4 || defined __DOXYGEN__
752#define LWIP_IPV4 1
753#endif
754
760#if !defined IP_FORWARD || defined __DOXYGEN__
761#define IP_FORWARD 0
762#endif
763
769#if !defined IP_REASSEMBLY || defined __DOXYGEN__
770#define IP_REASSEMBLY 1
771#endif
772
778#if !defined IP_FRAG || defined __DOXYGEN__
779#define IP_FRAG 1
780#endif
781
782#if !LWIP_IPV4
783/* disable IPv4 extensions when IPv4 is disabled */
784#undef IP_FORWARD
785#define IP_FORWARD 0
786#undef IP_REASSEMBLY
787#define IP_REASSEMBLY 0
788#undef IP_FRAG
789#define IP_FRAG 0
790#endif /* !LWIP_IPV4 */
791
797#if !defined IP_OPTIONS_ALLOWED || defined __DOXYGEN__
798#define IP_OPTIONS_ALLOWED 1
799#endif
800
806#if !defined IP_REASS_MAXAGE || defined __DOXYGEN__
807#define IP_REASS_MAXAGE 15
808#endif
809
818#if !defined IP_REASS_MAX_PBUFS || defined __DOXYGEN__
819#define IP_REASS_MAX_PBUFS 10
820#endif
821
825#if !defined IP_DEFAULT_TTL || defined __DOXYGEN__
826#define IP_DEFAULT_TTL 255
827#endif
828
834#if !defined IP_SOF_BROADCAST || defined __DOXYGEN__
835#define IP_SOF_BROADCAST 0
836#endif
837
842#if !defined IP_SOF_BROADCAST_RECV || defined __DOXYGEN__
843#define IP_SOF_BROADCAST_RECV 0
844#endif
845
853#if !defined IP_FORWARD_ALLOW_TX_ON_RX_NETIF || defined __DOXYGEN__
854#define IP_FORWARD_ALLOW_TX_ON_RX_NETIF 0
855#endif
859
860/*
861 ----------------------------------
862 ---------- ICMP options ----------
863 ----------------------------------
864*/
874#if !defined LWIP_ICMP || defined __DOXYGEN__
875#define LWIP_ICMP 1
876#endif
877
881#if !defined ICMP_TTL || defined __DOXYGEN__
882#define ICMP_TTL IP_DEFAULT_TTL
883#endif
884
888#if !defined LWIP_BROADCAST_PING || defined __DOXYGEN__
889#define LWIP_BROADCAST_PING 0
890#endif
891
895#if !defined LWIP_MULTICAST_PING || defined __DOXYGEN__
896#define LWIP_MULTICAST_PING 0
897#endif
901
902/*
903 ---------------------------------
904 ---------- RAW options ----------
905 ---------------------------------
906*/
915#if !defined LWIP_RAW || defined __DOXYGEN__
916#define LWIP_RAW 0
917#endif
918
922#if !defined RAW_TTL || defined __DOXYGEN__
923#define RAW_TTL IP_DEFAULT_TTL
924#endif
928
929/*
930 ----------------------------------
931 ---------- DHCP options ----------
932 ----------------------------------
933*/
942#if !defined LWIP_DHCP || defined __DOXYGEN__
943#define LWIP_DHCP 0
944#endif
945#if !LWIP_IPV4
946/* disable DHCP when IPv4 is disabled */
947#undef LWIP_DHCP
948#define LWIP_DHCP 0
949#endif /* !LWIP_IPV4 */
950
954#if !defined LWIP_DHCP_DOES_ACD_CHECK || defined __DOXYGEN__
955#define LWIP_DHCP_DOES_ACD_CHECK LWIP_DHCP
956#endif
957
961#if !defined LWIP_DHCP_BOOTP_FILE || defined __DOXYGEN__
962#define LWIP_DHCP_BOOTP_FILE 0
963#endif
964
970#if !defined LWIP_DHCP_GET_NTP_SRV || defined __DOXYGEN__
971#define LWIP_DHCP_GET_NTP_SRV 0
972#endif
973
977#if !defined LWIP_DHCP_MAX_NTP_SERVERS || defined __DOXYGEN__
978#define LWIP_DHCP_MAX_NTP_SERVERS 1
979#endif
980
986#if !defined LWIP_DHCP_MAX_DNS_SERVERS || defined __DOXYGEN__
987#define LWIP_DHCP_MAX_DNS_SERVERS DNS_MAX_SERVERS
988#endif
989
994#if !defined LWIP_DHCP_DISCOVER_ADD_HOSTNAME || defined __DOXYGEN__
995#define LWIP_DHCP_DISCOVER_ADD_HOSTNAME 1
996#endif /* LWIP_DHCP_DISCOVER_ADD_HOSTNAME */
1000
1001/*
1002 ------------------------------------
1003 ---------- AUTOIP options ----------
1004 ------------------------------------
1005*/
1014#if !defined LWIP_AUTOIP || defined __DOXYGEN__
1015#define LWIP_AUTOIP 0
1016#endif
1017#if !LWIP_IPV4
1018/* disable AUTOIP when IPv4 is disabled */
1019#undef LWIP_AUTOIP
1020#define LWIP_AUTOIP 0
1021#endif /* !LWIP_IPV4 */
1022
1027#if !defined LWIP_DHCP_AUTOIP_COOP || defined __DOXYGEN__
1028#define LWIP_DHCP_AUTOIP_COOP 0
1029#endif
1030
1038#if !defined LWIP_DHCP_AUTOIP_COOP_TRIES || defined __DOXYGEN__
1039#define LWIP_DHCP_AUTOIP_COOP_TRIES 9
1040#endif
1044
1045/*
1046 ------------------------------------
1047 ----------- ACD options ------------
1048 ------------------------------------
1049*/
1058#if !defined LWIP_ACD || defined __DOXYGEN__
1059#define LWIP_ACD (LWIP_AUTOIP || LWIP_DHCP_DOES_ACD_CHECK)
1060#endif
1061#if !LWIP_IPV4
1062/* disable ACD when IPv4 is disabled */
1063#undef LWIP_ACD
1064#define LWIP_ACD 0
1065#endif /* !LWIP_IPV4 */
1069
1070/*
1071 ----------------------------------
1072 ----- SNMP MIB2 support -----
1073 ----------------------------------
1074*/
1085#if !defined LWIP_MIB2_CALLBACKS || defined __DOXYGEN__
1086#define LWIP_MIB2_CALLBACKS 0
1087#endif
1091
1092/*
1093 ----------------------------------
1094 -------- Multicast options -------
1095 ----------------------------------
1096*/
1107#if !defined LWIP_MULTICAST_TX_OPTIONS || defined __DOXYGEN__
1108#define LWIP_MULTICAST_TX_OPTIONS ((LWIP_IGMP || LWIP_IPV6_MLD) && (LWIP_UDP || LWIP_RAW))
1109#endif
1113
1114/*
1115 ----------------------------------
1116 ---------- IGMP options ----------
1117 ----------------------------------
1118*/
1127#if !defined LWIP_IGMP || defined __DOXYGEN__
1128#define LWIP_IGMP 0
1129#endif
1130#if !LWIP_IPV4
1131#undef LWIP_IGMP
1132#define LWIP_IGMP 0
1133#endif
1137
1138/*
1139 ----------------------------------
1140 ---------- DNS options -----------
1141 ----------------------------------
1142*/
1152#if !defined LWIP_DNS || defined __DOXYGEN__
1153#define LWIP_DNS 0
1154#endif
1155
1157#if !defined DNS_TABLE_SIZE || defined __DOXYGEN__
1158#define DNS_TABLE_SIZE 4
1159#endif
1160
1162#if !defined DNS_MAX_NAME_LENGTH || defined __DOXYGEN__
1163#define DNS_MAX_NAME_LENGTH 256
1164#endif
1165
1170#if !defined DNS_MAX_SERVERS || defined __DOXYGEN__
1171#define DNS_MAX_SERVERS 2
1172#endif
1173
1175#if !defined DNS_MAX_RETRIES || defined __DOXYGEN__
1176#define DNS_MAX_RETRIES 4
1177#endif
1178
1180#if !defined DNS_DOES_NAME_CHECK || defined __DOXYGEN__
1181#define DNS_DOES_NAME_CHECK 1
1182#endif
1183
1188#if !defined LWIP_DNS_SECURE || defined __DOXYGEN__
1189#define LWIP_DNS_SECURE (LWIP_DNS_SECURE_RAND_XID | LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING | LWIP_DNS_SECURE_RAND_SRC_PORT)
1190#endif
1191
1192/* A list of DNS security features follows */
1193#define LWIP_DNS_SECURE_RAND_XID 1
1194#define LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING 2
1195#define LWIP_DNS_SECURE_RAND_SRC_PORT 4
1196
1207#if !defined DNS_LOCAL_HOSTLIST || defined __DOXYGEN__
1208#define DNS_LOCAL_HOSTLIST 0
1209#endif /* DNS_LOCAL_HOSTLIST */
1210
1213#if !defined DNS_LOCAL_HOSTLIST_IS_DYNAMIC || defined __DOXYGEN__
1214#define DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0
1215#endif /* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */
1216
1219#if !defined LWIP_DNS_SUPPORT_MDNS_QUERIES || defined __DOXYGEN__
1220#define LWIP_DNS_SUPPORT_MDNS_QUERIES 0
1221#endif
1225
1226/*
1227 ---------------------------------
1228 ---------- UDP options ----------
1229 ---------------------------------
1230*/
1239#if !defined LWIP_UDP || defined __DOXYGEN__
1240#define LWIP_UDP 1
1241#endif
1242
1246#if !defined LWIP_UDPLITE || defined __DOXYGEN__
1247#define LWIP_UDPLITE 0
1248#endif
1249
1253#if !defined UDP_TTL || defined __DOXYGEN__
1254#define UDP_TTL IP_DEFAULT_TTL
1255#endif
1256
1260#if !defined LWIP_NETBUF_RECVINFO || defined __DOXYGEN__
1261#define LWIP_NETBUF_RECVINFO 0
1262#endif
1266
1267/*
1268 ---------------------------------
1269 ---------- TCP options ----------
1270 ---------------------------------
1271*/
1280#if !defined LWIP_TCP || defined __DOXYGEN__
1281#define LWIP_TCP 1
1282#endif
1283
1287#if !defined TCP_TTL || defined __DOXYGEN__
1288#define TCP_TTL IP_DEFAULT_TTL
1289#endif
1290
1298#if !defined TCP_WND || defined __DOXYGEN__
1299#define TCP_WND (4 * TCP_MSS)
1300#endif
1301
1305#if !defined TCP_MAXRTX || defined __DOXYGEN__
1306#define TCP_MAXRTX 12
1307#endif
1308
1312#if !defined TCP_SYNMAXRTX || defined __DOXYGEN__
1313#define TCP_SYNMAXRTX 6
1314#endif
1315
1320#if !defined TCP_QUEUE_OOSEQ || defined __DOXYGEN__
1321#define TCP_QUEUE_OOSEQ LWIP_TCP
1322#endif
1323
1327#if !defined LWIP_TCP_SACK_OUT || defined __DOXYGEN__
1328#define LWIP_TCP_SACK_OUT 0
1329#endif
1330
1341#if !defined LWIP_TCP_MAX_SACK_NUM || defined __DOXYGEN__
1342#define LWIP_TCP_MAX_SACK_NUM 4
1343#endif
1344
1352#if !defined TCP_MSS || defined __DOXYGEN__
1353#define TCP_MSS 536
1354#endif
1355
1364#if !defined TCP_CALCULATE_EFF_SEND_MSS || defined __DOXYGEN__
1365#define TCP_CALCULATE_EFF_SEND_MSS 1
1366#endif
1367
1374#if !defined LWIP_TCP_RTO_TIME || defined __DOXYGEN__
1375#define LWIP_TCP_RTO_TIME 3000
1376#endif
1377
1382#if !defined TCP_SND_BUF || defined __DOXYGEN__
1383#define TCP_SND_BUF (2 * TCP_MSS)
1384#endif
1385
1390#if !defined TCP_SND_QUEUELEN || defined __DOXYGEN__
1391#define TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS))
1392#endif
1393
1399#if !defined TCP_SNDLOWAT || defined __DOXYGEN__
1400#define TCP_SNDLOWAT LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1)
1401#endif
1402
1408#if !defined TCP_SNDQUEUELOWAT || defined __DOXYGEN__
1409#define TCP_SNDQUEUELOWAT LWIP_MAX(((TCP_SND_QUEUELEN)/2), 5)
1410#endif
1411
1417#if !defined TCP_OOSEQ_MAX_BYTES || defined __DOXYGEN__
1418#define TCP_OOSEQ_MAX_BYTES 0
1419#endif
1420
1427#if !defined TCP_OOSEQ_BYTES_LIMIT
1428#if TCP_OOSEQ_MAX_BYTES
1429#define TCP_OOSEQ_BYTES_LIMIT(pcb) TCP_OOSEQ_MAX_BYTES
1430#elif defined __DOXYGEN__
1431#define TCP_OOSEQ_BYTES_LIMIT(pcb)
1432#endif
1433#endif
1434
1440#if !defined TCP_OOSEQ_MAX_PBUFS || defined __DOXYGEN__
1441#define TCP_OOSEQ_MAX_PBUFS 0
1442#endif
1443
1450#if !defined TCP_OOSEQ_PBUFS_LIMIT
1451#if TCP_OOSEQ_MAX_PBUFS
1452#define TCP_OOSEQ_PBUFS_LIMIT(pcb) TCP_OOSEQ_MAX_PBUFS
1453#elif defined __DOXYGEN__
1454#define TCP_OOSEQ_PBUFS_LIMIT(pcb)
1455#endif
1456#endif
1457
1461#if !defined TCP_LISTEN_BACKLOG || defined __DOXYGEN__
1462#define TCP_LISTEN_BACKLOG 0
1463#endif
1464
1470#if !defined TCP_DEFAULT_LISTEN_BACKLOG || defined __DOXYGEN__
1471#define TCP_DEFAULT_LISTEN_BACKLOG 0xff
1472#endif
1473
1488#if !defined TCP_OVERSIZE || defined __DOXYGEN__
1489#define TCP_OVERSIZE TCP_MSS
1490#endif
1491
1498#if !defined LWIP_TCP_TIMESTAMPS || defined __DOXYGEN__
1499#define LWIP_TCP_TIMESTAMPS 0
1500#endif
1501
1506#if !defined TCP_WND_UPDATE_THRESHOLD || defined __DOXYGEN__
1507#define TCP_WND_UPDATE_THRESHOLD LWIP_MIN((TCP_WND / 4), (TCP_MSS * 4))
1508#endif
1509
1517#if !defined(LWIP_EVENT_API) && !defined(LWIP_CALLBACK_API) || defined __DOXYGEN__
1518#define LWIP_EVENT_API 0
1519#define LWIP_CALLBACK_API 1
1520#else
1521#ifndef LWIP_EVENT_API
1522#define LWIP_EVENT_API 0
1523#endif
1524#ifndef LWIP_CALLBACK_API
1525#define LWIP_CALLBACK_API 0
1526#endif
1527#endif
1528
1537#if !defined LWIP_WND_SCALE || defined __DOXYGEN__
1538#define LWIP_WND_SCALE 0
1539#define TCP_RCV_SCALE 0
1540#endif
1541
1547#if !defined LWIP_TCP_PCB_NUM_EXT_ARGS || defined __DOXYGEN__
1548#define LWIP_TCP_PCB_NUM_EXT_ARGS 0
1549#endif
1550
1563#if !defined LWIP_ALTCP || defined __DOXYGEN__
1564#define LWIP_ALTCP 0
1565#endif
1566
1572#if !defined LWIP_ALTCP_TLS || defined __DOXYGEN__
1573#define LWIP_ALTCP_TLS 0
1574#endif
1575
1579
1580/*
1581 ----------------------------------
1582 ---------- Pbuf options ----------
1583 ----------------------------------
1584*/
1595 #if !defined PBUF_LINK_HLEN || defined __DOXYGEN__
1596#if (defined LWIP_HOOK_VLAN_SET || LWIP_VLAN_PCP) && !defined __DOXYGEN__
1597 #define PBUF_LINK_HLEN (18 + ETH_PAD_SIZE)
1598#else /* LWIP_HOOK_VLAN_SET || LWIP_VLAN_PCP */
1599 #define PBUF_LINK_HLEN (14 + ETH_PAD_SIZE)
1600#endif /* LWIP_HOOK_VLAN_SET || LWIP_VLAN_PCP */
1601 #endif
1602
1607#if !defined PBUF_LINK_ENCAPSULATION_HLEN || defined __DOXYGEN__
1608#define PBUF_LINK_ENCAPSULATION_HLEN 0
1609#endif
1610
1616#if !defined PBUF_POOL_BUFSIZE || defined __DOXYGEN__
1617#define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+PBUF_IP_HLEN+PBUF_TRANSPORT_HLEN+PBUF_LINK_ENCAPSULATION_HLEN+PBUF_LINK_HLEN)
1618#endif
1619
1624#if !defined LWIP_PBUF_REF_T || defined __DOXYGEN__
1625#define LWIP_PBUF_REF_T u8_t
1626#endif
1627
1634#if !defined LWIP_PBUF_CUSTOM_DATA || defined __DOXYGEN__
1635#define LWIP_PBUF_CUSTOM_DATA
1636#endif
1637
1643#if !defined LWIP_PBUF_CUSTOM_DATA_INIT || defined __DOXYGEN__
1644#define LWIP_PBUF_CUSTOM_DATA_INIT(p)
1645#endif
1646
1650
1651/*
1652 ------------------------------------------------
1653 ---------- Network Interfaces options ----------
1654 ------------------------------------------------
1655*/
1665#if !defined LWIP_SINGLE_NETIF || defined __DOXYGEN__
1666#define LWIP_SINGLE_NETIF 0
1667#endif
1668
1673#if !defined LWIP_NETIF_HOSTNAME || defined __DOXYGEN__
1674#define LWIP_NETIF_HOSTNAME 0
1675#endif
1676
1680#if !defined LWIP_NETIF_API || defined __DOXYGEN__
1681#define LWIP_NETIF_API 0
1682#endif
1683
1688#if !defined LWIP_NETIF_STATUS_CALLBACK || defined __DOXYGEN__
1689#define LWIP_NETIF_STATUS_CALLBACK 0
1690#endif
1691
1697#if !defined LWIP_NETIF_EXT_STATUS_CALLBACK || defined __DOXYGEN__
1698#define LWIP_NETIF_EXT_STATUS_CALLBACK 0
1699#endif
1700
1705#if !defined LWIP_NETIF_LINK_CALLBACK || defined __DOXYGEN__
1706#define LWIP_NETIF_LINK_CALLBACK 0
1707#endif
1708
1713#if !defined LWIP_NETIF_REMOVE_CALLBACK || defined __DOXYGEN__
1714#define LWIP_NETIF_REMOVE_CALLBACK 0
1715#endif
1716
1724#if !defined LWIP_NETIF_HWADDRHINT || defined __DOXYGEN__
1725#define LWIP_NETIF_HWADDRHINT 0
1726#endif
1727
1746#if !defined LWIP_NETIF_TX_SINGLE_PBUF || defined __DOXYGEN__
1747#define LWIP_NETIF_TX_SINGLE_PBUF 0
1748#endif /* LWIP_NETIF_TX_SINGLE_PBUF */
1749
1754#if !defined LWIP_NUM_NETIF_CLIENT_DATA || defined __DOXYGEN__
1755#define LWIP_NUM_NETIF_CLIENT_DATA 0
1756#endif
1760
1761/*
1762 ------------------------------------
1763 ---------- LOOPIF options ----------
1764 ------------------------------------
1765*/
1776#if !defined LWIP_HAVE_LOOPIF || defined __DOXYGEN__
1777#define LWIP_HAVE_LOOPIF (LWIP_NETIF_LOOPBACK && !LWIP_SINGLE_NETIF)
1778#endif
1779
1783#if !defined LWIP_LOOPIF_MULTICAST || defined __DOXYGEN__
1784#define LWIP_LOOPIF_MULTICAST 0
1785#endif
1786
1791#if !defined LWIP_NETIF_LOOPBACK || defined __DOXYGEN__
1792#define LWIP_NETIF_LOOPBACK 0
1793#endif
1794
1799#if !defined LWIP_LOOPBACK_MAX_PBUFS || defined __DOXYGEN__
1800#define LWIP_LOOPBACK_MAX_PBUFS 0
1801#endif
1802
1816#if !defined LWIP_NETIF_LOOPBACK_MULTITHREADING || defined __DOXYGEN__
1817#define LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS)
1818#endif
1822
1823/*
1824 ------------------------------------
1825 ---------- Thread options ----------
1826 ------------------------------------
1827*/
1836#if !defined TCPIP_THREAD_NAME || defined __DOXYGEN__
1837#define TCPIP_THREAD_NAME "tcpip_thread"
1838#endif
1839
1845#if !defined TCPIP_THREAD_STACKSIZE || defined __DOXYGEN__
1846#define TCPIP_THREAD_STACKSIZE 0
1847#endif
1848
1854#if !defined TCPIP_THREAD_PRIO || defined __DOXYGEN__
1855#define TCPIP_THREAD_PRIO 1
1856#endif
1857
1863#if !defined TCPIP_MBOX_SIZE || defined __DOXYGEN__
1864#define TCPIP_MBOX_SIZE 0
1865#endif
1866
1871#if !defined LWIP_TCPIP_THREAD_ALIVE || defined __DOXYGEN__
1872#define LWIP_TCPIP_THREAD_ALIVE()
1873#endif
1874
1878#if !defined SLIPIF_THREAD_NAME || defined __DOXYGEN__
1879#define SLIPIF_THREAD_NAME "slipif_loop"
1880#endif
1881
1887#if !defined SLIPIF_THREAD_STACKSIZE || defined __DOXYGEN__
1888#define SLIPIF_THREAD_STACKSIZE 0
1889#endif
1890
1896#if !defined SLIPIF_THREAD_PRIO || defined __DOXYGEN__
1897#define SLIPIF_THREAD_PRIO 1
1898#endif
1899
1903#if !defined DEFAULT_THREAD_NAME || defined __DOXYGEN__
1904#define DEFAULT_THREAD_NAME "lwIP"
1905#endif
1906
1912#if !defined DEFAULT_THREAD_STACKSIZE || defined __DOXYGEN__
1913#define DEFAULT_THREAD_STACKSIZE 0
1914#endif
1915
1921#if !defined DEFAULT_THREAD_PRIO || defined __DOXYGEN__
1922#define DEFAULT_THREAD_PRIO 1
1923#endif
1924
1930#if !defined DEFAULT_RAW_RECVMBOX_SIZE || defined __DOXYGEN__
1931#define DEFAULT_RAW_RECVMBOX_SIZE 0
1932#endif
1933
1939#if !defined DEFAULT_UDP_RECVMBOX_SIZE || defined __DOXYGEN__
1940#define DEFAULT_UDP_RECVMBOX_SIZE 0
1941#endif
1942
1948#if !defined DEFAULT_TCP_RECVMBOX_SIZE || defined __DOXYGEN__
1949#define DEFAULT_TCP_RECVMBOX_SIZE 0
1950#endif
1951
1957#if !defined DEFAULT_ACCEPTMBOX_SIZE || defined __DOXYGEN__
1958#define DEFAULT_ACCEPTMBOX_SIZE 0
1959#endif
1963
1964/*
1965 ----------------------------------------------
1966 ---------- Sequential layer options ----------
1967 ----------------------------------------------
1968*/
1977#if !defined LWIP_NETCONN || defined __DOXYGEN__
1978#define LWIP_NETCONN 1
1979#endif
1980
1984#if !defined LWIP_TCPIP_TIMEOUT || defined __DOXYGEN__
1985#define LWIP_TCPIP_TIMEOUT 0
1986#endif
1987
1998#if !defined LWIP_NETCONN_SEM_PER_THREAD || defined __DOXYGEN__
1999#define LWIP_NETCONN_SEM_PER_THREAD 0
2000#endif
2001
2007#if !defined LWIP_NETCONN_FULLDUPLEX || defined __DOXYGEN__
2008#define LWIP_NETCONN_FULLDUPLEX 0
2009#endif
2013
2014/*
2015 ------------------------------------
2016 ---------- Socket options ----------
2017 ------------------------------------
2018*/
2027#if !defined LWIP_SOCKET || defined __DOXYGEN__
2028#define LWIP_SOCKET 1
2029#endif
2030
2037#if !defined LWIP_COMPAT_SOCKETS || defined __DOXYGEN__
2038#define LWIP_COMPAT_SOCKETS 1
2039#endif
2040
2046#if !defined LWIP_POSIX_SOCKETS_IO_NAMES || defined __DOXYGEN__
2047#define LWIP_POSIX_SOCKETS_IO_NAMES 1
2048#endif
2049
2057#if !defined LWIP_SOCKET_OFFSET || defined __DOXYGEN__
2058#define LWIP_SOCKET_OFFSET 0
2059#endif
2060
2068#if !defined LWIP_SOCKET_EXTERNAL_HEADERS || defined __DOXYGEN__
2069#define LWIP_SOCKET_EXTERNAL_HEADERS 0
2070#endif
2071
2077#if !defined LWIP_TCP_KEEPALIVE || defined __DOXYGEN__
2078#define LWIP_TCP_KEEPALIVE 0
2079#endif
2080
2085#if !defined LWIP_SO_SNDTIMEO || defined __DOXYGEN__
2086#define LWIP_SO_SNDTIMEO 0
2087#endif
2088
2093#if !defined LWIP_SO_RCVTIMEO || defined __DOXYGEN__
2094#define LWIP_SO_RCVTIMEO 0
2095#endif
2096
2101#if !defined LWIP_SO_SNDRCVTIMEO_NONSTANDARD || defined __DOXYGEN__
2102#define LWIP_SO_SNDRCVTIMEO_NONSTANDARD 0
2103#endif
2104
2108#if !defined LWIP_SO_RCVBUF || defined __DOXYGEN__
2109#define LWIP_SO_RCVBUF 0
2110#endif
2111
2115#if !defined LWIP_SO_LINGER || defined __DOXYGEN__
2116#define LWIP_SO_LINGER 0
2117#endif
2118
2122#if !defined RECV_BUFSIZE_DEFAULT || defined __DOXYGEN__
2123#define RECV_BUFSIZE_DEFAULT INT_MAX
2124#endif
2125
2129#if !defined LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT || defined __DOXYGEN__
2130#define LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT 20000
2131#endif
2132
2136#if !defined SO_REUSE || defined __DOXYGEN__
2137#define SO_REUSE 0
2138#endif
2139
2145#if !defined SO_REUSE_RXTOALL || defined __DOXYGEN__
2146#define SO_REUSE_RXTOALL 0
2147#endif
2148
2157#if !defined LWIP_FIONREAD_LINUXMODE || defined __DOXYGEN__
2158#define LWIP_FIONREAD_LINUXMODE 0
2159#endif
2160
2167#if !defined LWIP_SOCKET_SELECT || defined __DOXYGEN__
2168#define LWIP_SOCKET_SELECT 1
2169#endif
2170
2175#if !defined LWIP_SOCKET_POLL || defined __DOXYGEN__
2176#define LWIP_SOCKET_POLL 1
2177#endif
2181
2182/*
2183 ----------------------------------------
2184 ---------- Statistics options ----------
2185 ----------------------------------------
2186*/
2195#if !defined LWIP_STATS || defined __DOXYGEN__
2196#define LWIP_STATS 1
2197#endif
2198
2199#if LWIP_STATS
2200
2204#if !defined LWIP_STATS_DISPLAY || defined __DOXYGEN__
2205#define LWIP_STATS_DISPLAY 0
2206#endif
2207
2211#if !defined LINK_STATS || defined __DOXYGEN__
2212#define LINK_STATS 1
2213#endif
2214
2218#if !defined ETHARP_STATS || defined __DOXYGEN__
2219#define ETHARP_STATS (LWIP_ARP)
2220#endif
2221
2225#if !defined IP_STATS || defined __DOXYGEN__
2226#define IP_STATS 1
2227#endif
2228
2233#if !defined IPFRAG_STATS || defined __DOXYGEN__
2234#define IPFRAG_STATS (IP_REASSEMBLY || IP_FRAG)
2235#endif
2236
2240#if !defined ICMP_STATS || defined __DOXYGEN__
2241#define ICMP_STATS 1
2242#endif
2243
2247#if !defined IGMP_STATS || defined __DOXYGEN__
2248#define IGMP_STATS (LWIP_IGMP)
2249#endif
2250
2255#if !defined UDP_STATS || defined __DOXYGEN__
2256#define UDP_STATS (LWIP_UDP)
2257#endif
2258
2263#if !defined TCP_STATS || defined __DOXYGEN__
2264#define TCP_STATS (LWIP_TCP)
2265#endif
2266
2270#if !defined MEM_STATS || defined __DOXYGEN__
2271#define MEM_STATS ((MEM_CUSTOM_ALLOCATOR == 0) && (MEM_USE_POOLS == 0))
2272#endif
2273
2277#if !defined MEMP_STATS || defined __DOXYGEN__
2278#define MEMP_STATS (MEMP_MEM_MALLOC == 0)
2279#endif
2280
2284#if !defined SYS_STATS || defined __DOXYGEN__
2285#define SYS_STATS (NO_SYS == 0)
2286#endif
2287
2291#if !defined IP6_STATS || defined __DOXYGEN__
2292#define IP6_STATS (LWIP_IPV6)
2293#endif
2294
2298#if !defined ICMP6_STATS || defined __DOXYGEN__
2299#define ICMP6_STATS (LWIP_IPV6 && LWIP_ICMP6)
2300#endif
2301
2305#if !defined IP6_FRAG_STATS || defined __DOXYGEN__
2306#define IP6_FRAG_STATS (LWIP_IPV6 && (LWIP_IPV6_FRAG || LWIP_IPV6_REASS))
2307#endif
2308
2312#if !defined MLD6_STATS || defined __DOXYGEN__
2313#define MLD6_STATS (LWIP_IPV6 && LWIP_IPV6_MLD)
2314#endif
2315
2319#if !defined ND6_STATS || defined __DOXYGEN__
2320#define ND6_STATS (LWIP_IPV6)
2321#endif
2322
2326#if !defined MIB2_STATS || defined __DOXYGEN__
2327#define MIB2_STATS 0
2328#endif
2329
2330#else
2331
2332#define LINK_STATS 0
2333#define ETHARP_STATS 0
2334#define IP_STATS 0
2335#define IPFRAG_STATS 0
2336#define ICMP_STATS 0
2337#define IGMP_STATS 0
2338#define UDP_STATS 0
2339#define TCP_STATS 0
2340#define MEM_STATS 0
2341#define MEMP_STATS 0
2342#define SYS_STATS 0
2343#define LWIP_STATS_DISPLAY 0
2344#define IP6_STATS 0
2345#define ICMP6_STATS 0
2346#define IP6_FRAG_STATS 0
2347#define MLD6_STATS 0
2348#define ND6_STATS 0
2349#define MIB2_STATS 0
2350
2351#endif /* LWIP_STATS */
2355
2356/*
2357 --------------------------------------
2358 ---------- Checksum options ----------
2359 --------------------------------------
2360*/
2371#if !defined LWIP_CHECKSUM_CTRL_PER_NETIF || defined __DOXYGEN__
2372#define LWIP_CHECKSUM_CTRL_PER_NETIF 0
2373#endif
2374
2378#if !defined CHECKSUM_GEN_IP || defined __DOXYGEN__
2379#define CHECKSUM_GEN_IP 1
2380#endif
2381
2385#if !defined CHECKSUM_GEN_UDP || defined __DOXYGEN__
2386#define CHECKSUM_GEN_UDP 1
2387#endif
2388
2392#if !defined CHECKSUM_GEN_TCP || defined __DOXYGEN__
2393#define CHECKSUM_GEN_TCP 1
2394#endif
2395
2399#if !defined CHECKSUM_GEN_ICMP || defined __DOXYGEN__
2400#define CHECKSUM_GEN_ICMP 1
2401#endif
2402
2406#if !defined CHECKSUM_GEN_ICMP6 || defined __DOXYGEN__
2407#define CHECKSUM_GEN_ICMP6 1
2408#endif
2409
2413#if !defined CHECKSUM_CHECK_IP || defined __DOXYGEN__
2414#define CHECKSUM_CHECK_IP 1
2415#endif
2416
2420#if !defined CHECKSUM_CHECK_UDP || defined __DOXYGEN__
2421#define CHECKSUM_CHECK_UDP 1
2422#endif
2423
2427#if !defined CHECKSUM_CHECK_TCP || defined __DOXYGEN__
2428#define CHECKSUM_CHECK_TCP 1
2429#endif
2430
2434#if !defined CHECKSUM_CHECK_ICMP || defined __DOXYGEN__
2435#define CHECKSUM_CHECK_ICMP 1
2436#endif
2437
2441#if !defined CHECKSUM_CHECK_ICMP6 || defined __DOXYGEN__
2442#define CHECKSUM_CHECK_ICMP6 1
2443#endif
2444
2449#if !defined LWIP_CHECKSUM_ON_COPY || defined __DOXYGEN__
2450#define LWIP_CHECKSUM_ON_COPY 0
2451#endif
2455
2456/*
2457 ---------------------------------------
2458 ---------- IPv6 options ---------------
2459 ---------------------------------------
2460*/
2469#if !defined LWIP_IPV6 || defined __DOXYGEN__
2470#define LWIP_IPV6 0
2471#endif
2472
2478#if !defined IPV6_REASS_MAXAGE || defined __DOXYGEN__
2479#define IPV6_REASS_MAXAGE 60
2480#endif
2481
2499#if !defined LWIP_IPV6_SCOPES || defined __DOXYGEN__
2500#define LWIP_IPV6_SCOPES (LWIP_IPV6 && !LWIP_SINGLE_NETIF)
2501#endif
2502
2509#if !defined LWIP_IPV6_SCOPES_DEBUG || defined __DOXYGEN__
2510#define LWIP_IPV6_SCOPES_DEBUG 0
2511#endif
2512
2516#if !defined LWIP_IPV6_NUM_ADDRESSES || defined __DOXYGEN__
2517#define LWIP_IPV6_NUM_ADDRESSES 3
2518#endif
2519
2523#if !defined LWIP_IPV6_FORWARD || defined __DOXYGEN__
2524#define LWIP_IPV6_FORWARD 0
2525#endif
2526
2530#if !defined LWIP_IPV6_FRAG || defined __DOXYGEN__
2531#define LWIP_IPV6_FRAG 1
2532#endif
2533
2537#if !defined LWIP_IPV6_REASS || defined __DOXYGEN__
2538#define LWIP_IPV6_REASS LWIP_IPV6
2539#endif
2540
2545#if !defined LWIP_IPV6_SEND_ROUTER_SOLICIT || defined __DOXYGEN__
2546#define LWIP_IPV6_SEND_ROUTER_SOLICIT LWIP_IPV6
2547#endif
2548
2552#if !defined LWIP_IPV6_AUTOCONFIG || defined __DOXYGEN__
2553#define LWIP_IPV6_AUTOCONFIG LWIP_IPV6
2554#endif
2555
2563#if !defined LWIP_IPV6_ADDRESS_LIFETIMES || defined __DOXYGEN__
2564#define LWIP_IPV6_ADDRESS_LIFETIMES LWIP_IPV6_AUTOCONFIG
2565#endif
2566
2570#if !defined LWIP_IPV6_DUP_DETECT_ATTEMPTS || defined __DOXYGEN__
2571#define LWIP_IPV6_DUP_DETECT_ATTEMPTS 1
2572#endif
2576
2585#if !defined LWIP_ICMP6 || defined __DOXYGEN__
2586#define LWIP_ICMP6 LWIP_IPV6
2587#endif
2588
2595#if !defined LWIP_ICMP6_DATASIZE || defined __DOXYGEN__
2596#define LWIP_ICMP6_DATASIZE 0
2597#endif
2598
2602#if !defined LWIP_ICMP6_HL || defined __DOXYGEN__
2603#define LWIP_ICMP6_HL 255
2604#endif
2608
2619#if !defined LWIP_IPV6_MLD || defined __DOXYGEN__
2620#define LWIP_IPV6_MLD LWIP_IPV6
2621#endif
2622
2629#if !defined MEMP_NUM_MLD6_GROUP || defined __DOXYGEN__
2630#define MEMP_NUM_MLD6_GROUP 4
2631#endif
2635
2645#if !defined LWIP_ND6_QUEUEING || defined __DOXYGEN__
2646#define LWIP_ND6_QUEUEING LWIP_IPV6
2647#endif
2648
2652#if !defined MEMP_NUM_ND6_QUEUE || defined __DOXYGEN__
2653#define MEMP_NUM_ND6_QUEUE 20
2654#endif
2655
2659#if !defined LWIP_ND6_NUM_NEIGHBORS || defined __DOXYGEN__
2660#define LWIP_ND6_NUM_NEIGHBORS 10
2661#endif
2662
2666#if !defined LWIP_ND6_NUM_DESTINATIONS || defined __DOXYGEN__
2667#define LWIP_ND6_NUM_DESTINATIONS 10
2668#endif
2669
2673#if !defined LWIP_ND6_NUM_PREFIXES || defined __DOXYGEN__
2674#define LWIP_ND6_NUM_PREFIXES 5
2675#endif
2676
2680#if !defined LWIP_ND6_NUM_ROUTERS || defined __DOXYGEN__
2681#define LWIP_ND6_NUM_ROUTERS 3
2682#endif
2683
2688#if !defined LWIP_ND6_MAX_MULTICAST_SOLICIT || defined __DOXYGEN__
2689#define LWIP_ND6_MAX_MULTICAST_SOLICIT 3
2690#endif
2691
2696#if !defined LWIP_ND6_MAX_UNICAST_SOLICIT || defined __DOXYGEN__
2697#define LWIP_ND6_MAX_UNICAST_SOLICIT 3
2698#endif
2699
2703#if !defined LWIP_ND6_MAX_ANYCAST_DELAY_TIME || defined __DOXYGEN__
2704#define LWIP_ND6_MAX_ANYCAST_DELAY_TIME 1000
2705#endif
2706
2710#if !defined LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT || defined __DOXYGEN__
2711#define LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT 3
2712#endif
2713
2718#if !defined LWIP_ND6_REACHABLE_TIME || defined __DOXYGEN__
2719#define LWIP_ND6_REACHABLE_TIME 30000
2720#endif
2721
2725#if !defined LWIP_ND6_RETRANS_TIMER || defined __DOXYGEN__
2726#define LWIP_ND6_RETRANS_TIMER 1000
2727#endif
2728
2733#if !defined LWIP_ND6_DELAY_FIRST_PROBE_TIME || defined __DOXYGEN__
2734#define LWIP_ND6_DELAY_FIRST_PROBE_TIME 5000
2735#endif
2736
2741#if !defined LWIP_ND6_ALLOW_RA_UPDATES || defined __DOXYGEN__
2742#define LWIP_ND6_ALLOW_RA_UPDATES 1
2743#endif
2744
2750#if !defined LWIP_ND6_TCP_REACHABILITY_HINTS || defined __DOXYGEN__
2751#define LWIP_ND6_TCP_REACHABILITY_HINTS 1
2752#endif
2753
2759#if !defined LWIP_ND6_RDNSS_MAX_DNS_SERVERS || defined __DOXYGEN__
2760#define LWIP_ND6_RDNSS_MAX_DNS_SERVERS 0
2761#endif
2765
2774#if !defined LWIP_IPV6_DHCP6 || defined __DOXYGEN__
2775#define LWIP_IPV6_DHCP6 0
2776#endif
2777
2782#if !defined LWIP_IPV6_DHCP6_STATEFUL || defined __DOXYGEN__
2783#define LWIP_IPV6_DHCP6_STATEFUL 0
2784#endif
2785
2789#if !defined LWIP_IPV6_DHCP6_STATELESS || defined __DOXYGEN__
2790#define LWIP_IPV6_DHCP6_STATELESS LWIP_IPV6_DHCP6
2791#endif
2792
2798#if !defined LWIP_DHCP6_GET_NTP_SRV || defined __DOXYGEN__
2799#define LWIP_DHCP6_GET_NTP_SRV 0
2800#endif
2801
2805#if !defined LWIP_DHCP6_MAX_NTP_SERVERS || defined __DOXYGEN__
2806#define LWIP_DHCP6_MAX_NTP_SERVERS 1
2807#endif
2808
2814#if !defined LWIP_DHCP6_MAX_DNS_SERVERS || defined __DOXYGEN__
2815#define LWIP_DHCP6_MAX_DNS_SERVERS DNS_MAX_SERVERS
2816#endif
2820
2821/*
2822 ---------------------------------------
2823 ---------- Hook options ---------------
2824 ---------------------------------------
2825*/
2826
2833
2839#ifdef __DOXYGEN__
2840#define LWIP_HOOK_FILENAME "path/to/my/lwip_hooks.h"
2841#endif
2842
2864#ifdef __DOXYGEN__
2865#define LWIP_HOOK_TCP_ISN(local_ip, local_port, remote_ip, remote_port)
2866#endif
2867
2894#ifdef __DOXYGEN__
2895#define LWIP_HOOK_TCP_INPACKET_PCB(pcb, hdr, optlen, opt1len, opt2, p)
2896#endif
2897
2916#ifdef __DOXYGEN__
2917#define LWIP_HOOK_TCP_OUT_TCPOPT_LENGTH(pcb, internal_len)
2918#endif
2919
2940#ifdef __DOXYGEN__
2941#define LWIP_HOOK_TCP_OUT_ADD_TCPOPTS(p, hdr, pcb, opts)
2942#endif
2943
2959#ifdef __DOXYGEN__
2960#define LWIP_HOOK_IP4_INPUT(pbuf, input_netif)
2961#endif
2962
2975#ifdef __DOXYGEN__
2976#define LWIP_HOOK_IP4_ROUTE()
2977#endif
2978
2992#ifdef __DOXYGEN__
2993#define LWIP_HOOK_IP4_ROUTE_SRC(src, dest)
2994#endif
2995
3013#ifdef __DOXYGEN__
3014#define LWIP_HOOK_IP4_CANFORWARD(src, dest)
3015#endif
3016
3035#ifdef __DOXYGEN__
3036#define LWIP_HOOK_ETHARP_GET_GW(netif, dest)
3037#endif
3038
3054#ifdef __DOXYGEN__
3055#define LWIP_HOOK_IP6_INPUT(pbuf, input_netif)
3056#endif
3057
3071#ifdef __DOXYGEN__
3072#define LWIP_HOOK_IP6_ROUTE(src, dest)
3073#endif
3074
3093#ifdef __DOXYGEN__
3094#define LWIP_HOOK_ND6_GET_GW(netif, dest)
3095#endif
3096
3111#ifdef __DOXYGEN__
3112#define LWIP_HOOK_VLAN_CHECK(netif, eth_hdr, vlan_hdr)
3113#endif
3114
3135#ifdef __DOXYGEN__
3136#define LWIP_HOOK_VLAN_SET(netif, p, src, dst, eth_type)
3137#endif
3138
3146#ifdef __DOXYGEN__
3147#define LWIP_HOOK_MEMP_AVAILABLE(memp_t_type)
3148#endif
3149
3165#ifdef __DOXYGEN__
3166#define LWIP_HOOK_UNKNOWN_ETH_PROTOCOL(pbuf, netif)
3167#endif
3168
3194#ifdef __DOXYGEN__
3195#define LWIP_HOOK_DHCP_APPEND_OPTIONS(netif, dhcp, state, msg, msg_type, options_len_ptr)
3196#endif
3197
3222#ifdef __DOXYGEN__
3223#define LWIP_HOOK_DHCP_PARSE_OPTION(netif, dhcp, state, msg, msg_type, option, len, pbuf, offset)
3224#endif
3225
3250#ifdef __DOXYGEN__
3251#define LWIP_HOOK_DHCP6_APPEND_OPTIONS(netif, dhcp6, state, msg, msg_type, options_len_ptr, max_len)
3252#endif
3253
3273#ifdef __DOXYGEN__
3274#define LWIP_HOOK_SOCKETS_SETSOCKOPT(s, sock, level, optname, optval, optlen, err)
3275#endif
3276
3296#ifdef __DOXYGEN__
3297#define LWIP_HOOK_SOCKETS_GETSOCKOPT(s, sock, level, optname, optval, optlen, err)
3298#endif
3299
3319#ifdef __DOXYGEN__
3320#define LWIP_HOOK_NETCONN_EXTERNAL_RESOLVE(name, addr, addrtype, err)
3321#endif
3325
3326/*
3327 ---------------------------------------
3328 ---------- Debugging options ----------
3329 ---------------------------------------
3330*/
3342#if !defined LWIP_DBG_MIN_LEVEL || defined __DOXYGEN__
3343#define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL
3344#endif
3345
3351#if !defined LWIP_DBG_TYPES_ON || defined __DOXYGEN__
3352#define LWIP_DBG_TYPES_ON LWIP_DBG_ON
3353#endif
3354
3358#if !defined ETHARP_DEBUG || defined __DOXYGEN__
3359#define ETHARP_DEBUG LWIP_DBG_OFF
3360#endif
3361
3365#if !defined NETIF_DEBUG || defined __DOXYGEN__
3366#define NETIF_DEBUG LWIP_DBG_OFF
3367#endif
3368
3372#if !defined PBUF_DEBUG || defined __DOXYGEN__
3373#define PBUF_DEBUG LWIP_DBG_OFF
3374#endif
3375
3379#if !defined API_LIB_DEBUG || defined __DOXYGEN__
3380#define API_LIB_DEBUG LWIP_DBG_OFF
3381#endif
3382
3386#if !defined API_MSG_DEBUG || defined __DOXYGEN__
3387#define API_MSG_DEBUG LWIP_DBG_OFF
3388#endif
3389
3393#if !defined SOCKETS_DEBUG || defined __DOXYGEN__
3394#define SOCKETS_DEBUG LWIP_DBG_OFF
3395#endif
3396
3400#if !defined ICMP_DEBUG || defined __DOXYGEN__
3401#define ICMP_DEBUG LWIP_DBG_OFF
3402#endif
3403
3407#if !defined IGMP_DEBUG || defined __DOXYGEN__
3408#define IGMP_DEBUG LWIP_DBG_OFF
3409#endif
3410
3414#if !defined INET_DEBUG || defined __DOXYGEN__
3415#define INET_DEBUG LWIP_DBG_OFF
3416#endif
3417
3421#if !defined IP_DEBUG || defined __DOXYGEN__
3422#define IP_DEBUG LWIP_DBG_OFF
3423#endif
3424
3428#if !defined IP_REASS_DEBUG || defined __DOXYGEN__
3429#define IP_REASS_DEBUG LWIP_DBG_OFF
3430#endif
3431
3435#if !defined RAW_DEBUG || defined __DOXYGEN__
3436#define RAW_DEBUG LWIP_DBG_OFF
3437#endif
3438
3442#if !defined MEM_DEBUG || defined __DOXYGEN__
3443#define MEM_DEBUG LWIP_DBG_OFF
3444#endif
3445
3449#if !defined MEMP_DEBUG || defined __DOXYGEN__
3450#define MEMP_DEBUG LWIP_DBG_OFF
3451#endif
3452
3456#if !defined SYS_DEBUG || defined __DOXYGEN__
3457#define SYS_DEBUG LWIP_DBG_OFF
3458#endif
3459
3463#if !defined TIMERS_DEBUG || defined __DOXYGEN__
3464#define TIMERS_DEBUG LWIP_DBG_OFF
3465#endif
3466
3470#if !defined TCP_DEBUG || defined __DOXYGEN__
3471#define TCP_DEBUG LWIP_DBG_OFF
3472#endif
3473
3477#if !defined TCP_INPUT_DEBUG || defined __DOXYGEN__
3478#define TCP_INPUT_DEBUG LWIP_DBG_OFF
3479#endif
3480
3484#if !defined TCP_FR_DEBUG || defined __DOXYGEN__
3485#define TCP_FR_DEBUG LWIP_DBG_OFF
3486#endif
3487
3492#if !defined TCP_RTO_DEBUG || defined __DOXYGEN__
3493#define TCP_RTO_DEBUG LWIP_DBG_OFF
3494#endif
3495
3499#if !defined TCP_CWND_DEBUG || defined __DOXYGEN__
3500#define TCP_CWND_DEBUG LWIP_DBG_OFF
3501#endif
3502
3506#if !defined TCP_WND_DEBUG || defined __DOXYGEN__
3507#define TCP_WND_DEBUG LWIP_DBG_OFF
3508#endif
3509
3513#if !defined TCP_OUTPUT_DEBUG || defined __DOXYGEN__
3514#define TCP_OUTPUT_DEBUG LWIP_DBG_OFF
3515#endif
3516
3520#if !defined TCP_RST_DEBUG || defined __DOXYGEN__
3521#define TCP_RST_DEBUG LWIP_DBG_OFF
3522#endif
3523
3527#if !defined TCP_QLEN_DEBUG || defined __DOXYGEN__
3528#define TCP_QLEN_DEBUG LWIP_DBG_OFF
3529#endif
3530
3534#if !defined UDP_DEBUG || defined __DOXYGEN__
3535#define UDP_DEBUG LWIP_DBG_OFF
3536#endif
3537
3541#if !defined TCPIP_DEBUG || defined __DOXYGEN__
3542#define TCPIP_DEBUG LWIP_DBG_OFF
3543#endif
3544
3548#if !defined SLIP_DEBUG || defined __DOXYGEN__
3549#define SLIP_DEBUG LWIP_DBG_OFF
3550#endif
3551
3555#if !defined DHCP_DEBUG || defined __DOXYGEN__
3556#define DHCP_DEBUG LWIP_DBG_OFF
3557#endif
3558
3562#if !defined AUTOIP_DEBUG || defined __DOXYGEN__
3563#define AUTOIP_DEBUG LWIP_DBG_OFF
3564#endif
3565
3569#if !defined ACD_DEBUG || defined __DOXYGEN__
3570#define ACD_DEBUG LWIP_DBG_OFF
3571#endif
3572
3576#if !defined DNS_DEBUG || defined __DOXYGEN__
3577#define DNS_DEBUG LWIP_DBG_OFF
3578#endif
3579
3583#if !defined IP6_DEBUG || defined __DOXYGEN__
3584#define IP6_DEBUG LWIP_DBG_OFF
3585#endif
3586
3590#if !defined DHCP6_DEBUG || defined __DOXYGEN__
3591#define DHCP6_DEBUG LWIP_DBG_OFF
3592#endif
3596
3600#if !defined LWIP_TESTMODE
3601#define LWIP_TESTMODE 0
3602#endif
3603
3604/*
3605 --------------------------------------------------
3606 ---------- Performance tracking options ----------
3607 --------------------------------------------------
3608*/
3618#if !defined LWIP_PERF || defined __DOXYGEN__
3619#define LWIP_PERF 0
3620#endif
3624
3625#endif /* LWIP_HDR_OPT_H */