summaryrefslogtreecommitdiffstats
path: root/test/inet/if_nameindex.c
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2006-01-07 01:19:35 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2006-01-07 01:19:35 +0000
commit33f47d4fb363dc9c833bccd0ae3b64e64bddd57f (patch)
treec411c32628d55ef5092c0ac06ce323e8d5b36eee /test/inet/if_nameindex.c
parent0eb5948fa79555941ede961f34271eeff5d35e81 (diff)
downloaduClibc-alpine-33f47d4fb363dc9c833bccd0ae3b64e64bddd57f.tar.bz2
uClibc-alpine-33f47d4fb363dc9c833bccd0ae3b64e64bddd57f.tar.xz
Copy from trunk.
Diffstat (limited to 'test/inet/if_nameindex.c')
-rw-r--r--test/inet/if_nameindex.c61
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 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 <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];
+
+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;
+}