Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Feb 2009 06:39:56 +1100 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Luigi Rizzo <rizzo@iet.unipi.it>
Cc:        svn-src-head@FreeBSD.org, Luigi Rizzo <luigi@FreeBSD.org>, src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, Bruce Evans <brde@optusnet.com.au>
Subject:   Re: svn commit: r188578 - head/sys/netinet
Message-ID:  <20090215052941.E2522@delplex.bde.org>
In-Reply-To: <20090214175136.GB89369@onelab2.iet.unipi.it>
References:  <200902131514.n1DFEhft091837@svn.freebsd.org> <20090214183758.I847@besplex.bde.org> <20090214175136.GB89369@onelab2.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--0-37656405-1234640396=:2522
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE

On Sat, 14 Feb 2009, Luigi Rizzo wrote:

> On Sat, Feb 14, 2009 at 06:59:57PM +1100, Bruce Evans wrote:
>> On Fri, 13 Feb 2009, Luigi Rizzo wrote:
>>
>>> Log:
>>> Use uint32_t instead of n_long and n_time, and uint16_t instead of
>>> n_short.
>>> Add a note next to fields in network format.
>>>
>>> The n_* types are not enough for compiler checks on endianness, and the=
ir
>>> use often requires an otherwise unnecessary #include <netinet/in_systm.=
h>
>>
>> This is too much like globally substituting uid_t with uint16_t.  At
>
> actually uid_t are uint32_t :)
> But there are several differences:
> - uid_t, dev_t and other widelyused_t are in <sys/types.h> so you don't
>  need to add one extra header just for the n_long typedef;

Actually, they would cause the same problem if their declarations were
not correctly engineered.  Without any engineering, it would be necessary
to include <sys/types.h> in applications that don't otherwise need
applications.  This corresponds to including <netinet/in_systm.h>.  With
bad engineering, <sys/types.h> would be included nested in almost all
headers.  This corresponds to including <netinet/in_systm.h> in almost
all netinet headers.

> - n_{long|short|time} are so rarely used that after 20 years one can
>  safely declare they were an unsuccessful experiment;

Only 20?  They are in Net/2 and Stevens.  I couldn't find any details of
them in Stevens.  Of course there are better ways of declaring them --
basically a foo_t for every logically distinct type, as was already done
for n_time and is still done for in_addr_t...

I found 2 Linux versions of in_systm.h on my disks.  One dated 1994
is almost a copy of the Net/2 one (it still uses short and long).  One
dated 2001 uses uint* where FreeBSD now uses u_int*.  I didn't notice
before that in_systm.h declares nothing except these 3 types.  Being
so small to negative advantage is another engineering error.  The
FreeBSD one now has a single prototype, for in_time().  This was
apparently done so that there aren't even more dependencies on in_systm.h
due to the the (different) header that declares in_time() depending
on in_systm.h.  Now that in_time() doesn't depend on n_time, the
placement of its declaration in in_systm.h is just bogus.  The correct
place is probably <netinet/in_var.h>.

FYI, here is an old script (last edit Jan 15 2000) for checking that
header dependencies haven't rotted.  The old dependencies can be read
off the echo lists in it.  I gave up maintaining this in 1999 because
errors grew faster than I could fix them.  In 1999, the error output
was 2K; in 200 it was 11K; now it is 1327K and the test coverages is
probably more incomplete.  Due to bloat, it takes about the same time
to run in 1999 on a K6/233MHz as in 2009 on a Core2/1.86GHz (about 1
minute).  It only checks userland and doesn't try to give lists that
don't depend on namespace pollution in other headers.  It does try to
give minimal lists.  Many of the header engineering errors involving
<sys/types.h> have been fixed so many of the includes of that in the
lists are now bogus.

BTW, I also disagree with you adding comments to include lines to say
what the includes are for.  There is no chance that such comments are
complete or can be maintained.  For completeness, every include line
would need a paragraph or two like some of the ones in this mail to
explain all the reasons why a header is included, and the details will
change when code is added.  The reasons why a header is needed are
most easily seen by trying to compile without it.  A generic header
like <sys/types.h> will be needed for a myriad reasons and listing
them all is not useful.  A small header will be needed for only a small
number of reasons and listing them all is even less useful, since it
is easy to find and understand the reasons if only a couple of
declarations are used.

%%%
#!/bin/sh

# <sys/bus_private.h> only depends on <sys/bus.h> being previously
#     included with _KERNEL being defined, but <sys/bus.h> depends on
#     generated headers if _KERNEL is defined.
# <machine/ipl.h>, <machine/mpapic.h> and <pccard/slot.h> refer to the
#     i386 hierarchy.
# <netgraph/netgraph.h> depends on _KERNEL being defined.
# <nfs/nfsrvcache.h> depends on _KERNEL being defined before including
#     <nfs/nfs.h>, and then <nfs/nfs.h> includes "opt_nfs.h".
# <pccard/pccard_nbk.h> depends on a type in <sys/bus.h> which is only
#     declared if _KERNEL is defined.
# <machine/sigframe.h> depends on _KERNEL being defined before
#     <sys/signal.h> is included.
# <machine/segments.h> uses an unifdefed gcc attribute so it and
#     everything that includes it break for for non-gcc.
# <netatm/spans/spans_cls.h> depends on generated headers.
# <sys/syscall-hide.h> uses undefined macros.
# <sys/sysproto.h> conflicts with user lseek() etc.
#
CRUD=3D"(sys/bus_private|machine/ipl|machine/mpapic|netgraph/netgraph|nfs/n=
fsrvcache|pccard/pccard_nbk|machine/sigframe|pccard/slot|netatm/spans/spans=
_cls|sys/syscall-hide|sys/sysproto)\.h"

