Messages in this thread |  | | Date | Thu, 17 Jan 2013 11:57:14 +0100 (CET) | From | Jan Engelhardt <> | Subject | Re: Redefinition of struct in6_addr in <netinet/in.h> and <linux/in6.h> |
| |
On Thursday 2013-01-17 03:05, David Miller wrote:
>From: Carlos O'Donell <carlos@systemhalted.org> >Date: Wed, 16 Jan 2013 20:58:47 -0500 > >> So I just went down the rabbit hole, and the further I get the >> closer I get to having two exact copies of the same definitions >> in both glibc and the kernel and using whichever one was included >> first. >> >> Is anyone opposed to that kind of solution? > >Sounds interesting, please share :-)
iptables has the same issue, and solved it its way. (uapi/)linux/netfilter.h is used to get at things like union nf_inet_addr. This union contains struct in6_addr. There is no include for in6_addr in netfilter.h itself. This may break the "standalone compilation" test, but at least allows for specifying the environment-specific header for in6_addr in the C file:
a. userspace: #include <netinet/in.h> before <linux/netfilter.h> b. kernel parts: #include <linux/in6.h> before <linux/netfilter.h>
|  |