Re: Redefinition of struct in6_addr in <netinet/in.h> and<linux/in6.h>

From: Cong Wang
Date: Thu Jan 17 2013 - 02:00:38 EST


On Thu, 2013-01-17 at 11:55 +0800, Jike Song wrote:
> On Thu, Jan 17, 2013 at 2:59 AM, David Miller <davem@xxxxxxxxxxxxx> wrote:
>
> >
> > When GLIBC doesn't provide it's own definition of some networking
> > macros or interfaces that the kernel provides, people include the
> > kernel header.
> >
>
> Recently I got a problem when copying a structure from kernel to userspace,
> after debugging I found:
>
> kernel: include/linux/inet.h
>
> #define INET6_ADDRSTRLEN (48)
>
> glibc: /usr/include/netinet/in.h
>
> #define INET6_ADDRSTRLEN 46
>
>
> Any reason to differentiate them from each other?
>

I see no reason, even although I don't know why it is 46 instead of 40.

But include/linux/inet.h is not exported to user-space, AFAIK.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/