1 #ifndef __TOOLS_LINUX_TIMER_H
2 #define __TOOLS_LINUX_TIMER_H
5 #include <linux/types.h>
9 void (*function)(unsigned long);
14 static inline void init_timer(struct timer_list *timer)
16 memset(timer, 0, sizeof(*timer));
19 #define __init_timer(_timer, _flags) init_timer(_timer)
21 #define __setup_timer(_timer, _fn, _data, _flags) \
23 __init_timer((_timer), (_flags)); \
24 (_timer)->function = (_fn); \
25 (_timer)->data = (_data); \
28 #define setup_timer(timer, fn, data) \
29 __setup_timer((timer), (fn), (data), 0)
31 static inline int timer_pending(const struct timer_list *timer)
33 return timer->pending;
36 int del_timer(struct timer_list * timer);
37 int del_timer_sync(struct timer_list *timer);
39 int mod_timer(struct timer_list *timer, unsigned long expires);
40 //extern int mod_timer_pending(struct timer_list *timer, unsigned long expires);
42 static inline void add_timer(struct timer_list *timer)
44 BUG_ON(timer_pending(timer));
45 mod_timer(timer, timer->expires);
48 void flush_timers(void);
50 #endif /* __TOOLS_LINUX_TIMER_H */