1 #include <sys/types.h>
2 #include <sys/socket.h>
3 
4 #include <arpa/inet.h>
5 #include <netinet/in.h>
6 
7 #include <err.h>
8 #include <stdio.h>
9 #include <stdlib.h>
10 #include <unistd.h>
11 
12 static void
13 usage(const char *cmd)
14 {
15 	fprintf(stderr, "%s -n count\n", cmd);
16 	exit(1);
17 }
18 
19 int
20 main(int argc, char *argv[])
21 {
22 	int i, opt, count;
23 
24 	count = 0;
25 	while ((opt = getopt(argc, argv, "n:")) != -1) {
26 		switch (opt) {
27 		case 'n':
28 			count = strtol(optarg, NULL, 10);
29 			break;
30 
31 		default:
32 			usage(argv[0]);
33 		}
34 	}
35 	if (count == 0)
36 		usage(argv[0]);
37 
38 	for (i = 0; i < count; ++i) {
39 		int s;
40 
41 		s = socket(AF_INET, SOCK_DGRAM, 0);
42 		if (s < 0)
43 			err(2, "socket failed");
44 		close(s);
45 	}
46 	printf("done\n");
47 	exit(0);
48 }
49