Date: Tue, 27 Jun 2006 13:58:17 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: arch@freebsd.org Subject: SET, CLR, ISSET in types.h for _KERNEL builds Message-ID: <20060627.135817.-490997979.imp@bsdimp.com>
next in thread | raw e-mail | index | archive | help
NetBSD recently added SET, CLR, ISSET to sys/types.h (only if _KERNEL is defined). I'd like to do something similar in FreeBSD. I see no reason to needless deviate from NetBSD here. One could make an argument for lots of different files, but at the end of the day does it really matter enough to justify having it be different than NetBSD? Here's my proposed diff, inline, for your consideration: Index: types.h =================================================================== RCS file: /home/ncvs/src/sys/sys/types.h,v retrieving revision 1.95 diff -u -r1.95 types.h --- types.h 26 Nov 2005 12:42:35 -0000 1.95 +++ types.h 27 Jun 2006 19:57:23 -0000 @@ -294,6 +294,11 @@ #define offsetof(type, field) __offsetof(type, field) +/* Macros to clear/set/test flags. */ +#define SET(t, f) (t) |= (f) +#define CLR(t, f) (t) &= ~(f) +#define ISSET(t, f) ((t) & (f)) + #endif /* !_KERNEL */ /* NOTE: That /* !_KERNEL */ should have the '!' removed, but I didn't want to confuse things by doing that too. Comments? Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060627.135817.-490997979.imp>