diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-10-24 20:22:12 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-10-24 20:22:12 +0200 |
commit | 7988979a722b4cdf287b2093956a76a3f19b9897 (patch) | |
tree | d35e251d0472ceca55a2eef61cff261c8ee68fab /test/inet/if_nameindex.c |
add uClibc-ng test directory
Diffstat (limited to 'test/inet/if_nameindex.c')
-rw-r--r-- | test/inet/if_nameindex.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/test/inet/if_nameindex.c b/test/inet/if_nameindex.c new file mode 100644 index 0000000..126c5ba --- /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 <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <net/if.h> + +static char ifname[IF_NAMESIZE]; + +static 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); +} + +static void test_if_indextoname(void) +{ + if (if_indextoname(1, ifname) == NULL) { + perror("if_nameindex()"); + exit(1); + } + + printf("if_indextoname(1) = %s\n", ifname); +} + +static 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(void) +{ + test_if_nameindex(); + test_if_indextoname(); + test_if_nametoindex(); + return 0; +} |