/include/net/netfilter/nf_nat_core.h
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 */