Jozsef Kadlecsik | 5b1158e | 2006-12-02 22:07:13 -0800 | [diff] [blame] | 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. */ |
Herbert Xu | 3db05fe | 2007-10-15 00:53:15 -0700 | [diff] [blame^] | 10 | extern int nf_nat_mangle_tcp_packet(struct sk_buff *skb, |
Jozsef Kadlecsik | 5b1158e | 2006-12-02 22:07:13 -0800 | [diff] [blame] | 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); |
Herbert Xu | 3db05fe | 2007-10-15 00:53:15 -0700 | [diff] [blame^] | 17 | extern int nf_nat_mangle_udp_packet(struct sk_buff *skb, |
Jozsef Kadlecsik | 5b1158e | 2006-12-02 22:07:13 -0800 | [diff] [blame] | 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); |
Herbert Xu | 3db05fe | 2007-10-15 00:53:15 -0700 | [diff] [blame^] | 24 | extern int nf_nat_seq_adjust(struct sk_buff *skb, |
Jozsef Kadlecsik | 5b1158e | 2006-12-02 22:07:13 -0800 | [diff] [blame] | 25 | struct nf_conn *ct, |
| 26 | enum ip_conntrack_info ctinfo); |
| 27 | |
| 28 | /* Setup NAT on this expected conntrack so it follows master, but goes |
| 29 | * to port ct->master->saved_proto. */ |
| 30 | extern void nf_nat_follow_master(struct nf_conn *ct, |
| 31 | struct nf_conntrack_expect *this); |
| 32 | #endif |