Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nf_nat_core.h
Go to the documentation of this file.
1 #ifndef _NF_NAT_CORE_H
2 #define _NF_NAT_CORE_H
3 #include <linux/list.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 extern 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 
15 extern int nf_xfrm_me_harder(struct sk_buff *skb, unsigned int family);
16 
17 static 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 
26 struct nlattr;
27 
28 extern int
30  enum nf_nat_manip_type manip,
31  const struct nlattr *attr);
32 
33 #endif /* _NF_NAT_CORE_H */