# <sys/copyright> uses ANSI string concatenation.
# <sys/devfsext.h> uses #error.
# <netatm> isn't careful about #elif.
#
NEEDS_ANSI=3D"(sys/copyright|sys/devfsext|netatm/ipatm/ipatm_serv|netatm/ke=
rn_include|netatm/port|netatm/uni/sscf_uni_var|netatm/uni/sscop_pdu|netatm/=
uni/sscop_var|netatm/uni/unisig_decode|netatm/uni/unisig_mbuf)\.h"

# Comment out the next line for non-ANSI.
#
NEEDS_ANSI=3D"^/nonesuch$"

# Some files use use gcc features such as __inline and pragma pack (ugh!)
#     unconditionally.
#
NEEDS_GCC=3D"(machine/atomic|machine/cdk|machine/cpu|machine/globaldata|mac=
hine/md_var|netncp/ncp|netncp/ncp_conn|netncp/ncp_file|netncp/ncp_lib|netnc=
p/ncp_ncp|ncp_nls|netncp/ncp_rcfile|netncp/ncp_sock|netncp/ncp_rq|netncp/nc=
p_subr|netncp/ncp_user|machine/pcb_ext|machine/segments|sys/signalvar|machi=
ne/specialreg|sys/timepps|sys/user|machine/pc/vesa|vm/vm_map)\.h"

# Comment out the next line for non-gcc.
#
NEEDS_GCC=3D"^/nonesuch$"

# These files use prototypes and perhaps other ANSI features unconditionall=
y.
# Major breakage in acl.h pollutes vnode.h and thus nfs/nfsnode.h,
#     ufs/ffs/ffs_extern.h, ufs/ufs/ufs_extern.h, and others.
# Major breakage in com_err (?) broke ss/ss.h and ss/ss_err.h.
#
NEEDS_PROTO=3D"(sys/acl|\./aio|sys/aio|\./alias|machine/pc/bios|sys/blist|n=
et/bridge|sys/bus|machine/bus|\./calendar|cam/cam|cam/cam_ccb|cam/scsi/scsi=
_all|cam/scsi/scsi_cd|cam/scsi/scsi_ch|cam/scsi/scsi_pass|cam/scsi/scsi_sa|=
cam/scsi/scsi_targetio|\./camlib|\./curses|\./devstat|\./dialog|sys/extattr=
|\./fetch|\./fetch_err|ufs/ffs/ffs_extern|\./form|\./ftpio|\./g2c|sys/inter=
rupt|sys/kernel|\./libdisk|sys/linker|\./md2|\./md4|\./md5|sys/md5|\./menu|=
sys/module|\./ncurses|\./netgraph|netgraph/ng_parse|netgraph/ng_pppoe|nfs/n=
fsnode|ntfs/ntfs|ntfs/ntfs_compr|ntfs/ntfs_inode|ntfs/ntfs_subr|ntfs_vfsops=
|nwfs/nwfs|nwfs/nwfs_mount|nwfs/nwfs_node|nwfs/nwfs_subr|\./objformat|panel=
|security/_pam_types|security/pam_appl|security/pam_malloc|security/pam_mod=
_misc|security/pam_modules|\./pcap-int|\./pcap-namedb|\./pcap|\./posix4|pos=
ix4/posix4|\./radlib|sys/rman|\./ripemd|\./sha|machine/spigot|machine/sound=
card|ss/ss|ss/ss_err|\./stand|\./strhash|\./taclib|\./term|\./termcap|\./ti=
mepps|ufs/ufs/ufs_extern|\./unctrl|\./vgl|sys/vnode)\.h"

# Comment out the next line for pure K&R (not for gcc -tradtional).
#
NEEDS_PROTO=3D"^/nonesuch$"

# <elf.h>, <machine/elf.h> <sys/elf_generic.h> and <sys/imgact_elf.h>
#     use a combination of __CONCAT macros that doesn't work in traditional
#     mode.
# <machine/atomic.h> and <sys/eventhandler.h> use token pasting.
#     <netatm/kern_include.h>, <sys/systm.h> <vm/vm_object.h> and
#     <vm/vm_page.h> inherit breakage from <machine/atomic.h>.
# <machine/in_cksum.h> uses ANSI cpp features.
# <security/_pam_macros.h> isn't careful enough about spaces in
#     macro definitions to work in traditional mode.
#     <security/pam_misc.h> inherits this problem.
#
NEEDS_NONTRAD=3D"(\./elf|machine/atomic|machine/elf|sys/elf_generic|sys/eve=
nthandler|sys/imgact_elf|machine/in_cksum|netatm/kern_include|security/_pam=
_macros|security/pam_misc|sys/systm|vm/vm_object|vm/vm_page)\.h"

# Comment out the next line for pure K&R or gcc -traditional.
#
NEEDS_NONTRAD=3D"^/nonesuch$"

gccw() {
cc \
 =09-Wall -ansi -pedantic \
 =09-Wbad-function-cast \
 =09-Wcast-align \
 =09-Wcast-qual \
 =09-Wchar-subscripts \
 =09-Wconversion \
 =09-Winline \
 =09-Wmissing-prototypes \
 =09-Wnested-externs \
 =09-Wpointer-arith \
 =09-Wredundant-decls \
 =09-Wshadow \
 =09-Wstrict-prototypes \
 =09-Wwrite-strings \
 =09"$@"
}

for i in `(cd /usr/include; find . -name '*.h' -follow | sort |
 =09   egrep -v "\./(g\+\+|netns|objc)/" | egrep -v "$CRUD" |
 =09   egrep -v "$NEEDS_ANSI" | egrep -v "$NEEDS_GCC" |
 =09   egrep -v "$NEEDS_PROTO" | egrep -v "$NEEDS_NONTRAD")`
