mirror of
https://https.git.savannah.gnu.org/git/gnulib.git
synced 2026-08-25 10:57:56 +00:00
440a1dbe52
OpenBSD's <net/if.h> is not self-contained; this should compile:
| #define _POSIX_C_SOURCE 200809L
| #include <net/if.h>
| struct if_nameindex i;
but fails with:
In file included from foo.c:2:
/usr/include/net/if.h:112: error: expected specifier-qualifier-list before 'u_int'
...
/usr/include/net/if.h:674: error: field 'dstaddr' has incomplete type
In file included from /usr/include/net/if.h:691,
from foo.c:2:
/usr/include/net/if_arp.h:79: error: field 'arp_pa' has incomplete type
/usr/include/net/if_arp.h:80: error: field 'arp_ha' has incomplete type
*** Error code 1
We already had a test program for systems with the if_* functions
(including OpenBSD); but in adding this module, I had to enhance
that test to also work on platforms like mingw where we are now
providing a new header.
* modules/net_if: New module, borrowing ideas from netinet_in.
* m4/net_if_h.m4: New file.
* lib/net_if.in.h: Likewise.
* doc/posix-headers/net_if.texi (net/if.h): Document it.
* MODULES.html.sh (lacking POSIX:2008): Likewise.
* tests/test-net_if.c: Make function checks conditional.
Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
Signed-off-by: Eric Blake <eblake@redhat.com>
50 lines
1.1 KiB
Plaintext
50 lines
1.1 KiB
Plaintext
Description:
|
|
A <net/if.h> for systems lacking it.
|
|
|
|
Files:
|
|
lib/net_if.in.h
|
|
m4/net_if_h.m4
|
|
|
|
Depends-on:
|
|
include_next
|
|
sys_socket
|
|
|
|
configure.ac:
|
|
gl_HEADER_NET_IF
|
|
AC_PROG_MKDIR_P
|
|
|
|
Makefile.am:
|
|
BUILT_SOURCES += $(NET_IF_H)
|
|
|
|
# We need the following in order to create <net/if.h> when the system
|
|
# doesn't have one.
|
|
if GL_GENERATE_NET_IF_H
|
|
net/if.h: net_if.in.h $(top_builddir)/config.status
|
|
$(AM_V_at)$(MKDIR_P) net
|
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
|
sed -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
|
|
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
|
-e 's|@''NEXT_NET_IF_H''@|$(NEXT_NET_IF_H)|g' \
|
|
-e 's|@''HAVE_NET_IF_H''@|$(HAVE_NET_IF_H)|g' \
|
|
< $(srcdir)/net_if.in.h; \
|
|
} > $@-t && \
|
|
mv $@-t $@
|
|
else
|
|
net/if.h: $(top_builddir)/config.status
|
|
rm -f $@
|
|
endif
|
|
MOSTLYCLEANFILES += net/if.h net/if.h-t
|
|
MOSTLYCLEANDIRS += net
|
|
|
|
Include:
|
|
<net/if.h>
|
|
|
|
License:
|
|
LGPLv2+
|
|
|
|
Maintainer:
|
|
Eric Blake
|