Subject: Re: Including in ?
To: None <tech-userlevel@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-userlevel
Date: 10/17/2001 01:46:13
> I notice SUSv2 says that <sys/socket.h> is a standalone include,
> whereas we require <sys/types.h> to be included first.

Are there any include files that _shouldn't_ be standalone?  I believe
not[%], and have been gradually fixing non-standalonenesses where I
find them.  Of the .h patches in my private patch tree, a quick count
says 40 (out of 97) are solely to add needed but missing includes.
(Another handful have such changes but have other chagnes too.)  I'm
sure I've only barely scratched the surface; to do a thorough job I'd
try including each one standalone, with no code, and see what breaks.

[%] I could perhaps be persuaded that "internal" include files, like
    much of the <machine/*.h> stuff to provide MD bits of basically MI
    interfaces, are exceptions.  But anything that declares or defines
    any API elements I strongly believe should be.

As always, I'll be happy to make these changes available if anyone is
interested in them.  (I'll even go so far as to pick out just the ones
that are nothing but adding missing includes.)

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B