cvs commit: src/sys/netinet icmp6.h ip6.h src/sys/netinet6 in6.h
Bruce Evans
bde at zeta.org.au
Sat Oct 25 22:38:55 PDT 2003
On Sun, 26 Oct 2003, Garrett Wollman wrote:
> <<On Sat, 25 Oct 2003 22:00:59 -0700, Kris Kennaway <kris at obsecurity.org> said:
>
> > On Sun, Oct 26, 2003 at 12:06:36AM -0400, Joe Marcus Clarke wrote:
>
> >> > I haven't checked whether this commit fixes them, although looking at
> >> > it now I'm not sure it does.
> >> =20
> >> netinet6/in6.h (and netinet/in.h) requires sys/types.h to be included
> >> before it. If you don't, you'd see these errors.
>
> > Odd..I guess this has not actually been a previous requirement on FreeBSD.
>
> This sounds like a POSIX-compliance regression. POSIX does not permit
> <sys/types.h> to be required for Standard Headers (of which
> <netinet/in.h> is one).
I think the full explanation is:
- <sys/types.h> used to be a prerequisite for <netinet/in.h>.
- mike (Mike Barcroft) POSIXified many files. BTW, where is mike?
<netinet/in.h> and <arpa/inet.h> were among the first ones done
since they were relatively simple but compicated enough to serve
as good examples for others. In particular, some uintN_t types
are required for use of <netinet/in.h> are are specified by POSIX
to be declared there, so they are now declared there. OTOH, the
u_intN_t types are BSD-specific and are only declared in
<sys/types.h>.
- the closure of the changes for <netinet/in.h> apparently included
some KAME headers.
- ports began to rely on the POSIXification.
- undoing the POSIXification broke ports.
Bruce
More information about the cvs-src
mailing list