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 extern uint32_t rtnl_htb_get_rate(struct rtnl_class *); 34 extern int rtnl_htb_set_rate(struct rtnl_class *, uint32_t); 35 extern uint32_t rtnl_htb_get_ceil(struct rtnl_class *); 36 extern int rtnl_htb_set_ceil(struct rtnl_class *, uint32_t); 37 extern uint32_t rtnl_htb_get_rbuffer(struct rtnl_class *); 38 extern int rtnl_htb_set_rbuffer(struct rtnl_class *, uint32_t); 39 extern uint32_t rtnl_htb_get_cbuffer(struct rtnl_class *); 40 extern int rtnl_htb_set_cbuffer(struct rtnl_class *, uint32_t); 41 extern uint32_t rtnl_htb_get_quantum(struct rtnl_class *); 42 extern int rtnl_htb_set_quantum(struct rtnl_class *, uint32_t); 43 extern int rtnl_htb_get_level(struct rtnl_class *); 44 45 #ifdef __cplusplus 46 } 47 #endif 48 49 #endif 50