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