stew

a monorepo of some sort
git clone git://git.nsmpr.xyz/stew.git
Log | Files | Refs

poke.c (641B)


      1 /*
      2 	simple port checking utility
      3 */
      4 
      5 #include <u.h>
      6 #include <libc.h>
      7 
      8 void
      9 usage(void)
     10 {
     11 	fprint(2, "usage: %s addr1 [addr2 addr3 ...]\n", argv0);
     12 	exits("usage");
     13 };
     14 
     15 void
     16 main(int argc, char **argv)
     17 {
     18 	ARGBEGIN{
     19 	default:
     20 		usage();
     21 	}ARGEND
     22 	if (argc == 0) usage();
     23 
     24 	char **addr = malloc(sizeof(char *) * argc);
     25 	int i;
     26 	for (i = 0; i < argc; i++) {
     27 		addr[i] = netmkaddr(argv[i], "tcp", "echo");
     28 		if (addr[i] == nil) sysfatal("failed at %s, %r", argv[i]);
     29 	}
     30 	for (i = 0; i < argc; i++) {
     31 		int d = dial(addr[i], nil, nil, nil);
     32 		if (d > 0) {
     33 			close(d);
     34 			print("%s open\n", addr[i]);
     35 		} else print("%s closed\n", addr[i]);
     36 	}
     37 }