]> Pileus Git - ~andy/linux/blob - include/uapi/linux/netfilter/nf_nat.h
Merge tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realm...
[~andy/linux] / include / uapi / linux / netfilter / nf_nat.h
1 #ifndef _NETFILTER_NF_NAT_H
2 #define _NETFILTER_NF_NAT_H
3
4 #include <linux/netfilter.h>
5 #include <linux/netfilter/nf_conntrack_tuple_common.h>
6
7 #define NF_NAT_RANGE_MAP_IPS                    (1 << 0)
8 #define NF_NAT_RANGE_PROTO_SPECIFIED            (1 << 1)
9 #define NF_NAT_RANGE_PROTO_RANDOM               (1 << 2)
10 #define NF_NAT_RANGE_PERSISTENT                 (1 << 3)
11 #define NF_NAT_RANGE_PROTO_RANDOM_FULLY         (1 << 4)
12
13 #define NF_NAT_RANGE_PROTO_RANDOM_ALL           \
14         (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY)
15
16 struct nf_nat_ipv4_range {
17         unsigned int                    flags;
18         __be32                          min_ip;
19         __be32                          max_ip;
20         union nf_conntrack_man_proto    min;
21         union nf_conntrack_man_proto    max;
22 };
23
24 struct nf_nat_ipv4_multi_range_compat {
25         unsigned int                    rangesize;
26         struct nf_nat_ipv4_range        range[1];
27 };
28
29 struct nf_nat_range {
30         unsigned int                    flags;
31         union nf_inet_addr              min_addr;
32         union nf_inet_addr              max_addr;
33         union nf_conntrack_man_proto    min_proto;
34         union nf_conntrack_man_proto    max_proto;
35 };
36
37 #endif /* _NETFILTER_NF_NAT_H */