X-Git-Url: http://git.onelab.eu/?p=iproute2.git;a=blobdiff_plain;f=ip%2Frtm_map.c;fp=ip%2Frtm_map.c;h=0000000000000000000000000000000000000000;hp=21e818b4adca795f8eca27f64d63274cc8493778;hb=3331a68859fd71047bb1f309048960b48eab2d83;hpb=2bd4a72f2100be7ad7d9518cb1d49bb2a5b71994 diff --git a/ip/rtm_map.c b/ip/rtm_map.c deleted file mode 100644 index 21e818b..0000000 --- a/ip/rtm_map.c +++ /dev/null @@ -1,116 +0,0 @@ -/* - * rtm_map.c - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version - * 2 of the License, or (at your option) any later version. - * - * Authors: Alexey Kuznetsov, - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "rt_names.h" -#include "utils.h" - -char *rtnl_rtntype_n2a(int id, char *buf, int len) -{ - switch (id) { - case RTN_UNSPEC: - return "none"; - case RTN_UNICAST: - return "unicast"; - case RTN_LOCAL: - return "local"; - case RTN_BROADCAST: - return "broadcast"; - case RTN_ANYCAST: - return "anycast"; - case RTN_MULTICAST: - return "multicast"; - case RTN_BLACKHOLE: - return "blackhole"; - case RTN_UNREACHABLE: - return "unreachable"; - case RTN_PROHIBIT: - return "prohibit"; - case RTN_THROW: - return "throw"; - case RTN_NAT: - return "nat"; - case RTN_XRESOLVE: - return "xresolve"; - default: - snprintf(buf, len, "%d", id); - return buf; - } -} - - -int rtnl_rtntype_a2n(int *id, char *arg) -{ - char *end; - unsigned long res; - - if (strcmp(arg, "local") == 0) - res = RTN_LOCAL; - else if (strcmp(arg, "nat") == 0) - res = RTN_NAT; - else if (matches(arg, "broadcast") == 0 || - strcmp(arg, "brd") == 0) - res = RTN_BROADCAST; - else if (matches(arg, "anycast") == 0) - res = RTN_ANYCAST; - else if (matches(arg, "multicast") == 0) - res = RTN_MULTICAST; - else if (matches(arg, "prohibit") == 0) - res = RTN_PROHIBIT; - else if (matches(arg, "unreachable") == 0) - res = RTN_UNREACHABLE; - else if (matches(arg, "blackhole") == 0) - res = RTN_BLACKHOLE; - else if (matches(arg, "xresolve") == 0) - res = RTN_XRESOLVE; - else if (matches(arg, "unicast") == 0) - res = RTN_UNICAST; - else if (strcmp(arg, "throw") == 0) - res = RTN_THROW; - else { - res = strtoul(arg, &end, 0); - if (!end || end == arg || *end || res > 255) - return -1; - } - *id = res; - return 0; -} - -int get_rt_realms(__u32 *realms, char *arg) -{ - __u32 realm = 0; - char *p = strchr(arg, '/'); - - *realms = 0; - if (p) { - *p = 0; - if (rtnl_rtrealm_a2n(realms, arg)) { - *p = '/'; - return -1; - } - *realms <<= 16; - *p = '/'; - arg = p+1; - } - if (*arg && rtnl_rtrealm_a2n(&realm, arg)) - return -1; - *realms |= realm; - return 0; -}