do
 =09echo -n >z.c
 =09test $i !=3D ./alias.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>" >>z.c
 =09test $i !=3D ./arpa/inet.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>" >>z.c
 =09test $i !=3D ./cam/cam.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./cam/cam_ccb.h ||
 =09    echo "#include <stdio.h>
 =09=09  #include <sys/types.h>
 =09=09  #include <cam/cam.h>" >>z.c
 =09test $i !=3D ./cam/scsi/scsi_all.h ||
 =09    echo "#include <stdio.h>
 =09=09  #include <sys/types.h>" >>z.c
 =09test $i !=3D ./cam/scsi/scsi_cd.h ||
 =09    echo "#include <stdio.h>
 =09=09  #include <sys/types.h>
 =09=09  #include <cam/scsi/scsi_all.h>" >>z.c
 =09test $i !=3D ./cam/scsi/scsi_ch.h ||
 =09    echo "#include <stdio.h>
 =09=09  #include <sys/types.h>
 =09=09  #include <cam/cam.h>
 =09=09  #include <cam/cam_ccb.h>" >>z.c
 =09test $i !=3D ./cam/scsi/scsi_da.h || echo "#include <sys/types.h>" >>z.=
c
 =09test $i !=3D ./cam/scsi/scsi_pass.h ||
 =09    echo "#include <stdio.h>
 =09=09  #include <sys/types.h>
 =09=09  #include <cam/cam.h>" >>z.c
 =09test $i !=3D ./cam/scsi/scsi_pt.h || echo "#include <sys/types.h>" >>z.=
c
 =09test $i !=3D ./cam/scsi/scsi_sa.h ||
 =09    echo "#include <stdio.h>
 =09=09  #include <sys/types.h>
 =09=09  #include <cam/cam.h>
 =09=09  #include <cam/cam_ccb.h>" >>z.c
 =09test $i !=3D ./cam/scsi/scsi_targetio.h ||
 =09    echo "#include <stdio.h>" >>z.c
 =09test $i !=3D ./camlib.h ||
 =09    echo "#include <stdio.h>" >>z.c
 =09test $i !=3D ./devstat.h ||
 =09    echo "#include <sys/dkstat.h>" >>z.c
 =09test $i !=3D ./fetch.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <stdio.h>" >>z.c
 =09test $i !=3D ./fts.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./gnuregex.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./grp.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./isofs/cd9660/cd9660_mount.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/mount.h>" >>z.c
 =09test $i !=3D ./isofs/cd9660/cd9660_node.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/lock.h>
 =09=09  #include <sys/time.h>" >>z.c
 =09test $i !=3D ./isofs/cd9660/cd9660_rrip.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <isofs/cd9660/iso.h>" >>z.c
 =09test $i !=3D ./isofs/cd9660/iso.h || echo "#include <sys/types.h>" >>z.=
c
 =09test $i !=3D ./isofs/cd9660/iso_rrip.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./libatm.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netatm/atm.h>
 =09=09  #include <netatm/atm_if.h>
 =09=09  #include <netatm/atm_sap.h>
 =09=09  #include <netatm/atm_sys.h>
 =09=09  #include <netatm/atm_ioctl.h>" >>z.c
 =09test $i !=3D ./libdisk.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09# XXX link.h has no prerequisites in the elf case.  It has namespace
 =09# pollution (<sys/types.h>) and undocmentation (link.5 is aout-only).
 =09test $i !=3D ./link.h ||
 =09    echo "#include <sys/types.h>
 =09    #include <nlist.h>" >>z.c
 =09test $i !=3D ./login_cap.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./md4.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./md5.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./mpool.h || echo "#include <db.h>" >>z.c
 =09test $i !=3D ./machine/atomic.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/bootinfo.h || echo "#include <sys/types.h>" >>z.=
c
 =09test $i !=3D ./machine/bus.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/cpu.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/cpufunc.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/db_machdep.h || echo "#include <sys/types.h>" >>=
z.c
 =09test $i !=3D ./machine/dvcfg.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/elf.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/frame.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/globaldata.h ||
 =09    echo "#include <sys/time.h>
 =09=09  #include <machine/segments.h>
 =09=09  #include <machine/tss.h>" >>z.c
 =09test $i !=3D ./machine/i4b_debug.h || echo "#include <sys/types.h>" >>z=
=2Ec
 =09test $i !=3D ./machine/i4b_ioctl.h || echo "#include <sys/types.h>" >>z=
=2Ec
 =09test $i !=3D ./machine/i4b_rbch_ioctl.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <machine/i4b_ioctl.h>" >>z.c
 =09test $i !=3D ./machine/i4b_trace.h || echo "#include <sys/time.h>" >>z.=
c
 =09test $i !=3D ./machine/if_wavelan_ieee.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/iic.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/in_cksum.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/in_systm.h>
 =09=09  #include <netinet/ip.h>" >>z.c
 =09test $i !=3D ./machine/ioctl_bt848.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/md_var.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/npx.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/pc/bios.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/pc/vesa.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/pcb.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/pcb_ext.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/pmap.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <vm/vm.h>
 =09=09  #include <vm/pmap.h>" >>z.c
 =09test $i !=3D ./machine/profile.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/si.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/tty.h>" >>z.c
 =09test $i !=3D ./machine/signal.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/signal.h>" >>z.c
 =09test $i !=3D ./machine/smb.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/specialreg.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <machine/cpufunc.h>" >>z.c
 =09test $i !=3D ./machine/types.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./machine/vm86.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./mqueue.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./msdosfs/bootsect.h || echo "#include <sys/types.h>" >>z.=
c
 =09test $i !=3D ./msdosfs/bpb.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./msdosfs/direntry.h || echo "#include <sys/types.h>" >>z.=
