ReactOS
0.4.16-dev-297-gc569aee
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
Functions
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
Variables
_
c
d
e
f
g
h
i
l
n
o
p
s
t
u
x
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
w
x
Enumerations
_
c
d
f
i
l
m
o
p
s
t
w
x
Enumerator
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
w
x
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
z
Enumerator
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Related Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
v
x
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Examples
opt.h
Go to the documentation of this file.
1
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
71
/*
72
------------------------------------
73
-------------- NO SYS --------------
74
------------------------------------
75
*/
88
#if !defined NO_SYS || defined __DOXYGEN__
89
#define NO_SYS 0
90
#endif
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
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
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
235
/*
236
------------------------------------
237
---------- Memory options ----------
238
------------------------------------
239
*/
250
#if !defined MEM_LIBC_MALLOC || defined __DOXYGEN__
251
#define MEM_LIBC_MALLOC 0
252
#endif
253
263
#if !defined MEMP_MEM_MALLOC || defined __DOXYGEN__
264
#define MEMP_MEM_MALLOC 0
265
#endif
266
272
#if !defined MEMP_MEM_INIT || defined __DOXYGEN__
273
#define MEMP_MEM_INIT 0
274
#endif
275
281
#if !defined MEM_ALIGNMENT || defined __DOXYGEN__
282
#define MEM_ALIGNMENT 1
283
#endif
284
289
#if !defined MEM_SIZE || defined __DOXYGEN__
290
#define MEM_SIZE 1600
291
#endif
292
302
#if !defined MEMP_OVERFLOW_CHECK || defined __DOXYGEN__
303
#define MEMP_OVERFLOW_CHECK 0
304
#endif
305
310
#if !defined MEMP_SANITY_CHECK || defined __DOXYGEN__
311
#define MEMP_SANITY_CHECK 0
312
#endif
313
323
#if !defined MEM_OVERFLOW_CHECK || defined __DOXYGEN__
324
#define MEM_OVERFLOW_CHECK 0
325
#endif
326
331
#if !defined MEM_SANITY_CHECK || defined __DOXYGEN__
332
#define MEM_SANITY_CHECK 0
333
#endif
334
341
#if !defined MEM_USE_POOLS || defined __DOXYGEN__
342
#define MEM_USE_POOLS 0
343
#endif
344
349
#if !defined MEM_USE_POOLS_TRY_BIGGER_POOL || defined __DOXYGEN__
350
#define MEM_USE_POOLS_TRY_BIGGER_POOL 0
351
#endif
352
359
#if !defined MEMP_USE_CUSTOM_POOLS || defined __DOXYGEN__
360
#define MEMP_USE_CUSTOM_POOLS 0
361
#endif
362
381
#if !defined LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT || defined __DOXYGEN__
382
#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0
383
#endif
388
/*
389
------------------------------------------------
390
---------- Internal Memory Pool Sizes ----------
391
------------------------------------------------
392
*/
403
#if !defined MEMP_NUM_PBUF || defined __DOXYGEN__
404
#define MEMP_NUM_PBUF 16
405
#endif
406
411
#if !defined MEMP_NUM_RAW_PCB || defined __DOXYGEN__
412
#define MEMP_NUM_RAW_PCB 4
413
#endif
414
420
#if !defined MEMP_NUM_UDP_PCB || defined __DOXYGEN__
421
#define MEMP_NUM_UDP_PCB 4
422
#endif
423
428
#if !defined MEMP_NUM_TCP_PCB || defined __DOXYGEN__
429
#define MEMP_NUM_TCP_PCB 5
430
#endif
431
436
#if !defined MEMP_NUM_TCP_PCB_LISTEN || defined __DOXYGEN__
437
#define MEMP_NUM_TCP_PCB_LISTEN 8
438
#endif
439
444
#if !defined MEMP_NUM_TCP_SEG || defined __DOXYGEN__
445
#define MEMP_NUM_TCP_SEG 16
446
#endif
447
454
#if !defined MEMP_NUM_ALTCP_PCB || defined __DOXYGEN__
455
#define MEMP_NUM_ALTCP_PCB MEMP_NUM_TCP_PCB
456
#endif
457
462
#if !defined MEMP_NUM_REASSDATA || defined __DOXYGEN__
463
#define MEMP_NUM_REASSDATA 5
464
#endif
465
473
#if !defined MEMP_NUM_FRAG_PBUF || defined __DOXYGEN__
474
#define MEMP_NUM_FRAG_PBUF 15
475
#endif
476
483
#if !defined MEMP_NUM_ARP_QUEUE || defined __DOXYGEN__
484
#define MEMP_NUM_ARP_QUEUE 30
485
#endif
486
493
#if !defined MEMP_NUM_IGMP_GROUP || defined __DOXYGEN__
494
#define MEMP_NUM_IGMP_GROUP 8
495
#endif
496
501
#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)))
502
508
#if !defined MEMP_NUM_SYS_TIMEOUT || defined __DOXYGEN__
509
#define MEMP_NUM_SYS_TIMEOUT LWIP_NUM_SYS_TIMEOUT_INTERNAL
510
#endif
511
516
#if !defined MEMP_NUM_NETBUF || defined __DOXYGEN__
517
#define MEMP_NUM_NETBUF 2
518
#endif
519
524
#if !defined MEMP_NUM_NETCONN || defined __DOXYGEN__
525
#define MEMP_NUM_NETCONN 4
526
#endif
527
533
#if !defined MEMP_NUM_SELECT_CB || defined __DOXYGEN__
534
#define MEMP_NUM_SELECT_CB 4
535
#endif
536
542
#if !defined MEMP_NUM_TCPIP_MSG_API || defined __DOXYGEN__
543
#define MEMP_NUM_TCPIP_MSG_API 8
544
#endif
545
551
#if !defined MEMP_NUM_TCPIP_MSG_INPKT || defined __DOXYGEN__
552
#define MEMP_NUM_TCPIP_MSG_INPKT 8
553
#endif
554
559
#if !defined MEMP_NUM_NETDB || defined __DOXYGEN__
560
#define MEMP_NUM_NETDB 1
561
#endif
562
567
#if !defined MEMP_NUM_LOCALHOSTLIST || defined __DOXYGEN__
568
#define MEMP_NUM_LOCALHOSTLIST 1
569
#endif
570
574
#if !defined PBUF_POOL_SIZE || defined __DOXYGEN__
575
#define PBUF_POOL_SIZE 16
576
#endif
577
581
#if !defined MEMP_NUM_API_MSG || defined __DOXYGEN__
582
#define MEMP_NUM_API_MSG MEMP_NUM_TCPIP_MSG_API
583
#endif
584
587
#if !defined MEMP_NUM_DNS_API_MSG || defined __DOXYGEN__
588
#define MEMP_NUM_DNS_API_MSG MEMP_NUM_TCPIP_MSG_API
589
#endif
590
594
#if !defined MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA || defined __DOXYGEN__
595
#define MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA MEMP_NUM_TCPIP_MSG_API
596
#endif
597
601
#if !defined MEMP_NUM_NETIFAPI_MSG || defined __DOXYGEN__
602
#define MEMP_NUM_NETIFAPI_MSG MEMP_NUM_TCPIP_MSG_API
603
#endif
608
/*
609
---------------------------------
610
---------- ARP options ----------
611
---------------------------------
612
*/
621
#if !defined LWIP_ARP || defined __DOXYGEN__
622
#define LWIP_ARP 1
623
#endif
624
628
#if !defined ARP_TABLE_SIZE || defined __DOXYGEN__
629
#define ARP_TABLE_SIZE 10
630
#endif
631
636
#if !defined ARP_MAXAGE || defined __DOXYGEN__
637
#define ARP_MAXAGE 300
638
#endif
639
647
#if !defined ARP_QUEUEING || defined __DOXYGEN__
648
#define ARP_QUEUEING 0
649
#endif
650
655
#if !defined ARP_QUEUE_LEN || defined __DOXYGEN__
656
#define ARP_QUEUE_LEN 3
657
#endif
658
669
#if !defined ETHARP_SUPPORT_VLAN || defined __DOXYGEN__
670
#define ETHARP_SUPPORT_VLAN 0
671
#endif
672
683
#ifndef LWIP_VLAN_PCP
684
#define LWIP_VLAN_PCP 0
685
#endif
686
689
#if !defined LWIP_ETHERNET || defined __DOXYGEN__
690
#define LWIP_ETHERNET LWIP_ARP
691
#endif
692
698
#if !defined ETH_PAD_SIZE || defined __DOXYGEN__
699
#define ETH_PAD_SIZE 0
700
#endif
701
705
#if !defined ETHARP_SUPPORT_STATIC_ENTRIES || defined __DOXYGEN__
706
#define ETHARP_SUPPORT_STATIC_ENTRIES 0
707
#endif
708
713
#if !defined ETHARP_TABLE_MATCH_NETIF || defined __DOXYGEN__
714
#define ETHARP_TABLE_MATCH_NETIF !LWIP_SINGLE_NETIF
715
#endif
720
/*
721
--------------------------------
722
---------- IP options ----------
723
--------------------------------
724
*/
733
#if !defined LWIP_IPV4 || defined __DOXYGEN__
734
#define LWIP_IPV4 1
735
#endif
736
742
#if !defined IP_FORWARD || defined __DOXYGEN__
743
#define IP_FORWARD 0
744
#endif
745
751
#if !defined IP_REASSEMBLY || defined __DOXYGEN__
752
#define IP_REASSEMBLY 1
753
#endif
754
760
#if !defined IP_FRAG || defined __DOXYGEN__
761
#define IP_FRAG 1
762
#endif
763
764
#if !LWIP_IPV4
765
/* disable IPv4 extensions when IPv4 is disabled */
766
#undef IP_FORWARD
767
#define IP_FORWARD 0
768
#undef IP_REASSEMBLY
769
#define IP_REASSEMBLY 0
770
#undef IP_FRAG
771
#define IP_FRAG 0
772
#endif
/* !LWIP_IPV4 */
773
779
#if !defined IP_OPTIONS_ALLOWED || defined __DOXYGEN__
780
#define IP_OPTIONS_ALLOWED 1
781
#endif
782
788
#if !defined IP_REASS_MAXAGE || defined __DOXYGEN__
789
#define IP_REASS_MAXAGE 15
790
#endif
791
800
#if !defined IP_REASS_MAX_PBUFS || defined __DOXYGEN__
801
#define IP_REASS_MAX_PBUFS 10
802
#endif
803
807
#if !defined IP_DEFAULT_TTL || defined __DOXYGEN__
808
#define IP_DEFAULT_TTL 255
809
#endif
810
816
#if !defined IP_SOF_BROADCAST || defined __DOXYGEN__
817
#define IP_SOF_BROADCAST 0
818
#endif
819
824
#if !defined IP_SOF_BROADCAST_RECV || defined __DOXYGEN__
825
#define IP_SOF_BROADCAST_RECV 0
826
#endif
827
835
#if !defined IP_FORWARD_ALLOW_TX_ON_RX_NETIF || defined __DOXYGEN__
836
#define IP_FORWARD_ALLOW_TX_ON_RX_NETIF 0
837
#endif
842
/*
843
----------------------------------
844
---------- ICMP options ----------
845
----------------------------------
846
*/
856
#if !defined LWIP_ICMP || defined __DOXYGEN__
857
#define LWIP_ICMP 1
858
#endif
859
863
#if !defined ICMP_TTL || defined __DOXYGEN__
864
#define ICMP_TTL IP_DEFAULT_TTL
865
#endif
866
870
#if !defined LWIP_BROADCAST_PING || defined __DOXYGEN__
871
#define LWIP_BROADCAST_PING 0
872
#endif
873
877
#if !defined LWIP_MULTICAST_PING || defined __DOXYGEN__
878
#define LWIP_MULTICAST_PING 0
879
#endif
884
/*
885
---------------------------------
886
---------- RAW options ----------
887
---------------------------------
888
*/
897
#if !defined LWIP_RAW || defined __DOXYGEN__
898
#define LWIP_RAW 0
899
#endif
900
904
#if !defined RAW_TTL || defined __DOXYGEN__
905
#define RAW_TTL IP_DEFAULT_TTL
906
#endif
911
/*
912
----------------------------------
913
---------- DHCP options ----------
914
----------------------------------
915
*/
924
#if !defined LWIP_DHCP || defined __DOXYGEN__
925
#define LWIP_DHCP 0
926
#endif
927
#if !LWIP_IPV4
928
/* disable DHCP when IPv4 is disabled */
929
#undef LWIP_DHCP
930
#define LWIP_DHCP 0
931
#endif
/* !LWIP_IPV4 */
932
936
#if !defined LWIP_DHCP_DOES_ACD_CHECK || defined __DOXYGEN__
937
#define LWIP_DHCP_DOES_ACD_CHECK LWIP_DHCP
938
#endif
939
943
#if !defined LWIP_DHCP_BOOTP_FILE || defined __DOXYGEN__
944
#define LWIP_DHCP_BOOTP_FILE 0
945
#endif
946
952
#if !defined LWIP_DHCP_GET_NTP_SRV || defined __DOXYGEN__
953
#define LWIP_DHCP_GET_NTP_SRV 0
954
#endif
955
959
#if !defined LWIP_DHCP_MAX_NTP_SERVERS || defined __DOXYGEN__
960
#define LWIP_DHCP_MAX_NTP_SERVERS 1
961
#endif
962
968
#if !defined LWIP_DHCP_MAX_DNS_SERVERS || defined __DOXYGEN__
969
#define LWIP_DHCP_MAX_DNS_SERVERS DNS_MAX_SERVERS
970
#endif
971
976
#if !defined LWIP_DHCP_DISCOVER_ADD_HOSTNAME || defined __DOXYGEN__
977
#define LWIP_DHCP_DISCOVER_ADD_HOSTNAME 0
978
#endif
/* LWIP_DHCP_DISCOVER_ADD_HOSTNAME */
983
/*
984
------------------------------------
985
---------- AUTOIP options ----------
986
------------------------------------
987
*/
996
#if !defined LWIP_AUTOIP || defined __DOXYGEN__
997
#define LWIP_AUTOIP 0
998
#endif
999
#if !LWIP_IPV4
1000
/* disable AUTOIP when IPv4 is disabled */
1001
#undef LWIP_AUTOIP
1002
#define LWIP_AUTOIP 0
1003
#endif
/* !LWIP_IPV4 */
1004
1009
#if !defined LWIP_DHCP_AUTOIP_COOP || defined __DOXYGEN__
1010
#define LWIP_DHCP_AUTOIP_COOP 0
1011
#endif
1012
1020
#if !defined LWIP_DHCP_AUTOIP_COOP_TRIES || defined __DOXYGEN__
1021
#define LWIP_DHCP_AUTOIP_COOP_TRIES 9
1022
#endif
1027
/*
1028
------------------------------------
1029
----------- ACD options ------------
1030
------------------------------------
1031
*/
1040
#if !defined LWIP_ACD || defined __DOXYGEN__
1041
#define LWIP_ACD (LWIP_AUTOIP || LWIP_DHCP_DOES_ACD_CHECK)
1042
#endif
1043
#if !LWIP_IPV4
1044
/* disable ACD when IPv4 is disabled */
1045
#undef LWIP_ACD
1046
#define LWIP_ACD 0
1047
#endif
/* !LWIP_IPV4 */
1052
/*
1053
----------------------------------
1054
----- SNMP MIB2 support -----
1055
----------------------------------
1056
*/
1067
#if !defined LWIP_MIB2_CALLBACKS || defined __DOXYGEN__
1068
#define LWIP_MIB2_CALLBACKS 0
1069
#endif
1074
/*
1075
----------------------------------
1076
-------- Multicast options -------
1077
----------------------------------
1078
*/
1089
#if !defined LWIP_MULTICAST_TX_OPTIONS || defined __DOXYGEN__
1090
#define LWIP_MULTICAST_TX_OPTIONS ((LWIP_IGMP || LWIP_IPV6_MLD) && (LWIP_UDP || LWIP_RAW))
1091
#endif
1096
/*
1097
----------------------------------
1098
---------- IGMP options ----------
1099
----------------------------------
1100
*/
1109
#if !defined LWIP_IGMP || defined __DOXYGEN__
1110
#define LWIP_IGMP 0
1111
#endif
1112
#if !LWIP_IPV4
1113
#undef LWIP_IGMP
1114
#define LWIP_IGMP 0
1115
#endif
1120
/*
1121
----------------------------------
1122
---------- DNS options -----------
1123
----------------------------------
1124
*/
1134
#if !defined LWIP_DNS || defined __DOXYGEN__
1135
#define LWIP_DNS 0
1136
#endif
1137
1139
#if !defined DNS_TABLE_SIZE || defined __DOXYGEN__
1140
#define DNS_TABLE_SIZE 4
1141
#endif
1142
1144
#if !defined DNS_MAX_NAME_LENGTH || defined __DOXYGEN__
1145
#define DNS_MAX_NAME_LENGTH 256
1146
#endif
1147
1152
#if !defined DNS_MAX_SERVERS || defined __DOXYGEN__
1153
#define DNS_MAX_SERVERS 2
1154
#endif
1155
1157
#if !defined DNS_MAX_RETRIES || defined __DOXYGEN__
1158
#define DNS_MAX_RETRIES 4
1159
#endif
1160
1162
#if !defined DNS_DOES_NAME_CHECK || defined __DOXYGEN__
1163
#define DNS_DOES_NAME_CHECK 1
1164
#endif
1165
1170
#if !defined LWIP_DNS_SECURE || defined __DOXYGEN__
1171
#define LWIP_DNS_SECURE (LWIP_DNS_SECURE_RAND_XID | LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING | LWIP_DNS_SECURE_RAND_SRC_PORT)
1172
#endif
1173
1174
/* A list of DNS security features follows */
1175
#define LWIP_DNS_SECURE_RAND_XID 1
1176
#define LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING 2
1177
#define LWIP_DNS_SECURE_RAND_SRC_PORT 4
1178
1189
#if !defined DNS_LOCAL_HOSTLIST || defined __DOXYGEN__
1190
#define DNS_LOCAL_HOSTLIST 0
1191
#endif
/* DNS_LOCAL_HOSTLIST */
1192
1195
#if !defined DNS_LOCAL_HOSTLIST_IS_DYNAMIC || defined __DOXYGEN__
1196
#define DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0
1197
#endif
/* DNS_LOCAL_HOSTLIST_IS_DYNAMIC */
1198
1201
#if !defined LWIP_DNS_SUPPORT_MDNS_QUERIES || defined __DOXYGEN__
1202
#define LWIP_DNS_SUPPORT_MDNS_QUERIES 0
1203
#endif
1208
/*
1209
---------------------------------
1210
---------- UDP options ----------
1211
---------------------------------
1212
*/
1221
#if !defined LWIP_UDP || defined __DOXYGEN__
1222
#define LWIP_UDP 1
1223
#endif
1224
1228
#if !defined LWIP_UDPLITE || defined __DOXYGEN__
1229
#define LWIP_UDPLITE 0
1230
#endif
1231
1235
#if !defined UDP_TTL || defined __DOXYGEN__
1236
#define UDP_TTL IP_DEFAULT_TTL
1237
#endif
1238
1242
#if !defined LWIP_NETBUF_RECVINFO || defined __DOXYGEN__
1243
#define LWIP_NETBUF_RECVINFO 0
1244
#endif
1249
/*
1250
---------------------------------
1251
---------- TCP options ----------
1252
---------------------------------
1253
*/
1262
#if !defined LWIP_TCP || defined __DOXYGEN__
1263
#define LWIP_TCP 1
1264
#endif
1265
1269
#if !defined TCP_TTL || defined __DOXYGEN__
1270
#define TCP_TTL IP_DEFAULT_TTL
1271
#endif
1272
1280
#if !defined TCP_WND || defined __DOXYGEN__
1281
#define TCP_WND (4 * TCP_MSS)
1282
#endif
1283
1287
#if !defined TCP_MAXRTX || defined __DOXYGEN__
1288
#define TCP_MAXRTX 12
1289
#endif
1290
1294
#if !defined TCP_SYNMAXRTX || defined __DOXYGEN__
1295
#define TCP_SYNMAXRTX 6
1296
#endif
1297
1302
#if !defined TCP_QUEUE_OOSEQ || defined __DOXYGEN__
1303
#define TCP_QUEUE_OOSEQ LWIP_TCP
1304
#endif
1305
1309
#if !defined LWIP_TCP_SACK_OUT || defined __DOXYGEN__
1310
#define LWIP_TCP_SACK_OUT 0
1311
#endif
1312
1323
#if !defined LWIP_TCP_MAX_SACK_NUM || defined __DOXYGEN__
1324
#define LWIP_TCP_MAX_SACK_NUM 4
1325
#endif
1326
1334
#if !defined TCP_MSS || defined __DOXYGEN__
1335
#define TCP_MSS 536
1336
#endif
1337
1346
#if !defined TCP_CALCULATE_EFF_SEND_MSS || defined __DOXYGEN__
1347
#define TCP_CALCULATE_EFF_SEND_MSS 1
1348
#endif
1349
1356
#if !defined LWIP_TCP_RTO_TIME || defined __DOXYGEN__
1357
#define LWIP_TCP_RTO_TIME 3000
1358
#endif
1359
1364
#if !defined TCP_SND_BUF || defined __DOXYGEN__
1365
#define TCP_SND_BUF (2 * TCP_MSS)
1366
#endif
1367
1372
#if !defined TCP_SND_QUEUELEN || defined __DOXYGEN__
1373
#define TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS))
1374
#endif
1375
1381
#if !defined TCP_SNDLOWAT || defined __DOXYGEN__
1382
#define TCP_SNDLOWAT LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1)
1383
#endif
1384
1390
#if !defined TCP_SNDQUEUELOWAT || defined __DOXYGEN__
1391
#define TCP_SNDQUEUELOWAT LWIP_MAX(((TCP_SND_QUEUELEN)/2), 5)
1392
#endif
1393
1399
#if !defined TCP_OOSEQ_MAX_BYTES || defined __DOXYGEN__
1400
#define TCP_OOSEQ_MAX_BYTES 0
1401
#endif
1402
1409
#if !defined TCP_OOSEQ_BYTES_LIMIT
1410
#if TCP_OOSEQ_MAX_BYTES
1411
#define TCP_OOSEQ_BYTES_LIMIT(pcb) TCP_OOSEQ_MAX_BYTES
1412
#elif defined __DOXYGEN__
1413
#define TCP_OOSEQ_BYTES_LIMIT(pcb)
1414
#endif
1415
#endif
1416
1422
#if !defined TCP_OOSEQ_MAX_PBUFS || defined __DOXYGEN__
1423
#define TCP_OOSEQ_MAX_PBUFS 0
1424
#endif
1425
1432
#if !defined TCP_OOSEQ_PBUFS_LIMIT
1433
#if TCP_OOSEQ_MAX_PBUFS
1434
#define TCP_OOSEQ_PBUFS_LIMIT(pcb) TCP_OOSEQ_MAX_PBUFS
1435
#elif defined __DOXYGEN__
1436
#define TCP_OOSEQ_PBUFS_LIMIT(pcb)
1437
#endif
1438
#endif
1439
1443
#if !defined TCP_LISTEN_BACKLOG || defined __DOXYGEN__
1444
#define TCP_LISTEN_BACKLOG 0
1445
#endif
1446
1452
#if !defined TCP_DEFAULT_LISTEN_BACKLOG || defined __DOXYGEN__
1453
#define TCP_DEFAULT_LISTEN_BACKLOG 0xff
1454
#endif
1455
1470
#if !defined TCP_OVERSIZE || defined __DOXYGEN__
1471
#define TCP_OVERSIZE TCP_MSS
1472
#endif
1473
1480
#if !defined LWIP_TCP_TIMESTAMPS || defined __DOXYGEN__
1481
#define LWIP_TCP_TIMESTAMPS 0
1482
#endif
1483
1488
#if !defined TCP_WND_UPDATE_THRESHOLD || defined __DOXYGEN__
1489
#define TCP_WND_UPDATE_THRESHOLD LWIP_MIN((TCP_WND / 4), (TCP_MSS * 4))
1490
#endif
1491
1499
#if !defined(LWIP_EVENT_API) && !defined(LWIP_CALLBACK_API) || defined __DOXYGEN__
1500
#define LWIP_EVENT_API 0
1501
#define LWIP_CALLBACK_API 1
1502
#else
1503
#ifndef LWIP_EVENT_API
1504
#define LWIP_EVENT_API 0
1505
#endif
1506
#ifndef LWIP_CALLBACK_API
1507
#define LWIP_CALLBACK_API 0
1508
#endif
1509
#endif
1510
1519
#if !defined LWIP_WND_SCALE || defined __DOXYGEN__
1520
#define LWIP_WND_SCALE 0
1521
#define TCP_RCV_SCALE 0
1522
#endif
1523
1529
#if !defined LWIP_TCP_PCB_NUM_EXT_ARGS || defined __DOXYGEN__
1530
#define LWIP_TCP_PCB_NUM_EXT_ARGS 0
1531
#endif
1532
1545
#if !defined LWIP_ALTCP || defined __DOXYGEN__
1546
#define LWIP_ALTCP 0
1547
#endif
1548
1554
#if !defined LWIP_ALTCP_TLS || defined __DOXYGEN__
1555
#define LWIP_ALTCP_TLS 0
1556
#endif
1557
1562
/*
1563
----------------------------------
1564
---------- Pbuf options ----------
1565
----------------------------------
1566
*/
1577
#if !defined PBUF_LINK_HLEN || defined __DOXYGEN__
1578
#if (defined LWIP_HOOK_VLAN_SET || LWIP_VLAN_PCP) && !defined __DOXYGEN__
1579
#define PBUF_LINK_HLEN (18 + ETH_PAD_SIZE)
1580
#else
/* LWIP_HOOK_VLAN_SET || LWIP_VLAN_PCP */
1581
#define PBUF_LINK_HLEN (14 + ETH_PAD_SIZE)
1582
#endif
/* LWIP_HOOK_VLAN_SET || LWIP_VLAN_PCP */
1583
#endif
1584
1589
#if !defined PBUF_LINK_ENCAPSULATION_HLEN || defined __DOXYGEN__
1590
#define PBUF_LINK_ENCAPSULATION_HLEN 0
1591
#endif
1592
1598
#if !defined PBUF_POOL_BUFSIZE || defined __DOXYGEN__
1599
#define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+PBUF_IP_HLEN+PBUF_TRANSPORT_HLEN+PBUF_LINK_ENCAPSULATION_HLEN+PBUF_LINK_HLEN)
1600
#endif
1601
1606
#if !defined LWIP_PBUF_REF_T || defined __DOXYGEN__
1607
#define LWIP_PBUF_REF_T u8_t
1608
#endif
1609
1614
#if !defined LWIP_PBUF_CUSTOM_DATA || defined __DOXYGEN__
1615
#define LWIP_PBUF_CUSTOM_DATA
1616
#endif
1621
/*
1622
------------------------------------------------
1623
---------- Network Interfaces options ----------
1624
------------------------------------------------
1625
*/
1635
#if !defined LWIP_SINGLE_NETIF || defined __DOXYGEN__
1636
#define LWIP_SINGLE_NETIF 0
1637
#endif
1638
1643
#if !defined LWIP_NETIF_HOSTNAME || defined __DOXYGEN__
1644
#define LWIP_NETIF_HOSTNAME 0
1645
#endif
1646
1650
#if !defined LWIP_NETIF_API || defined __DOXYGEN__
1651
#define LWIP_NETIF_API 0
1652
#endif
1653
1658
#if !defined LWIP_NETIF_STATUS_CALLBACK || defined __DOXYGEN__
1659
#define LWIP_NETIF_STATUS_CALLBACK 0
1660
#endif
1661
1667
#if !defined LWIP_NETIF_EXT_STATUS_CALLBACK || defined __DOXYGEN__
1668
#define LWIP_NETIF_EXT_STATUS_CALLBACK 0
1669
#endif
1670
1675
#if !defined LWIP_NETIF_LINK_CALLBACK || defined __DOXYGEN__
1676
#define LWIP_NETIF_LINK_CALLBACK 0
1677
#endif
1678
1683
#if !defined LWIP_NETIF_REMOVE_CALLBACK || defined __DOXYGEN__
1684
#define LWIP_NETIF_REMOVE_CALLBACK 0
1685
#endif
1686
1694
#if !defined LWIP_NETIF_HWADDRHINT || defined __DOXYGEN__
1695
#define LWIP_NETIF_HWADDRHINT 0
1696
#endif
1697
1716
#if !defined LWIP_NETIF_TX_SINGLE_PBUF || defined __DOXYGEN__
1717
#define LWIP_NETIF_TX_SINGLE_PBUF 0
1718
#endif
/* LWIP_NETIF_TX_SINGLE_PBUF */
1719
1724
#if !defined LWIP_NUM_NETIF_CLIENT_DATA || defined __DOXYGEN__
1725
#define LWIP_NUM_NETIF_CLIENT_DATA 0
1726
#endif
1731
/*
1732
------------------------------------
1733
---------- LOOPIF options ----------
1734
------------------------------------
1735
*/
1746
#if !defined LWIP_HAVE_LOOPIF || defined __DOXYGEN__
1747
#define LWIP_HAVE_LOOPIF (LWIP_NETIF_LOOPBACK && !LWIP_SINGLE_NETIF)
1748
#endif
1749
1753
#if !defined LWIP_LOOPIF_MULTICAST || defined __DOXYGEN__
1754
#define LWIP_LOOPIF_MULTICAST 0
1755
#endif
1756
1761
#if !defined LWIP_NETIF_LOOPBACK || defined __DOXYGEN__
1762
#define LWIP_NETIF_LOOPBACK 0
1763
#endif
1764
1769
#if !defined LWIP_LOOPBACK_MAX_PBUFS || defined __DOXYGEN__
1770
#define LWIP_LOOPBACK_MAX_PBUFS 0
1771
#endif
1772
1786
#if !defined LWIP_NETIF_LOOPBACK_MULTITHREADING || defined __DOXYGEN__
1787
#define LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS)
1788
#endif
1793
/*
1794
------------------------------------
1795
---------- Thread options ----------
1796
------------------------------------
1797
*/
1806
#if !defined TCPIP_THREAD_NAME || defined __DOXYGEN__
1807
#define TCPIP_THREAD_NAME "tcpip_thread"
1808
#endif
1809
1815
#if !defined TCPIP_THREAD_STACKSIZE || defined __DOXYGEN__
1816
#define TCPIP_THREAD_STACKSIZE 0
1817
#endif
1818
1824
#if !defined TCPIP_THREAD_PRIO || defined __DOXYGEN__
1825
#define TCPIP_THREAD_PRIO 1
1826
#endif
1827
1833
#if !defined TCPIP_MBOX_SIZE || defined __DOXYGEN__
1834
#define TCPIP_MBOX_SIZE 0
1835
#endif
1836
1841
#if !defined LWIP_TCPIP_THREAD_ALIVE || defined __DOXYGEN__
1842
#define LWIP_TCPIP_THREAD_ALIVE()
1843
#endif
1844
1848
#if !defined SLIPIF_THREAD_NAME || defined __DOXYGEN__
1849
#define SLIPIF_THREAD_NAME "slipif_loop"
1850
#endif
1851
1857
#if !defined SLIPIF_THREAD_STACKSIZE || defined __DOXYGEN__
1858
#define SLIPIF_THREAD_STACKSIZE 0
1859
#endif
1860
1866
#if !defined SLIPIF_THREAD_PRIO || defined __DOXYGEN__
1867
#define SLIPIF_THREAD_PRIO 1
1868
#endif
1869
1873
#if !defined DEFAULT_THREAD_NAME || defined __DOXYGEN__
1874
#define DEFAULT_THREAD_NAME "lwIP"
1875
#endif
1876
1882
#if !defined DEFAULT_THREAD_STACKSIZE || defined __DOXYGEN__
1883
#define DEFAULT_THREAD_STACKSIZE 0
1884
#endif
1885
1891
#if !defined DEFAULT_THREAD_PRIO || defined __DOXYGEN__
1892
#define DEFAULT_THREAD_PRIO 1
1893
#endif
1894
1900
#if !defined DEFAULT_RAW_RECVMBOX_SIZE || defined __DOXYGEN__
1901
#define DEFAULT_RAW_RECVMBOX_SIZE 0
1902
#endif
1903
1909
#if !defined DEFAULT_UDP_RECVMBOX_SIZE || defined __DOXYGEN__
1910
#define DEFAULT_UDP_RECVMBOX_SIZE 0
1911
#endif
1912
1918
#if !defined DEFAULT_TCP_RECVMBOX_SIZE || defined __DOXYGEN__
1919
#define DEFAULT_TCP_RECVMBOX_SIZE 0
1920
#endif
1921
1927
#if !defined DEFAULT_ACCEPTMBOX_SIZE || defined __DOXYGEN__
1928
#define DEFAULT_ACCEPTMBOX_SIZE 0
1929
#endif
1934
/*
1935
----------------------------------------------
1936
---------- Sequential layer options ----------
1937
----------------------------------------------
1938
*/
1947
#if !defined LWIP_NETCONN || defined __DOXYGEN__
1948
#define LWIP_NETCONN 1
1949
#endif
1950
1954
#if !defined LWIP_TCPIP_TIMEOUT || defined __DOXYGEN__
1955
#define LWIP_TCPIP_TIMEOUT 0
1956
#endif
1957
1968
#if !defined LWIP_NETCONN_SEM_PER_THREAD || defined __DOXYGEN__
1969
#define LWIP_NETCONN_SEM_PER_THREAD 0
1970
#endif
1971
1977
#if !defined LWIP_NETCONN_FULLDUPLEX || defined __DOXYGEN__
1978
#define LWIP_NETCONN_FULLDUPLEX 0
1979
#endif
1984
/*
1985
------------------------------------
1986
---------- Socket options ----------
1987
------------------------------------
1988
*/
1997
#if !defined LWIP_SOCKET || defined __DOXYGEN__
1998
#define LWIP_SOCKET 1
1999
#endif
2000
2007
#if !defined LWIP_COMPAT_SOCKETS || defined __DOXYGEN__
2008
#define LWIP_COMPAT_SOCKETS 1
2009
#endif
2010
2016
#if !defined LWIP_POSIX_SOCKETS_IO_NAMES || defined __DOXYGEN__
2017
#define LWIP_POSIX_SOCKETS_IO_NAMES 1
2018
#endif
2019
2027
#if !defined LWIP_SOCKET_OFFSET || defined __DOXYGEN__
2028
#define LWIP_SOCKET_OFFSET 0
2029
#endif
2030
2038
#if !defined LWIP_SOCKET_EXTERNAL_HEADERS || defined __DOXYGEN__
2039
#define LWIP_SOCKET_EXTERNAL_HEADERS 0
2040
#endif
2041
2047
#if !defined LWIP_TCP_KEEPALIVE || defined __DOXYGEN__
2048
#define LWIP_TCP_KEEPALIVE 0
2049
#endif
2050
2055
#if !defined LWIP_SO_SNDTIMEO || defined __DOXYGEN__
2056
#define LWIP_SO_SNDTIMEO 0
2057
#endif
2058
2063
#if !defined LWIP_SO_RCVTIMEO || defined __DOXYGEN__
2064
#define LWIP_SO_RCVTIMEO 0
2065
#endif
2066
2071
#if !defined LWIP_SO_SNDRCVTIMEO_NONSTANDARD || defined __DOXYGEN__
2072
#define LWIP_SO_SNDRCVTIMEO_NONSTANDARD 0
2073
#endif
2074
2078
#if !defined LWIP_SO_RCVBUF || defined __DOXYGEN__
2079
#define LWIP_SO_RCVBUF 0
2080
#endif
2081
2085
#if !defined LWIP_SO_LINGER || defined __DOXYGEN__
2086
#define LWIP_SO_LINGER 0
2087
#endif
2088
2092
#if !defined RECV_BUFSIZE_DEFAULT || defined __DOXYGEN__
2093
#define RECV_BUFSIZE_DEFAULT INT_MAX
2094
#endif
2095
2099
#if !defined LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT || defined __DOXYGEN__
2100
#define LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT 20000
2101
#endif
2102
2106
#if !defined SO_REUSE || defined __DOXYGEN__
2107
#define SO_REUSE 0
2108
#endif
2109
2115
#if !defined SO_REUSE_RXTOALL || defined __DOXYGEN__
2116
#define SO_REUSE_RXTOALL 0
2117
#endif
2118
2127
#if !defined LWIP_FIONREAD_LINUXMODE || defined __DOXYGEN__
2128
#define LWIP_FIONREAD_LINUXMODE 0
2129
#endif
2130
2137
#if !defined LWIP_SOCKET_SELECT || defined __DOXYGEN__
2138
#define LWIP_SOCKET_SELECT 1
2139
#endif
2140
2145
#if !defined LWIP_SOCKET_POLL || defined __DOXYGEN__
2146
#define LWIP_SOCKET_POLL 1
2147
#endif
2152
/*
2153
----------------------------------------
2154
---------- Statistics options ----------
2155
----------------------------------------
2156
*/
2165
#if !defined LWIP_STATS || defined __DOXYGEN__
2166
#define LWIP_STATS 1
2167
#endif
2168
2169
#if LWIP_STATS
2170
2174
#if !defined LWIP_STATS_DISPLAY || defined __DOXYGEN__
2175
#define LWIP_STATS_DISPLAY 0
2176
#endif
2177
2181
#if !defined LINK_STATS || defined __DOXYGEN__
2182
#define LINK_STATS 1
2183
#endif
2184
2188
#if !defined ETHARP_STATS || defined __DOXYGEN__
2189
#define ETHARP_STATS (LWIP_ARP)
2190
#endif
2191
2195
#if !defined IP_STATS || defined __DOXYGEN__
2196
#define IP_STATS 1
2197
#endif
2198
2203
#if !defined IPFRAG_STATS || defined __DOXYGEN__
2204
#define IPFRAG_STATS (IP_REASSEMBLY || IP_FRAG)
2205
#endif
2206
2210
#if !defined ICMP_STATS || defined __DOXYGEN__
2211
#define ICMP_STATS 1
2212
#endif
2213
2217
#if !defined IGMP_STATS || defined __DOXYGEN__
2218
#define IGMP_STATS (LWIP_IGMP)
2219
#endif
2220
2225
#if !defined UDP_STATS || defined __DOXYGEN__
2226
#define UDP_STATS (LWIP_UDP)
2227
#endif
2228
2233
#if !defined TCP_STATS || defined __DOXYGEN__
2234
#define TCP_STATS (LWIP_TCP)
2235
#endif
2236
2240
#if !defined MEM_STATS || defined __DOXYGEN__
2241
#define MEM_STATS ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0))
2242
#endif
2243
2247
#if !defined MEMP_STATS || defined __DOXYGEN__
2248
#define MEMP_STATS (MEMP_MEM_MALLOC == 0)
2249
#endif
2250
2254
#if !defined SYS_STATS || defined __DOXYGEN__
2255
#define SYS_STATS (NO_SYS == 0)
2256
#endif
2257
2261
#if !defined IP6_STATS || defined __DOXYGEN__
2262
#define IP6_STATS (LWIP_IPV6)
2263
#endif
2264
2268
#if !defined ICMP6_STATS || defined __DOXYGEN__
2269
#define ICMP6_STATS (LWIP_IPV6 && LWIP_ICMP6)
2270
#endif
2271
2275
#if !defined IP6_FRAG_STATS || defined __DOXYGEN__
2276
#define IP6_FRAG_STATS (LWIP_IPV6 && (LWIP_IPV6_FRAG || LWIP_IPV6_REASS))
2277
#endif
2278
2282
#if !defined MLD6_STATS || defined __DOXYGEN__
2283
#define MLD6_STATS (LWIP_IPV6 && LWIP_IPV6_MLD)
2284
#endif
2285
2289
#if !defined ND6_STATS || defined __DOXYGEN__
2290
#define ND6_STATS (LWIP_IPV6)
2291
#endif
2292
2296
#if !defined MIB2_STATS || defined __DOXYGEN__
2297
#define MIB2_STATS 0
2298
#endif
2299
2300
#else
2301
2302
#define LINK_STATS 0
2303
#define ETHARP_STATS 0
2304
#define IP_STATS 0
2305
#define IPFRAG_STATS 0
2306
#define ICMP_STATS 0
2307
#define IGMP_STATS 0
2308
#define UDP_STATS 0
2309
#define TCP_STATS 0
2310
#define MEM_STATS 0
2311
#define MEMP_STATS 0
2312
#define SYS_STATS 0
2313
#define LWIP_STATS_DISPLAY 0
2314
#define IP6_STATS 0
2315
#define ICMP6_STATS 0
2316
#define IP6_FRAG_STATS 0
2317
#define MLD6_STATS 0
2318
#define ND6_STATS 0
2319
#define MIB2_STATS 0
2320
2321
#endif
/* LWIP_STATS */
2326
/*
2327
--------------------------------------
2328
---------- Checksum options ----------
2329
--------------------------------------
2330
*/
2341
#if !defined LWIP_CHECKSUM_CTRL_PER_NETIF || defined __DOXYGEN__
2342
#define LWIP_CHECKSUM_CTRL_PER_NETIF 0
2343
#endif
2344
2348
#if !defined CHECKSUM_GEN_IP || defined __DOXYGEN__
2349
#define CHECKSUM_GEN_IP 1
2350
#endif
2351
2355
#if !defined CHECKSUM_GEN_UDP || defined __DOXYGEN__
2356
#define CHECKSUM_GEN_UDP 1
2357
#endif
2358
2362
#if !defined CHECKSUM_GEN_TCP || defined __DOXYGEN__
2363
#define CHECKSUM_GEN_TCP 1
2364
#endif
2365
2369
#if !defined CHECKSUM_GEN_ICMP || defined __DOXYGEN__
2370
#define CHECKSUM_GEN_ICMP 1
2371
#endif
2372
2376
#if !defined CHECKSUM_GEN_ICMP6 || defined __DOXYGEN__
2377
#define CHECKSUM_GEN_ICMP6 1
2378
#endif
2379
2383
#if !defined CHECKSUM_CHECK_IP || defined __DOXYGEN__
2384
#define CHECKSUM_CHECK_IP 1
2385
#endif
2386
2390
#if !defined CHECKSUM_CHECK_UDP || defined __DOXYGEN__
2391
#define CHECKSUM_CHECK_UDP 1
2392
#endif
2393
2397
#if !defined CHECKSUM_CHECK_TCP || defined __DOXYGEN__
2398
#define CHECKSUM_CHECK_TCP 1
2399
#endif
2400
2404
#if !defined CHECKSUM_CHECK_ICMP || defined __DOXYGEN__
2405
#define CHECKSUM_CHECK_ICMP 1
2406
#endif
2407
2411
#if !defined CHECKSUM_CHECK_ICMP6 || defined __DOXYGEN__
2412
#define CHECKSUM_CHECK_ICMP6 1
2413
#endif
2414
2419
#if !defined LWIP_CHECKSUM_ON_COPY || defined __DOXYGEN__
2420
#define LWIP_CHECKSUM_ON_COPY 0
2421
#endif
2426
/*
2427
---------------------------------------
2428
---------- IPv6 options ---------------
2429
---------------------------------------
2430
*/
2439
#if !defined LWIP_IPV6 || defined __DOXYGEN__
2440
#define LWIP_IPV6 0
2441
#endif
2442
2448
#if !defined IPV6_REASS_MAXAGE || defined __DOXYGEN__
2449
#define IPV6_REASS_MAXAGE 60
2450
#endif
2451
2469
#if !defined LWIP_IPV6_SCOPES || defined __DOXYGEN__
2470
#define LWIP_IPV6_SCOPES (LWIP_IPV6 && !LWIP_SINGLE_NETIF)
2471
#endif
2472
2479
#if !defined LWIP_IPV6_SCOPES_DEBUG || defined __DOXYGEN__
2480
#define LWIP_IPV6_SCOPES_DEBUG 0
2481
#endif
2482
2486
#if !defined LWIP_IPV6_NUM_ADDRESSES || defined __DOXYGEN__
2487
#define LWIP_IPV6_NUM_ADDRESSES 3
2488
#endif
2489
2493
#if !defined LWIP_IPV6_FORWARD || defined __DOXYGEN__
2494
#define LWIP_IPV6_FORWARD 0
2495
#endif
2496
2500
#if !defined LWIP_IPV6_FRAG || defined __DOXYGEN__
2501
#define LWIP_IPV6_FRAG 1
2502
#endif
2503
2507
#if !defined LWIP_IPV6_REASS || defined __DOXYGEN__
2508
#define LWIP_IPV6_REASS LWIP_IPV6
2509
#endif
2510
2515
#if !defined LWIP_IPV6_SEND_ROUTER_SOLICIT || defined __DOXYGEN__
2516
#define LWIP_IPV6_SEND_ROUTER_SOLICIT LWIP_IPV6
2517
#endif
2518
2522
#if !defined LWIP_IPV6_AUTOCONFIG || defined __DOXYGEN__
2523
#define LWIP_IPV6_AUTOCONFIG LWIP_IPV6
2524
#endif
2525
2533
#if !defined LWIP_IPV6_ADDRESS_LIFETIMES || defined __DOXYGEN__
2534
#define LWIP_IPV6_ADDRESS_LIFETIMES LWIP_IPV6_AUTOCONFIG
2535
#endif
2536
2540
#if !defined LWIP_IPV6_DUP_DETECT_ATTEMPTS || defined __DOXYGEN__
2541
#define LWIP_IPV6_DUP_DETECT_ATTEMPTS 1
2542
#endif
2555
#if !defined LWIP_ICMP6 || defined __DOXYGEN__
2556
#define LWIP_ICMP6 LWIP_IPV6
2557
#endif
2558
2565
#if !defined LWIP_ICMP6_DATASIZE || defined __DOXYGEN__
2566
#define LWIP_ICMP6_DATASIZE 0
2567
#endif
2568
2572
#if !defined LWIP_ICMP6_HL || defined __DOXYGEN__
2573
#define LWIP_ICMP6_HL 255
2574
#endif
2589
#if !defined LWIP_IPV6_MLD || defined __DOXYGEN__
2590
#define LWIP_IPV6_MLD LWIP_IPV6
2591
#endif
2592
2599
#if !defined MEMP_NUM_MLD6_GROUP || defined __DOXYGEN__
2600
#define MEMP_NUM_MLD6_GROUP 4
2601
#endif
2615
#if !defined LWIP_ND6_QUEUEING || defined __DOXYGEN__
2616
#define LWIP_ND6_QUEUEING LWIP_IPV6
2617
#endif
2618
2622
#if !defined MEMP_NUM_ND6_QUEUE || defined __DOXYGEN__
2623
#define MEMP_NUM_ND6_QUEUE 20
2624
#endif
2625
2629
#if !defined LWIP_ND6_NUM_NEIGHBORS || defined __DOXYGEN__
2630
#define LWIP_ND6_NUM_NEIGHBORS 10
2631
#endif
2632
2636
#if !defined LWIP_ND6_NUM_DESTINATIONS || defined __DOXYGEN__
2637
#define LWIP_ND6_NUM_DESTINATIONS 10
2638
#endif
2639
2643
#if !defined LWIP_ND6_NUM_PREFIXES || defined __DOXYGEN__
2644
#define LWIP_ND6_NUM_PREFIXES 5
2645
#endif
2646
2650
#if !defined LWIP_ND6_NUM_ROUTERS || defined __DOXYGEN__
2651
#define LWIP_ND6_NUM_ROUTERS 3
2652
#endif
2653
2658
#if !defined LWIP_ND6_MAX_MULTICAST_SOLICIT || defined __DOXYGEN__
2659
#define LWIP_ND6_MAX_MULTICAST_SOLICIT 3
2660
#endif
2661
2666
#if !defined LWIP_ND6_MAX_UNICAST_SOLICIT || defined __DOXYGEN__
2667
#define LWIP_ND6_MAX_UNICAST_SOLICIT 3
2668
#endif
2669
2673
#if !defined LWIP_ND6_MAX_ANYCAST_DELAY_TIME || defined __DOXYGEN__
2674
#define LWIP_ND6_MAX_ANYCAST_DELAY_TIME 1000
2675
#endif
2676
2680
#if !defined LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT || defined __DOXYGEN__
2681
#define LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT 3
2682
#endif
2683
2688
#if !defined LWIP_ND6_REACHABLE_TIME || defined __DOXYGEN__
2689
#define LWIP_ND6_REACHABLE_TIME 30000
2690
#endif
2691
2695
#if !defined LWIP_ND6_RETRANS_TIMER || defined __DOXYGEN__
2696
#define LWIP_ND6_RETRANS_TIMER 1000
2697
#endif
2698
2703
#if !defined LWIP_ND6_DELAY_FIRST_PROBE_TIME || defined __DOXYGEN__
2704
#define LWIP_ND6_DELAY_FIRST_PROBE_TIME 5000
2705
#endif
2706
2711
#if !defined LWIP_ND6_ALLOW_RA_UPDATES || defined __DOXYGEN__
2712
#define LWIP_ND6_ALLOW_RA_UPDATES 1
2713
#endif
2714
2720
#if !defined LWIP_ND6_TCP_REACHABILITY_HINTS || defined __DOXYGEN__
2721
#define LWIP_ND6_TCP_REACHABILITY_HINTS 1
2722
#endif
2723
2729
#if !defined LWIP_ND6_RDNSS_MAX_DNS_SERVERS || defined __DOXYGEN__
2730
#define LWIP_ND6_RDNSS_MAX_DNS_SERVERS 0
2731
#endif
2744
#if !defined LWIP_IPV6_DHCP6 || defined __DOXYGEN__
2745
#define LWIP_IPV6_DHCP6 0
2746
#endif
2747
2752
#if !defined LWIP_IPV6_DHCP6_STATEFUL || defined __DOXYGEN__
2753
#define LWIP_IPV6_DHCP6_STATEFUL 0
2754
#endif
2755
2759
#if !defined LWIP_IPV6_DHCP6_STATELESS || defined __DOXYGEN__
2760
#define LWIP_IPV6_DHCP6_STATELESS LWIP_IPV6_DHCP6
2761
#endif
2762
2768
#if !defined LWIP_DHCP6_GET_NTP_SRV || defined __DOXYGEN__
2769
#define LWIP_DHCP6_GET_NTP_SRV 0
2770
#endif
2771
2775
#if !defined LWIP_DHCP6_MAX_NTP_SERVERS || defined __DOXYGEN__
2776
#define LWIP_DHCP6_MAX_NTP_SERVERS 1
2777
#endif
2778
2784
#if !defined LWIP_DHCP6_MAX_DNS_SERVERS || defined __DOXYGEN__
2785
#define LWIP_DHCP6_MAX_DNS_SERVERS DNS_MAX_SERVERS
2786
#endif
2791
/*
2792
---------------------------------------
2793
---------- Hook options ---------------
2794
---------------------------------------
2795
*/
2796
2809
#ifdef __DOXYGEN__
2810
#define LWIP_HOOK_FILENAME "path/to/my/lwip_hooks.h"
2811
#endif
2812
2834
#ifdef __DOXYGEN__
2835
#define LWIP_HOOK_TCP_ISN(local_ip, local_port, remote_ip, remote_port)
2836
#endif
2837
2864
#ifdef __DOXYGEN__
2865
#define LWIP_HOOK_TCP_INPACKET_PCB(pcb, hdr, optlen, opt1len, opt2, p)
2866
#endif
2867
2886
#ifdef __DOXYGEN__
2887
#define LWIP_HOOK_TCP_OUT_TCPOPT_LENGTH(pcb, internal_len)
2888
#endif
2889
2910
#ifdef __DOXYGEN__
2911
#define LWIP_HOOK_TCP_OUT_ADD_TCPOPTS(p, hdr, pcb, opts)
2912
#endif
2913
2929
#ifdef __DOXYGEN__
2930
#define LWIP_HOOK_IP4_INPUT(pbuf, input_netif)
2931
#endif
2932
2945
#ifdef __DOXYGEN__
2946
#define LWIP_HOOK_IP4_ROUTE()
2947
#endif
2948
2962
#ifdef __DOXYGEN__
2963
#define LWIP_HOOK_IP4_ROUTE_SRC(src, dest)
2964
#endif
2965
2983
#ifdef __DOXYGEN__
2984
#define LWIP_HOOK_IP4_CANFORWARD(src, dest)
2985
#endif
2986
3005
#ifdef __DOXYGEN__
3006
#define LWIP_HOOK_ETHARP_GET_GW(netif, dest)
3007
#endif
3008
3024
#ifdef __DOXYGEN__
3025
#define LWIP_HOOK_IP6_INPUT(pbuf, input_netif)
3026
#endif
3027
3041
#ifdef __DOXYGEN__
3042
#define LWIP_HOOK_IP6_ROUTE(src, dest)
3043
#endif
3044
3063
#ifdef __DOXYGEN__
3064
#define LWIP_HOOK_ND6_GET_GW(netif, dest)
3065
#endif
3066
3081
#ifdef __DOXYGEN__
3082
#define LWIP_HOOK_VLAN_CHECK(netif, eth_hdr, vlan_hdr)
3083
#endif
3084
3105
#ifdef __DOXYGEN__
3106
#define LWIP_HOOK_VLAN_SET(netif, p, src, dst, eth_type)
3107
#endif
3108
3116
#ifdef __DOXYGEN__
3117
#define LWIP_HOOK_MEMP_AVAILABLE(memp_t_type)
3118
#endif
3119
3135
#ifdef __DOXYGEN__
3136
#define LWIP_HOOK_UNKNOWN_ETH_PROTOCOL(pbuf, netif)
3137
#endif
3138
3164
#ifdef __DOXYGEN__
3165
#define LWIP_HOOK_DHCP_APPEND_OPTIONS(netif, dhcp, state, msg, msg_type, options_len_ptr)
3166
#endif
3167
3192
#ifdef __DOXYGEN__
3193
#define LWIP_HOOK_DHCP_PARSE_OPTION(netif, dhcp, state, msg, msg_type, option, len, pbuf, offset)
3194
#endif
3195
3220
#ifdef __DOXYGEN__
3221
#define LWIP_HOOK_DHCP6_APPEND_OPTIONS(netif, dhcp6, state, msg, msg_type, options_len_ptr, max_len)
3222
#endif
3223
3243
#ifdef __DOXYGEN__
3244
#define LWIP_HOOK_SOCKETS_SETSOCKOPT(s, sock, level, optname, optval, optlen, err)
3245
#endif
3246
3266
#ifdef __DOXYGEN__
3267
#define LWIP_HOOK_SOCKETS_GETSOCKOPT(s, sock, level, optname, optval, optlen, err)
3268
#endif
3269
3289
#ifdef __DOXYGEN__
3290
#define LWIP_HOOK_NETCONN_EXTERNAL_RESOLVE(name, addr, addrtype, err)
3291
#endif
3296
/*
3297
---------------------------------------
3298
---------- Debugging options ----------
3299
---------------------------------------
3300
*/
3312
#if !defined LWIP_DBG_MIN_LEVEL || defined __DOXYGEN__
3313
#define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL
3314
#endif
3315
3321
#if !defined LWIP_DBG_TYPES_ON || defined __DOXYGEN__
3322
#define LWIP_DBG_TYPES_ON LWIP_DBG_ON
3323
#endif
3324
3328
#if !defined ETHARP_DEBUG || defined __DOXYGEN__
3329
#define ETHARP_DEBUG LWIP_DBG_OFF
3330
#endif
3331
3335
#if !defined NETIF_DEBUG || defined __DOXYGEN__
3336
#define NETIF_DEBUG LWIP_DBG_OFF
3337
#endif
3338
3342
#if !defined PBUF_DEBUG || defined __DOXYGEN__
3343
#define PBUF_DEBUG LWIP_DBG_OFF
3344
#endif
3345
3349
#if !defined API_LIB_DEBUG || defined __DOXYGEN__
3350
#define API_LIB_DEBUG LWIP_DBG_OFF
3351
#endif
3352
3356
#if !defined API_MSG_DEBUG || defined __DOXYGEN__
3357
#define API_MSG_DEBUG LWIP_DBG_OFF
3358
#endif
3359
3363
#if !defined SOCKETS_DEBUG || defined __DOXYGEN__
3364
#define SOCKETS_DEBUG LWIP_DBG_OFF
3365
#endif
3366
3370
#if !defined ICMP_DEBUG || defined __DOXYGEN__
3371
#define ICMP_DEBUG LWIP_DBG_OFF
3372
#endif
3373
3377
#if !defined IGMP_DEBUG || defined __DOXYGEN__
3378
#define IGMP_DEBUG LWIP_DBG_OFF
3379
#endif
3380
3384
#if !defined INET_DEBUG || defined __DOXYGEN__
3385
#define INET_DEBUG LWIP_DBG_OFF
3386
#endif
3387
3391
#if !defined IP_DEBUG || defined __DOXYGEN__
3392
#define IP_DEBUG LWIP_DBG_OFF
3393
#endif
3394
3398
#if !defined IP_REASS_DEBUG || defined __DOXYGEN__
3399
#define IP_REASS_DEBUG LWIP_DBG_OFF
3400
#endif
3401
3405
#if !defined RAW_DEBUG || defined __DOXYGEN__
3406
#define RAW_DEBUG LWIP_DBG_OFF
3407
#endif
3408
3412
#if !defined MEM_DEBUG || defined __DOXYGEN__
3413
#define MEM_DEBUG LWIP_DBG_OFF
3414
#endif
3415
3419
#if !defined MEMP_DEBUG || defined __DOXYGEN__
3420
#define MEMP_DEBUG LWIP_DBG_OFF
3421
#endif
3422
3426
#if !defined SYS_DEBUG || defined __DOXYGEN__
3427
#define SYS_DEBUG LWIP_DBG_OFF
3428
#endif
3429
3433
#if !defined TIMERS_DEBUG || defined __DOXYGEN__
3434
#define TIMERS_DEBUG LWIP_DBG_OFF
3435
#endif
3436
3440
#if !defined TCP_DEBUG || defined __DOXYGEN__
3441
#define TCP_DEBUG LWIP_DBG_OFF
3442
#endif
3443
3447
#if !defined TCP_INPUT_DEBUG || defined __DOXYGEN__
3448
#define TCP_INPUT_DEBUG LWIP_DBG_OFF
3449
#endif
3450
3454
#if !defined TCP_FR_DEBUG || defined __DOXYGEN__
3455
#define TCP_FR_DEBUG LWIP_DBG_OFF
3456
#endif
3457
3462
#if !defined TCP_RTO_DEBUG || defined __DOXYGEN__
3463
#define TCP_RTO_DEBUG LWIP_DBG_OFF
3464
#endif
3465
3469
#if !defined TCP_CWND_DEBUG || defined __DOXYGEN__
3470
#define TCP_CWND_DEBUG LWIP_DBG_OFF
3471
#endif
3472
3476
#if !defined TCP_WND_DEBUG || defined __DOXYGEN__
3477
#define TCP_WND_DEBUG LWIP_DBG_OFF
3478
#endif
3479
3483
#if !defined TCP_OUTPUT_DEBUG || defined __DOXYGEN__
3484
#define TCP_OUTPUT_DEBUG LWIP_DBG_OFF
3485
#endif
3486
3490
#if !defined TCP_RST_DEBUG || defined __DOXYGEN__
3491
#define TCP_RST_DEBUG LWIP_DBG_OFF
3492
#endif
3493
3497
#if !defined TCP_QLEN_DEBUG || defined __DOXYGEN__
3498
#define TCP_QLEN_DEBUG LWIP_DBG_OFF
3499
#endif
3500
3504
#if !defined UDP_DEBUG || defined __DOXYGEN__
3505
#define UDP_DEBUG LWIP_DBG_OFF
3506
#endif
3507
3511
#if !defined TCPIP_DEBUG || defined __DOXYGEN__
3512
#define TCPIP_DEBUG LWIP_DBG_OFF
3513
#endif
3514
3518
#if !defined SLIP_DEBUG || defined __DOXYGEN__
3519
#define SLIP_DEBUG LWIP_DBG_OFF
3520
#endif
3521
3525
#if !defined DHCP_DEBUG || defined __DOXYGEN__
3526
#define DHCP_DEBUG LWIP_DBG_OFF
3527
#endif
3528
3532
#if !defined AUTOIP_DEBUG || defined __DOXYGEN__
3533
#define AUTOIP_DEBUG LWIP_DBG_OFF
3534
#endif
3535
3539
#if !defined ACD_DEBUG || defined __DOXYGEN__
3540
#define ACD_DEBUG LWIP_DBG_OFF
3541
#endif
3542
3546
#if !defined DNS_DEBUG || defined __DOXYGEN__
3547
#define DNS_DEBUG LWIP_DBG_OFF
3548
#endif
3549
3553
#if !defined IP6_DEBUG || defined __DOXYGEN__
3554
#define IP6_DEBUG LWIP_DBG_OFF
3555
#endif
3556
3560
#if !defined DHCP6_DEBUG || defined __DOXYGEN__
3561
#define DHCP6_DEBUG LWIP_DBG_OFF
3562
#endif
3570
#if !defined LWIP_TESTMODE
3571
#define LWIP_TESTMODE 0
3572
#endif
3573
3574
/*
3575
--------------------------------------------------
3576
---------- Performance tracking options ----------
3577
--------------------------------------------------
3578
*/
3588
#if !defined LWIP_PERF || defined __DOXYGEN__
3589
#define LWIP_PERF 0
3590
#endif
3595
#endif
/* LWIP_HDR_OPT_H */
debug.h
drivers
network
tcpip
lwip
src
include
lwip
opt.h
Generated on Tue Nov 26 2024 06:05:51 for ReactOS by
1.9.6