alarmtimer.h 624 B

123456789101112131415161718192021222324252627282930
  1. #ifndef _LINUX_ALARMTIMER_H
  2. #define _LINUX_ALARMTIMER_H
  3. #include <linux/time.h>
  4. #include <linux/hrtimer.h>
  5. #include <linux/timerqueue.h>
  6. #include <linux/rtc.h>
  7. enum alarmtimer_type {
  8. ALARM_REALTIME,
  9. ALARM_BOOTTIME,
  10. ALARM_NUMTYPE,
  11. };
  12. struct alarm {
  13. struct timerqueue_node node;
  14. ktime_t period;
  15. void (*function)(struct alarm *);
  16. enum alarmtimer_type type;
  17. char enabled;
  18. void *data;
  19. };
  20. void alarm_init(struct alarm *alarm, enum alarmtimer_type type,
  21. void (*function)(struct alarm *));
  22. void alarm_start(struct alarm *alarm, ktime_t start, ktime_t period);
  23. void alarm_cancel(struct alarm *alarm);
  24. #endif