aboutsummaryrefslogtreecommitdiffstats
path: root/filter/data.h
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2021-02-07 19:21:42 +0100
committerOndrej Zajicek (work) <santiago@crfreenet.org>2021-02-07 19:21:42 +0100
commitd06a875b042b608e61b2d5a2bb594641d3e1322f (patch)
treea4eae99c62b0b2349a42f229ac558e11f2f445d5 /filter/data.h
parent5d414309ec5a01024d4de4c4f9521f8daa5c06ff (diff)
downloadbird-d06a875b042b608e61b2d5a2bb594641d3e1322f.tar.gz
Filter: Recursive filter iteration code
Add macros for recursive filter iteration that allows to examine all instructions reachable from a filter.
Diffstat (limited to 'filter/data.h')
-rw-r--r--filter/data.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/filter/data.h b/filter/data.h
index a0ec3819..61cdb43e 100644
--- a/filter/data.h
+++ b/filter/data.h
@@ -175,6 +175,7 @@ struct f_tree *build_tree(struct f_tree *);
const struct f_tree *find_tree(const struct f_tree *t, const struct f_val *val);
int same_tree(const struct f_tree *t0, const struct f_tree *t2);
void tree_format(const struct f_tree *t, buffer *buf);
+void tree_walk(const struct f_tree *t, void (*hook)(const struct f_tree *, void *), void *data);
struct f_trie *f_new_trie(linpool *lp, uint data_size);
void *trie_add_prefix(struct f_trie *t, const net_addr *n, uint l, uint h);