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 #if __has_include("eui_provider_params.h")
21 #include "eui_provider_params.h"
22 #endif
23 #include "board.h"
24 #include "net/eui_provider.h"
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
33 #ifndef EUI64_PROVIDER_FUNC
34 #define EUI64_PROVIDER_FUNC NULL
35 
39 #ifndef EUI64_PROVIDER_PARAMS
40 #define EUI64_PROVIDER_NUMOF 0U
41 #endif
42 #endif
43 
47 #ifndef EUI64_PROVIDER_TYPE
48 #define EUI64_PROVIDER_TYPE NETDEV_ANY
49 #endif
50 
55 #ifndef EUI64_PROVIDER_INDEX
56 #define EUI64_PROVIDER_INDEX NETDEV_INDEX_ANY
57 #endif
58 
62 #ifndef EUI64_PROVIDER_PARAMS
63 #define EUI64_PROVIDER_PARAMS { \
64  .provider = EUI64_PROVIDER_FUNC, \
65  .type = EUI64_PROVIDER_TYPE, \
66  .index = EUI64_PROVIDER_INDEX, \
67  },
68 #endif
69 
75 static const eui64_conf_t eui64_conf[] = {
77 };
78 
79 #ifndef EUI64_PROVIDER_NUMOF
80 #define EUI64_PROVIDER_NUMOF ARRAY_SIZE(eui64_conf)
81 #endif
84 #ifdef __cplusplus
85 }
86 #endif
87 
88 #endif /* EUI64_PROVIDER_PARAMS_H */
#define EUI64_PROVIDER_PARAMS
Array of available EUI-64 providers.
EUI-48 and EUI-64 address provider.
Structure to hold providers for EUI-64 addresses.
Definition: eui_provider.h:145