All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
eui48_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 EUI48_PROVIDER_PARAMS_H
18 #define EUI48_PROVIDER_PARAMS_H
19 
20 #if __has_include("eui_provider_params.h")
21 #include "eui_provider_params.h"
22 #endif
23 #include "net/eui_provider.h"
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
32 #ifndef EUI48_PROVIDER_FUNC
33 #define EUI48_PROVIDER_FUNC NULL
34 
38 #ifndef EUI48_PROVIDER_PARAMS
39 #define EUI48_PROVIDER_NUMOF 0U
40 #endif
41 #endif
42 
46 #ifndef EUI48_PROVIDER_TYPE
47 #define EUI48_PROVIDER_TYPE NETDEV_ANY
48 #endif
49 
54 #ifndef EUI48_PROVIDER_INDEX
55 #define EUI48_PROVIDER_INDEX NETDEV_INDEX_ANY
56 #endif
57 
61 #ifndef EUI48_PROVIDER_PARAMS
62 #define EUI48_PROVIDER_PARAMS { \
63  .provider = EUI48_PROVIDER_FUNC, \
64  .type = EUI48_PROVIDER_TYPE, \
65  .index = EUI48_PROVIDER_INDEX, \
66  },
67 #endif
68 
74 static const eui48_conf_t eui48_conf[] = {
76 };
77 
78 #ifndef EUI48_PROVIDER_NUMOF
79 #define EUI48_PROVIDER_NUMOF ARRAY_SIZE(eui48_conf)
80 #endif
83 #ifdef __cplusplus
84 }
85 #endif
86 
87 #endif /* EUI48_PROVIDER_PARAMS_H */
#define EUI48_PROVIDER_PARAMS
Array of available EUI-48 providers.
EUI-48 and EUI-64 address provider.
Structure to hold providers for EUI-48 addresses.
Definition: eui_provider.h:136