Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
timerqueue.h
Go to the documentation of this file.
1 #ifndef _LINUX_TIMERQUEUE_H
2 #define _LINUX_TIMERQUEUE_H
3 
4 #include <linux/rbtree.h>
5 #include <linux/ktime.h>
6 
7 
9  struct rb_node node;
11 };
12 
14  struct rb_root head;
16 };
17 
18 
19 extern void timerqueue_add(struct timerqueue_head *head,
20  struct timerqueue_node *node);
21 extern void timerqueue_del(struct timerqueue_head *head,
22  struct timerqueue_node *node);
24  struct timerqueue_node *node);
25 
34 static inline
35 struct timerqueue_node *timerqueue_getnext(struct timerqueue_head *head)
36 {
37  return head->next;
38 }
39 
40 static inline void timerqueue_init(struct timerqueue_node *node)
41 {
42  RB_CLEAR_NODE(&node->node);
43 }
44 
45 static inline void timerqueue_init_head(struct timerqueue_head *head)
46 {
47  head->head = RB_ROOT;
48  head->next = NULL;
49 }
50 #endif /* _LINUX_TIMERQUEUE_H */