From 11d855b217a6068deaec58ba4fb57618e95c525a Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Fri, 6 Jan 2006 05:56:26 +0000 Subject: simple test for the if_nameindex() related functions --- test/inet/if_nameindex.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 test/inet/if_nameindex.c (limited to 'test/inet') diff --git a/test/inet/if_nameindex.c b/test/inet/if_nameindex.c new file mode 100644 index 000000000..96d9b0113 --- /dev/null +++ b/test/inet/if_nameindex.c @@ -0,0 +1,61 @@ +/* if_nameindex.c: test the if_nameindex() function + * + * Copyright (C) 2006 Erik Andersen + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + +#include +#include +#include + +static char ifname[IF_NAMESIZE]; + +void test_if_nameindex(void) +{ + size_t i; + struct if_nameindex *ret; + + ret = if_nameindex(); + + if (ret == NULL) { + perror("if_nameindex()"); + exit(1); + } + + printf("--- if_nameindex()\n"); + for (i=0; ret[i].if_name; ++i) + printf("%i: %s\n", ret[i].if_index, ret[i].if_name); + + if_freenameindex(ret); +} + +void test_if_indextoname(void) +{ + if (if_indextoname(1, ifname) == NULL) { + perror("if_nameindex()"); + exit(1); + } + + printf("if_indextoname(1) = %s\n", ifname); +} + +void test_if_nametoindex(void) +{ + int ifindex = if_nametoindex(ifname); + + if (ifindex == 0) { + perror("if_nametoindex()"); + exit(1); + } + + printf("if_nametoindex(%s) = %i\n", ifname, ifindex); +} + +int main() +{ + test_if_nameindex(); + test_if_indextoname(); + test_if_nametoindex(); + return 0; +} -- cgit v1.2.3