config.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2019 Freie Universität Berlin
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
21 #include "modules.h"
22 #include "timex.h"
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
35 #ifndef GNRC_SIXLOWPAN_STACK_SIZE
36 #define GNRC_SIXLOWPAN_STACK_SIZE ((THREAD_STACKSIZE_DEFAULT) - 64)
37 #endif
38 
42 #ifndef GNRC_SIXLOWPAN_PRIO
43 #define GNRC_SIXLOWPAN_PRIO (THREAD_PRIORITY_MAIN - 4)
44 #endif
45 
53 #ifndef CONFIG_GNRC_SIXLOWPAN_MSG_QUEUE_SIZE_EXP
54 #define CONFIG_GNRC_SIXLOWPAN_MSG_QUEUE_SIZE_EXP (3U)
55 #endif
56 
66 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_FB_SIZE
67 #if IS_USED(MODULE_GNRC_SIXLOWPAN_FRAG_SFR)
68 #define CONFIG_GNRC_SIXLOWPAN_FRAG_FB_SIZE (4U)
69 #else /* defined(MODULE_GNRC_SIXLOWPAN_FRAG_SFR) */
70 #define CONFIG_GNRC_SIXLOWPAN_FRAG_FB_SIZE (1U)
71 #endif /* defined(MODULE_GNRC_SIXLOWPAN_FRAG_SFR) */
72 #endif
73 
80 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_SIZE
81 #define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_SIZE (4U)
82 #endif
83 
90 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US
91 #define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US (3U * US_PER_SEC)
92 #endif
93 
106 #ifdef DOXYGEN
107 #define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DO_NOT_OVERRIDE
108 #endif
109 
121 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DEL_TIMER
122 #define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DEL_TIMER (0U)
123 #endif
124 
139 #ifndef CONFIG_GNRC_SIXLOWPAN_ND_AR_LTIME
140 #define CONFIG_GNRC_SIXLOWPAN_ND_AR_LTIME (15U)
141 #endif
142 
153 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_SIZE
154 #define CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_SIZE (16U)
155 #endif /* CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_SIZE */
156 
165 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_TIMEOUT_US
166 #define CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_TIMEOUT_US (CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US)
167 #endif /* CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_TIMEOUT_US */
168 
179 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MIN_FRAG_SIZE
180 #define CONFIG_GNRC_SIXLOWPAN_SFR_MIN_FRAG_SIZE 96U
181 #endif
182 
190 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE
191 #define CONFIG_GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE 112U
192 #endif
193 
202 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_OPT_FRAG_SIZE
203 #define CONFIG_GNRC_SIXLOWPAN_SFR_OPT_FRAG_SIZE CONFIG_GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE
204 #endif
205 
213 #ifdef CONFIG_GNRC_SIXLOWPAN_SFR_USE_ECN
214 #if IS_USED(MODULE_GNRC_SIXLOWPAN_FRAG_SFR_CONGURE)
215 #define CONFIG_GNRC_SIXLOWPAN_SFR_USE_ECN 1U
216 #else
217 #define CONFIG_GNRC_SIXLOWPAN_SFR_USE_ECN 0U
218 #endif
219 #endif
220 
225 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MIN_WIN_SIZE
226 #define CONFIG_GNRC_SIXLOWPAN_SFR_MIN_WIN_SIZE 1U
227 #endif
228 
235 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MAX_WIN_SIZE
236 #define CONFIG_GNRC_SIXLOWPAN_SFR_MAX_WIN_SIZE 16U
237 #endif
238 
247 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE
248 #define CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE 16U
249 #endif
250 
263 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_INTER_FRAME_GAP_US
264 #define CONFIG_GNRC_SIXLOWPAN_SFR_INTER_FRAME_GAP_US 100U
265 #endif
266 
271 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MIN_ARQ_TIMEOUT_MS
272 #define CONFIG_GNRC_SIXLOWPAN_SFR_MIN_ARQ_TIMEOUT_MS 350U
273 #endif
274 
279 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS
280 #define CONFIG_GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS 700U
281 #endif
282 
291 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_OPT_ARQ_TIMEOUT_MS
292 #define CONFIG_GNRC_SIXLOWPAN_SFR_OPT_ARQ_TIMEOUT_MS \
293  CONFIG_GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS
294 #endif
295 
300 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_FRAG_RETRIES
301 #define CONFIG_GNRC_SIXLOWPAN_SFR_FRAG_RETRIES 2U
302 #endif
303 
308 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_DG_RETRIES
309 #define CONFIG_GNRC_SIXLOWPAN_SFR_DG_RETRIES 0U
310 #endif
311 
321 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_NUM
322 #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_NUM 1U
323 #endif
324 
334 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_DEN
335 #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_DEN 2U
336 #endif
337 
347 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_NUM
348 #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_NUM 1U
349 #endif
350 
360 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_DEN
361 #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_DEN 2U
362 #endif
363 
372 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_NUM
373 #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_NUM 1U
374 #endif
375 
384 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_DEN
385 #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_DEN 2U
386 #endif
387 
395 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MOCK_ARQ_TIMER
396 #define CONFIG_GNRC_SIXLOWPAN_SFR_MOCK_ARQ_TIMER 0U
397 #endif
403 #ifndef GNRC_SIXLOWPAN_MSG_QUEUE_SIZE
404 #define GNRC_SIXLOWPAN_MSG_QUEUE_SIZE (1 << CONFIG_GNRC_SIXLOWPAN_MSG_QUEUE_SIZE_EXP)
405 #endif
406 
407 #ifdef __cplusplus
408 }
409 #endif
410 
Common macros and compiler attributes/pragmas configuration.
Utility library for comparing and computing timestamps.