1/**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 **************************************************************************** 11 ****************************************************************************/ 12#ifndef _IP_NAT_H 13#define _IP_NAT_H 14#include <linux/netfilter_ipv4.h> 15#include <linux/netfilter_ipv4/ip_conntrack_tuple.h> 16 17#define IP_NAT_MAPPING_TYPE_MAX_NAMELEN 16 18 19enum ip_nat_manip_type 20{ 21 IP_NAT_MANIP_SRC, 22 IP_NAT_MANIP_DST 23}; 24 25#define HOOK2MANIP(hooknum) ((hooknum) != NF_IP_POST_ROUTING && (hooknum) != NF_IP_LOCAL_IN) 26 27#define IP_NAT_RANGE_MAP_IPS 1 28#define IP_NAT_RANGE_PROTO_SPECIFIED 2 29 30struct ip_nat_seq { 31 32 u_int32_t correction_pos; 33 34 int16_t offset_before, offset_after; 35}; 36 37struct ip_nat_range 38{ 39 40 unsigned int flags; 41 42 u_int32_t min_ip, max_ip; 43 44 union ip_conntrack_manip_proto min, max; 45}; 46 47struct ip_nat_multi_range_compat 48{ 49 unsigned int rangesize; 50 51 struct ip_nat_range range[1]; 52}; 53 54#define ip_nat_multi_range ip_nat_multi_range_compat 55#endif 56