Loading...
Searching...
No Matches
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
27extern "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
175void sys_mark_tcpip_thread(void);
176#define LWIP_MARK_TCPIP_THREAD sys_mark_tcpip_thread
177
178bool 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.