lwipopts.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 Martine Lenders <mlenders@inf.fu-berlin.de>
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
20 #ifndef LWIPOPTS_H
21 #define LWIPOPTS_H
22 
23 #include "thread.h"
24 #include "net/gnrc/netif/hdr.h"
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
35 #if defined(MODULE_LWIP_ARP) && defined(MODULE_LWIP_ETHERNET)
36 #define LWIP_ARP 1
37 #else /* MODULE_LWIP_ARP */
38 #define LWIP_ARP 0
39 #endif /* MODULE_LWIP_ARP */
40 
41 #ifdef MODULE_LWIP_AUTOIP
42 #define LWIP_AUTOIP 1
43 #else /* MODULE_LWIP_AUTOIP */
44 #define LWIP_AUTOIP 0
45 #endif /* MODULE_LWIP_AUTOIP */
46 
47 #ifdef MODULE_LWIP_DHCP
48 #define LWIP_DHCP 1
49 #else /* MODULE_LWIP_DHCP */
50 #define LWIP_DHCP 0
51 #endif /* MODULE_LWIP_DHCP */
52 
53 #ifdef MODULE_LWIP_ETHERNET
54 #define LWIP_ETHERNET 1
55 #else /* MODULE_LWIP_ETHERNET */
56 #define LWIP_ETHERNET 0
57 #endif /* MODULE_LWIP_ETHERNET */
58 
59 #ifdef MODULE_LWIP_NETIF
60 #define LWIP_NETIF_API 1
61 #else /* MODULE_LWIP_NETIF */
62 #define LWIP_NETIF_API 0
63 #endif /* MODULE_LWIP_NETIF */
64 
65 #ifdef MODULE_LWIP_IGMP
66 #define LWIP_IGMP 1
67 #else /* MODULE_LWIP_IGMP */
68 #define LWIP_IGMP 0
69 #endif /* MODULE_LWIP_IGMP */
70 
71 #ifdef MODULE_LWIP_IPV4
72 #define LWIP_IPV4 1
73 #else /* MODULE_LWIP_IPV4 */
74 #define LWIP_IPV4 0
75 #endif /* MODULE_LWIP_IPV4 */
76 
77 #ifdef MODULE_LWIP_IPV6_AUTOCONFIG
78 #define LWIP_IPV6_AUTOCONFIG 1
79 #else /* MODULE_LWIP_IPV6_AUTOCONFIG */
80 #define LWIP_IPV6_AUTOCONFIG 0
81 #endif /* MODULE_LWIP_IPV6_AUTOCONFIG */
82 
83 #ifdef MODULE_LWIP_IPV6_MLD
84 #define LWIP_IPV6_MLD 1
85 #else /* MODULE_LWIP_IPV6 */
86 #define LWIP_IPV6_MLD 0
87 #endif /* MODULE_LWIP_IPV6 */
88 
89 #ifdef MODULE_LWIP_IPV6
90 #define LWIP_IPV6 1
91 #else /* MODULE_LWIP_IPV6 */
92 #define LWIP_IPV6 0
93 #endif /* MODULE_LWIP_IPV6 */
94 
95 #ifdef MODULE_LWIP_NETIF_PPP
96 #define PPP_SUPPORT 1
97 #else /* MODULE_LWIP_NETIF_PPP */
98 #define PPP_SUPPORT 0
99 #endif /* MODULE_LWIP_NETIF_PPP */
100 
101 #ifdef MODULE_LWIP_RAW
102 #define LWIP_RAW 1
103 #else /* MODULE_LWIP_RAW */
104 #define LWIP_RAW 0
105 #endif /* MODULE_LWIP_RAW */
106 
107 #ifdef MODULE_LWIP_SIXLOWPAN
108 #define LWIP_6LOWPAN 1
109 #else /* MODULE_LWIP_STATS */
110 #define LWIP_6LOWPAN 0
111 #endif /* MODULE_LWIP_STATS */
112 
113 #ifdef MODULE_LWIP_STATS
114 #define LWIP_STATS 1
115 #else /* MODULE_LWIP_STATS */
116 #define LWIP_STATS 0
117 #endif /* MODULE_LWIP_STATS */
118 
119 #ifdef MODULE_LWIP_TCP
120 #define LWIP_TCP 1
121 #else /* MODULE_LWIP_TCP */
122 #define LWIP_TCP 0
123 #endif /* MODULE_LWIP_TCP */
124 
125 #ifdef MODULE_LWIP_UDP
126 #define LWIP_UDP 1
127 #else /* MODULE_LWIP_UDP */
128 #define LWIP_UDP 0
129 #endif /* MODULE_LWIP_UDP */
130 
131 #ifdef MODULE_LWIP_UDPLITE
132 #define LWIP_UDPLITE 1
133 #else /* MODULE_LWIP_UDPLITE */
134 #define LWIP_UDPLITE 0
135 #endif /* MODULE_LWIP_UDPLITE */
136 
137 #if IS_USED(MODULE_LWIP_SOCK)
138 #define LWIP_NETCONN 1
139 #if IS_USED(MODULE_SOCK_AUX_LOCAL)
140 #define LWIP_NETBUF_RECVINFO 1
141 #endif /* MODULE_SOCK_AUX_LOCAL */
142 #else
143 #define LWIP_NETCONN 0
144 #endif /* MODULE_LWIP_SOCK */
145 
146 #ifdef MODULE_SHELL_CMD_LWIP_NETIF
147 #define LWIP_DEBUG 1
148 #endif
149 
150 #ifndef TCP_LISTEN_BACKLOG
151 # if defined(MODULE_LWIP_SOCK_TCP)
152 # define TCP_LISTEN_BACKLOG 1
153 # else
154 # define TCP_LISTEN_BACKLOG 0
155 # endif
156 #endif /* TCP_LISTEN_BACKLOG */
157 
158 #define LWIP_SOCKET 0
159 
160 #define LWIP_DONT_PROVIDE_BYTEORDER_FUNCTIONS
161 #define MEMP_MEM_MALLOC 1
162 #define NETIF_MAX_HWADDR_LEN (GNRC_NETIF_HDR_L2ADDR_MAX_LEN)
163 
164 #ifndef TCPIP_THREAD_STACKSIZE
165 #define TCPIP_THREAD_STACKSIZE (THREAD_STACKSIZE_DEFAULT)
166 #endif
167 
168 #define MEM_ALIGNMENT 4
169 #ifndef MEM_SIZE
170 /* packet buffer size of GNRC + stack for TCP/IP */
171 #define MEM_SIZE (TCPIP_THREAD_STACKSIZE + 6144)
172 #endif
173 
174 #ifdef DEVELHELP
175 void sys_mark_tcpip_thread(void);
176 #define LWIP_MARK_TCPIP_THREAD sys_mark_tcpip_thread
177 
178 bool sys_check_core_locked(void);
179 #define LWIP_ASSERT_CORE_LOCKED() \
180  LWIP_ASSERT("Core lock held", sys_check_core_locked())
181 #endif
182 
185 #ifdef __cplusplus
186 }
187 #endif
188 
189 #endif /* LWIPOPTS_H */
Generic network interface header.