[SCSI] libfcoe: Move common code from fcoe to libfcoe module
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / include / net / netfilter / nf_nat_helper.h
blob02bb6c29dc3ddbab8c656feb3631a17dd105d748
1 #ifndef _NF_NAT_HELPER_H
2 #define _NF_NAT_HELPER_H
3 /* NAT protocol helper routines. */
5 #include <net/netfilter/nf_conntrack.h>
7 struct sk_buff;
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, bool adjust);
18 static inline int nf_nat_mangle_tcp_packet(struct sk_buff *skb,
19 struct nf_conn *ct,
20 enum ip_conntrack_info ctinfo,
21 unsigned int match_offset,
22 unsigned int match_len,
23 const char *rep_buffer,
24 unsigned int rep_len)
26 return __nf_nat_mangle_tcp_packet(skb, ct, ctinfo,
27 match_offset, match_len,
28 rep_buffer, rep_len, true);
31 extern int nf_nat_mangle_udp_packet(struct sk_buff *skb,
32 struct nf_conn *ct,
33 enum ip_conntrack_info ctinfo,
34 unsigned int match_offset,
35 unsigned int match_len,
36 const char *rep_buffer,
37 unsigned int rep_len);
39 extern void nf_nat_set_seq_adjust(struct nf_conn *ct,
40 enum ip_conntrack_info ctinfo,
41 __be32 seq, s16 off);
42 extern int nf_nat_seq_adjust(struct sk_buff *skb,
43 struct nf_conn *ct,
44 enum ip_conntrack_info ctinfo);
45 extern int (*nf_nat_seq_adjust_hook)(struct sk_buff *skb,
46 struct nf_conn *ct,
47 enum ip_conntrack_info ctinfo);
49 /* Setup NAT on this expected conntrack so it follows master, but goes
50 * to port ct->master->saved_proto. */
51 extern void nf_nat_follow_master(struct nf_conn *ct,
52 struct nf_conntrack_expect *this);
54 extern s16 nf_nat_get_offset(const struct nf_conn *ct,
55 enum ip_conntrack_dir dir,
56 u32 seq);
57 #endif