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 10extern unsigned int nf_nat_packet(struct nf_conn *ct, 11 enum ip_conntrack_info ctinfo, 12 unsigned int hooknum, 13 struct sk_buff *skb); 14 15extern int nf_xfrm_me_harder(struct sk_buff *skb, unsigned int family); 16 17static inline int nf_nat_initialized(struct nf_conn *ct, 18 enum nf_nat_manip_type manip) 19{ 20 if (manip == NF_NAT_MANIP_SRC) 21 return ct->status & IPS_SRC_NAT_DONE; 22 else 23 return ct->status & IPS_DST_NAT_DONE; 24} 25 26struct nlattr; 27 28extern int 29(*nfnetlink_parse_nat_setup_hook)(struct nf_conn *ct, 30 enum nf_nat_manip_type manip, 31 const struct nlattr *attr); 32 33#endif /* _NF_NAT_CORE_H */ 34