iproute: support onelink route option and print route flags
[oweals/busybox.git] / networking / libiproute / rt_names.c
index 2699dba3d7022eaf8d459ab21a0dbb264fd2e071..c474ab903e258f1b3b7d79c79270068a6982c4f1 100644 (file)
@@ -1,13 +1,11 @@
 /* vi: set sw=4 ts=4: */
 /*
- * rt_names.c          rtnetlink names DB.
+ * 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.
  *
- *             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, <kuznet@ms2.inr.ac.ru>
+ * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
  */
 #include "libbb.h"
 #include "rt_names.h"
@@ -90,10 +88,10 @@ static void rtnl_rtprot_initialize(void)
        rtnl_tab_initialize("/etc/iproute2/rt_protos", rtnl_rtprot_tab->tab);
 }
 
-const char* rtnl_rtprot_n2a(int id, char *buf, int len)
+const char* FAST_FUNC rtnl_rtprot_n2a(int id, char *buf)
 {
        if (id < 0 || id >= 256) {
-               snprintf(buf, len, "%d", id);
+               sprintf(buf, "%d", id);
                return buf;
        }
 
@@ -101,11 +99,12 @@ const char* rtnl_rtprot_n2a(int id, char *buf, int len)
 
        if (rtnl_rtprot_tab->tab[id])
                return rtnl_rtprot_tab->tab[id];
-       snprintf(buf, len, "%d", id);
+       /* buf is SPRINT_BSIZE big */
+       sprintf(buf, "%d", id);
        return buf;
 }
 
-int rtnl_rtprot_a2n(uint32_t *id, char *arg)
+int FAST_FUNC rtnl_rtprot_a2n(uint32_t *id, char *arg)
 {
        rtnl_rtprot_initialize();
        return rtnl_a2n(rtnl_rtprot_tab, id, arg, 0);
@@ -127,10 +126,10 @@ static void rtnl_rtscope_initialize(void)
        rtnl_tab_initialize("/etc/iproute2/rt_scopes", rtnl_rtscope_tab->tab);
 }
 
-const char* rtnl_rtscope_n2a(int id, char *buf, int len)
+const char* FAST_FUNC rtnl_rtscope_n2a(int id, char *buf)
 {
        if (id < 0 || id >= 256) {
-               snprintf(buf, len, "%d", id);
+               sprintf(buf, "%d", id);
                return buf;
        }
 
@@ -138,11 +137,12 @@ const char* rtnl_rtscope_n2a(int id, char *buf, int len)
 
        if (rtnl_rtscope_tab->tab[id])
                return rtnl_rtscope_tab->tab[id];
-       snprintf(buf, len, "%d", id);
+       /* buf is SPRINT_BSIZE big */
+       sprintf(buf, "%d", id);
        return buf;
 }
 
-int rtnl_rtscope_a2n(uint32_t *id, char *arg)
+int FAST_FUNC rtnl_rtscope_a2n(uint32_t *id, char *arg)
 {
        rtnl_rtscope_initialize();
        return rtnl_a2n(rtnl_rtscope_tab, id, arg, 0);
@@ -159,17 +159,17 @@ static void rtnl_rtrealm_initialize(void)
        rtnl_tab_initialize("/etc/iproute2/rt_realms", rtnl_rtrealm_tab->tab);
 }
 
-int rtnl_rtrealm_a2n(uint32_t *id, char *arg)
+int FAST_FUNC rtnl_rtrealm_a2n(uint32_t *id, char *arg)
 {
        rtnl_rtrealm_initialize();
        return rtnl_a2n(rtnl_rtrealm_tab, id, arg, 0);
 }
 
 #if ENABLE_FEATURE_IP_RULE
-const char* rtnl_rtrealm_n2a(int id, char *buf, int len)
+const char* FAST_FUNC rtnl_rtrealm_n2a(int id, char *buf)
 {
        if (id < 0 || id >= 256) {
-               snprintf(buf, len, "%d", id);
+               sprintf(buf, "%d", id);
                return buf;
        }
 
@@ -177,7 +177,8 @@ const char* rtnl_rtrealm_n2a(int id, char *buf, int len)
 
        if (rtnl_rtrealm_tab->tab[id])
                return rtnl_rtrealm_tab->tab[id];
-       snprintf(buf, len, "%d", id);
+       /* buf is SPRINT_BSIZE big */
+       sprintf(buf, "%d", id);
        return buf;
 }
 #endif
@@ -193,10 +194,10 @@ static void rtnl_rtdsfield_initialize(void)
        rtnl_tab_initialize("/etc/iproute2/rt_dsfield", rtnl_rtdsfield_tab->tab);
 }
 
-const char * rtnl_dsfield_n2a(int id, char *buf, int len)
+const char* FAST_FUNC rtnl_dsfield_n2a(int id, char *buf)
 {
        if (id < 0 || id >= 256) {
-               snprintf(buf, len, "%d", id);
+               sprintf(buf, "%d", id);
                return buf;
        }
 
@@ -204,11 +205,12 @@ const char * rtnl_dsfield_n2a(int id, char *buf, int len)
 
        if (rtnl_rtdsfield_tab->tab[id])
                return rtnl_rtdsfield_tab->tab[id];
-       snprintf(buf, len, "0x%02x", id);
+       /* buf is SPRINT_BSIZE big */
+       sprintf(buf, "0x%02x", id);
        return buf;
 }
 
-int rtnl_dsfield_a2n(uint32_t *id, char *arg)
+int FAST_FUNC rtnl_dsfield_a2n(uint32_t *id, char *arg)
 {
        rtnl_rtdsfield_initialize();
        return rtnl_a2n(rtnl_rtdsfield_tab, id, arg, 16);
@@ -229,10 +231,10 @@ static void rtnl_rttable_initialize(void)
        rtnl_tab_initialize("/etc/iproute2/rt_tables", rtnl_rttable_tab->tab);
 }
 
-const char *rtnl_rttable_n2a(int id, char *buf, int len)
+const char* FAST_FUNC rtnl_rttable_n2a(int id, char *buf)
 {
        if (id < 0 || id >= 256) {
-               snprintf(buf, len, "%d", id);
+               sprintf(buf, "%d", id);
                return buf;
        }
 
@@ -240,11 +242,12 @@ const char *rtnl_rttable_n2a(int id, char *buf, int len)
 
        if (rtnl_rttable_tab->tab[id])
                return rtnl_rttable_tab->tab[id];
-       snprintf(buf, len, "%d", id);
+       /* buf is SPRINT_BSIZE big */
+       sprintf(buf, "%d", id);
        return buf;
 }
 
-int rtnl_rttable_a2n(uint32_t *id, char *arg)
+int FAST_FUNC rtnl_rttable_a2n(uint32_t *id, char *arg)
 {
        rtnl_rttable_initialize();
        return rtnl_a2n(rtnl_rttable_tab, id, arg, 0);