[NETFILTER]: {ip,ip6}_tables: remove x_tables wrapper functions
[deliverable/linux.git] / net / ipv4 / netfilter / ipt_NETMAP.c
index 736c4b5a86a79f5158f114eec47c902af22c0cff..b4acc241d8981a27b0475b2ee6c968a40bc34ba1 100644 (file)
 #include <linux/netdevice.h>
 #include <linux/netfilter.h>
 #include <linux/netfilter_ipv4.h>
+#include <linux/netfilter/x_tables.h>
+#ifdef CONFIG_NF_NAT_NEEDED
+#include <net/netfilter/nf_nat_rule.h>
+#else
 #include <linux/netfilter_ipv4/ip_nat_rule.h>
+#endif
 
 #define MODULENAME "NETMAP"
 MODULE_LICENSE("GPL");
@@ -33,7 +38,6 @@ check(const char *tablename,
       const void *e,
       const struct xt_target *target,
       void *targinfo,
-      unsigned int targinfosize,
       unsigned int hook_mask)
 {
        const struct ip_nat_multi_range_compat *mr = targinfo;
@@ -55,12 +59,11 @@ target(struct sk_buff **pskb,
        const struct net_device *out,
        unsigned int hooknum,
        const struct xt_target *target,
-       const void *targinfo,
-       void *userinfo)
+       const void *targinfo)
 {
        struct ip_conntrack *ct;
        enum ip_conntrack_info ctinfo;
-       u_int32_t new_ip, netmask;
+       __be32 new_ip, netmask;
        const struct ip_nat_multi_range_compat *mr = targinfo;
        struct ip_nat_range newrange;
 
@@ -86,8 +89,9 @@ target(struct sk_buff **pskb,
        return ip_nat_setup_info(ct, &newrange, hooknum);
 }
 
-static struct ipt_target target_module = { 
+static struct xt_target target_module = {
        .name           = MODULENAME,
+       .family         = AF_INET,
        .target         = target, 
        .targetsize     = sizeof(struct ip_nat_multi_range_compat),
        .table          = "nat",
@@ -99,12 +103,12 @@ static struct ipt_target target_module = {
 
 static int __init ipt_netmap_init(void)
 {
-       return ipt_register_target(&target_module);
+       return xt_register_target(&target_module);
 }
 
 static void __exit ipt_netmap_fini(void)
 {
-       ipt_unregister_target(&target_module);
+       xt_unregister_target(&target_module);
 }
 
 module_init(ipt_netmap_init);
This page took 0.050331 seconds and 5 git commands to generate.