]> rtime.felk.cvut.cz Git - lisovros/iproute2_canprio.git/commitdiff
handl gbit as well.
authorosdl.org!shemminger <osdl.org!shemminger>
Wed, 2 Jun 2004 20:22:08 +0000 (20:22 +0000)
committerosdl.org!shemminger <osdl.org!shemminger>
Wed, 2 Jun 2004 20:22:08 +0000 (20:22 +0000)
const char *

(Logical change 1.6)

tc/tc_util.c

index d1355391c90f9b3436538ab681d4e76e6b409950..bae4885f43e3d6f2fce6eb92574aab502062afe2 100644 (file)
@@ -24,7 +24,7 @@
 #include "utils.h"
 #include "tc_util.h"
 
-int get_qdisc_handle(__u32 *h, char *str)
+int get_qdisc_handle(__u32 *h, const char *str)
 {
        __u32 maj;
        char *p;
@@ -43,7 +43,7 @@ ok:
        return 0;
 }
 
-int get_tc_classid(__u32 *h, char *str)
+int get_tc_classid(__u32 *h, const char *str)
 {
        __u32 maj, min;
        char *p;
@@ -98,7 +98,7 @@ char * sprint_tc_classid(__u32 h, char *buf)
 }
 
 
-int get_rate(unsigned *rate, char *str)
+int get_rate(unsigned *rate, const char *str)
 {
        char *p;
        double bps = strtod(str, &p);
@@ -109,6 +109,10 @@ int get_rate(unsigned *rate, char *str)
        if (*p) {
                if (strcasecmp(p, "kbps") == 0)
                        bps *= 1024;
+               else if (strcasecmp(p, "gbps") == 0)
+                       bps *= 1024*1024*1024;
+               else if (strcasecmp(p, "gbit") == 0)
+                       bps *= 1024*1024*1024/8;
                else if (strcasecmp(p, "mbps") == 0)
                        bps *= 1024*1024;
                else if (strcasecmp(p, "mbit") == 0)
@@ -174,7 +178,7 @@ char * sprint_rate(__u32 rate, char *buf)
        return buf;
 }
 
-int get_usecs(unsigned *usecs, char *str)
+int get_usecs(unsigned *usecs, const char *str)
 {
        double t;
        char *p;
@@ -222,7 +226,7 @@ char * sprint_usecs(__u32 usecs, char *buf)
        return buf;
 }
 
-int get_size(unsigned *size, char *str)
+int get_size(unsigned *size, const char *str)
 {
        double sz;
        char *p;
@@ -234,6 +238,10 @@ int get_size(unsigned *size, char *str)
        if (*p) {
                if (strcasecmp(p, "kb") == 0 || strcasecmp(p, "k")==0)
                        sz *= 1024;
+               else if (strcasecmp(p, "gb") == 0 || strcasecmp(p, "g")==0)
+                       sz *= 1024*1024*1024;
+               else if (strcasecmp(p, "gbit") == 0)
+                       sz *= 1024*1024*1024/8;
                else if (strcasecmp(p, "mb") == 0 || strcasecmp(p, "m")==0)
                        sz *= 1024*1024;
                else if (strcasecmp(p, "mbit") == 0)