iface: remove redundant fields and use bool

This commit is contained in:
Jan Engelhardt
2009-04-26 22:13:06 +02:00
parent be2061c520
commit a6ba463c43

View File

@@ -17,22 +17,22 @@
#include "xt_iface.h" #include "xt_iface.h"
static const struct option iface_mt_opts[] = { static const struct option iface_mt_opts[] = {
{.name = "iface", .has_arg = true, .flag = 0, .val = 'i'}, {.name = "iface", .has_arg = true, .val = 'i'},
{.name = "up", .has_arg = false, .flag = 0, .val = 'u'}, {.name = "up", .has_arg = false, .val = 'u'},
{.name = "down", .has_arg = false, .flag = 0, .val = 'U'}, /* not up */ {.name = "down", .has_arg = false, .val = 'U'}, /* not up */
{.name = "broadcast", .has_arg = false, .flag = 0, .val = 'b'}, {.name = "broadcast", .has_arg = false, .val = 'b'},
{.name = "loopback", .has_arg = false, .flag = 0, .val = 'l'}, {.name = "loopback", .has_arg = false, .val = 'l'},
{.name = "pointopoint", .has_arg = false, .flag = 0, .val = 'p'}, {.name = "pointopoint", .has_arg = false, .val = 'p'},
{.name = "pointtopoint",.has_arg = false, .flag = 0, .val = 'p'}, /* eq pointopoint */ {.name = "pointtopoint",.has_arg = false, .val = 'p'}, /* eq pointopoint */
{.name = "running", .has_arg = false, .flag = 0, .val = 'r'}, {.name = "running", .has_arg = false, .val = 'r'},
{.name = "noarp", .has_arg = false, .flag = 0, .val = 'n'}, {.name = "noarp", .has_arg = false, .val = 'n'},
{.name = "arp", .has_arg = false, .flag = 0, .val = 'N'}, /* not noarp */ {.name = "arp", .has_arg = false, .val = 'N'}, /* not noarp */
{.name = "promisc", .has_arg = false, .flag = 0, .val = 'o'}, {.name = "promisc", .has_arg = false, .val = 'o'},
{.name = "promiscous", .has_arg = false, .flag = 0, .val = 'o'}, /* eq promisc */ {.name = "promiscous", .has_arg = false, .val = 'o'}, /* eq promisc */
{.name = "multicast", .has_arg = false, .flag = 0, .val = 'm'}, {.name = "multicast", .has_arg = false, .val = 'm'},
{.name = "dynamic", .has_arg = false, .flag = 0, .val = 'd'}, {.name = "dynamic", .has_arg = false, .val = 'd'},
{.name = "lower_up", .has_arg = false, .flag = 0, .val = 'w'}, {.name = "lower_up", .has_arg = false, .val = 'w'},
{.name = "dormant", .has_arg = false, .flag = 0, .val = 'a'}, {.name = "dormant", .has_arg = false, .val = 'a'},
{.name = NULL}, {.name = NULL},
}; };
@@ -113,43 +113,42 @@ static int iface_mt_parse(int c, char **argv, int invert, unsigned int *flags,
"iface: Invalid interface name!"); "iface: Invalid interface name!");
strcpy(info->ifname, optarg); strcpy(info->ifname, optarg);
*flags |= XT_IFACE_IFACE; *flags |= XT_IFACE_IFACE;
return 1; return true;
case 'u': /* UP */ case 'u': /* UP */
iface_setflag(info, flags, invert, XT_IFACE_UP, "up"); iface_setflag(info, flags, invert, XT_IFACE_UP, "up");
return 1; return true;
case 'b': /* BROADCAST */ case 'b': /* BROADCAST */
iface_setflag(info, flags, invert, XT_IFACE_BROADCAST, "broadcast"); iface_setflag(info, flags, invert, XT_IFACE_BROADCAST, "broadcast");
return 1; return true;
case 'l': /* LOOPBACK */ case 'l': /* LOOPBACK */
iface_setflag(info, flags, invert, XT_IFACE_LOOPBACK, "loopback"); iface_setflag(info, flags, invert, XT_IFACE_LOOPBACK, "loopback");
return 1; return true;
case 'p': /* POINTOPOINT */ case 'p': /* POINTOPOINT */
iface_setflag(info, flags, invert, XT_IFACE_POINTOPOINT, "pointopoint"); iface_setflag(info, flags, invert, XT_IFACE_POINTOPOINT, "pointopoint");
return 1; return true;
case 'r': /* RUNNING */ case 'r': /* RUNNING */
iface_setflag(info, flags, invert, XT_IFACE_RUNNING, "running"); iface_setflag(info, flags, invert, XT_IFACE_RUNNING, "running");
return 1; return true;
case 'n': /* NOARP */ case 'n': /* NOARP */
iface_setflag(info, flags, invert, XT_IFACE_NOARP, "noarp"); iface_setflag(info, flags, invert, XT_IFACE_NOARP, "noarp");
return 1; return true;
case 'o': /* PROMISC */ case 'o': /* PROMISC */
iface_setflag(info, flags, invert, XT_IFACE_PROMISC, "promisc"); iface_setflag(info, flags, invert, XT_IFACE_PROMISC, "promisc");
return 1; return true;
case 'm': /* MULTICAST */ case 'm': /* MULTICAST */
iface_setflag(info, flags, invert, XT_IFACE_MULTICAST, "multicast"); iface_setflag(info, flags, invert, XT_IFACE_MULTICAST, "multicast");
return 1; return true;
case 'd': /* DYNAMIC */ case 'd': /* DYNAMIC */
iface_setflag(info, flags, invert, XT_IFACE_DYNAMIC, "dynamic"); iface_setflag(info, flags, invert, XT_IFACE_DYNAMIC, "dynamic");
return 1; return true;
case 'w': /* LOWER_UP */ case 'w': /* LOWER_UP */
iface_setflag(info, flags, invert, XT_IFACE_LOWER_UP, "lower_up"); iface_setflag(info, flags, invert, XT_IFACE_LOWER_UP, "lower_up");
return 1; return true;
case 'a': /* DORMANT */ case 'a': /* DORMANT */
iface_setflag(info, flags, invert, XT_IFACE_DORMANT, "dormant"); iface_setflag(info, flags, invert, XT_IFACE_DORMANT, "dormant");
return 1; return true;
default:
return 0;
} }
return false;
} }
static void iface_mt_check(unsigned int flags) static void iface_mt_check(unsigned int flags)