timer.h 345 B

1234567891011121314151617
  1. #pragma once
  2. #include "os/os_type.h"
  3. typedef struct _timer {
  4. void (*handler)(struct _timer *timer);
  5. struct _timer *prev;
  6. struct _timer *next;
  7. u64 time;
  8. } timer_t;
  9. #define TIMER_INIT(timer, handler) { handler, &timer, &timer }
  10. void timer_post(timer_t *timer, u32 delay);
  11. void timer_cancel(timer_t *timer);
  12. void timer_task_start(void);