22 #ifndef __TIMERWHEEL_H_ 23 #define __TIMERWHEEL_H_ 25 #include <linux/list.h> 28 #define TIMERWHEEL_TIMER_UNUSED -1 30 typedef void (*timerwheel_timer_handler)(
void *);
32 struct timerwheel_timer {
33 struct list_head link;
34 timerwheel_timer_handler handler;
37 volatile int refcount;
40 static inline void timerwheel_init_timer(
struct timerwheel_timer *timer,
41 timerwheel_timer_handler handler,
44 timer->slot = TIMERWHEEL_TIMER_UNUSED;
45 timer->handler = handler;
51 int timerwheel_add_timer(
struct timerwheel_timer *timer,
54 int timerwheel_remove_timer(
struct timerwheel_timer *timer);
56 void timerwheel_remove_timer_sync(
struct timerwheel_timer *timer);
58 int timerwheel_init(
nanosecs_rel_t timeout,
unsigned int granularity);
60 void timerwheel_cleanup(
void);
int64_t nanosecs_rel_t
RTDM type for representing relative intervals.
Definition: rtdm.h:49