From owner-freebsd-arch@FreeBSD.ORG Wed Jun 28 13:26:39 2006 Return-Path: X-Original-To: arch@freebsd.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 84FE016A415; Wed, 28 Jun 2006 13:26:39 +0000 (UTC) (envelope-from shadow@psoft.net) Received: from mail.sevcity.net (ns.sevcity.net [193.47.166.213]) by mx1.FreeBSD.org (Postfix) with ESMTP id D783143D6B; Wed, 28 Jun 2006 13:26:34 +0000 (GMT) (envelope-from shadow@psoft.net) Received: from mail.sevcity.net (service.sevcity [127.0.0.1]) by mail.sevcity.net (Postfix) with ESMTP id 4598817000E; Wed, 28 Jun 2006 16:29:01 +0300 (EEST) Received: from berloga.shadowland (umka.sevcity.net [193.47.166.138]) by mail.sevcity.net (Postfix) with ESMTP id C090E170004; Wed, 28 Jun 2006 16:29:00 +0300 (EEST) Received: from berloga.shadowland (berloga.shadowland [127.0.0.1]) by berloga.shadowland (8.12.11.20060308/8.12.11) with ESMTP id k5SDQVUu005010; Wed, 28 Jun 2006 16:26:31 +0300 Received: (from root@localhost) by berloga.shadowland (8.12.11.20060308/8.12.11/Submit) id k5SDQVmI005008; Wed, 28 Jun 2006 16:26:31 +0300 From: Alex Lyashkov To: Harti Brandt In-Reply-To: <20060628133928.H52624@beagle.kn.op.dlr.de> References: <20060627.135817.-490997979.imp@bsdimp.com> <1151490061.3525.9.camel@berloga.shadowland> <20060628133928.H52624@beagle.kn.op.dlr.de> Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: quoted-printable Organization: Positive Software Message-Id: <1151501191.3525.46.camel@berloga.shadowland> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.5 (1.4.5-17) Date: Wed, 28 Jun 2006 16:26:31 +0300 X-Virus-Scanned: ClamAV using ClamSMTP Cc: arch@freebsd.org Subject: Re: SET, CLR, ISSET in types.h for _KERNEL builds X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Jun 2006 13:26:39 -0000 =F7 =F3=D2=C4, 28.06.2006, =D7 14:39, Harti Brandt =D0=C9=DB=C5=D4: > On Wed, 28 Jun 2006, Alex Lyashkov wrote: >=20 > AL>=F7 =F7=D4=D2, 27.06.2006, =D7 22:58, M. Warner Losh =D0=C9=DB=C5=D4: > AL>> NetBSD recently added SET, CLR, ISSET to sys/types.h (only if _KERNE= L > 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 NetBS= D? > AL>>=20 > AL>> Here's my proposed diff, inline, for your consideration: > AL>>=20 > AL> > AL>>=20 > AL>> NOTE: That /* !_KERNEL */ should have the '!' removed, but I didn't > AL>> want to confuse things by doing that too. > AL>>=20 > AL>> Comments? > AL>>=20 > AL>> Warner > AL>> _______________________________________________ > AL>Who not create abstract framework for work with bitmask more then 64bi= ts > AL>size?=20 > AL>similar this: > AL> > AL>#define_bitmask(name,size) char name[(size/8)+1]; > AL>#define set_bit(bimask,no) { bitmask[(no/8)] |=3D 1<<(no%8); } > AL>#define clr_bit(bitmask,no) { bitmask[(no/8)] &=3D ~(1<<(no%8)); } > AL>static inline isset_bit(char *bitmask, no) { > AL> return bitmask[(no/8)] & 1<<(no%8); >=20 > You mean bitstring(3)? Thanks for point this. --=20 Alex Lyashkov Positive Software