/* Test of <net/if.h> functions.
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010-2012 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <net/if.h>
-#include "signature.h"
+static struct if_nameindex ni;
+
+/* We do not yet have replacements for if_* functions on systems that
+ lack a native <net/if.h>. */
+#if HAVE_NET_IF_H
+# include "signature.h"
SIGNATURE_CHECK (if_freenameindex, void, (struct if_nameindex *));
SIGNATURE_CHECK (if_indextoname, char *, (unsigned int, char *));
SIGNATURE_CHECK (if_nameindex, struct if_nameindex *, (void));
SIGNATURE_CHECK (if_nametoindex, unsigned int, (const char *));
+#endif
#include <stddef.h> /* NULL */
#include <stdio.h> /* fprintf */
int
main (int argc, char *argv[])
{
+#if HAVE_NET_IF_H
struct if_nameindex *ifnp, *p;
p = ifnp = if_nameindex ();
}
if_freenameindex (ifnp);
+#endif /* HAVE_NET_IF_H */
- return 0;
+ return !IF_NAMESIZE + ni.if_index + !!ni.if_name;
}