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 #include <net/netfilter/nf_nat.h> 6 7 /* This header used to share core functionality between the standalone 8 NAT module, and the compatibility layer's use of NAT for masquerading. */ 9 10 unsigned int nf_nat_packet(struct nf_conn *ct, enum ip_conntrack_info ctinfo, 11 unsigned int hooknum, struct sk_buff *skb); 12 13 int nf_xfrm_me_harder(struct sk_buff *skb, unsigned int family); 14 nf_nat_initialized(struct nf_conn * ct,enum nf_nat_manip_type manip)15static inline int nf_nat_initialized(struct nf_conn *ct, 16 enum nf_nat_manip_type manip) 17 { 18 if (manip == NF_NAT_MANIP_SRC) 19 return ct->status & IPS_SRC_NAT_DONE; 20 else 21 return ct->status & IPS_DST_NAT_DONE; 22 } 23 24 struct nlattr; 25 26 extern int 27 (*nfnetlink_parse_nat_setup_hook)(struct nf_conn *ct, 28 enum nf_nat_manip_type manip, 29 const struct nlattr *attr); 30 31 #endif /* _NF_NAT_CORE_H */ 32