conf.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2017 Freie Universit├Ąt Berlin
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 NET_GNRC_NETIF_CONF_H
21 #define NET_GNRC_NETIF_CONF_H
22 
23 #include <kernel_defines.h>
24 
25 #include "net/ieee802154.h"
26 #include "net/ethernet/hdr.h"
27 #include "net/gnrc/ipv6/nib/conf.h"
28 #include "thread.h"
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
42 #if DOXYGEN
43 #define GNRC_NETIF_SINGLE
44 #endif
45 
49 #ifndef GNRC_NETIF_PRIO
50 #define GNRC_NETIF_PRIO (THREAD_PRIORITY_MAIN - 5)
51 #endif
52 
60 #ifndef CONFIG_GNRC_NETIF_MSG_QUEUE_SIZE
61 #define CONFIG_GNRC_NETIF_MSG_QUEUE_SIZE (16U)
62 #endif
63 
69 #ifdef MODULE_GNRC_RPL
70 #define GNRC_NETIF_RPL_ADDR (1)
71 #else
72 #define GNRC_NETIF_RPL_ADDR (0)
73 #endif
74 
81 #if IS_ACTIVE(CONFIG_GNRC_IPV6_NIB_ROUTER)
82 #define GNRC_NETIF_IPV6_RTR_ADDR (1)
83 #else
84 #define GNRC_NETIF_IPV6_RTR_ADDR (0)
85 #endif
86 
96 #ifndef CONFIG_GNRC_NETIF_IPV6_ADDRS_NUMOF
97 #define CONFIG_GNRC_NETIF_IPV6_ADDRS_NUMOF (2)
98 #endif
99 
106 #ifndef GNRC_NETIF_IPV6_GROUPS_NUMOF
107 #define GNRC_NETIF_IPV6_GROUPS_NUMOF (CONFIG_GNRC_NETIF_IPV6_ADDRS_NUMOF + \
108  GNRC_NETIF_RPL_ADDR + \
109  GNRC_NETIF_IPV6_RTR_ADDR + 1)
110 #endif
111 
128 #ifndef GNRC_NETIF_L2ADDR_MAXLEN
129 #if defined(MODULE_NETDEV_IEEE802154) || defined(MODULE_XBEE)
130 #define GNRC_NETIF_L2ADDR_MAXLEN (IEEE802154_LONG_ADDRESS_LEN)
131 #elif MODULE_NETDEV_ETH
132 #define GNRC_NETIF_L2ADDR_MAXLEN (ETHERNET_ADDR_LEN)
133 #elif MODULE_CC110X
134 #define GNRC_NETIF_L2ADDR_MAXLEN (1U)
135 #else
136 #define GNRC_NETIF_L2ADDR_MAXLEN (CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN)
137 #endif
138 #endif
139 
140 #ifndef CONFIG_GNRC_NETIF_DEFAULT_HL
141 #define CONFIG_GNRC_NETIF_DEFAULT_HL (64U)
142 #endif
143 
151 #ifndef CONFIG_GNRC_NETIF_MIN_WAIT_AFTER_SEND_US
152 #define CONFIG_GNRC_NETIF_MIN_WAIT_AFTER_SEND_US (0U)
153 #endif
154 
155 #ifdef __cplusplus
156 }
157 #endif
158 
159 #endif /* NET_GNRC_NETIF_CONF_H */
160 
IEEE 802.15.4 header definitions.
Ethernet header definitions.
Configuration macro definitions for neighbor information base.
Common macros and compiler attributes/pragmas configuration.