Date: Wed, 28 Jun 2006 13:39:58 +0200 (CEST) From: Harti Brandt <hartmut.brandt@dlr.de> To: Alex Lyashkov <shadow@psoft.net> Cc: arch@freebsd.org Subject: Re: SET, CLR, ISSET in types.h for _KERNEL builds Message-ID: <20060628133928.H52624@beagle.kn.op.dlr.de> In-Reply-To: <1151490061.3525.9.camel@berloga.shadowland> References: <20060627.135817.-490997979.imp@bsdimp.com> <1151490061.3525.9.camel@berloga.shadowland>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 28 Jun 2006, Alex Lyashkov wrote:
AL>÷ ÷ÔÒ, 27.06.2006, × 22:58, M. Warner Losh ÐÉÛÅÔ:
AL>> NetBSD recently added SET, CLR, ISSET to sys/types.h (only if _KERNEL
AL>> is defined). I'd like to do something similar in FreeBSD. I see no
AL>> reason to needless deviate from NetBSD here. One could make an
AL>> argument for lots of different files, but at the end of the day does
AL>> it really matter enough to justify having it be different than NetBSD?
AL>>
AL>> Here's my proposed diff, inline, for your consideration:
AL>>
AL>
AL>>
AL>> NOTE: That /* !_KERNEL */ should have the '!' removed, but I didn't
AL>> want to confuse things by doing that too.
AL>>
AL>> Comments?
AL>>
AL>> Warner
AL>> _______________________________________________
AL>Who not create abstract framework for work with bitmask more then 64bits
AL>size?
AL>similar this:
AL>
AL>#define_bitmask(name,size) char name[(size/8)+1];
AL>#define set_bit(bimask,no) { bitmask[(no/8)] |= 1<<(no%8); }
AL>#define clr_bit(bitmask,no) { bitmask[(no/8)] &= ~(1<<(no%8)); }
AL>static inline isset_bit(char *bitmask, no) {
AL> return bitmask[(no/8)] & 1<<(no%8);
You mean bitstring(3)?
harti
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060628133928.H52624>
