Go to the documentation of this file.
33 #ifndef LWIP_HDR_LWIPOPTS_H
34 #define LWIP_HDR_LWIPOPTS_H
41 #define LWIP_TIMERS_CUSTOM 0
43 #define MEMCPY(dst, src, len) memcpy(dst,src,len)
44 #define SMEMCPY(dst, src, len) memcpy(dst,src,len)
47 #define LWIP_MPU_COMPATIBLE 0
48 #define LWIP_TCPIP_CORE_LOCKING 1
49 #define LWIP_TCPIP_CORE_LOCKING_INPUT 1
50 #define SYS_LIGHTWEIGHT_PROT 0
53 #define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0
54 #define MEM_ALIGNMENT 1
55 #define MEM_LIBC_MALLOC 0
57 #define MEM_USE_POOLS 0
58 #define MEM_USE_POOLS_TRY_BIGGER_POOL 0
60 #define MEMP_MEM_MALLOC 0
61 #define MEMP_SANITY_CHECK 0
62 #define MEMP_USE_CUSTOM_POOLS 0
63 #define MEMP_OVERFLOW_CHECK 0
65 #define MEMP_NUM_API_MSG MEMP_NUM_TCPIP_MSG_API
66 #define MEMP_NUM_ARP_QUEUE 30
67 #define MEMP_NUM_DNS_API_MSG MEMP_NUM_TCPIP_MSG_API
68 #define MEMP_NUM_FRAG_PBUF 15
69 #define MEMP_NUM_IGMP_GROUP 8
70 #define MEMP_NUM_LOCALHOSTLIST 1
71 #define MEMP_NUM_NETBUF 2
72 #define MEMP_NUM_NETCONN 4
73 #define MEMP_NUM_NETDB 1
74 #define MEMP_NUM_NETIFAPI_MSG MEMP_NUM_TCPIP_MSG_API
75 #define MEMP_NUM_PBUF 16
76 #define MEMP_NUM_RAW_PCB 4
77 #define MEMP_NUM_REASSDATA 5
78 #define MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA MEMP_NUM_TCPIP_MSG_API
79 #define MEMP_NUM_TCP_PCB 5
80 #define MEMP_NUM_TCP_PCB_LISTEN 8
81 #define MEMP_NUM_TCP_SEG 16
82 #define MEMP_NUM_TCPIP_MSG_API 8
83 #define MEMP_NUM_TCPIP_MSG_INPKT 8
84 #define MEMP_NUM_UDP_PCB 4
85 #define PBUF_POOL_SIZE 16
87 #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))
91 #define ARP_TABLE_SIZE 10
93 #define ARP_MAXAGE 300
95 #define ARP_QUEUEING 0
97 #define ARP_QUEUE_LEN 3
99 #define ETHARP_SUPPORT_VLAN 0
101 #define LWIP_ETHERNET LWIP_ARP
103 #define ETH_PAD_SIZE 0
105 #define ETHARP_SUPPORT_STATIC_ENTRIES 0
107 #define ETHARP_TABLE_MATCH_NETIF 0
113 #define IP_REASSEMBLY 1
117 #define IP_OPTIONS_ALLOWED 1
119 #define IP_REASS_MAXAGE 3
121 #define IP_REASS_MAX_PBUFS 10
123 #define IP_DEFAULT_TTL 255
125 #define IP_SOF_BROADCAST 0
127 #define IP_SOF_BROADCAST_RECV 0
129 #define IP_FORWARD_ALLOW_TX_ON_RX_NETIF 0
131 #define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS 0
135 #define ICMP_TTL (IP_DEFAULT_TTL)
137 #define LWIP_BROADCAST_PING 1
139 #define LWIP_MULTICAST_PING 0
143 #define RAW_TTL (IP_DEFAULT_TTL)
146 #define DHCP_DOES_ARP_CHECK ((LWIP_DHCP) && (LWIP_ARP))
147 #define LWIP_DHCP_BOOTP_FILE 0
148 #define LWIP_DHCP_GET_NTP_SRV 0
149 #define LWIP_DHCP_MAX_NTP_SERVERS 1
150 #define LWIP_DHCP_MAX_DNS_SERVERS DNS_MAX_SERVERS
151 #define LWIP_AUTOIP 0
152 #define LWIP_DHCP_AUTOIP_COOP 0
153 #define LWIP_DHCP_AUTOIP_COOP_TRIES 9
154 #define LWIP_MIB2_CALLBACKS 0
156 #define LWIP_MULTICAST_TX_OPTIONS (LWIP_IGMP && LWIP_UDP)
158 #define DNS_TABLE_SIZE 4
159 #define DNS_MAX_NAME_LENGTH 256
160 #define DNS_MAX_SERVERS 2
161 #define DNS_DOES_NAME_CHECK 1
162 #define LWIP_DNS_SECURE (LWIP_DNS_SECURE_RAND_XID | LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING | LWIP_DNS_SECURE_RAND_SRC_PORT)
163 #define DNS_LOCAL_HOSTLIST 0
164 #define DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0
165 #define LWIP_DNS_SUPPORT_MDNS_QUERIES 0
167 #define LWIP_UDPLITE 0
168 #define UDP_TTL (IP_DEFAULT_TTL)
169 #define LWIP_NETBUF_RECVINFO 0
171 #define TCP_TTL (IP_DEFAULT_TTL)
172 #define TCP_WND (4 * TCP_MSS)
174 #define TCP_MAXRTX 12
176 #define TCP_SYNMAXRTX 6
178 #define TCP_QUEUE_OOSEQ (LWIP_TCP)
182 #define TCP_CALCULATE_EFF_SEND_MSS 1
184 #define TCP_SND_BUF (2 * TCP_MSS)
186 #define TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS))
188 #define TCP_SNDLOWAT LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1)
190 #define TCP_SNDQUEUELOWAT LWIP_MAX(((TCP_SND_QUEUELEN)/2), 5)
192 #define TCP_OOSEQ_MAX_BYTES 0
194 #define TCP_OOSEQ_MAX_PBUFS 0
196 #define TCP_LISTEN_BACKLOG 0
198 #define TCP_DEFAULT_LISTEN_BACKLOG 0xff
200 #define TCP_OVERSIZE TCP_MSS
202 #define LWIP_TCP_TIMESTAMPS 1
204 #define TCP_WND_UPDATE_THRESHOLD LWIP_MIN((TCP_WND / 4), (TCP_MSS * 4))
206 #define LWIP_EVENT_API 0
207 #define LWIP_WND_SCALE 0
209 #define PBUF_LINK_HLEN (14 + ETH_PAD_SIZE)
211 #define PBUF_LINK_ENCAPSULATION_HLEN 0u
213 #define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS + 40 + PBUF_LINK_ENCAPSULATION_HLEN + PBUF_LINK_HLEN)
215 #define LWIP_NETIF_HOSTNAME 0
217 #define LWIP_NETIF_API 0
219 #define LWIP_NETIF_STATUS_CALLBACK 0
221 #define LWIP_NETIF_LINK_CALLBACK 0
223 #define LWIP_NETIF_REMOVE_CALLBACK 0
225 #define LWIP_NETIF_HWADDRHINT 0
227 #define LWIP_NETIF_TX_SINGLE_PBUF 0
229 #define LWIP_NUM_NETIF_CLIENT_DATA 0
231 #define LWIP_HAVE_LOOPIF LWIP_NETIF_LOOPBACK
233 #define LWIP_LOOPIF_MULTICAST 0
235 #define LWIP_NETIF_LOOPBACK 1
237 #define LWIP_LOOPBACK_MAX_PBUFS 0
239 #define LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS)
241 #define TCPIP_THREAD_NAME "tcpip_thread"
243 #define TCPIP_THREAD_STACKSIZE 0
245 #define TCPIP_THREAD_PRIO 1
247 #define TCPIP_MBOX_SIZE 6
249 #define LWIP_TCPIP_THREAD_ALIVE()
251 #define SLIPIF_THREAD_NAME "slipif_loop"
253 #define SLIPIF_THREAD_STACKSIZE 0
255 #define SLIPIF_THREAD_PRIO 1
257 #define DEFAULT_THREAD_NAME "lwIP"
259 #define DEFAULT_THREAD_STACKSIZE 0
261 #define DEFAULT_THREAD_PRIO 1
263 #define DEFAULT_RAW_RECVMBOX_SIZE 0
265 #define DEFAULT_UDP_RECVMBOX_SIZE 0
267 #define DEFAULT_TCP_RECVMBOX_SIZE 0
269 #define DEFAULT_ACCEPTMBOX_SIZE 0
271 #define LWIP_NETCONN 1
273 #define LWIP_TCPIP_TIMEOUT 1
275 #define LWIP_NETCONN_SEM_PER_THREAD 0
277 #define LWIP_NETCONN_FULLDUPLEX 0
279 #define LWIP_SOCKET 1
281 #define LWIP_COMPAT_SOCKETS 1
283 #define LWIP_POSIX_SOCKETS_IO_NAMES 1
285 #define LWIP_SOCKET_OFFSET 0
287 #define LWIP_TCP_KEEPALIVE 0
289 #define LWIP_SO_SNDTIMEO 1
291 #define LWIP_SO_RCVTIMEO 1
293 #define LWIP_SO_SNDRCVTIMEO_NONSTANDARD 0
295 #define LWIP_SO_RCVBUF 0
297 #define LWIP_SO_LINGER 0
299 #define RECV_BUFSIZE_DEFAULT INT_MAX
301 #define LWIP_TCP_CLOSE_TIMEOUT_MS_DEFAULT 20000
305 #define SO_REUSE_RXTOALL 0
307 #define LWIP_FIONREAD_LINUXMODE 0
311 #define LWIP_STATS_DISPLAY 0
315 #define ETHARP_STATS (LWIP_ARP)
319 #define IPFRAG_STATS (IP_REASSEMBLY || IP_FRAG)
323 #define IGMP_STATS (LWIP_IGMP)
325 #define UDP_STATS (LWIP_UDP)
327 #define TCP_STATS (LWIP_TCP)
329 #define MEM_STATS ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0))
331 #define MEMP_STATS (MEMP_MEM_MALLOC == 0)
333 #define SYS_STATS (NO_SYS == 0)
335 #define IP6_STATS (LWIP_IPV6)
337 #define ICMP6_STATS (LWIP_IPV6 && LWIP_ICMP6)
339 #define IP6_FRAG_STATS (LWIP_IPV6 && (LWIP_IPV6_FRAG || LWIP_IPV6_REASS))
341 #define MLD6_STATS (LWIP_IPV6 && LWIP_IPV6_MLD)
343 #define ND6_STATS (LWIP_IPV6)
347 #define LWIP_CHECKSUM_CTRL_PER_NETIF 0
349 #define CHECKSUM_GEN_IP 1
351 #define CHECKSUM_GEN_UDP 1
353 #define CHECKSUM_GEN_TCP 1
355 #define CHECKSUM_GEN_ICMP 1
357 #define CHECKSUM_GEN_ICMP6 1
359 #define CHECKSUM_CHECK_IP 1
360 #define CHECKSUM_CHECK_UDP 1
362 #define CHECKSUM_CHECK_TCP 1
363 #define CHECKSUM_CHECK_ICMP 1
364 #define CHECKSUM_CHECK_ICMP6 1
365 #define LWIP_CHECKSUM_ON_COPY 0
367 #define LWIP_IPV6_NUM_ADDRESSES 3
368 #define LWIP_IPV6_FORWARD 0
369 #define LWIP_IPV6_FRAG 0
370 #define LWIP_IPV6_REASS (LWIP_IPV6)
371 #define LWIP_IPV6_SEND_ROUTER_SOLICIT 1
372 #define LWIP_IPV6_AUTOCONFIG (LWIP_IPV6)
373 #define LWIP_IPV6_DUP_DETECT_ATTEMPTS 1
374 #define LWIP_ICMP6 (LWIP_IPV6)
375 #define LWIP_ICMP6_DATASIZE 8
376 #define LWIP_ICMP6_HL 255
377 #define LWIP_IPV6_MLD (LWIP_IPV6)
378 #define MEMP_NUM_MLD6_GROUP 4
379 #define LWIP_ND6_QUEUEING (LWIP_IPV6)
380 #define MEMP_NUM_ND6_QUEUE 20
381 #define LWIP_ND6_NUM_NEIGHBORS 10
382 #define LWIP_ND6_NUM_DESTINATIONS 10
383 #define LWIP_ND6_NUM_PREFIXES 5
384 #define LWIP_ND6_NUM_ROUTERS 3
385 #define LWIP_ND6_MAX_MULTICAST_SOLICIT 3
386 #define LWIP_ND6_MAX_UNICAST_SOLICIT 3
387 #define LWIP_ND6_MAX_ANYCAST_DELAY_TIME 1000
388 #define LWIP_ND6_MAX_NEIGHBOR_ADVERTISEMENT 3
389 #define LWIP_ND6_REACHABLE_TIME 30000
390 #define LWIP_ND6_RETRANS_TIMER 1000
392 #define LWIP_ND6_DELAY_FIRST_PROBE_TIME 5000
394 #define LWIP_ND6_ALLOW_RA_UPDATES 1
396 #define LWIP_ND6_TCP_REACHABILITY_HINTS 1
398 #define LWIP_ND6_RDNSS_MAX_DNS_SERVERS 0
400 #define LWIP_IPV6_DHCP6 0
428 #define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL
429 #define LWIP_DBG_TYPES_ON LWIP_DBG_ON
431 #define ETHARP_DEBUG LWIP_DBG_OFF
433 #define NETIF_DEBUG LWIP_DBG_OFF
435 #define PBUF_DEBUG LWIP_DBG_OFF
437 #define API_LIB_DEBUG LWIP_DBG_OFF
439 #define API_MSG_DEBUG LWIP_DBG_OFF
441 #define SOCKETS_DEBUG LWIP_DBG_OFF
443 #define ICMP_DEBUG LWIP_DBG_OFF
445 #define IGMP_DEBUG LWIP_DBG_OFF
447 #define INET_DEBUG LWIP_DBG_OFF
449 #define IP_DEBUG LWIP_DBG_ON
451 #define IP_REASS_DEBUG LWIP_DBG_OFF
453 #define RAW_DEBUG LWIP_DBG_OFF
455 #define MEM_DEBUG LWIP_DBG_OFF
457 #define MEMP_DEBUG LWIP_DBG_OFF
459 #define SYS_DEBUG LWIP_DBG_OFF
461 #define TIMERS_DEBUG LWIP_DBG_OFF
463 #define TCP_DEBUG LWIP_DBG_OFF
465 #define TCP_INPUT_DEBUG LWIP_DBG_OFF
467 #define TCP_FR_DEBUG LWIP_DBG_OFF
469 #define TCP_RTO_DEBUG LWIP_DBG_OFF
471 #define TCP_CWND_DEBUG LWIP_DBG_OFF
473 #define TCP_WND_DEBUG LWIP_DBG_OFF
475 #define TCP_OUTPUT_DEBUG LWIP_DBG_OFF
477 #define TCP_RST_DEBUG LWIP_DBG_OFF
479 #define TCP_QLEN_DEBUG LWIP_DBG_OFF
481 #define UDP_DEBUG LWIP_DBG_OFF
482 #define TCPIP_DEBUG LWIP_DBG_OFF
483 #define SLIP_DEBUG LWIP_DBG_OFF
484 #define DHCP_DEBUG LWIP_DBG_OFF
485 #define AUTOIP_DEBUG LWIP_DBG_OFF
486 #define DNS_DEBUG LWIP_DBG_OFF
487 #define IP6_DEBUG LWIP_DBG_OFF
492 #define LWIP_COMPAT_MUTEX 0
493 #define LWIP_COMPAT_MUTEX_ALLOWED 1
494 #define LWIP_TIMEVAL_PRIVATE 0
495 #define LWIP_CALLBACK_API 1
496 #define LWIP_PROVIDE_ERRNO 1