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