File: expr.h

package info (click to toggle)
filtergen 0.12.4-4.1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny
  • size: 4,336 kB
  • ctags: 982
  • sloc: ansic: 3,505; sh: 1,912; yacc: 684; lex: 306; makefile: 209
file content (35 lines) | stat: -rw-r--r-- 503 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef __EXPR_H__
#define __EXPR_H__

enum expression = {
    EXP_AND,
    EXP_OR,
    EXP_NOT,
    EXP_PRED,
};

struct expr_s * {
    enum expression type;
};

enum action = {
    ACT_NONE,
    ACT_ACCEPT,
    ACT_REJECT,
    ACT_DROP,
};

/* rule is a boolean expression of filtering predicates -> action */
struct rule_s {
    struct expr_s * expr;
    enum action act;
    struct rule_s * next;
};

struct group_s {
    char * name;
    struct rule_s * rule_list;
};
    

#endif /* __EXPR_H__ */