c
 =09test $i !=3D ./msdosfs/denode.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/lock.h>" >>z.c
 =09test $i !=3D ./msdosfs/msdosfsmount.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/mount.h>" >>z.c
 =09test $i !=3D ./net/bridge.h ||
 =09=09echo "#include <sys/param.h>
 =09=09      #include <sys/mbuf.h>" >>z.c
 =09test $i !=3D ./net/bpf.h || echo "#include <sys/time.h>" >>z.c
 =09test $i !=3D ./net/bpfdesc.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./net/ethernet.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./net/hostcache.h || echo "#include <sys/time.h>" >>z.c
 =09test $i !=3D ./net/if.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>" >>z.c
 =09test $i !=3D ./net/if_arp.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>" >>z.c
 =09test $i !=3D ./net/if_atm.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./net/if_dl.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./net/if_gif.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/if_var.h>
 =09=09  #include <net/route.h>
 =09=09  #include <netinet6/in6.h>" >>z.c
 =09test $i !=3D ./net/if_llc.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./net/if_mib.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>" >>z.c
 =09test $i !=3D ./net/if_ppp.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>" >>z.c
 =09test $i !=3D ./net/if_pppvar.h ||
 =09    echo "#define NPPP 1
 =09=09  #include <sys/types.h>
 =09=09  #include <sys/callout.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/if_var.h>
 =09=09  #include <net/ppp_defs.h>" >>z.c
 =09test $i !=3D ./net/if_slvar.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/mbuf.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/if_var.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/in_systm.h>
 =09=09  #include <netinet/ip.h>
 =09=09  #include <net/slcompress.h>" >>z.c
 =09test $i !=3D ./net/if_sppp.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/callout.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/if_var.h>" >>z.c
 =09test $i !=3D ./net/if_tun.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./net/if_tunvar.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/select.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/if_var.h>" >>z.c
 =09test $i !=3D ./net/if_var.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>" >>z.c
 =09test $i !=3D ./net/if_vlan_var.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/ethernet.h>" >>z.c
 =09test $i !=3D ./net/iso88025.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/route.h>" >>z.c
 =09test $i !=3D ./net/pfkeyv2.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./net/ppp_defs.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./net/radix.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./net/raw_cb.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>" >>z.c
 =09test $i !=3D ./net/route.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>" >>z.c
 =09test $i !=3D ./net/slcompress.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/mbuf.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/in_systm.h>
 =09=09  #include <netinet/ip.h>" >>z.c
 =09test $i !=3D ./netatalk/aarp.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/if_ether.h>
 =09=09  #include <netatalk/at.h>" >>z.c
 =09test $i !=3D ./netatalk/at.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netatalk/at_extern.h || echo "#include <sys/types.h>" >>=
z.c
 =09test $i !=3D ./netatalk/at_var.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/callout.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/if_var.h>
 =09=09  #include <netatalk/at.h>" >>z.c
 =09test $i !=3D ./netatalk/ddp.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netatalk/ddp_var.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/route.h>
 =09=09  #include <netatalk/at.h>" >>z.c
 =09test $i !=3D ./netatalk/phase2.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netatm/atm.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>" >>z.c
 =09test $i !=3D ./netatm/atm_cm.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netatm/atm.h>
 =09=09  #include <netatm/atm_sys.h>" >>z.c
 =09test $i !=3D ./netatm/atm_if.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netatm/atm_ioctl.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netatm/atm.h>
 =09=09  #include <netatm/atm_if.h>
 =09=09  #include <netatm/atm_sap.h>
 =09=09  #include <netatm/atm_sys.h>" >>z.c
 =09test $i !=3D ./netatm/ipatm/ipatm_serv.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netatm/atm.h>
 =09=09  #define ATM_KERNEL
 =09=09  #include <netatm/atm_sys.h>
 =09=09  #include <netatm/port.h>
 =09=09  #include <netatm/queue.h>
 =09=09  #include <netatm/atm_cm.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netatm/ipatm/ipatm_var.h>" >>z.c
 =09test $i !=3D ./netatm/kern_include.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/if_var.h>" >>z.c
 =09test $i !=3D ./netatm/port.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #define ATM_KERNEL" >>z.c
 =09test $i !=3D ./netatm/atm_sap.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netatm/atm_sys.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netatm/queue.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netatm/uni/sscf_uni_var.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netatm/atm.h>
 =09=09  #define ATM_KERNEL
 =09=09  #include <netatm/atm_sys.h>
 =09=09  #include <netatm/port.h>
 =09=09  #include <netatm/queue.h>
 =09=09  #include <netatm/atm_cm.h>
 =09=09  #include <netatm/uni/uni.h>" >>z.c
 =09test $i !=3D ./netatm/uni/sscop.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netatm/uni/sscop_misc.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netatm/uni/sscop_pdu.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #define ATM_KERNEL
 =09=09  #include <netatm/port.h>
 =09=09  #include <netatm/uni/sscop_misc.h>" >>z.c
 =09test $i !=3D ./netatm/uni/sscop_var.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netatm/atm.h>
 =09=09  #define ATM_KERNEL
 =09=09  #include <netatm/atm_sys.h>
 =09=09  #include <netatm/port.h>
 =09=09  #include <netatm/queue.h>
 =09=09  #include <netatm/atm_cm.h>
 =09=09  #include <netatm/uni/sscop.h>
 =09=09  #include <netatm/uni/sscop_misc.h>" >>z.c
 =09test $i !=3D ./netatm/uni/unisig_decode.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netatm/atm.h>
 =09=09  #define ATM_KERNEL
 =09=09  #include <netatm/port.h>
 =09=09  #include <netatm/uni/unisig_mbuf.h>
 =09=09  #include <netatm/uni/unisig_msg.h>" >>z.c
 =09test $i !=3D ./netatm/uni/unisig_mbuf.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #define ATM_KERNEL
 =09=09  #include <netatm/port.h>" >>z.c
 =09test $i !=3D ./netatm/uni/unisig_msg.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netatm/atm.h>" >>z.c
 =09test $i !=3D ./netatm/unisig_var.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netatm/uni/uniip_var.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netgraph/ng_async.h || echo "#include <sys/types.h>" >>z=
