Many of the used macros are just there for userspace compatibility.
Substitute the in-kernel code to directly use the terminal macro
and stuff the defines into #ifndef __KERNEL__ sections.
Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
 
 #include <linux/netfilter/x_tables.h>
 
+#ifndef __KERNEL__
 #define ARPT_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN
 #define ARPT_TABLE_MAXNAMELEN XT_TABLE_MAXNAMELEN
+#endif
 
 #define ARPT_DEV_ADDR_LEN_MAX 16
 
 /* The argument to ARPT_SO_GET_INFO */
 struct arpt_getinfo {
        /* Which table: caller fills this in. */
-       char name[ARPT_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
 
        /* Kernel fills these in. */
        /* Which hook entry points are valid: bitmask */
 /* The argument to ARPT_SO_SET_REPLACE. */
 struct arpt_replace {
        /* Which table. */
-       char name[ARPT_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
 
        /* Which hook entry points are valid: bitmask.  You can't
            change this. */
 /* The argument to ARPT_SO_GET_ENTRIES. */
 struct arpt_get_entries {
        /* Which table: user fills this in. */
-       char name[ARPT_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
 
        /* User fills this in: total entry size. */
        unsigned int size;
 
 struct arpt_error_target {
        struct arpt_entry_target target;
-       char errorname[ARPT_FUNCTION_MAXNAMELEN];
+       char errorname[XT_FUNCTION_MAXNAMELEN];
 };
 
 struct arpt_error {
 
 
 #include <linux/netfilter/x_tables.h>
 
+#ifndef __KERNEL__
 #define IPT_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN
 #define IPT_TABLE_MAXNAMELEN XT_TABLE_MAXNAMELEN
 #define ipt_match xt_match
 #define ipt_target xt_target
 #define ipt_table xt_table
 #define ipt_get_revision xt_get_revision
+#endif
 
 /* Yes, Virginia, you have to zero the padding. */
 struct ipt_ip {
 /* The argument to IPT_SO_GET_INFO */
 struct ipt_getinfo {
        /* Which table: caller fills this in. */
-       char name[IPT_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
 
        /* Kernel fills these in. */
        /* Which hook entry points are valid: bitmask */
 /* The argument to IPT_SO_SET_REPLACE. */
 struct ipt_replace {
        /* Which table. */
-       char name[IPT_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
 
        /* Which hook entry points are valid: bitmask.  You can't
            change this. */
 /* The argument to IPT_SO_GET_ENTRIES. */
 struct ipt_get_entries {
        /* Which table: user fills this in. */
-       char name[IPT_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
 
        /* User fills this in: total entry size. */
        unsigned int size;
 
 struct ipt_error_target {
        struct ipt_entry_target target;
-       char errorname[IPT_FUNCTION_MAXNAMELEN];
+       char errorname[XT_FUNCTION_MAXNAMELEN];
 };
 
 struct ipt_error {
 
 
 #include <linux/netfilter/x_tables.h>
 
+#ifndef __KERNEL__
 #define IP6T_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN
 #define IP6T_TABLE_MAXNAMELEN XT_TABLE_MAXNAMELEN
-
 #define ip6t_match xt_match
 #define ip6t_target xt_target
 #define ip6t_table xt_table
 #define ip6t_get_revision xt_get_revision
+#endif
 
 /* Yes, Virginia, you have to zero the padding. */
 struct ip6t_ip6 {
 
 struct ip6t_error_target {
        struct ip6t_entry_target target;
-       char errorname[IP6T_FUNCTION_MAXNAMELEN];
+       char errorname[XT_FUNCTION_MAXNAMELEN];
 };
 
 struct ip6t_error {
 /* The argument to IP6T_SO_GET_INFO */
 struct ip6t_getinfo {
        /* Which table: caller fills this in. */
-       char name[IP6T_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
 
        /* Kernel fills these in. */
        /* Which hook entry points are valid: bitmask */
 /* The argument to IP6T_SO_SET_REPLACE. */
 struct ip6t_replace {
        /* Which table. */
-       char name[IP6T_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
 
        /* Which hook entry points are valid: bitmask.  You can't
            change this. */
 /* The argument to IP6T_SO_GET_ENTRIES. */
 struct ip6t_get_entries {
        /* Which table: user fills this in. */
-       char name[IP6T_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
 
        /* User fills this in: total entry size. */
        unsigned int size;
 
 static int get_info(struct net *net, void __user *user,
                     const int *len, int compat)
 {
-       char name[ARPT_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
        struct xt_table *t;
        int ret;
 
        if (copy_from_user(name, user, sizeof(name)) != 0)
                return -EFAULT;
 
-       name[ARPT_TABLE_MAXNAMELEN-1] = '\0';
+       name[XT_TABLE_MAXNAMELEN-1] = '\0';
 #ifdef CONFIG_COMPAT
        if (compat)
                xt_compat_lock(NFPROTO_ARP);
 }
 
 struct compat_arpt_replace {
-       char                            name[ARPT_TABLE_MAXNAMELEN];
+       char                            name[XT_TABLE_MAXNAMELEN];
        u32                             valid_hooks;
        u32                             num_entries;
        u32                             size;
 }
 
 struct compat_arpt_get_entries {
-       char name[ARPT_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
        compat_uint_t size;
        struct compat_arpt_entry entrytable[0];
 };
        {
                .name             = ARPT_ERROR_TARGET,
                .target           = arpt_error,
-               .targetsize       = ARPT_FUNCTION_MAXNAMELEN,
+               .targetsize       = XT_FUNCTION_MAXNAMELEN,
                .family           = NFPROTO_ARP,
        },
 };
 
 static int get_info(struct net *net, void __user *user,
                     const int *len, int compat)
 {
-       char name[IPT_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
        struct xt_table *t;
        int ret;
 
        if (copy_from_user(name, user, sizeof(name)) != 0)
                return -EFAULT;
 
-       name[IPT_TABLE_MAXNAMELEN-1] = '\0';
+       name[XT_TABLE_MAXNAMELEN-1] = '\0';
 #ifdef CONFIG_COMPAT
        if (compat)
                xt_compat_lock(AF_INET);
 
 #ifdef CONFIG_COMPAT
 struct compat_ipt_replace {
-       char                    name[IPT_TABLE_MAXNAMELEN];
+       char                    name[XT_TABLE_MAXNAMELEN];
        u32                     valid_hooks;
        u32                     num_entries;
        u32                     size;
 }
 
 struct compat_ipt_get_entries {
-       char name[IPT_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
        compat_uint_t size;
        struct compat_ipt_entry entrytable[0];
 };
 
        case IPT_SO_GET_REVISION_MATCH:
        case IPT_SO_GET_REVISION_TARGET: {
-               struct ipt_get_revision rev;
+               struct xt_get_revision rev;
                int target;
 
                if (*len != sizeof(rev)) {
        {
                .name             = IPT_ERROR_TARGET,
                .target           = ipt_error,
-               .targetsize       = IPT_FUNCTION_MAXNAMELEN,
+               .targetsize       = XT_FUNCTION_MAXNAMELEN,
                .family           = NFPROTO_IPV4,
        },
 };
 
 static int get_info(struct net *net, void __user *user,
                     const int *len, int compat)
 {
-       char name[IP6T_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
        struct xt_table *t;
        int ret;
 
        if (copy_from_user(name, user, sizeof(name)) != 0)
                return -EFAULT;
 
-       name[IP6T_TABLE_MAXNAMELEN-1] = '\0';
+       name[XT_TABLE_MAXNAMELEN-1] = '\0';
 #ifdef CONFIG_COMPAT
        if (compat)
                xt_compat_lock(AF_INET6);
 
 #ifdef CONFIG_COMPAT
 struct compat_ip6t_replace {
-       char                    name[IP6T_TABLE_MAXNAMELEN];
+       char                    name[XT_TABLE_MAXNAMELEN];
        u32                     valid_hooks;
        u32                     num_entries;
        u32                     size;
 }
 
 struct compat_ip6t_get_entries {
-       char name[IP6T_TABLE_MAXNAMELEN];
+       char name[XT_TABLE_MAXNAMELEN];
        compat_uint_t size;
        struct compat_ip6t_entry entrytable[0];
 };
 
        case IP6T_SO_GET_REVISION_MATCH:
        case IP6T_SO_GET_REVISION_TARGET: {
-               struct ip6t_get_revision rev;
+               struct xt_get_revision rev;
                int target;
 
                if (*len != sizeof(rev)) {
        {
                .name             = IP6T_ERROR_TARGET,
                .target           = ip6t_error,
-               .targetsize       = IP6T_FUNCTION_MAXNAMELEN,
+               .targetsize       = XT_FUNCTION_MAXNAMELEN,
                .family           = NFPROTO_IPV6,
        },
 };