Blame view
include/linux/timerqueue.h
1.07 KB
1f5a24794
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#ifndef _LINUX_TIMERQUEUE_H #define _LINUX_TIMERQUEUE_H #include <linux/rbtree.h> #include <linux/ktime.h> struct timerqueue_node { struct rb_node node; ktime_t expires; }; struct timerqueue_head { struct rb_root head; struct timerqueue_node *next; }; extern void timerqueue_add(struct timerqueue_head *head, struct timerqueue_node *node); extern void timerqueue_del(struct timerqueue_head *head, struct timerqueue_node *node); |
1f5a24794
|
23 24 |
extern struct timerqueue_node *timerqueue_iterate_next( struct timerqueue_node *node); |
45f74264e
|
25 |
/** |
25985edce
|
26 |
* timerqueue_getnext - Returns the timer with the earliest expiration time |
45f74264e
|
27 28 29 30 31 32 33 34 35 36 37 |
* * @head: head of timerqueue * * Returns a pointer to the timer node that has the * earliest expiration time. */ static inline struct timerqueue_node *timerqueue_getnext(struct timerqueue_head *head) { return head->next; } |
1f5a24794
|
38 39 |
static inline void timerqueue_init(struct timerqueue_node *node) { |
88d19cf37
|
40 |
rb_init_node(&node->node); |
1f5a24794
|
41 42 43 44 45 46 47 48 |
} static inline void timerqueue_init_head(struct timerqueue_head *head) { head->head = RB_ROOT; head->next = NULL; } #endif /* _LINUX_TIMERQUEUE_H */ |