diff options
Diffstat (limited to 'include/alarm.h')
-rw-r--r-- | include/alarm.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/alarm.h b/include/alarm.h new file mode 100644 index 0000000..38aaa01 --- /dev/null +++ b/include/alarm.h @@ -0,0 +1,33 @@ +#ifndef _ALARM_H_ +#define _ALARM_H_ + +#include "linux_rbtree.h" +#include "linux_list.h" + +#include <sys/time.h> + +struct alarm_block { + struct rb_node node; + struct list_head list; + struct timeval tv; + void *data; + void (*function)(struct alarm_block *a, void *data); +}; + +void init_alarm(struct alarm_block *t, + void *data, + void (*fcn)(struct alarm_block *a, void *data)); + +void add_alarm(struct alarm_block *alarm, unsigned long sc, unsigned long usc); + +void del_alarm(struct alarm_block *alarm); + +int alarm_pending(struct alarm_block *alarm); + +struct timeval * +get_next_alarm_run(struct timeval *next_alarm); + +struct timeval * +do_alarm_run(struct timeval *next_alarm); + +#endif |