144d362409d5469aed47d19e7908d19bd194493aThomas Graf/*
244d362409d5469aed47d19e7908d19bd194493aThomas Graf * netlink/route/sch/htb.h	HTB Qdisc
344d362409d5469aed47d19e7908d19bd194493aThomas Graf *
444d362409d5469aed47d19e7908d19bd194493aThomas Graf *	This library is free software; you can redistribute it and/or
544d362409d5469aed47d19e7908d19bd194493aThomas Graf *	modify it under the terms of the GNU Lesser General Public
644d362409d5469aed47d19e7908d19bd194493aThomas Graf *	License as published by the Free Software Foundation version 2.1
744d362409d5469aed47d19e7908d19bd194493aThomas Graf *	of the License.
844d362409d5469aed47d19e7908d19bd194493aThomas Graf *
944d362409d5469aed47d19e7908d19bd194493aThomas Graf * Copyright (c) 2003-2006 Thomas Graf <tgraf@suug.ch>
1044d362409d5469aed47d19e7908d19bd194493aThomas Graf * Copyright (c) 2005 Petr Gotthard <petr.gotthard@siemens.com>
1144d362409d5469aed47d19e7908d19bd194493aThomas Graf * Copyright (c) 2005 Siemens AG Oesterreich
1244d362409d5469aed47d19e7908d19bd194493aThomas Graf */
1344d362409d5469aed47d19e7908d19bd194493aThomas Graf
1444d362409d5469aed47d19e7908d19bd194493aThomas Graf#ifndef NETLINK_HTB_H_
1544d362409d5469aed47d19e7908d19bd194493aThomas Graf#define NETLINK_HTB_H_
1644d362409d5469aed47d19e7908d19bd194493aThomas Graf
1744d362409d5469aed47d19e7908d19bd194493aThomas Graf#include <netlink/netlink.h>
1844d362409d5469aed47d19e7908d19bd194493aThomas Graf#include <netlink/route/tc.h>
1944d362409d5469aed47d19e7908d19bd194493aThomas Graf
2044d362409d5469aed47d19e7908d19bd194493aThomas Graf#ifdef __cplusplus
2144d362409d5469aed47d19e7908d19bd194493aThomas Grafextern "C" {
2244d362409d5469aed47d19e7908d19bd194493aThomas Graf#endif
2344d362409d5469aed47d19e7908d19bd194493aThomas Graf
2444d362409d5469aed47d19e7908d19bd194493aThomas Grafextern void rtnl_htb_set_rate2quantum(struct rtnl_qdisc *, uint32_t);
2544d362409d5469aed47d19e7908d19bd194493aThomas Grafextern void rtnl_htb_set_defcls(struct rtnl_qdisc *, uint32_t);
2644d362409d5469aed47d19e7908d19bd194493aThomas Graf
2744d362409d5469aed47d19e7908d19bd194493aThomas Grafextern void rtnl_htb_set_prio(struct rtnl_class *, uint32_t);
2844d362409d5469aed47d19e7908d19bd194493aThomas Grafextern void rtnl_htb_set_mtu(struct rtnl_class *, uint32_t);
2944d362409d5469aed47d19e7908d19bd194493aThomas Grafextern void rtnl_htb_set_rate(struct rtnl_class *, uint32_t);
3044d362409d5469aed47d19e7908d19bd194493aThomas Grafextern void rtnl_htb_set_ceil(struct rtnl_class *, uint32_t);
3144d362409d5469aed47d19e7908d19bd194493aThomas Grafextern void rtnl_htb_set_rbuffer(struct rtnl_class *, uint32_t);
3244d362409d5469aed47d19e7908d19bd194493aThomas Grafextern void rtnl_htb_set_cbuffer(struct rtnl_class *, uint32_t);
33cca3921f15ee2e7414a24222c635f0ad47e9547eRui Tiago Cação Matosextern void rtnl_htb_set_quantum(struct rtnl_class *, uint32_t quantum);
34cca3921f15ee2e7414a24222c635f0ad47e9547eRui Tiago Cação Matosextern void rtnl_htb_set_overhead(struct rtnl_class *, uint8_t overhead);
35cca3921f15ee2e7414a24222c635f0ad47e9547eRui Tiago Cação Matosextern void rtnl_htb_set_mpu(struct rtnl_class *, uint8_t mpu);
3644d362409d5469aed47d19e7908d19bd194493aThomas Graf
3744d362409d5469aed47d19e7908d19bd194493aThomas Graf#ifdef __cplusplus
3844d362409d5469aed47d19e7908d19bd194493aThomas Graf}
3944d362409d5469aed47d19e7908d19bd194493aThomas Graf#endif
4044d362409d5469aed47d19e7908d19bd194493aThomas Graf
4144d362409d5469aed47d19e7908d19bd194493aThomas Graf#endif
42