9 enum { EXP_T=1, ELEM_T };
10 enum { AND_OP=1, OR_OP, NOT_OP };
11 enum { EQUAL_OP=10, MATCH_OP };
12 enum { METHOD_O=1, URI_O, SRCIP_O, DSTIP_O };
14 enum { FORWARD_T=1, SEND_T, DROP_T, LOG_T, ERROR_T};
15 enum { NOSUBTYPE=0, STRING_ST, NET_ST, NUMBER_ST, IP_ST };
19 int type; /* exp, exp_elem */
20 int op; /* and, or, not | ==, ~= */
34 int type; /* forward, drop, log, send ...*/
45 struct expr* mk_exp(int op, struct expr* left, struct expr* right);
46 struct expr* mk_elem(int op, int subtype, int operand, void* param);
47 struct action* mk_action(int type, int p1_type, int p2_type, void* p1, void* p2);
49 void print_action(struct action* a);
50 void print_expr(struct expr* exp);