Re: SET, CLR, ISSET in types.h for _KERNEL builds
Andrew R. Reiter wrote:
>I apologize for top posting, but I lost the email that I think my
>point/question pertains to.
>Part of this seems to be for compatibility / merging from drivers of other
>OSes, no? If I am wrong, ignore me :-). If this is the case, would it be
>better to create some common other area for things of this nature so that
>it suffices to allow builds, but does not infect other areas of our own
how about just making a /sys/sys/netbsd_compat.h
put this sort of thing in there..
>Could be a poor idea, but just throwing it out there for the fsck of it.
>On Wed, 28 Jun 2006, Yar Tikhiy wrote:
>:On Wed, Jun 28, 2006 at 08:08:24PM +1000, Andrew Reilly wrote:
>:> On Wed, Jun 28, 2006 at 09:53:46AM +0000, Poul-Henning Kamp wrote:
>:> > In message <20060628094221.GA50978@comp.chem.msu.su>, Yar Tikhiy writes:
>:> > >On Tue, Jun 27, 2006 at 01:58:17PM -0600, M. Warner Losh wrote:
>:> > >> NetBSD recently added SET, CLR, ISSET to sys/types.h (only if _KERNEL
>:> > >> is defined).
>:> > As one of the people who have worked with the original /bin/sh source
>:> > code, I have a slight alergic reaction to attempts to paste over
>:> > the implementation language with macros like these.
>:> > Setting a bit in 'C' is spelled
>:> > variable |= bit;
>:> > not
>:> > SET(variable, bit);
>:> To my eye, if you're going to use "bit" to describe which bit is
>:> being operated on, then you should *really* be doing:
>:> variable |= (1 << bit)
>:> and, obviously, SET(variable, bit) should do that, rather than
>:> what has been proposed.
>:That would require converting our device .h files from defining bit
>:masks to defining bit numbers. I don't mind you doing that as long
>:as SET is expanded to:
>: ((variable) |= (1 << (bit)))
>:-- note the bunch of roughly balanced parentheses ;-)
>:email@example.com mailing list
>:To unsubscribe, send any mail to "firstname.lastname@example.org"
>email@example.com mailing list
>To unsubscribe, send any mail to "firstname.lastname@example.org"
[email]email@example.com[/email] mailing list
To unsubscribe, send any mail to "firstname.lastname@example.org"