Lines Matching refs:tt

118 		rn_new_radix_mask(struct radix_node *tt,
462 struct radix_node *tt = nodes, *t = tt + 1;
466 t->rn_left = tt;
470 * t->rn_parent, r->rn_right, tt->rn_mask, tt->rn_dupedkey
471 * and tt->rn_bmask must have been zeroed by caller.
473 tt->rn_bit = -1;
474 tt->rn_key = v;
475 tt->rn_parent = t;
476 tt->rn_flags = t->rn_flags = RNF_ACTIVE;
477 tt->rn_mklist = t->rn_mklist = 0;
495 struct radix_node *tt;
542 tt = t->rn_left;
552 t->rn_right = tt;
555 return (tt);
662 rn_new_radix_mask(tt, next)
663 struct radix_node *tt;
676 m->rm_bit = tt->rn_bit;
677 m->rm_flags = tt->rn_flags;
678 if (tt->rn_flags & RNF_NORMAL)
679 m->rm_leaf = tt;
681 m->rm_mask = tt->rn_mask;
683 tt->rn_mklist = m;
694 struct radix_node *t, *x = 0, *tt;
718 saved_tt = tt = rn_insert(v, head, &keyduplicated, treenodes);
720 for (t = tt; tt; t = tt, tt = tt->rn_dupedkey) {
721 if (tt->rn_mask == netmask)
724 (tt->rn_mask &&
726 ((b_leaf < tt->rn_bit) ||
727 rn_refines(netmask, tt->rn_mask) ||
728 rn_lexobetter(netmask, tt->rn_mask))))
736 * Insert treenodes before tt.
746 if (tt == saved_tt) {
749 (tt = treenodes)->rn_dupedkey = t;
750 tt->rn_flags = t->rn_flags;
751 tt->rn_parent = x = t->rn_parent;
752 t->rn_parent = tt; /* parent */
754 x->rn_left = tt;
756 x->rn_right = tt;
757 saved_tt = tt; x = xx;
759 (tt = treenodes)->rn_dupedkey = t->rn_dupedkey;
760 t->rn_dupedkey = tt;
761 /* Set rn_parent value for tt and tt->rn_dupedkey */
762 tt->rn_parent = t;
763 if (tt->rn_dupedkey)
764 tt->rn_dupedkey->rn_parent = tt;
766 tt->rn_key = v;
767 tt->rn_bit = -1;
768 tt->rn_flags = RNF_ACTIVE;
774 tt->rn_mask = netmask;
775 tt->rn_bit = x->rn_bit;
776 tt->rn_flags |= x->rn_flags & RNF_NORMAL;
780 * at this point the parent-child relationship for p, t, x, tt is
787 * x tt tt x
789 * tt == saved_tt returned by rn_insert().
838 return (tt); /* can't lift at all */
839 b_leaf = tt->rn_bit;
858 if (tt->rn_flags & RNF_NORMAL) {
866 return (tt);
872 tt->rn_mklist = m;
873 return (tt);
879 *mp = rn_new_radix_mask(tt, *mp);
880 return (tt);
888 struct radix_node *t, *p, *x, *tt;
897 tt = rn_search(v, x);
900 saved_tt = tt;
902 if (tt == 0 ||
903 bcmp(v + head_off, tt->rn_key + head_off, vlen - head_off))
912 while (tt->rn_mask != netmask)
913 if ((tt = tt->rn_dupedkey) == 0)
916 if (tt->rn_mask == 0 || (saved_m = m = tt->rn_mklist) == 0)
918 if (tt->rn_flags & RNF_NORMAL) {
919 if (m->rm_leaf != tt || m->rm_refs > 0) {
929 if (m->rm_mask != tt->rn_mask) {
942 b = -1 - tt->rn_bit;
962 if (tt->rn_flags & RNF_NORMAL)
969 if (tt->rn_flags & RNF_ROOT)
971 t = tt->rn_parent;
975 * Here, tt is the deletion target and
978 if (tt == saved_tt) {
981 if (t->rn_left == tt)
986 /* find node in front of tt on the chain */
987 for (x = p = saved_tt; p && p->rn_dupedkey != tt; )
990 p->rn_dupedkey = tt->rn_dupedkey;
991 if (tt->rn_dupedkey) /* parent */
992 tt->rn_dupedkey->rn_parent = p;
1003 t = tt + 1;
1016 if (t->rn_left == tt)
1063 x = tt + 1;
1075 tt->rn_flags &= ~RNF_ACTIVE;
1076 tt[1].rn_flags &= ~RNF_ACTIVE;
1077 return (tt);
1193 struct radix_node *t, *tt, *ttt;
1207 tt = t->rn_left; /* ... which in turn is rnh->rnh_nodes */
1208 tt->rn_flags = t->rn_flags = RNF_ROOT | RNF_ACTIVE;
1209 tt->rn_bit = -1 - off;
1210 *ttt = *tt;