- 论坛徽章:
- 3
|
尼玛,自己拿个记事本保存着行不行,跑这里来污染版块。
不过 CU 这个版块也确实越来越烂就是了。
先给我看懂下面这个 rbtree 实现再来这里嘚瑟
29 #ifndef _LINUX_RBTREE_H
30 #define _LINUX_RBTREE_H
31
32 #include <linux/kernel.h>
33 #include <linux/stddef.h>
34
35 struct rb_node {
36 unsigned long __rb_parent_color;
37 struct rb_node *rb_right;
38 struct rb_node *rb_left;
39 } __attribute__((aligned(sizeof(long))));
40 /* The alignment might seem pointless, but allegedly CRIS needs it */
41
42 struct rb_root {
43 struct rb_node *rb_node;
44 };
45
46
47 #define rb_parent(r) ((struct rb_node *)((r)->__rb_parent_color & ~3))
48
49 #define RB_ROOT (struct rb_root) { NULL, }
50 #define rb_entry(ptr, type, member) container_of(ptr, type, member)
51
52 #define RB_EMPTY_ROOT(root) ((root)->rb_node == NULL)
... |
|