xref: /aosp_15_r20/external/libnl/include/netlink/route/qdisc/hfsc.h (revision 4dc78e53d49367fa8e61b07018507c90983a077d)
1 /* SPDX-License-Identifier: LGPL-2.1-only */
2 /*
3  * Copyright (c) 2014 Cong Wang <[email protected]>
4  */
5 
6 #ifndef NETLINK_HFSC_H_
7 #define NETLINK_HFSC_H_
8 
9 #include <netlink/netlink.h>
10 #include <netlink/route/tc.h>
11 #include <netlink/route/qdisc.h>
12 #include <netlink/route/class.h>
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 struct tc_service_curve;
19 
20 extern uint32_t	rtnl_qdisc_hfsc_get_defcls(const struct rtnl_qdisc *);
21 extern int	rtnl_qdisc_hfsc_set_defcls(struct rtnl_qdisc *, uint32_t);
22 
23 extern int rtnl_class_hfsc_get_rsc(const struct rtnl_class *cls, struct tc_service_curve *tsc);
24 extern int rtnl_class_hfsc_set_rsc(struct rtnl_class *cls, const struct tc_service_curve *tsc);
25 extern int rtnl_class_hfsc_get_fsc(const struct rtnl_class *cls, struct tc_service_curve *tsc);
26 extern int rtnl_class_hfsc_set_fsc(struct rtnl_class *cls, const struct tc_service_curve *tsc);
27 extern int rtnl_class_hfsc_get_usc(const struct rtnl_class *cls, struct tc_service_curve *tsc);
28 extern int rtnl_class_hfsc_set_usc(struct rtnl_class *cls, const struct tc_service_curve *tsc);
29 #ifdef __cplusplus
30 }
31 #endif
32 
33 #endif
34