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
16struct 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
24struct nf_nat_ipv4_multi_range_compat {
25	unsigned int			rangesize;
26	struct nf_nat_ipv4_range	range[1];
27};
28
29struct 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 */
38