netif/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 
18 #ifndef NET_GNRC_NETIF_CONF_H
19 #define NET_GNRC_NETIF_CONF_H
20 
21 #include "net/ieee802154.h"
22 #include "net/ethernet/hdr.h"
23 #include "net/gnrc/ipv6/nib/conf.h"
24 #include "thread.h"
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
36 #ifndef GNRC_NETIF_NUMOF
37 #define GNRC_NETIF_NUMOF (1)
38 #endif
39 
43 #ifndef GNRC_NETIF_PRIO
44 #define GNRC_NETIF_PRIO (THREAD_PRIORITY_MAIN - 5)
45 #endif
46 
52 #ifdef MODULE_GNRC_RPL
53 #define GNRC_NETIF_RPL_ADDR (1)
54 #else
55 #define GNRC_NETIF_RPL_ADDR (0)
56 #endif
57 
64 #if GNRC_IPV6_NIB_CONF_ROUTER
65 #define GNRC_NETIF_IPV6_RTR_ADDR (1)
66 #else
67 #define GNRC_NETIF_IPV6_RTR_ADDR (0)
68 #endif
69 
79 #ifndef GNRC_NETIF_IPV6_ADDRS_NUMOF
80 #define GNRC_NETIF_IPV6_ADDRS_NUMOF (2)
81 #endif
82 
89 #ifndef GNRC_NETIF_IPV6_GROUPS_NUMOF
90 #define GNRC_NETIF_IPV6_GROUPS_NUMOF (GNRC_NETIF_IPV6_ADDRS_NUMOF + \
91  GNRC_NETIF_RPL_ADDR + \
92  GNRC_NETIF_IPV6_RTR_ADDR + 1)
93 #endif
94 
111 #ifndef GNRC_NETIF_L2ADDR_MAXLEN
112 #if defined(MODULE_NETDEV_IEEE802154) || defined(MODULE_XBEE)
113 #define GNRC_NETIF_L2ADDR_MAXLEN (IEEE802154_LONG_ADDRESS_LEN)
114 #elif MODULE_NETDEV_ETH
115 #define GNRC_NETIF_L2ADDR_MAXLEN (ETHERNET_ADDR_LEN)
116 #elif MODULE_CC110X
117 #define GNRC_NETIF_L2ADDR_MAXLEN (1U)
118 #else
119 #define GNRC_NETIF_L2ADDR_MAXLEN (GNRC_IPV6_NIB_L2ADDR_MAX_LEN)
120 #endif
121 #endif
122 
123 #ifndef GNRC_NETIF_DEFAULT_HL
124 #define GNRC_NETIF_DEFAULT_HL (64U)
125 #endif
126 
127 #ifdef __cplusplus
128 }
129 #endif
130 
131 #endif /* NET_GNRC_NETIF_CONF_H */
132 
IEEE 802.15.4 header definitions.
Threading API.
Configuration macro definitions for neighbor information base.
Ethernet header definitions.