Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net...
[deliverable/linux.git] / include / uapi / linux / netfilter / xt_policy.h
CommitLineData
c4b88513
PM
1#ifndef _XT_POLICY_H
2#define _XT_POLICY_H
3
60c195c7 4#include <linux/types.h>
1ffad83d
MR
5#include <linux/in.h>
6#include <linux/in6.h>
60c195c7 7
c4b88513
PM
8#define XT_POLICY_MAX_ELEM 4
9
d94d9fee 10enum xt_policy_flags {
c4b88513
PM
11 XT_POLICY_MATCH_IN = 0x1,
12 XT_POLICY_MATCH_OUT = 0x2,
13 XT_POLICY_MATCH_NONE = 0x4,
14 XT_POLICY_MATCH_STRICT = 0x8,
15};
16
d94d9fee 17enum xt_policy_modes {
c4b88513
PM
18 XT_POLICY_MODE_TRANSPORT,
19 XT_POLICY_MODE_TUNNEL
20};
21
d94d9fee 22struct xt_policy_spec {
60c195c7 23 __u8 saddr:1,
c4b88513
PM
24 daddr:1,
25 proto:1,
26 mode:1,
27 spi:1,
28 reqid:1;
29};
30
917b6fbd 31#ifndef __KERNEL__
d94d9fee 32union xt_policy_addr {
c4b88513
PM
33 struct in_addr a4;
34 struct in6_addr a6;
35};
917b6fbd 36#endif
c4b88513 37
d94d9fee 38struct xt_policy_elem {
917b6fbd
JE
39 union {
40#ifdef __KERNEL__
41 struct {
42 union nf_inet_addr saddr;
43 union nf_inet_addr smask;
44 union nf_inet_addr daddr;
45 union nf_inet_addr dmask;
46 };
47#else
48 struct {
49 union xt_policy_addr saddr;
50 union xt_policy_addr smask;
51 union xt_policy_addr daddr;
52 union xt_policy_addr dmask;
53 };
54#endif
55 };
98a4a861 56 __be32 spi;
60c195c7
AB
57 __u32 reqid;
58 __u8 proto;
59 __u8 mode;
c4b88513
PM
60
61 struct xt_policy_spec match;
62 struct xt_policy_spec invert;
63};
64
d94d9fee 65struct xt_policy_info {
c4b88513 66 struct xt_policy_elem pol[XT_POLICY_MAX_ELEM];
60c195c7
AB
67 __u16 flags;
68 __u16 len;
c4b88513
PM
69};
70
71#endif /* _XT_POLICY_H */
This page took 1.08318 seconds and 5 git commands to generate.