]> git.proxmox.com Git - mirror_iproute2.git/blob - dcb/dcb.h
a09d102a7fc61fbbd78544f94b8a4ebb3f6a6155
[mirror_iproute2.git] / dcb / dcb.h
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,
17 const char *what_value, __u32 value, __u32 max_value,
18 void (*set_array)(__u32 index, __u32 value, void *data),
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
25 void dcb_set_u8(__u32 key, __u32 value, void *data);
26
27 int dcb_get_attribute(struct dcb *dcb, const char *dev, int attr,
28 void *data, size_t data_len);
29 int dcb_set_attribute(struct dcb *dcb, const char *dev, int attr,
30 const void *data, size_t data_len);
31
32 void dcb_print_named_array(const char *json_name, const char *fp_name,
33 const __u8 *array, size_t size,
34 void (*print_array)(const __u8 *, size_t));
35 void dcb_print_array_u8(const __u8 *array, size_t size);
36 void dcb_print_array_kw(const __u8 *array, size_t array_size,
37 const char *const kw[], size_t kw_size);
38
39 #endif /* __DCB_H__ */