1 /* SPDX-License-Identifier: LGPL-2.1-only */ 2 /* 3 * Copyright (c) 2003-2011 Thomas Graf <[email protected]> 4 * Copyright (c) 2005 Petr Gotthard <[email protected]> 5 * Copyright (c) 2005 Siemens AG Oesterreich 6 */ 7 8 #ifndef NETLINK_HTB_H_ 9 #define NETLINK_HTB_H_ 10 11 #include <netlink/netlink.h> 12 #include <netlink/route/tc.h> 13 #include <netlink/route/qdisc.h> 14 #include <netlink/route/class.h> 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 extern uint32_t rtnl_htb_get_rate2quantum(struct rtnl_qdisc *); 21 extern int rtnl_htb_set_rate2quantum(struct rtnl_qdisc *, uint32_t); 22 extern uint32_t rtnl_htb_get_defcls(struct rtnl_qdisc *); 23 extern int rtnl_htb_set_defcls(struct rtnl_qdisc *, uint32_t); 24 25 extern uint32_t rtnl_htb_get_prio(struct rtnl_class *); 26 extern int rtnl_htb_set_prio(struct rtnl_class *, uint32_t); 27 28 extern uint32_t rtnl_htb_get_rate(struct rtnl_class *); 29 extern int rtnl_htb_set_rate(struct rtnl_class *, uint32_t); 30 extern uint32_t rtnl_htb_get_ceil(struct rtnl_class *); 31 extern int rtnl_htb_set_ceil(struct rtnl_class *, uint32_t); 32 33 extern int rtnl_htb_get_rate64(struct rtnl_class *, uint64_t *); 34 extern int rtnl_htb_set_rate64(struct rtnl_class *, uint64_t); 35 extern int rtnl_htb_get_ceil64(struct rtnl_class *, uint64_t *); 36 extern int rtnl_htb_set_ceil64(struct rtnl_class *, uint64_t); 37 38 extern uint32_t rtnl_htb_get_rbuffer(struct rtnl_class *); 39 extern int rtnl_htb_set_rbuffer(struct rtnl_class *, uint32_t); 40 extern uint32_t rtnl_htb_get_cbuffer(struct rtnl_class *); 41 extern int rtnl_htb_set_cbuffer(struct rtnl_class *, uint32_t); 42 extern uint32_t rtnl_htb_get_quantum(struct rtnl_class *); 43 extern int rtnl_htb_set_quantum(struct rtnl_class *, uint32_t); 44 extern int rtnl_htb_set_level(struct rtnl_class *, int); 45 extern int rtnl_htb_get_level(struct rtnl_class *); 46 47 #ifdef __cplusplus 48 } 49 #endif 50 51 #endif 52