=2Ec
 =09test $i !=3D ./netgraph/ng_bpf.h ||
 =09    echo "#include <sys/time.h>
 =09=09  #include <net/bpf.h>
 =09=09  #include <netgraph/ng_message.h>" >>z.c
 =09test $i !=3D ./netgraph/ng_cisco.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>" >>z.c
 =09test $i !=3D ./netgraph/ng_ksocket.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netgraph/ng_lmi.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netgraph/ng_message.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netgraph/ng_parse.h || echo "#include <sys/types.h>" >>z=
=2Ec
 =09test $i !=3D ./netgraph/ng_ppp.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netgraph/ng_pppoe.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netgraph/ng_message.h>
 =09=09  #include <net/ethernet.h>" >>z.c
 =09test $i !=3D ./netgraph/ng_pptpgre.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netgraph/ng_sample.h || echo "#include <sys/types.h>" >>=
z.c
 =09test $i !=3D ./netgraph/ng_socket.h || echo "#include <sys/types.h>" >>=
z.c
 =09test $i !=3D ./netgraph/ng_socketvar.h ||
 =09    echo "#include <sys/queue.h>" >>z.c
 =09test $i !=3D ./netgraph/ng_tee.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netgraph/ng_vjc.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netinet/icmp_var.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/in_systm.h>
 =09=09  #include <netinet/ip.h>
 =09=09  #include <netinet/ip_icmp.h>" >>z.c
 =09test $i !=3D ./netinet/icmp6.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet6/in6.h>" >>z.c
 =09test $i !=3D ./netinet/if_atm.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netinet/if_ether.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <netinet/in.h>" >>z.c
 =09test $i !=3D ./netinet/if_fddi.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netinet/if_gif.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netinet/igmp.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>" >>z.c
 =09test $i !=3D ./netinet/igmp_var.h || echo "#include <sys/types.h>" >>z.=
c
 =09test $i !=3D ./netinet/in.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netinet/in_gif.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netinet/in_hostcache.h ||
 =09    echo "#include <sys/time.h>
 =09=09  #include <net/hostcache.h>" >>z.c
 =09test $i !=3D ./netinet/in_pcb.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/route.h>
 =09=09  #include <netinet/in.h>" >>z.c
 =09test $i !=3D ./netinet/in_systm.h || echo "#include <sys/types.h>" >>z.=
c
 =09test $i !=3D ./netinet/in_var.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/if_var.h>
 =09=09  #include <netinet/in.h>" >>z.c
 =09test $i !=3D ./netinet/ip.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/in_systm.h>" >>z.c
 =09test $i !=3D ./netinet/ip_auth.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/ip_compat.h>
 =09=09  #include <netinet/ip_fil.h>" >>z.c
 =09test $i !=3D ./netinet/ip_compat.h || echo "#include <sys/types.h>" >>z=
=2Ec
 =09test $i !=3D ./netinet/ip_dummynet.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/mbuf.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/route.h>" >>z.c
 =09test $i !=3D ./netinet/ip_fil.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/ip_compat.h>" >>z.c
 =09test $i !=3D ./netinet/ip_flow.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/route.h>
 =09=09  #include <netinet/in.h>" >>z.c
 =09test $i !=3D ./netinet/ip_frag.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/ip_compat.h>
 =09=09  #include <netinet/ip_fil.h>
 =09=09  #include <netinet/ip_nat.h>" >>z.c
 =09test $i !=3D ./netinet/ip_fw.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>" >>z.c
 =09test $i !=3D ./netinet/ip_icmp.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/in_systm.h>
 =09=09  #include <netinet/ip.h>" >>z.c
 =09test $i !=3D ./netinet/ip_mroute.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <sys/time.h>
 =09=09  #include <net/route.h>
 =09=09  #include <netinet/in.h>" >>z.c
 =09test $i !=3D ./netinet/ip_nat.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/ip_compat.h>
 =09=09  #include <netinet/ip_fil.h>" >>z.c
 =09test $i !=3D ./netinet/ip_proxy.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/ip_compat.h>
 =09=09  #include <netinet/ip_fil.h>
 =09=09  #include <netinet/tcp.h>" >>z.c
 =09test $i !=3D ./netinet/ip_state.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/ip_compat.h>
 =09=09  #include <netinet/ip_fil.h>" >>z.c
 =09test $i !=3D ./netinet/ip_var.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>" >>z.c
 =09test $i !=3D ./netinet/ip6.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet6/in6.h>" >>z.c
 =09test $i !=3D ./netinet/ipprotosw.h || echo "#include <sys/types.h>" >>z=
=2Ec
 =09test $i !=3D ./netinet/tcp.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netinet/tcp_debug.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/in_systm.h>
 =09=09  #include <netinet/ip_var.h>
 =09=09  #include <netinet/tcp.h>
 =09=09  #include <netinet/tcp_var.h>" >>z.c
 =09test $i !=3D ./netinet/tcp_var.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/queue.h>
 =09=09  #include <netinet/tcp.h>" >>z.c
 =09test $i !=3D ./netinet/tcpip.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/ip_var.h>
 =09=09  #include <netinet/tcp.h>" >>z.c
 =09test $i !=3D ./netinet/udp.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netinet/udp_var.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <netinet/in_systm.h>
 =09=09  #include <netinet/ip.h>
 =09=09  #include <netinet/ip_var.h>
 =09=09  #include <netinet/udp.h>" >>z.c
 =09test $i !=3D ./netinet6/ah.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netinet6/esp.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/mbuf.h>" >>z.c
 =09test $i !=3D ./netinet6/icmp6.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet6/in6.h>" >>z.c
 =09test $i !=3D ./netinet6/in6.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netinet6/in6_gif.h || echo "#include <sys/types.h>" >>z.=
