This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Redefinition of struct in6_addr in <netinet/in.h> and<linux/in6.h>
- From: Cong Wang <amwang at redhat dot com>
- To: Mike Frysinger <vapier at gentoo dot org>
- Cc: David Miller <davem at davemloft dot net>, bhutchings at solarflare dot com, libc-alpha at sourceware dot org, yoshfuji at linux-ipv6 dot org, tmb at mageia dot org, eblake at redhat dot com, netdev at vger dot kernel dot org, linux-kernel at vger dot kernel dot org, libvirt-list at redhat dot com, tgraf at suug dot ch, schwab at suse dot de, carlos at systemhalted dot org
- Date: Thu, 17 Jan 2013 11:40:46 +0800
- Subject: Re: Redefinition of struct in6_addr in <netinet/in.h> and<linux/in6.h>
- References: <201301161205.04502.vapier@gentoo.org> <201301161228.42592.vapier@gentoo.org> <20130116.135959.90676245194307972.davem@davemloft.net> <201301161422.19202.vapier@gentoo.org>
On Wed, 2013-01-16 at 14:22 -0500, Mike Frysinger wrote:
>
> but this is still too vague. what headers/definitions do people want to see
> simultaneously included ? changes would be needed on both sides (kernel & C
> library).
>
Hi, Mike,
Please take a look at my first email in this thread. The user
application includes <linux/if_bridge.h> and <netinet/in.h>.
<linux/if_bridge.h> uses struct_in6 but doesn't include <linux/in6.h>
(this is my bad, sorry), an obvious fix is just including <linux/in6.h>.
But this immediately breaks applications which include
<linux/if_bridge.h> and <netinet/in.h>, just as what Thomas reported.
And if_bridge.h is kernel-specific, there is no corresponding glibc one,
so you can't blame applications which include both of them.
Thanks.