1
2#ifndef _TC_CORE_H_
3#define _TC_CORE_H_ 1
4
5#include <asm/types.h>
6#include <linux/pkt_sched.h>
7
8enum link_layer {
9 LINKLAYER_UNSPEC,
10 LINKLAYER_ETHERNET,
11 LINKLAYER_ATM,
12};
13
14
15int tc_core_time2big(unsigned time);
16unsigned tc_core_time2tick(unsigned time);
17unsigned tc_core_tick2time(unsigned tick);
18unsigned tc_core_time2ktime(unsigned time);
19unsigned tc_core_ktime2time(unsigned ktime);
20unsigned tc_calc_xmittime(__u64 rate, unsigned size);
21unsigned tc_calc_xmitsize(__u64 rate, unsigned ticks);
22int tc_calc_rtable(struct tc_ratespec *r, __u32 *rtab,
23 int cell_log, unsigned mtu, enum link_layer link_layer);
24int tc_calc_rtable_64(struct tc_ratespec *r, __u32 *rtab,
25 int cell_log, unsigned mtu, enum link_layer link_layer,
26 __u64 rate);
27int tc_calc_size_table(struct tc_sizespec *s, __u16 **stab);
28
29int tc_setup_estimator(unsigned A, unsigned time_const, struct tc_estimator *est);
30
31int tc_core_init(void);
32
33extern struct rtnl_handle g_rth;
34extern int is_batch_mode;
35
36#endif
37