eui64_provider_params.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2020 ML!PA Consulting GmbH
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 
17 #ifndef EUI64_PROVIDER_PARAMS_H
18 #define EUI64_PROVIDER_PARAMS_H
19 
20 #include "board.h"
21 #include "net/eui_provider.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
30 #ifndef EUI64_PROVIDER_FUNC
31 #define EUI64_PROVIDER_FUNC NULL
32 
36 #ifndef EUI64_PROVIDER_PARAMS
37 #define EUI64_PROVIDER_NUMOF 0U
38 #endif
39 #endif
40 
44 #ifndef EUI64_PROVIDER_ARG
45 #define EUI64_PROVIDER_ARG NULL
46 #endif
47 
51 #ifndef EUI64_PROVIDER_TYPE
52 #define EUI64_PROVIDER_TYPE NETDEV_ANY
53 #endif
54 
59 #ifndef EUI64_PROVIDER_INDEX
60 #define EUI64_PROVIDER_INDEX NETDEV_INDEX_ANY
61 #endif
62 
66 #ifndef EUI64_PROVIDER_PARAMS
67 #define EUI64_PROVIDER_PARAMS { \
68  .provider = EUI64_PROVIDER_FUNC, \
69  .arg = EUI64_PROVIDER_ARG, \
70  .type = EUI64_PROVIDER_TYPE, \
71  .index = EUI64_PROVIDER_INDEX, \
72  },
73 #endif
74 
75 
81 static const eui64_conf_t eui64_conf[] = {
83 };
84 
85 #ifndef EUI64_PROVIDER_NUMOF
86 #define EUI64_PROVIDER_NUMOF ARRAY_SIZE(eui64_conf)
87 #endif
88 
90 #ifdef __cplusplus
91 }
92 #endif
93 
94 #endif /* EUI64_PROVIDER_PARAMS_H */
eui_provider.h
EUI-48 and EUI-64 address provider.
EUI64_PROVIDER_PARAMS
#define EUI64_PROVIDER_PARAMS
Array of available EUI-64 providers.
Definition: eui64_provider_params.h:67
eui64_conf_t
Structure to hold providers for EUI-64 addresses.
Definition: eui_provider.h:148