Lines Matching refs:x
147 struct radix_node *x; in rn_search() local
150 for (x = head, v = v_arg; x->rn_bit >= 0;) { in rn_search()
151 if (x->rn_bmask & v[x->rn_offset]) { in rn_search()
152 x = x->rn_right; in rn_search()
154 x = x->rn_left; in rn_search()
157 return x; in rn_search()
163 struct radix_node *x; in rn_search_m() local
166 for (x = head; x->rn_bit >= 0;) { in rn_search_m()
167 if ((x->rn_bmask & m[x->rn_offset]) && in rn_search_m()
168 (x->rn_bmask & v[x->rn_offset])) { in rn_search_m()
169 x = x->rn_right; in rn_search_m()
171 x = x->rn_left; in rn_search_m()
174 return x; in rn_search_m()
221 struct radix_node *x; in rn_lookup_args() local
225 x = rn_addmask(m_arg, 1, head->rnh_treetop->rn_offset); in rn_lookup_args()
226 if (x == 0) { in rn_lookup_args()
229 netmask = x->rn_key; in rn_lookup_args()
231 x = rn_match_args(v_arg, head, f, w); in rn_lookup_args()
232 if (x && netmask) { in rn_lookup_args()
233 while (x && x->rn_mask != netmask) { in rn_lookup_args()
234 x = x->rn_dupedkey; in rn_lookup_args()
237 return x; in rn_lookup_args()
281 struct radix_node *t = head->rnh_treetop, *x; in rn_match_args() local
393 x = rn_search_m(v, t, m->rm_mask); in rn_match_args()
394 while (x && x->rn_mask != m->rm_mask) { in rn_match_args()
395 x = x->rn_dupedkey; in rn_match_args()
397 if (x && rn_satisfies_leaf(v, x, off, f, w)) { in rn_match_args()
398 return x; in rn_match_args()
470 struct radix_node *p, *x = top; in rn_insert() local
473 p = x; in rn_insert()
474 if (cp[x->rn_offset] & x->rn_bmask) { in rn_insert()
475 x = x->rn_right; in rn_insert()
477 x = x->rn_left; in rn_insert()
479 } while (b > (unsigned) x->rn_bit); in rn_insert()
493 x->rn_parent = t; in rn_insert()
496 t->rn_right = x; in rn_insert()
499 t->rn_left = x; in rn_insert()
514 struct radix_node *x; in rn_addmask() local
553 x = rn_search(addmask_key, rn_masktop); in rn_addmask()
554 if (Bcmp(addmask_key, x->rn_key, mlen) != 0) { in rn_addmask()
555 x = NULL; in rn_addmask()
557 if (x || search) { in rn_addmask()
558 return x; in rn_addmask()
560 x = saved_x = zalloc_flags(radix_node_zone, Z_WAITOK_ZERO_NOFAIL); in rn_addmask()
561 netmask = cp = (caddr_t)(x + 2); in rn_addmask()
563 x = rn_insert(cp, mask_rnhead, &maskduplicated, x); in rn_addmask()
567 return x; in rn_addmask()
586 x->rn_bit = (short)(-1 - b); in rn_addmask()
588 x->rn_flags |= RNF_NORMAL; in rn_addmask()
590 return x; in rn_addmask()
635 struct radix_node *t, *x = NULL, *tt; in rn_addroute() local
650 if ((x = rn_addmask(netmask, 0, top->rn_offset)) == 0) { in rn_addroute()
653 b_leaf = x->rn_bit; in rn_addroute()
654 b = -1 - x->rn_bit; in rn_addroute()
655 netmask = x->rn_key; in rn_addroute()
685 struct radix_node *xx = x; in rn_addroute()
689 tt->rn_parent = x = t->rn_parent; in rn_addroute()
691 if (x->rn_left == t) { in rn_addroute()
692 x->rn_left = tt; in rn_addroute()
694 x->rn_right = tt; in rn_addroute()
696 saved_tt = tt; x = xx; in rn_addroute()
719 tt->rn_bit = x->rn_bit; in rn_addroute()
720 tt->rn_flags |= x->rn_flags & RNF_NORMAL; in rn_addroute()
728 x = t->rn_left; in rn_addroute()
730 x = t->rn_right; in rn_addroute()
733 if (x->rn_bit < 0) { in rn_addroute()
734 for (mp = &t->rn_mklist; x; x = x->rn_dupedkey) { in rn_addroute()
735 if (x->rn_mask && (x->rn_bit >= b_leaf) && x->rn_mklist == 0) { in rn_addroute()
736 *mp = m = rn_new_radix_mask(x, NULL); in rn_addroute()
742 } else if (x->rn_mklist) { in rn_addroute()
746 for (mp = &x->rn_mklist; (m = *mp); mp = &m->rm_mklist) { in rn_addroute()
760 x = t; in rn_addroute()
762 } while (b <= t->rn_bit && x != top); in rn_addroute()
769 for (mp = &x->rn_mklist; (m = *mp); mp = &m->rm_mklist) { in rn_addroute()
803 struct radix_node *t, *p, *x, *tt; in rn_delete() local
811 x = head->rnh_treetop; in rn_delete()
812 tt = rn_search(v, x); in rn_delete()
813 head_off = x->rn_offset; in rn_delete()
816 top = x; in rn_delete()
825 if ((x = rn_addmask(netmask, 1, head_off)) == 0) { in rn_delete()
828 netmask = x->rn_key; in rn_delete()
858 x = t; in rn_delete()
860 } while (b <= t->rn_bit && x != top); in rn_delete()
861 for (mp = &x->rn_mklist; (m = *mp); mp = &m->rm_mklist) { in rn_delete()
902 x = dupedkey; x->rn_parent = t; in rn_delete()
904 t->rn_left = x; in rn_delete()
906 t->rn_right = x; in rn_delete()
910 for (x = p = saved_tt; p && p->rn_dupedkey != tt;) { in rn_delete()
926 *++x = *t; in rn_delete()
930 *++x = *t; in rn_delete()
935 p->rn_left = x; in rn_delete()
937 p->rn_right = x; in rn_delete()
939 x->rn_left->rn_parent = x; in rn_delete()
940 x->rn_right->rn_parent = x; in rn_delete()
945 x = t->rn_right; in rn_delete()
947 x = t->rn_left; in rn_delete()
951 p->rn_right = x; in rn_delete()
953 p->rn_left = x; in rn_delete()
955 x->rn_parent = p; in rn_delete()
960 if (x->rn_bit >= 0) { in rn_delete()
961 for (mp = &x->rn_mklist; (m = *mp);) { in rn_delete()
969 for (m = t->rn_mklist; m && x; x = x->rn_dupedkey) { in rn_delete()
970 if (m == x->rn_mklist) { in rn_delete()
972 x->rn_mklist = NULL; in rn_delete()
983 (uint64_t)VM_KERNEL_ADDRPERM(x)); in rn_delete()
990 x = tt + 1; in rn_delete()
991 if (t != x) { in rn_delete()
993 *t = *x; in rn_delete()
996 *t = *x; in rn_delete()
1001 p = x->rn_parent; in rn_delete()
1002 if (p->rn_left == x) { in rn_delete()