int main (void) { NET_DRIVERNAME *drivers; int i, j, class; char buf[1024]; net_init(); puts ("Defined network classes:"); for (j = 0; j < NET_CLASS_MAX; j++) if (net_classes[j].name) printf ("%d\t%s\n", j, net_classes[j].name); puts ("Choose one:"); fgets (buf, sizeof buf, stdin); j = atoi (buf); printf ("\n\n%d: ", j); if (!net_classes[j].name) { puts ("no such class"); return 1; } puts (net_classes[j].name); printf ("Address format information: "); if (!net_classes[j].addrhelp) puts ("None"); else puts (net_classes[j].addrhelp); puts ("Drivers in this class:"); drivers = net_getdrivernames (net_classes[j].drivers); for (i = 0; drivers[i].name; i++) printf ("%d\t%s\n", drivers[i].num, drivers[i].name); free (drivers); net_shutdown(); return 0; }
void get_driver() { char buffer[20]; int choice; NET_DRIVERNAME *drivers; NET_DRIVERLIST avail; printf ("Detecting available drivers...\n"); avail = net_detectdrivers (net_drivers_all); printf ("Getting detected driver names...\n"); drivers = net_getdrivernames (avail); do { list_drivers (drivers, "Available drivers"); printf ("Please choose a driver from the above list.\n"); fgets (buffer,10,stdin); choice = atoi (buffer); } while (!in_list (drivers, choice)); free (drivers); netdriver = choice; }
int main (void) { NET_DRIVERNAME *drivers; char buffer[NET_MAX_ADDRESS_LENGTH], buffer2[NET_MAX_ADDRESS_LENGTH]; char *ch; int not_ok, x, choice; NET_DRIVERLIST avail; net_init(); net_loadconfig (NULL); printf ("Detecting available drivers...\n"); avail = net_detectdrivers (net_drivers_all); printf ("Getting detected driver names...\n"); drivers = net_getdrivernames (avail); do { list_drivers (drivers, "Available drivers"); printf ("Please choose a driver from the above list.\n"); fgets (buffer, 10, stdin); choice = atoi (buffer); } while (!in_list (drivers, choice)); free (drivers); avail = net_driverlist_create(); net_driverlist_add (avail, choice); if (!net_initdrivers (avail)) { printf("Error initialising driver.\n"); exit (1); } do { printf ("Enter address to prepare:\n"); fgets (buffer, sizeof buffer, stdin); if (feof (stdin)) break; ch = strchr (buffer, '\n'); if (!ch) { printf ("Too long for this lame program...\n"); while (1) { char ch = getchar(); if (ch == EOF || ch == '\n') break; } } else { NET_PREPADDR_DATA *data; *ch = '\0'; printf ("Converting...\n"); data = net_prepareaddress (choice, buffer, buffer2); if (!data) { printf ("Failed to initiate\n"); } else { int x; printf ("Waiting..."); do { printf ("."); fflush(stdout); sleep (1); x = net_poll_prepareaddress (data); } while (!x); printf ("\n"); if (x < 0) { printf ("Failed to convert address\n"); } else { printf ("%s => %s\n", buffer, buffer2); } } } } while (!feof (stdin)); printf ("Quitting...\n"); return 0; }