c
 =09test $i !=3D ./netinet6/in6_prefix.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/if_var.h>
 =09=09  #include <netinet6/in6.h>
 =09=09  #include <netinet6/in6_var.h>" >>z.c
 =09test $i !=3D ./netinet6/in6_var.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/if_var.h>
 =09=09  #include <netinet6/in6.h>" >>z.c
 =09test $i !=3D ./netinet6/ip.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netinet6/ip6.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet6/in6.h>" >>z.c
 =09test $i !=3D ./netinet6/ip6_var.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet6/in6.h>" >>z.c
 =09test $i !=3D ./netinet6/ipsec.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netinet6/nd6.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/if_var.h>
 =09=09  #include <netinet6/in6.h>
 =09=09  #include <netinet6/in6_var.h>" >>z.c
 =09test $i !=3D ./netinet6/pim6.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netinet6/pim6_var.h || echo "#include <sys/types.h>" >>z=
=2Ec
 =09test $i !=3D ./netinet6/ip6protosw.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netipx/ipx.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netipx/ipx_if.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/if_var.h>
 =09=09  #include <netipx/ipx.h>" >>z.c
 =09test $i !=3D ./netipx/ipx_ip.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <net/if_var.h>
 =09=09  #include <net/route.h>
 =09=09  #include <netinet/in.h>" >>z.c
 =09test $i !=3D ./netipx/ipx_pcb.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/route.h>
 =09=09  #include <netipx/ipx.h>" >>z.c
 =09test $i !=3D ./netipx/ipx_var.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netipx/spx.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netipx/ipx.h>" >>z.c
 =09test $i !=3D ./netipx/spx_debug.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netipx/ipx.h>
 =09=09  #include <netipx/spx.h>" >>z.c
 =09test $i !=3D ./netkey/key_debug.h || echo "#include <sys/types.h>" >>z.=
