]> git.sur5r.net Git - gsconf/blobdiff - shell.c
added port diag command
[gsconf] / shell.c
diff --git a/shell.c b/shell.c
index 284acc0528ff39baf070facf15116127a7ea74d8..eceb152184c93961feefddc1128a9671fb8de511 100644 (file)
--- a/shell.c
+++ b/shell.c
@@ -97,6 +97,27 @@ int shell (void) {
         struct gs105e_discovered * ddev;
         
         char * dev = "nodev";
+        
+        n = gs105e_discover();
+        printf("Discovered \033[92m%i\033[0m devices\n", n);
+
+        ddev = gs105e_devs;
+
+        printf("ID\tName\t\tMAC\t\tIP\n");
+
+        while (ddev != NULL) {
+                printf("%i\t%s\t\t%X:%X:%X:%X:%X:%X\t%u.%u.%u.%u\n", ddev->id, ddev->name, ddev->mac[0]&0xff, ddev->mac[1]&0xff, ddev->mac[2]&0xff, ddev->mac[3]&0xff, ddev->mac[4]&0xff, ddev->mac[5]&0xff, ddev->ip[0]&0xff, ddev->ip[1]&0xff, ddev->ip[2]&0xff, ddev->ip[3]&0xff);
+                ddev = ddev->next;
+        }
+
+        if (n == 1) {
+                printf("only one switch, selecting 1\n");
+
+                memcpy(settings.mac, gs105e_devs->mac, 6);
+                gs105e_queryAll();
+                dev = gs105e_devs->name;
+        }
+        
         while (1) {
                 printf("\033[96mgs (\033[93m%s\033[96m)# \033[0m", dev);
                 cmd[0] = 0;