5 void printErrCode (int err)
12 printf("network error\n");
16 printf("no switch selected\n");
20 printf("access denied\n");
24 printf("wrong password\n");
28 printf("bad switch id\n");
32 printf("invalid argument\n");
40 printf("not implemented\n");
44 printf("bad reply from switch\n");
48 printf("unknown error\n");
52 printf("unknown status code (%i)\n", err);
57 const char* const bitrates[] = {
74 const char* const prio[]={
84 int parseBitrate (const char *s)
88 for (i = 0; bitrates[i] != NULL && strcasecmp(bitrates[i], s) != 0; i++);
94 char parsePrio (const char *s)
98 for (i = 1; prio[i] != NULL && strcasecmp(prio[i], s) != 0; i++);
104 void displaySwitchTab (const struct swi_attr *sa, int nb)
109 printf("no switch found\n");
113 printf("Num\tMac\t\t\tProduct\t\tName\t\t\tIP/mask\t\t\tDHCP\tPorts\tFirmware\n");
115 for (i = 0; i < nb; i++) {
116 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));
117 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);
120 printf("\nfound %i switch(es)\n", nb);
124 int trim (char *txt, int start)
132 for (p--; p >= txt && (*p == ' ' || *p == '\n'); *p-- = 0);
138 int explode (const char *commande, char** tab, int maximum)
140 const char *start, *end;
144 for (end = commande; ; n++) {
145 for (start = end; *start == ' ' && *start != 0; start++);
146 for (end = start; (*end != ' ' || n >= maximum - 1 ) && *end != 0; end++);
152 tab[n] = malloc(sizeof(char) * (len + 1));
153 memcpy(tab[n], start, len);