c
 =09test $i !=3D ./netncp/ncp.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netncp/ncp_conn.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netncp/ncp.h>" >>z.c
 =09test $i !=3D ./netncp/ncp_file.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netncp/ncp.h>" >>z.c
 =09test $i !=3D ./netncp/ncp_lib.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netncp/ncp_ncp.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netncp/ncp_nls.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./netncp/ncp_rcfile.h || echo "#include <stdio.h>" >>z.c
 =09test $i !=3D ./netncp/ncp_rq.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netncp/ncp.h>" >>z.c
 =09test $i !=3D ./netncp/ncp_subr.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netncp/ncp.h>" >>z.c
 =09test $i !=3D ./netncp/ncp_user.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netncp/ncp.h>" >>z.c
 =09test $i !=3D ./nfs/nfs.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/time.h>
 =09=09  #include <sys/ucred.h>
 =09=09  #include <nfs/rpcv2.h>" >>z.c
 =09test $i !=3D ./nfs/krpc.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./nfs/nfsdiskless.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/mount.h>
 =09=09  #include <sys/socket.h>
 =09=09  #include <net/if.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <nfs/nfsproto.h>
 =09=09  #include <nfs/rpcv2.h>
 =09=09  #include <nfs/nfs.h>" >>z.c
 =09test $i !=3D ./nfs/nfsm_subs.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./nfs/nfsmount.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/mount.h>
 =09=09  #include <sys/time.h>
 =09=09  #include <nfs/nfsproto.h>
 =09=09  #include <nfs/rpcv2.h>
 =09=09  #include <nfs/nfs.h>" >>z.c
 =09test $i !=3D ./nfs/nfsnode.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/mount.h>
 =09=09  #include <sys/time.h>
 =09=09  #include <sys/vnode.h>
 =09=09  #include <nfs/nfsproto.h>
 =09=09  #include <nfs/rpcv2.h>" >>z.c
 =09test $i !=3D ./nfs/nfsproto.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/mount.h>" >>z.c
 =09test $i !=3D ./nfs/nfsrtt.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/time.h>
 =09=09  #include <sys/mount.h>" >>z.c
 =09test $i !=3D ./nfs/nfsrvcache.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/queue.h>
 =09=09  #include <sys/time.h>
 =09=09  #include <sys/ucred.h>
 =09=09  #include <nfs/rpcv2.h>
 =09=09  #include <nfs/nfs.h>" >>z.c
 =09test $i !=3D ./nfs/nfsv2.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/mount.h>" >>z.c
 =09test $i !=3D ./nfs/rpcv2.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./ntfs/ntfs.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #define _KERNEL
 =09=09  #include <sys/mount.h>
 =09=09  #undef _KERNEL
 =09=09  #include <sys/time.h>
 =09=09  #include <sys/vnode.h>" >>z.c
 =09test $i !=3D ./ntfs/ntfs_compr.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #define _KERNEL
 =09=09  #include <sys/mount.h>
 =09=09  #undef _KERNEL
 =09=09  #include <sys/time.h>
 =09=09  #include <sys/vnode.h>
 =09=09  #include <ntfs/ntfs.h>" >>z.c
 =09test $i !=3D ./ntfs/ntfs_ihash.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./ntfs/ntfs_inode.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #define _KERNEL
 =09=09  #include <sys/mount.h>
 =09=09  #undef _KERNEL
 =09=09  #include <sys/time.h>
 =09=09  #include <sys/vnode.h>
 =09=09  #include <ntfs/ntfs.h>" >>z.c
 =09test $i !=3D ./ntfs/ntfsmount.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/mount.h>" >>z.c
 =09test $i !=3D ./ntfs/ntfs_subr.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #define _KERNEL
 =09=09  #include <sys/mount.h>
 =09=09  #undef _KERNEL
 =09=09  #include <sys/time.h>
 =09=09  #include <sys/vnode.h>
 =09=09  #include <ntfs/ntfs.h>" >>z.c
 =09test $i !=3D ./ntfs/ntfs_vfsops.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #define _KERNEL
 =09=09  #include <sys/mount.h>
 =09=09  #undef _KERNEL
 =09=09  #include <sys/time.h>
 =09=09  #include <sys/vnode.h>
 =09=09  #include <ntfs/ntfs.h>" >>z.c
 =09test $i !=3D ./nwfs/nwfs.h || echo "#include <sys/param.h>" >>z.c
 =09test $i !=3D ./nwfs/nwfs_mount.h || echo "#include <sys/param.h>" >>z.c
 =09test $i !=3D ./nwfs/nwfs_node.h ||
 =09    echo "#include <sys/time.h>
 =09=09  #include <sys/vnode.h>
 =09=09  #include <netncp/ncp.h>" >>z.c
 =09test $i !=3D ./nwfs/nwfs_subr.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netncp/ncp.h>" >>z.c
 =09test $i !=3D ./pcap-namedb.h || echo "#include <pcap.h>" >>z.c
 =09test $i !=3D ./pccard/driver.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./posix4/mqueue.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./protocols/dumprestore.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <ufs/ufs/dinode.h>" >>z.c
 =09test $i !=3D ./protocols/routed.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>" >>z.c
 =09test $i !=3D ./protocols/rwhod.h ||
 =09    echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./protocols/talkd.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/socket.h>" >>z.c
 =09test $i !=3D ./protocols/timed.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/time.h>" >>z.c
 =09test $i !=3D ./pthread_np.h ||
 =09    echo "#include <pthread.h>" >>z.c
 =09test $i !=3D ./readline/readline.h || echo "#include <stdio.h>" >>z.c
 =09test $i !=3D ./regex.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./resolv.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>" >>z.c
 =09test $i !=3D ./rpc/auth.h ||
 =09    echo "#include <rpc/types.h>
 =09=09  #include <rpc/xdr.h>" >>z.c
 =09test $i !=3D ./rpc/auth_des.h ||
 =09    echo "#include <rpc/types.h>
 =09=09  #include <rpc/xdr.h>
 =09=09  #include <rpc/auth.h>" >>z.c
 =09test $i !=3D ./rpc/auth_unix.h ||
 =09    echo "#include <rpc/types.h>
 =09=09  #include <rpc/xdr.h>
 =09=09  #include <rpc/auth.h>" >>z.c
 =09test $i !=3D ./rpc/clnt.h ||
 =09    echo "#include <rpc/types.h>
 =09=09  #include <rpc/xdr.h>
 =09=09  #include <rpc/auth.h>" >>z.c
 =09test $i !=3D ./rpc/des.h || echo "#include <rpc/types.h>" >>z.c
 =09test $i !=3D ./rpc/pmap_clnt.h ||
 =09    echo "#include <rpc/types.h>
 =09=09  #include <rpc/xdr.h>
 =09=09  #include <rpc/auth.h>
 =09=09  #include <rpc/clnt.h>" >>z.c
 =09test $i !=3D ./rpc/pmap_prot.h ||
 =09    echo "#include <rpc/types.h>
 =09=09  #include <rpc/xdr.h>" >>z.c
 =09test $i !=3D ./rpc/pmap_rmt.h ||
 =09    echo "#include <rpc/types.h>
 =09=09  #include <rpc/xdr.h>" >>z.c
 =09test $i !=3D ./rpc/rpc_com.h || echo "#include <rpc/types.h>" >>z.c
 =09test $i !=3D ./rpc/rpc_msg.h ||
 =09    echo "#include <rpc/types.h>
 =09=09  #include <rpc/xdr.h>
 =09=09  #include <rpc/auth.h>" >>z.c
 =09test $i !=3D ./rpc/svc.h ||
 =09    echo "#include <rpc/types.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <rpc/xdr.h>
 =09=09  #include <rpc/auth.h>" >>z.c
 =09test $i !=3D ./rpc/svc_auth.h ||
 =09    echo "#include <rpc/types.h>
 =09=09  #include <rpc/xdr.h>
 =09=09  #include <rpc/auth.h>" >>z.c
 =09test $i !=3D ./rpc/xdr.h || echo "#include <rpc/types.h>" >>z.c
 =09test $i !=3D ./rpcsvc/nislib.h || echo "#include <rpcsvc/nis.h>" >>z.c
 =09test $i !=3D ./rpcsvc/yp_prot.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <netinet/in.h>
 =09=09  #include <rpc/types.h>
 =09=09  #include <rpc/xdr.h>
 =09=09  #include <rpc/auth.h>
 =09=09  #include <rpc/clnt.h>" >>z.c
 =09test $i !=3D ./security/pam_mod_misc.h ||
 =09    echo "#include <security/_pam_types.h>" >>z.c
 =09test $i !=3D ./skey.h || echo "#include <stdio.h>" >>z.c
 =09test $i !=3D ./sys/acct.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/acl.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/blist.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/buf.h || echo "#include <sys/param.h>" >>z.c
 =09test $i !=3D ./sys/callout.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/ccdvar.h ||
 =09    echo "#include <sys/devicestat.h>
 =09=09  #include <sys/disklabel.h>" >>z.c
 =09test $i !=3D ./sys/clist.h || echo "#include <sys/param.h>" >>z.c
 =09test $i !=3D ./sys/conf.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/cons.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/devfsext.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/dkbad.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/dmap.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/domain.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/dvdio.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/elf_common.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/elf32.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/elf64.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/elf_generic.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <machine/elf.h>" >>z.c
 =09test $i !=3D ./sys/eventhandler.h || echo "#include <sys/types.h>" >>z.=
