]> pilppa.org Git - linux-2.6-omap-h63xx.git/blob - include/linux/netfilter_ipv4/ipt_policy.h
Merge master.kernel.org:/home/rmk/linux-2.6-serial
[linux-2.6-omap-h63xx.git] / include / linux / netfilter_ipv4 / ipt_policy.h
1 #ifndef _IPT_POLICY_H
2 #define _IPT_POLICY_H
3
4 #define IPT_POLICY_MAX_ELEM     4
5
6 enum ipt_policy_flags
7 {
8         IPT_POLICY_MATCH_IN     = 0x1,
9         IPT_POLICY_MATCH_OUT    = 0x2,
10         IPT_POLICY_MATCH_NONE   = 0x4,
11         IPT_POLICY_MATCH_STRICT = 0x8,
12 };
13
14 enum ipt_policy_modes
15 {
16         IPT_POLICY_MODE_TRANSPORT,
17         IPT_POLICY_MODE_TUNNEL
18 };
19
20 struct ipt_policy_spec
21 {
22         u_int8_t        saddr:1,
23                         daddr:1,
24                         proto:1,
25                         mode:1,
26                         spi:1,
27                         reqid:1;
28 };
29
30 struct ipt_policy_elem
31 {
32         u_int32_t       saddr;
33         u_int32_t       smask;
34         u_int32_t       daddr;
35         u_int32_t       dmask;
36         u_int32_t       spi;
37         u_int32_t       reqid;
38         u_int8_t        proto;
39         u_int8_t        mode;
40
41         struct ipt_policy_spec  match;
42         struct ipt_policy_spec  invert;
43 };
44
45 struct ipt_policy_info
46 {
47         struct ipt_policy_elem pol[IPT_POLICY_MAX_ELEM];
48         u_int16_t flags;
49         u_int16_t len;
50 };
51
52 #endif /* _IPT_POLICY_H */