xref: /openbsd-src/regress/lib/libc/ifnameindex/ifnitest.c (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
1 /*	$OpenBSD: ifnitest.c,v 1.2 2016/08/27 04:29:25 guenther Exp $ */
2 
3 /* Public domain. 2015, Claudio Jeker */
4 
5 #include <sys/types.h>
6 #include <sys/socket.h>
7 #include <net/if.h>
8 #include <err.h>
9 #include <stdio.h>
10 
11 int
12 main(int argc, char *argv[])
13 {
14 	char name[IF_NAMESIZE], *ifname;
15 	unsigned int lo0index;
16 
17 	lo0index = if_nametoindex("lo0");
18 	if (lo0index == 0)
19 		err(1, "if_nametoindex(lo0)");
20 	ifname = if_indextoname(lo0index, name);
21 	if (ifname == NULL || strcmp("lo0", ifname) != 0)
22 		err(1, "if_indextoname(%u)", lo0index);
23 
24 	/* test failures */
25 	if (if_nametoindex("4kingbula") != 0)
26 		err(1, "if_nametoindex(4kingbula)");
27 	if (if_indextoname(65536, name) != NULL)
28 		err(1, "if_indextoname(%u)", 65536);
29 
30 	return 0;
31 }
32