htb.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. #ifndef NETLINK_HTB_H_
  14. #define NETLINK_HTB_H_
  15. #include <netlink/netlink.h>
  16. #include <netlink/route/tc.h>
  17. #include <netlink/route/qdisc.h>
  18. #include <netlink/route/class.h>
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22. extern uint32_t rtnl_htb_get_rate2quantum(struct rtnl_qdisc *);
  23. extern int rtnl_htb_set_rate2quantum(struct rtnl_qdisc *, uint32_t);
  24. extern uint32_t rtnl_htb_get_defcls(struct rtnl_qdisc *);
  25. extern int rtnl_htb_set_defcls(struct rtnl_qdisc *, uint32_t);
  26. extern uint32_t rtnl_htb_get_prio(struct rtnl_class *);
  27. extern int rtnl_htb_set_prio(struct rtnl_class *, uint32_t);
  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. extern uint32_t rtnl_htb_get_rbuffer(struct rtnl_class *);
  33. extern int rtnl_htb_set_rbuffer(struct rtnl_class *, uint32_t);
  34. extern uint32_t rtnl_htb_get_cbuffer(struct rtnl_class *);
  35. extern int rtnl_htb_set_cbuffer(struct rtnl_class *, uint32_t);
  36. extern uint32_t rtnl_htb_get_quantum(struct rtnl_class *);
  37. extern int rtnl_htb_set_quantum(struct rtnl_class *, uint32_t);
  38. extern int rtnl_htb_get_level(struct rtnl_class *);
  39. #ifdef __cplusplus
  40. }
  41. #endif
  42. #endif