]> nv-tegra.nvidia Code Review - linux-3.10.git/blob - include/net/netfilter/nf_nat_helper.h
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-3.10.git] / include / net / netfilter / nf_nat_helper.h
1 #ifndef _NF_NAT_HELPER_H
2 #define _NF_NAT_HELPER_H
3 /* NAT protocol helper routines. */
4
5 #include <net/netfilter/nf_conntrack.h>
6
7 struct sk_buff;
8
9 /* These return true or false. */
10 extern int nf_nat_mangle_tcp_packet(struct sk_buff *skb,
11                                     struct nf_conn *ct,
12                                     enum ip_conntrack_info ctinfo,
13                                     unsigned int match_offset,
14                                     unsigned int match_len,
15                                     const char *rep_buffer,
16                                     unsigned int rep_len);
17 extern int nf_nat_mangle_udp_packet(struct sk_buff *skb,
18                                     struct nf_conn *ct,
19                                     enum ip_conntrack_info ctinfo,
20                                     unsigned int match_offset,
21                                     unsigned int match_len,
22                                     const char *rep_buffer,
23                                     unsigned int rep_len);
24 extern int nf_nat_seq_adjust(struct sk_buff *skb,
25                              struct nf_conn *ct,
26                              enum ip_conntrack_info ctinfo);
27 extern int (*nf_nat_seq_adjust_hook)(struct sk_buff *skb,
28                                      struct nf_conn *ct,
29                                      enum ip_conntrack_info ctinfo);
30
31 /* Setup NAT on this expected conntrack so it follows master, but goes
32  * to port ct->master->saved_proto. */
33 extern void nf_nat_follow_master(struct nf_conn *ct,
34                                  struct nf_conntrack_expect *this);
35
36 extern s16 nf_nat_get_offset(const struct nf_conn *ct,
37                              enum ip_conntrack_dir dir,
38                              u32 seq);
39 #endif