Lines Matching refs:tt
337 struct radix_node *tt = nodes, *t = tt + 1;
341 t->rn_l = tt;
343 tt->rn_b = -1;
344 tt->rn_key = v;
345 tt->rn_p = t;
346 tt->rn_flags = t->rn_flags = RNF_ACTIVE;
348 tt->rn_info = rn_nodenum++;
350 tt->rn_twin = t;
351 tt->rn_ybro = rn_clist;
352 rn_clist = tt;
366 struct radix_node *tt;
409 tt = t->rn_l;
419 t->rn_r = tt;
429 return (tt);
517 rn_new_radix_mask(struct radix_node *tt,
532 m->rm_b = tt->rn_b;
533 m->rm_flags = tt->rn_flags;
534 if (tt->rn_flags & RNF_NORMAL)
535 m->rm_leaf = tt;
537 m->rm_mask = tt->rn_mask;
539 tt->rn_mklist = m;
548 struct radix_node *t, *x = 0, *tt;
574 saved_tt = tt = rn_insert(v, head, &keyduplicated, treenodes);
576 for (t = tt; tt; t = tt, tt = tt->rn_dupedkey) {
577 if (tt->rn_mask == netmask) {
583 (tt->rn_mask &&
584 ((b_leaf < tt->rn_b) ||
585 rn_refines(netmask, tt->rn_mask) ||
586 rn_lexobetter(netmask, tt->rn_mask))))
599 if (tt == saved_tt) {
602 (tt = treenodes)->rn_dupedkey = t;
603 tt->rn_flags = t->rn_flags;
604 tt->rn_p = x = t->rn_p;
606 x->rn_l = tt;
608 x->rn_r = tt;
609 saved_tt = tt;
612 (tt = treenodes)->rn_dupedkey = t->rn_dupedkey;
613 t->rn_dupedkey = tt;
616 t = tt + 1;
617 tt->rn_info = rn_nodenum++;
619 tt->rn_twin = t;
620 tt->rn_ybro = rn_clist;
621 rn_clist = tt;
623 tt->rn_key = v;
624 tt->rn_b = -1;
625 tt->rn_flags = RNF_ACTIVE;
631 tt->rn_mask = netmask;
632 tt->rn_b = x->rn_b;
633 tt->rn_flags |= x->rn_flags & RNF_NORMAL;
664 return (tt); /* can't lift at all */
666 b_leaf = tt->rn_b;
684 if (tt->rn_flags & RNF_NORMAL) {
692 return (tt);
698 tt->rn_mklist = m;
699 return (tt);
704 *mp = rn_new_radix_mask(tt, *mp);
705 return (tt);
711 struct radix_node *t, *p, *x, *tt;
721 tt = rn_search(v, x);
724 saved_tt = tt;
726 if (tt == NULL ||
727 memcmp(v + head_off, tt->rn_key + head_off, vlen - head_off) != 0) {
740 while (tt->rn_mask != netmask)
741 if ((tt = tt->rn_dupedkey) == NULL) {
746 if (tt->rn_mask == NULL || (saved_m = m = tt->rn_mklist) == NULL)
748 if (tt->rn_flags & RNF_NORMAL) {
749 if (m->rm_leaf != tt || m->rm_refs > 0) {
758 if (m->rm_mask != tt->rn_mask) {
769 b = -1 - tt->rn_b;
789 if (tt->rn_flags & RNF_NORMAL)
796 if (tt->rn_flags & RNF_ROOT) {
802 for (t = rn_clist; t && t->rn_ybro != tt; t = t->rn_ybro) {}
804 t->rn_ybro = tt->rn_ybro;
806 t = tt->rn_p;
808 if (tt == saved_tt) {
811 if (t->rn_l == tt)
816 for (x = p = saved_tt; p && p->rn_dupedkey != tt; )
819 p->rn_dupedkey = tt->rn_dupedkey;
828 t = tt + 1;
848 if (t->rn_l == tt)
894 x = tt + 1;
912 tt->rn_flags &= ~RNF_ACTIVE;
913 tt[1].rn_flags &= ~RNF_ACTIVE;
914 return (tt);
957 struct radix_node *t, *tt, *ttt;
967 tt = t->rn_l;
968 tt->rn_flags = t->rn_flags = RNF_ROOT | RNF_ACTIVE;
969 tt->rn_b = -1 - off;
970 *ttt = *tt;