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...