1 2 #ifndef __SYS_KTIMER_H__ 3 #define __SYS_KTIMER_H__ 4 5 #include <sys/queue.h> 6 7 typedef void (*KTimerCB)(void *); 8 9 typedef struct KTimerEvent { 10 uint64_t refCount; 11 uint64_t timeout; 12 KTimerCB cb; 13 void *arg; 14 LIST_ENTRY(KTimerEvent) timerQueue; 15 } KTimerEvent; 16 17 KTimerEvent *KTimer_Create(uint64_t timeout, KTimerCB cb, void *arg); 18 void KTimer_Retain(KTimerEvent *evt); 19 void KTimer_Release(KTimerEvent *evt); 20 void KTimer_Cancel(KTimerEvent *evt); 21 void KTimer_Process(); 22 23 #endif /* __SYS_KTIMER_H__ */ 24 25