<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gnulib.git/modules/net_if, branch python</title>
<subtitle>git.savannah.gnu.org: git/gnulib.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gnulib.git/'/>
<entry>
<title>net_if: new module</title>
<updated>2012-09-05T21:51:13+00:00</updated>
<author>
<name>Eric Blake</name>
<email>eblake@redhat.com</email>
</author>
<published>2012-09-05T20:28:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gnulib.git/commit/?id=440a1dbe523e37f206252cb034c3a62f26867e42'/>
<id>440a1dbe523e37f206252cb034c3a62f26867e42</id>
<content type='text'>
OpenBSD's &lt;net/if.h&gt; is not self-contained; this should compile:

| #define _POSIX_C_SOURCE 200809L
| #include &lt;net/if.h&gt;
| 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 &lt;jasper@humppa.nl&gt;.

Signed-off-by: Eric Blake &lt;eblake@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OpenBSD's &lt;net/if.h&gt; is not self-contained; this should compile:

| #define _POSIX_C_SOURCE 200809L
| #include &lt;net/if.h&gt;
| 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 &lt;jasper@humppa.nl&gt;.

Signed-off-by: Eric Blake &lt;eblake@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
