]> git.proxmox.com Git - mirror_iproute2.git/blame - dcb/dcb.h
dcb: Add dcb_set_u32(), dcb_set_u64()
[mirror_iproute2.git] / dcb / dcb.h
CommitLineData
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
10struct dcb {
11 char *buf;
12 struct mnl_socket *nl;
13 bool json_output;
14};
15
16int 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);
20int 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
25void dcb_set_u8(__u32 key, __u64 value, void *data);
26void dcb_set_u32(__u32 key, __u64 value, void *data);
27void dcb_set_u64(__u32 key, __u64 value, void *data);
67033d1c
PM
28
29int dcb_get_attribute(struct dcb *dcb, const char *dev, int attr,
30 void *data, size_t data_len);
31int dcb_set_attribute(struct dcb *dcb, const char *dev, int attr,
32 const void *data, size_t data_len);
33
34void 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));
37void dcb_print_array_u8(const __u8 *array, size_t size);
38void 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
43int dcb_cmd_ets(struct dcb *dcb, int argc, char **argv);
44
67033d1c 45#endif /* __DCB_H__ */