~brightbox/bird/debian-packaging

« back to all changes in this revision

Viewing changes to filter/filter.h

  • Committer: Ondřej Surý
  • Date: 2013-11-25 14:59:24 UTC
  • Revision ID: git-v1:a3c058b8752bd98df2231ac88d94931fdb4e0c65
New upstream version 1.4.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
struct f_val {
52
52
  int type;
53
53
  union {
54
 
    int i;
 
54
    uint i;
55
55
    u64 ec;
56
56
    /*    ip_addr ip; Folded into prefix */     
57
57
    struct f_prefix px;
78
78
struct f_tree *build_tree(struct f_tree *);
79
79
struct f_tree *find_tree(struct f_tree *t, struct f_val val);
80
80
int same_tree(struct f_tree *t1, struct f_tree *t2);
 
81
void tree_format(struct f_tree *t, buffer *buf);
81
82
 
82
83
struct f_trie *f_new_trie(linpool *lp);
83
84
void trie_add_prefix(struct f_trie *t, ip_addr px, int plen, int l, int h);
84
85
int trie_match_prefix(struct f_trie *t, ip_addr px, int plen);
85
86
int trie_same(struct f_trie *t1, struct f_trie *t2);
86
 
void trie_print(struct f_trie *t);
 
87
void trie_format(struct f_trie *t, buffer *buf);
87
88
 
88
89
void fprefix_get_bounds(struct f_prefix *px, int *l, int *h);
89
90
 
107
108
 
108
109
int f_run(struct filter *filter, struct rte **rte, struct ea_list **tmp_attrs, struct linpool *tmp_pool, int flags);
109
110
struct f_val f_eval(struct f_inst *expr, struct linpool *tmp_pool);
110
 
int f_eval_int(struct f_inst *expr);
 
111
uint f_eval_int(struct f_inst *expr);
111
112
u32 f_eval_asn(struct f_inst *expr);
112
113
 
113
114
char *filter_name(struct filter *filter);
118
119
int val_compare(struct f_val v1, struct f_val v2);
119
120
int val_same(struct f_val v1, struct f_val v2);
120
121
 
121
 
void val_print(struct f_val v);
 
122
void val_format(struct f_val v, buffer *buf);
 
123
 
122
124
 
123
125
#define F_NOP 0
124
126
#define F_NONL 1