PageRenderTime 20ms CodeModel.GetById 17ms app.highlight 2ms RepoModel.GetById 0ms app.codeStats 0ms

/include/net/netfilter/nf_nat_core.h

https://bitbucket.org/thekraven/iscream_thunderc-2.6.35
C++ Header | 36 lines | 27 code | 7 blank | 2 comment | 2 complexity | bc3eb7e69f0d740a695077080085671d MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.0, AGPL-1.0
 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#include <net/netfilter/nf_nat.h>
 6
 7/* This header used to share core functionality between the standalone
 8   NAT module, and the compatibility layer's use of NAT for masquerading. */
 9
10extern unsigned int nf_nat_packet(struct nf_conn *ct,
11				  enum ip_conntrack_info ctinfo,
12				  unsigned int hooknum,
13				  struct sk_buff *skb);
14
15extern int nf_nat_icmp_reply_translation(struct nf_conn *ct,
16					 enum ip_conntrack_info ctinfo,
17					 unsigned int hooknum,
18					 struct sk_buff *skb);
19
20static inline int nf_nat_initialized(struct nf_conn *ct,
21				     enum nf_nat_manip_type manip)
22{
23	if (manip == IP_NAT_MANIP_SRC)
24		return test_bit(IPS_SRC_NAT_DONE_BIT, &ct->status);
25	else
26		return test_bit(IPS_DST_NAT_DONE_BIT, &ct->status);
27}
28
29struct nlattr;
30
31extern int
32(*nfnetlink_parse_nat_setup_hook)(struct nf_conn *ct,
33				  enum nf_nat_manip_type manip,
34				  const struct nlattr *attr);
35
36#endif /* _NF_NAT_CORE_H */