]>
git.proxmox.com Git - mirror_iproute2.git/blob - dcb/dcb.h
1 /* SPDX-License-Identifier: GPL-2.0 */
5 #include <libmnl/libmnl.h>
13 struct mnl_socket
*nl
;
19 int dcb_parse_mapping(const char *what_key
, __u32 key
, __u32 max_key
,
20 const char *what_value
, __u64 value
, __u64 max_value
,
21 void (*set_array
)(__u32 index
, __u64 value
, void *data
),
22 void *set_array_data
);
23 int dcb_cmd_parse_dev(struct dcb
*dcb
, int argc
, char **argv
,
24 int (*and_then
)(struct dcb
*dcb
, const char *dev
,
25 int argc
, char **argv
),
28 void dcb_set_u8(__u32 key
, __u64 value
, void *data
);
29 void dcb_set_u32(__u32 key
, __u64 value
, void *data
);
30 void dcb_set_u64(__u32 key
, __u64 value
, void *data
);
32 int dcb_get_attribute(struct dcb
*dcb
, const char *dev
, int attr
,
33 void *data
, size_t data_len
);
34 int dcb_set_attribute(struct dcb
*dcb
, const char *dev
, int attr
,
35 const void *data
, size_t data_len
);
36 int dcb_get_attribute_va(struct dcb
*dcb
, const char *dev
, int attr
,
37 void **payload_p
, __u16
*payload_len_p
);
38 int dcb_set_attribute_va(struct dcb
*dcb
, int command
, const char *dev
,
39 int (*cb
)(struct dcb
*dcb
, struct nlmsghdr
*nlh
, void *data
),
41 int dcb_get_attribute_bare(struct dcb
*dcb
, int cmd
, const char *dev
, int attr
,
42 void **payload_p
, __u16
*payload_len_p
);
43 int dcb_set_attribute_bare(struct dcb
*dcb
, int command
, const char *dev
,
44 int attr
, const void *data
, size_t data_len
,
47 void dcb_print_named_array(const char *json_name
, const char *fp_name
,
48 const __u8
*array
, size_t size
,
49 void (*print_array
)(const __u8
*, size_t));
50 void dcb_print_array_u8(const __u8
*array
, size_t size
);
51 void dcb_print_array_u64(const __u64
*array
, size_t size
);
52 void dcb_print_array_on_off(const __u8
*array
, size_t size
);
53 void dcb_print_array_kw(const __u8
*array
, size_t array_size
,
54 const char *const kw
[], size_t kw_size
);
58 int dcb_cmd_buffer(struct dcb
*dcb
, int argc
, char **argv
);
62 int dcb_cmd_ets(struct dcb
*dcb
, int argc
, char **argv
);
66 int dcb_cmd_maxrate(struct dcb
*dcb
, int argc
, char **argv
);
70 int dcb_cmd_pfc(struct dcb
*dcb
, int argc
, char **argv
);
72 #endif /* __DCB_H__ */