On 18.04.2018 07:30, Michael van Elst wrote: > On Wed, Apr 18, 2018 at 07:09:34AM +0200, Kamil Rytarowski wrote: > >>> Anyway, I think sys/pmf.h is only included for the declaration of >>> pmf_qual_t and that is only used for some function declarations that >>> are for _KERNEL only. Can you please try: > > > Maybe this: > > Index: sys/device.h > =================================================================== > RCS file: /cvsroot/src/sys/sys/device.h,v > retrieving revision 1.151 > diff -p -u -r1.151 device.h > --- sys/device.h 4 Mar 2018 07:13:11 -0000 1.151 > +++ sys/device.h 18 Apr 2018 05:17:44 -0000 > @@ -84,7 +84,13 @@ > #if defined(_KERNEL) || defined(_KMEMUSER) > #include <sys/mutex.h> > #include <sys/condvar.h> > +#endif > + > +#if defined(_KERNEL) > #include <sys/pmf.h> > +#else if defined(_KMEMUSER) && !defined(_SYS_PMF_H) > +struct pmf_qual; > +typedef struct pmf_qual pmf_qual_t; > #endif > > #include <prop/proplib.h> > > > Ugly and needs further discussion, but the alternative of moving sys/pmf.h > into userland is probably worse. > > > Greetings, > OK, so assuming that <sys/pmf.h> shall not be exposed to userland - I propose this patch: http://netbsd.org/~kamil/patch-00047-pmf_h.txt It follows the existing style of handling multiple typedefs for the same type (compliant with pre-C11 code). It works for me.
Attachment:
signature.asc
Description: OpenPGP digital signature