ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / linux / netfilter_ipv4 / ip_nat_core.h
1 #ifndef _IP_NAT_CORE_H
2 #define _IP_NAT_CORE_H
3 #include <linux/list.h>
4 #include <linux/netfilter_ipv4/ip_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 extern int ip_nat_init(void);
9 extern void ip_nat_cleanup(void);
10
11 extern unsigned int do_bindings(struct ip_conntrack *ct,
12                                 enum ip_conntrack_info conntrackinfo,
13                                 struct ip_nat_info *info,
14                                 unsigned int hooknum,
15                                 struct sk_buff **pskb);
16
17 extern struct list_head protos;
18
19 extern int icmp_reply_translation(struct sk_buff **pskb,
20                                   struct ip_conntrack *conntrack,
21                                   unsigned int hooknum,
22                                   int dir);
23
24 extern void replace_in_hashes(struct ip_conntrack *conntrack,
25                               struct ip_nat_info *info);
26 extern void place_in_hashes(struct ip_conntrack *conntrack,
27                             struct ip_nat_info *info);
28
29 /* Built-in protocols. */
30 extern struct ip_nat_protocol ip_nat_protocol_tcp;
31 extern struct ip_nat_protocol ip_nat_protocol_udp;
32 extern struct ip_nat_protocol ip_nat_protocol_icmp;
33 #endif /* _IP_NAT_CORE_H */