Lines Matching defs:node
97 int name_tree_insert(rbtree_type* tree, struct name_tree_node* node,
100 node->node.key = node;
101 node->name = name;
102 node->len = len;
103 node->labs = labs;
104 node->dclass = dclass;
105 node->parent = NULL;
106 return rbtree_insert(tree, &node->node) != NULL;
109 int addr_tree_insert(rbtree_type* tree, struct addr_tree_node* node,
112 node->node.key = node;
113 memcpy(&node->addr, addr, addrlen);
114 node->addrlen = addrlen;
115 node->net = net;
116 node->parent = NULL;
117 return rbtree_insert(tree, &node->node) != NULL;
120 void addr_tree_init_parents_node(struct addr_tree_node* node)
124 for(; (rbnode_type*)node != RBTREE_NULL;
125 node = (struct addr_tree_node*)rbtree_next((rbnode_type*)node)) {
126 node->parent = NULL;
127 if(!prev || prev->addrlen != node->addrlen) {
128 prev = node;
131 m = addr_in_common(&prev->addr, prev->net, &node->addr,
132 node->net, node->addrlen);
140 node->parent = p;
143 prev = node;
155 struct name_tree_node* node, *prev = NULL, *p;
157 RBTREE_FOR(node, struct name_tree_node*, tree) {
158 node->parent = NULL;
159 if(!prev || prev->dclass != node->dclass) {
160 prev = node;
163 (void)dname_lab_cmp(prev->name, prev->labs, node->name,
164 node->labs, &m); /* we know prev is smaller */
172 node->parent = p;
175 prev = node;
183 key.node.key = &key;
197 key.node.key = &key;
229 key.node.key = &key;
259 key.node.key = &key;
290 key.node.key = &key;
311 /* not a root node, return next higher item */