-
-
-
void printErrCode (int err) {
case ERR_OK: /*printf("ok\n");*/ break;
case ERR_NET: printf("network error\n"); break;
case ERR_NOTLOG: printf("no switch selected\n"); break;
+ case ERR_DENIED: printf("access denied\n"); break;
case ERR_BADPASS: printf("wrong password\n"); break;
case ERR_BADID: printf("bad switch id\n"); break;
case ERR_INVARG: printf("invalid argument\n"); break;
case ERR_TIMEOUT: printf("timeout\n"); break;
+ case ERR_NOTIMPL: printf("not implemented\n"); break;
default: printf("unknown status code (%i)\n", err);
}
-void printBitrate (int br) {
+
+const char* bitrates[]={
+ "nl",
+ "512K",
+ "1M",
+ "2M",
+ "4M",
+ "8M",
+ "16M",
+ "32M",
+ "64M",
+ "128M",
+ "256M",
+ "512M",
+ NULL
+};
+
+
+const char* prio[]={
+ NULL,
+ "high",
+ "medium",
+ "normal",
+ "low",
+ NULL
+};
+
+
+
+
+
+
+int parseBitrate (const char *s) {
+ int i;
+
+
+ for (i=0; bitrates[i]!=NULL && strcasecmp(bitrates[i], s)!=0; ++i);
- switch ( br ) {
- case BITRATE_UNSPEC: printf("unspecified\n"); break;
- case BITRATE_NOLIMIT: printf("unlimited\n"); break;
- case BITRATE_512K: printf("512K\n"); break;
- case BITRATE_1M: printf("1M\n"); break;
- case BITRATE_2M: printf("2M\n"); break;
- case BITRATE_4M: printf("4M\n"); break;
- case BITRATE_8M: printf("8M\n"); break;
- case BITRATE_16M: printf("16M\n"); break;
- case BITRATE_32M: printf("32M\n"); break;
- case BITRATE_64M: printf("64M\n"); break;
- case BITRATE_128M: printf("128M\n"); break;
- case BITRATE_256M: printf("256M\n"); break;
- case BITRATE_512M: printf("512M\n"); break;
- default: printf("unknown (%i)\n", br);
- }
+ return i;
}
-struct BrStr {
- const char *str;
- int br;
-};
-
-static const struct BrStr bitrates[]={
- {"nl", BITRATE_NOLIMIT},
- {"512K", BITRATE_512K},
- {"1M", BITRATE_1M},
- {"2M", BITRATE_2M},
- {"4M", BITRATE_4M},
- {"8M", BITRATE_8M},
- {"16M", BITRATE_16M},
- {"32M", BITRATE_32M},
- {"64M", BITRATE_64M},
- {"128M", BITRATE_128M},
- {"256M", BITRATE_256M},
- {"512M", BITRATE_512M},
- {NULL, BITRATE_UNSPEC}
-};
-
-int parseBitrate (const char *s) {
+char parsePrio (const char *s) {
- const struct BrStr *b;
+ int i;
- for (b=bitrates; b->str!=NULL && strcasecmp(b->str, s)!=0; ++b);
+ for (i=1; prio[i]!=NULL && strcasecmp(prio[i], s)!=0; ++i);
- return b->br;
+ return (char)i;
}
}
- printf("Num\tMac\t\t\tProduct\t\tName\t\t\tIP/mask\t\t\t\tDHCP\tPorts\tFirmware\n");
+ printf("Num\tMac\t\t\tProduct\t\tName\t\t\tIP/mask\t\t\tDHCP\tPorts\tFirmware\n");
for (i=0; i<nb; ++i) {
- printf("%i\t%s\t%s\t\t%s\t%s/", i, ether_ntoa(&sa[i].mac), sa[i].product, sa[i].name, inet_ntoa(sa[i].nc.ip));
+ printf("%i\t%s\t%s\t%s\t\t%s/", i, ether_ntoa(&sa[i].mac), sa[i].product, sa[i].name, inet_ntoa(sa[i].nc.ip));
printf("%s\t%s\t%i\t%s\n", inet_ntoa(sa[i].nc.netmask), ( sa[i].nc.dhcp ? "Yes" : "No" ), sa[i].ports, sa[i].firmware);
}