1#ifndef _NF_NAT_CORE_H 2#define _NF_NAT_CORE_H 3#include <linux/list.h> 4#include <net/netfilter/nf_conntrack.h> 5 6/* This header used to share core functionality between the standalone 7 NAT module, and the compatibility layer's use of NAT for masquerading. */ 8 9extern unsigned int nf_nat_packet(struct nf_conn *ct, 10 enum ip_conntrack_info ctinfo, 11 unsigned int hooknum, 12 struct sk_buff **pskb); 13 14extern int nf_nat_icmp_reply_translation(struct nf_conn *ct, 15 enum ip_conntrack_info ctinfo, 16 unsigned int hooknum, 17 struct sk_buff **pskb); 18 19static inline int nf_nat_initialized(struct nf_conn *ct, 20 enum nf_nat_manip_type manip) 21{ 22 if (manip == IP_NAT_MANIP_SRC) 23 return test_bit(IPS_SRC_NAT_DONE_BIT, &ct->status); 24 else 25 return test_bit(IPS_DST_NAT_DONE_BIT, &ct->status); 26} 27#endif /* _NF_NAT_CORE_H */ 28