1/* $Id: tiny_nf_nat.h,v 1.1 2011/07/30 13:14:36 nanard Exp $ */ 2/* Only what miniupnpd needs, until linux-libc-dev gains nf_nat.h */ 3 4#ifndef TINY_NF_NAT_H 5#define TINY_NF_NAT_H 6 7#include <linux/types.h> 8 9#define IP_NAT_RANGE_MAP_IPS 1 10#define IP_NAT_RANGE_PROTO_SPECIFIED 2 11#define IP_NAT_RANGE_PROTO_RANDOM 4 12#define IP_NAT_RANGE_PERSISTENT 8 13 14union nf_conntrack_man_proto { 15 __be16 all; 16 struct { __be16 port; } tcp; 17 struct { __be16 port; } udp; 18 struct { __be16 id; } icmp; 19 struct { __be16 port; } dccp; 20 struct { __be16 port; } sctp; 21 struct { __be16 key; } gre; 22}; 23 24struct nf_nat_range { 25 unsigned int flags; 26 __be32 min_ip, max_ip; 27 union nf_conntrack_man_proto min, max; 28}; 29 30struct nf_nat_multi_range_compat { 31 unsigned int rangesize; 32 struct nf_nat_range range[1]; 33}; 34 35#define nf_nat_multi_range nf_nat_multi_range_compat 36 37#endif /*TINY_NF_NAT_H*/ 38