• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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