Lines Matching refs:elm
29 #define TREE_INIT_NODE(elm, field) do { \ argument
30 (elm)->field.tn_parent = NULL; \
31 (elm)->field.tn_first = NULL; \
32 (elm)->field.tn_last = NULL; \
33 (elm)->field.tn_younger = NULL; \
34 (elm)->field.tn_older = NULL; \
37 #define TREE_INSERT_CHILD(treeelm, elm, field) do { \ argument
38 (elm)->field.tn_parent = (treeelm); \
40 (treeelm)->field.tn_last->field.tn_younger = (elm); \
41 (elm)->field.tn_older = (treeelm)->field.tn_last; \
43 (treeelm)->field.tn_last = (elm); \
45 (treeelm)->field.tn_first = (elm); \
48 #define TREE_INSERT_YOUNGER(treeelm, elm, field) do { \ argument
49 (elm)->field.tn_parent = (treeelm)->field.tn_parent; \
51 (elm)->field.tn_younger = (treeelm)->field.tn_younger; \
52 (elm)->field.tn_younger->field.tn_older = (elm); \
55 (treeelm)->field.tn_parent->field.tn_last = (elm); \
56 (treeelm)->field.tn_younger = (elm); \
57 (elm)->field.tn_older = (treeelm); \
60 #define TREE_INSERT_OLDER(treeelm, elm, field) do { \ argument
61 (elm)->field.tn_parent = (treeelm)->field.tn_parent; \
63 (elm)->field.tn_older = (treeelm)->field.tn_older; \
64 (elm)->field.tn_older->field.tn_younger = (elm); \
67 (treeelm)->field.tn_parent->field.tn_first = (elm); \
68 (treeelm)->field.tn_older = (elm); \
69 (elm)->field.tn_younger = (treeelm); \
72 #define TREE_DETACH(elm, field) do { \ argument
73 if ((elm)->field.tn_parent) { \
74 if ((elm)->field.tn_parent->field.tn_first == (elm)) \
75 (elm)->field.tn_parent->field.tn_first = (elm)->field.tn_younger; \
76 if ((elm)->field.tn_parent->field.tn_last == (elm)) \
77 (elm)->field.tn_parent->field.tn_last = (elm)->field.tn_older; \
79 if ((elm)->field.tn_younger) \
80 (elm)->field.tn_younger->field.tn_older = (elm)->field.tn_older; \
81 if ((elm)->field.tn_older) \
82 (elm)->field.tn_older->field.tn_younger = (elm)->field.tn_younger; \
83 (elm)->field.tn_older = (elm)->field.tn_younger = NULL; \
84 (elm)->field.tn_parent = NULL; \