Lines Matching refs:trie

12  * This work is based on the LPC-trie which is originally described in:
165 struct trie {
172 static struct key_vector *resize(struct trie *t, struct key_vector *tn);
230 * necessary. Every node in the trie has a key associated with it, but not
506 static struct key_vector *replace(struct trie *t,
535 static struct key_vector *inflate(struct trie *t,
631 static struct key_vector *halve(struct trie *t,
686 static struct key_vector *collapse(struct trie *t,
745 /* From "Implementing a dynamic compressed trie" by Stefan Nilsson of
841 /* One child or none, time to drop us from the trie */
846 static struct key_vector *resize(struct trie *t, struct key_vector *tn)
934 static struct key_vector *fib_find_node(struct trie *t,
1017 struct trie *t;
1023 t = (struct trie *)tb->tb_data;
1056 static void trie_rebalance(struct trie *t, struct key_vector *tn)
1062 static int fib_insert_node(struct trie *t, struct key_vector *tp,
1112 static int fib_insert_alias(struct trie *t, struct key_vector *tp,
1164 static void fib_remove_alias(struct trie *t, struct key_vector *tp,
1171 struct trie *t = (struct trie *)tb->tb_data;
1400 struct trie *t = (struct trie *) tb->tb_data;
1423 /* Step 1: Travel to the longest prefix match in the trie */
1602 static void fib_remove_alias(struct trie *t, struct key_vector *tp,
1628 /* update the trie with the latest suffix length */
1667 struct trie *t = (struct trie *) tb->tb_data;
1739 /* this loop is meant to try and find the key in the trie */
1784 return NULL; /* Root of trie */
1793 struct trie *t = (struct trie *)tb->tb_data;
1799 /* walk trie in reverse order and free everything */
1851 struct trie *ot = (struct trie *)oldtb->tb_data;
1855 struct trie *lt;
1865 lt = (struct trie *)local_tb->tb_data;
1910 struct trie *t = (struct trie *)tb->tb_data;
1916 /* walk trie in reverse order */
1924 /* cannot resize the trie vector */
1979 struct trie *t = (struct trie *)tb->tb_data;
1987 /* walk trie in reverse order */
1995 /* cannot resize the trie vector */
2069 struct trie *t = (struct trie *)tb->tb_data;
2151 /* local and main table can share the same trie,
2173 struct trie *t = (struct trie *)tb->tb_data;
2214 struct trie *t = (struct trie *)tb->tb_data;
2316 struct trie *t = (struct trie *)tb->tb_data;
2371 struct trie *t;
2375 sz += sizeof(struct trie);
2388 t = (struct trie *) tb->tb_data;
2456 struct trie *t)
2481 static void trie_collect_stats(struct trie *t, struct trie_stat *s)
2610 struct trie *t = (struct trie *) tb->tb_data;
2646 (struct trie *) tb->tb_data);
2684 n = fib_trie_get_first(iter, (struct trie *) tb->tb_data);
2693 n = fib_trie_get_first(iter, (struct trie *) tb->tb_data);
2754 /* Pretty print the trie */
2851 struct trie *t;
2860 t = (struct trie *)tb->tb_data;