Subject: re: CVS commit: basesrc
To: Bill Studenmund <wrstuden@nas.nasa.gov>
From: matthew green <mrg@eterna.com.au>
List: tech-kern
Date: 07/10/1999 22:40:41
   
   > mrg@eterna.com.au said:
   > > it seems that we need some new preprocessor symbol to deal with this,
   > > such as `_KERNEL_FROM_USERLAND' which basically means to not include
   > > opt_xxx.h files, and any userland code that wants to #define _KERNEL
   > > must also define this.
   > 
   > I'd prefer it the other way: define a cpp symbol like
   > "__EXPOSE_UFS_INTERNALS" from userland instead of _KERNEL, so we
   > can control what gets exported from the system headers.
   > (see sys/pool.h)
   
   I like this idea better. If we need to expose something to userland, then
   we do so explicitly.


i like this better myself.  but do we want to keep the _KERNEL && !_LKM
situation for opt_xxx.h files, or something else?


the programs in our source tree that define _KERNEL are:
	libkvm
	fstat
	pstat
	identd
	mount_nfs
	ipcs
	kdump
	netstat
	vmstat
	ipf/iptest (? not sure this is used off hand)


and 3rd party programs?


actually, it occurs to me that _kernel_ builds should define to get
the include opt files, not everyone else having to work around it.

but the __EXPOSE_XXX idea is a good one.  i'll work on doing it that
way for these programs...