c
 =09test $i !=3D ./sys/exec.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/extattr.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/filedesc.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/gmon.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/imgact_elf.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/interrupt.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/ipc.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/jail.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/kernel.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/kthread.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/ktrace.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/time.h>
 =09=09  #include <sys/uio.h>" >>z.c
 =09test $i !=3D ./sys/linker.h || echo "#include <sys/param.h>" >>z.c
 =09test $i !=3D ./sys/lkm.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/lock.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/lockf.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/malloc.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/mbuf.h || echo "#include <sys/param.h>" >>z.c
 =09test $i !=3D ./sys/md5.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/memrange.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/mman.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/module.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/mount.h || echo "#include <sys/param.h>" >>z.c
 =09test $i !=3D ./sys/msg.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/namei.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/pciio.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/proc.h || echo "#include <sys/param.h>" >>z.c
 =09test $i !=3D ./sys/protosw.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/ptrace.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/resource.h || echo "#include <sys/time.h>" >>z.c
 =09test $i !=3D ./sys/resourcevar.h || echo "#include <sys/time.h>" >>z.c
 =09test $i !=3D ./sys/rlist.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/rman.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <machine/bus.h>" >>z.c
 =09test $i !=3D ./sys/rtprio.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/select.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/sem.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/shm.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/signal.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/signalvar.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/socket.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/socketvar.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/sysctl.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/sysent.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/systm.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/timeb.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/timex.h || echo "#include <sys/time.h>" >>z.c
 =09test $i !=3D ./sys/tprintf.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/tty.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/ucontext.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/signal.h>" >>z.c
 =09test $i !=3D ./sys/ucred.h || echo "#include <sys/param.h>" >>z.c
 =09test $i !=3D ./sys/uio.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/un.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/unpcb.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/user.h || echo "#include <sys/param.h>" >>z.c
 =09test $i !=3D ./sys/vmmeter.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/vnode.h || echo "#include <sys/time.h>" >>z.c
 =09test $i !=3D ./sys/vsio.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/wormio.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./sys/xrpuio.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./ucontext.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/signal.h>" >>z.c
 =09test $i !=3D ./ufs/ffs/ffs_extern.h ||
 =09    echo "#include <sys/time.h>
 =09=09  #include <sys/vnode.h>
 =09=09  #include <ufs/ufs/quota.h>
 =09=09  #include <ufs/ufs/inode.h>" >>z.c
 =09test $i !=3D ./ufs/ffs/fs.h ||
 =09    echo "#include <sys/param.h>" >>z.c
 =09test $i !=3D ./ufs/ffs/softdep.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/buf.h>
 =09=09  #include <ufs/ufs/quota.h>
 =09=09  #include <ufs/ufs/inode.h>" >>z.c
 =09test $i !=3D ./ufs/mfs/mfs_extern.h || echo "#include <sys/types.h>" >>=
z.c
 =09test $i !=3D ./ufs/mfs/mfsnode.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/buf.h>" >>z.c
 =09test $i !=3D ./ufs/ufs/dinode.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./ufs/ufs/dir.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./ufs/ufs/inode.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <ufs/ufs/quota.h>" >>z.c
 =09test $i !=3D ./ufs/ufs/quota.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./ufs/ufs/ufs_extern.h ||
 =09    echo "#include <sys/time.h>
 =09=09  #include <sys/vnode.h>
 =09=09  #include <ufs/ufs/dir.h>" >>z.c
 =09test $i !=3D ./ufs/ufs/ufsmount.h ||
 =09    echo "#include <sys/param.h>
 =09=09  #include <sys/mount.h>" >>z.c
 =09test $i !=3D ./utime.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./utmp.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./vgl.h || echo "#include <sys/fbio.h>" >>z.c
 =09test $i !=3D ./vm/default_pager.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <vm/vm.h>" >>z.c
 =09test $i !=3D ./vm/pmap.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <vm/vm.h>" >>z.c
 =09test $i !=3D ./vm/swap_pager.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <vm/vm.h>" >>z.c
 =09test $i !=3D ./vm/vm.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./vm/vm_kern.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <vm/vm.h>" >>z.c
 =09test $i !=3D ./vm/vm_map.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <sys/lock.h>
 =09=09  #include <vm/vm.h>
 =09=09  #include <vm/pmap.h>" >>z.c
 =09test $i !=3D ./vm/vm_object.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./vm/vm_page.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <vm/vm.h>" >>z.c
 =09test $i !=3D ./vm/vm_pageout.h || echo "#include <sys/types.h>" >>z.c
 =09test $i !=3D ./vm/vm_pager.h ||
 =09    echo "#include <sys/types.h>
 =09=09  #include <vm/vm.h>" >>z.c
 =09test $i !=3D ./vm/vm_zone.h || echo "#include <sys/types.h>" >>z.c
 =09sed 's/^[ =09]*//' <z.c >z1.c
 =09echo "#include <$i>" >>z1.c
 =09echo "int dummy;" >>z1.c
 =09gccw                                              -S z1.c
#=09echo "--- <$i> ---"; CFLAGS=3D-O unusedinc z1.o
#if !
#=09cc  -Dconst=3D -Dvolatile=3D -traditional             -S z1.c
#then echo $i; bash; fi
#=09bcc -Dconst=3D -Dvolatile=3D -D__inline=3D -D__i386__   -S z1.c
done
%%%

Bruce
--0-37656405-1234640396=:2522--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090215052941.E2522>