]>
Commit | Line | Data |
---|---|---|
67033d1c PM |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef __DCB_H__ | |
3 | #define __DCB_H__ 1 | |
4 | ||
5 | #include <stdbool.h> | |
6 | #include <stddef.h> | |
7 | ||
8 | /* dcb.c */ | |
9 | ||
10 | struct dcb { | |
11 | char *buf; | |
12 | struct mnl_socket *nl; | |
13 | bool json_output; | |
14 | }; | |
15 | ||
16 | int dcb_parse_mapping(const char *what_key, __u32 key, __u32 max_key, | |
11a72186 PM |
17 | const char *what_value, __u64 value, __u64 max_value, |
18 | void (*set_array)(__u32 index, __u64 value, void *data), | |
67033d1c PM |
19 | void *set_array_data); |
20 | int dcb_cmd_parse_dev(struct dcb *dcb, int argc, char **argv, | |
21 | int (*and_then)(struct dcb *dcb, const char *dev, | |
22 | int argc, char **argv), | |
23 | void (*help)(void)); | |
24 | ||
11a72186 PM |
25 | void dcb_set_u8(__u32 key, __u64 value, void *data); |
26 | void dcb_set_u32(__u32 key, __u64 value, void *data); | |
27 | void dcb_set_u64(__u32 key, __u64 value, void *data); | |
67033d1c PM |
28 | |
29 | int dcb_get_attribute(struct dcb *dcb, const char *dev, int attr, | |
30 | void *data, size_t data_len); | |
31 | int dcb_set_attribute(struct dcb *dcb, const char *dev, int attr, | |
32 | const void *data, size_t data_len); | |
33 | ||
34 | void dcb_print_named_array(const char *json_name, const char *fp_name, | |
35 | const __u8 *array, size_t size, | |
36 | void (*print_array)(const __u8 *, size_t)); | |
37 | void dcb_print_array_u8(const __u8 *array, size_t size); | |
38 | void dcb_print_array_kw(const __u8 *array, size_t array_size, | |
39 | const char *const kw[], size_t kw_size); | |
40 | ||
ef15b076 PM |
41 | /* dcb_ets.c */ |
42 | ||
43 | int dcb_cmd_ets(struct dcb *dcb, int argc, char **argv); | |
44 | ||
67033d1c | 45 | #endif /* __DCB_H__ */ |