[NETFILTER]: Add NAT support for nf_conntrack
[pandora-kernel.git] / include / net / netfilter / nf_nat_core.h
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
9 extern 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
14 extern 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
19 static 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 */