config.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2019 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 
21 #ifndef NET_GNRC_SIXLOWPAN_CONFIG_H
22 #define NET_GNRC_SIXLOWPAN_CONFIG_H
23 
24 #include "kernel_defines.h"
25 #include "timex.h"
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
34 #ifndef GNRC_SIXLOWPAN_STACK_SIZE
35 #define GNRC_SIXLOWPAN_STACK_SIZE (THREAD_STACKSIZE_DEFAULT)
36 #endif
37 
41 #ifndef GNRC_SIXLOWPAN_PRIO
42 #define GNRC_SIXLOWPAN_PRIO (THREAD_PRIORITY_MAIN - 4)
43 #endif
44 
52 #ifndef CONFIG_GNRC_SIXLOWPAN_MSG_QUEUE_SIZE_EXP
53 #define CONFIG_GNRC_SIXLOWPAN_MSG_QUEUE_SIZE_EXP (3U)
54 #endif
55 
65 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_FB_SIZE
66 #define CONFIG_GNRC_SIXLOWPAN_FRAG_FB_SIZE (1U)
67 #endif
68 
75 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_SIZE
76 #define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_SIZE (4U)
77 #endif
78 
85 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US
86 #define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US (3U * US_PER_SEC)
87 #endif
88 
101 #ifdef DOXYGEN
102 #define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DO_NOT_OVERRIDE
103 #endif
104 
120 #ifndef GNRC_SIXLOWPAN_FRAG_RBUF_AGGRESSIVE_OVERRIDE
121 #if IS_ACTIVE(CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DO_NOT_OVERRIDE)
122 #define GNRC_SIXLOWPAN_FRAG_RBUF_AGGRESSIVE_OVERRIDE (0)
123 #else /* CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DO_NOT_OVERRIDE */
124 #define GNRC_SIXLOWPAN_FRAG_RBUF_AGGRESSIVE_OVERRIDE (1)
125 #endif /* CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DO_NOT_OVERRIDE */
126 #endif /* GNRC_SIXLOWPAN_FRAG_RBUF_AGGRESSIVE_OVERRIDE */
127 
139 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DEL_TIMER
140 #define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DEL_TIMER (0U)
141 #endif
142 
157 #ifndef CONFIG_GNRC_SIXLOWPAN_ND_AR_LTIME
158 #define CONFIG_GNRC_SIXLOWPAN_ND_AR_LTIME (15U)
159 #endif
160 
171 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_SIZE
172 #define CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_SIZE (16U)
173 #endif /* CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_SIZE */
174 
183 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_TIMEOUT_US
184 #define CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_TIMEOUT_US (CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US)
185 #endif /* CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_TIMEOUT_US */
186 
197 #ifndef GNRC_SIXLOWPAN_SFR_MIN_FRAG_SIZE
198 #define GNRC_SIXLOWPAN_SFR_MIN_FRAG_SIZE (96U)
199 #endif
200 
208 #ifndef GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE
209 #define GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE (112U)
210 #endif
211 
216 #ifndef GNRC_SIXLOWPAN_SFR_OPT_FRAG_SIZE
217 #define GNRC_SIXLOWPAN_SFR_OPT_FRAG_SIZE (GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE)
218 #endif
219 
226 #define GNRC_SIXLOWPAN_SFR_USE_ECN (0U)
227 
232 #ifndef GNRC_SIXLOWPAN_SFR_MIN_WIN_SIZE
233 #define GNRC_SIXLOWPAN_SFR_MIN_WIN_SIZE (1U)
234 #endif
235 
242 #ifndef GNRC_SIXLOWPAN_SFR_MAX_WIN_SIZE
243 #define GNRC_SIXLOWPAN_SFR_MAX_WIN_SIZE (16U)
244 #endif
245 
250 #ifndef GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE
251 #define GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE (16U)
252 #endif
253 
266 #ifndef GNRC_SIXLOWPAN_SFR_INTER_FRAME_GAP_US
267 #define GNRC_SIXLOWPAN_SFR_INTER_FRAME_GAP_US (100U)
268 #endif
269 
275 #ifndef GNRC_SIXLOWPAN_SFR_MIN_ARQ_TIMEOUT_MS
276 #define GNRC_SIXLOWPAN_SFR_MIN_ARQ_TIMEOUT_MS (350U)
277 #endif
278 
284 #ifndef GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS
285 #define GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS (700U)
286 #endif
287 
293 #ifndef GNRC_SIXLOWPAN_SFR_OPT_ARQ_TIMEOUT_MS
294 #define GNRC_SIXLOWPAN_SFR_OPT_ARQ_TIMEOUT_MS (GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS)
295 #endif
296 
301 #ifndef GNRC_SIXLOWPAN_SFR_FRAG_RETRIES
302 #define GNRC_SIXLOWPAN_SFR_FRAG_RETRIES (2U)
303 #endif
304 
309 #ifndef GNRC_SIXLOWPAN_SFR_DG_RETRIES
310 #define GNRC_SIXLOWPAN_SFR_DG_RETRIES (0U)
311 #endif
312 
317 #ifndef GNRC_SIXLOWPAN_MSG_QUEUE_SIZE
318 #define GNRC_SIXLOWPAN_MSG_QUEUE_SIZE (1 << CONFIG_GNRC_SIXLOWPAN_MSG_QUEUE_SIZE_EXP)
319 #endif
320 
321 #ifdef __cplusplus
322 }
323 #endif
324 
325 #endif /* NET_GNRC_SIXLOWPAN_CONFIG_H */
326 
Utility library for comparing and computing timestamps.
Common macros and compiler attributes/pragmas configuration.