xref: /aosp_15_r20/external/libnl/include/netlink/route/qdisc/mqprio.h (revision 4dc78e53d49367fa8e61b07018507c90983a077d)
1 /* SPDX-License-Identifier: LGPL-2.1-only */
2 /*
3  * Copyright (c) 2018 Volodymyr Bendiuga <[email protected]>
4  */
5 
6 #ifndef NETLINK_MQPRIO_H_
7 #define NETLINK_MQPRIO_H_
8 
9 #include <netlink/netlink.h>
10 #include <netlink/route/qdisc.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 extern int rtnl_qdisc_mqprio_set_num_tc(struct rtnl_qdisc *qdisc, int num_tc);
17 extern int rtnl_qdisc_mqprio_get_num_tc(struct rtnl_qdisc *qdisc);
18 extern int rtnl_qdisc_mqprio_set_priomap(struct rtnl_qdisc *qdisc, uint8_t priomap[],
19                                          int len);
20 extern uint8_t *rtnl_qdisc_mqprio_get_priomap(struct rtnl_qdisc *qdisc);
21 extern int rtnl_qdisc_mqprio_hw_offload(struct rtnl_qdisc *qdisc, int offload);
22 extern int rtnl_qdisc_mqprio_get_hw_offload(struct rtnl_qdisc *qdisc);
23 extern int rtnl_qdisc_mqprio_set_queue(struct rtnl_qdisc *qdisc, uint16_t count[],
24                                        uint16_t offset[], int len);
25 extern int rtnl_qdisc_mqprio_get_queue(struct rtnl_qdisc *qdisc, uint16_t *count,
26                                        uint16_t *offset);
27 extern int rtnl_qdisc_mqprio_set_mode(struct rtnl_qdisc *qdisc, uint16_t mode);
28 extern int rtnl_qdisc_mqprio_get_mode(struct rtnl_qdisc *qdisc);
29 extern int rtnl_qdisc_mqprio_set_shaper(struct rtnl_qdisc *qdisc, uint16_t shaper);
30 extern int rtnl_qdisc_mqprio_get_shaper(struct rtnl_qdisc *qdisc);
31 extern int rtnl_qdisc_mqprio_set_min_rate(struct rtnl_qdisc *qdisc, uint64_t min[],
32                                           int len);
33 extern int rtnl_qdisc_mqprio_get_min_rate(struct rtnl_qdisc *qdisc, uint64_t *min);
34 extern int rtnl_qdisc_mqprio_set_max_rate(struct rtnl_qdisc *qdisc, uint64_t max[],
35                                           int len);
36 extern int rtnl_qdisc_mqprio_get_max_rate(struct rtnl_qdisc *qdisc, uint64_t *max);
37 
38 #ifdef __cplusplus
39 }
40 #endif
41 
42 #endif /* NETLINK_MQPRIO_H_ */
43