1 /* 2 * netlink/route/sch/htb.h HTB Qdisc 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation version 2.1 7 * of the License. 8 * 9 * Copyright (c) 2003-2011 Thomas Graf <tgraf@suug.ch> 10 * Copyright (c) 2005 Petr Gotthard <petr.gotthard@siemens.com> 11 * Copyright (c) 2005 Siemens AG Oesterreich 12 */ 13 14 #ifndef NETLINK_HTB_H_ 15 #define NETLINK_HTB_H_ 16 17 #include <netlink/netlink.h> 18 #include <netlink/route/tc.h> 19 #include <netlink/route/qdisc.h> 20 #include <netlink/route/class.h> 21 22 #ifdef __cplusplus 23 extern "C" { 24 #endif 25 26 extern uint32_t rtnl_htb_get_rate2quantum(struct rtnl_qdisc *); 27 extern int rtnl_htb_set_rate2quantum(struct rtnl_qdisc *, uint32_t); 28 extern uint32_t rtnl_htb_get_defcls(struct rtnl_qdisc *); 29 extern int rtnl_htb_set_defcls(struct rtnl_qdisc *, uint32_t); 30 31 extern uint32_t rtnl_htb_get_prio(struct rtnl_class *); 32 extern int rtnl_htb_set_prio(struct rtnl_class *, uint32_t); 33 34 extern uint32_t rtnl_htb_get_rate(struct rtnl_class *); 35 extern int rtnl_htb_set_rate(struct rtnl_class *, uint32_t); 36 extern uint32_t rtnl_htb_get_ceil(struct rtnl_class *); 37 extern int rtnl_htb_set_ceil(struct rtnl_class *, uint32_t); 38 39 extern int rtnl_htb_get_rate64(struct rtnl_class *, uint64_t *); 40 extern int rtnl_htb_set_rate64(struct rtnl_class *, uint64_t); 41 extern int rtnl_htb_get_ceil64(struct rtnl_class *, uint64_t *); 42 extern int rtnl_htb_set_ceil64(struct rtnl_class *, uint64_t); 43 44 extern uint32_t rtnl_htb_get_rbuffer(struct rtnl_class *); 45 extern int rtnl_htb_set_rbuffer(struct rtnl_class *, uint32_t); 46 extern uint32_t rtnl_htb_get_cbuffer(struct rtnl_class *); 47 extern int rtnl_htb_set_cbuffer(struct rtnl_class *, uint32_t); 48 extern uint32_t rtnl_htb_get_quantum(struct rtnl_class *); 49 extern int rtnl_htb_set_quantum(struct rtnl_class *, uint32_t); 50 extern int rtnl_htb_set_level(struct rtnl_class *, int); 51 extern int rtnl_htb_get_level(struct rtnl_class *); 52 53 #ifdef __cplusplus 54 } 55 #endif 56 57 #endif 58