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