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