xref: /freebsd-14.2/libexec/bootpd/trygetea.c (revision 44099b7b)
1*44099b7bSPaul Traina /*
2*44099b7bSPaul Traina  * trygetea.c - test program for getether.c
3*44099b7bSPaul Traina  */
4*44099b7bSPaul Traina 
5*44099b7bSPaul Traina #include <sys/types.h>
6*44099b7bSPaul Traina #include <sys/socket.h>
7*44099b7bSPaul Traina 
8*44099b7bSPaul Traina #if defined(SUNOS) || defined(SVR4)
9*44099b7bSPaul Traina #include <sys/sockio.h>
10*44099b7bSPaul Traina #endif
11*44099b7bSPaul Traina 
12*44099b7bSPaul Traina #include <net/if.h>				/* for struct ifreq */
13*44099b7bSPaul Traina #include <netinet/in.h>
14*44099b7bSPaul Traina #include <arpa/inet.h>			/* inet_ntoa */
15*44099b7bSPaul Traina 
16*44099b7bSPaul Traina #include <netdb.h>
17*44099b7bSPaul Traina #include <stdio.h>
18*44099b7bSPaul Traina #include <ctype.h>
19*44099b7bSPaul Traina #include <errno.h>
20*44099b7bSPaul Traina 
21*44099b7bSPaul Traina int debug = 0;
22*44099b7bSPaul Traina char *progname;
23*44099b7bSPaul Traina 
24*44099b7bSPaul Traina main(argc, argv)
25*44099b7bSPaul Traina 	char **argv;
26*44099b7bSPaul Traina {
27*44099b7bSPaul Traina 	u_char ea[16];				/* Ethernet address */
28*44099b7bSPaul Traina 	int i;
29*44099b7bSPaul Traina 
30*44099b7bSPaul Traina 	progname = argv[0];			/* for report */
31*44099b7bSPaul Traina 
32*44099b7bSPaul Traina 	if (argc < 2) {
33*44099b7bSPaul Traina 		printf("need interface name\n");
34*44099b7bSPaul Traina 		exit(1);
35*44099b7bSPaul Traina 	}
36*44099b7bSPaul Traina 	if ((i = getether(argv[1], ea)) < 0) {
37*44099b7bSPaul Traina 		printf("Could not get Ethernet address (rc=%d)\n", i);
38*44099b7bSPaul Traina 		exit(1);
39*44099b7bSPaul Traina 	}
40*44099b7bSPaul Traina 	printf("Ether-addr");
41*44099b7bSPaul Traina 	for (i = 0; i < 6; i++)
42*44099b7bSPaul Traina 		printf(":%x", ea[i] & 0xFF);
43*44099b7bSPaul Traina 	printf("\n");
44*44099b7bSPaul Traina 
45*44099b7bSPaul Traina 	exit(0);
46*44099b7bSPaul Traina }
47