Module Name: src Committed By: jruoho Date: Mon Mar 1 19:09:42 UTC 2010
Modified Files: src/share/man/man9: Makefile Added Files: src/share/man/man9: setbit.9 Log Message: Document the bitmap related macros in <sys/param.h>. To generate a diff of this commit: cvs rdiff -u -r1.317 -r1.318 src/share/man/man9/Makefile cvs rdiff -u -r0 -r1.1 src/share/man/man9/setbit.9 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/share/man/man9/Makefile diff -u src/share/man/man9/Makefile:1.317 src/share/man/man9/Makefile:1.318 --- src/share/man/man9/Makefile:1.317 Mon Mar 1 17:21:02 2010 +++ src/share/man/man9/Makefile Mon Mar 1 19:09:41 2010 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.317 2010/03/01 17:21:02 jruoho Exp $ +# $NetBSD: Makefile,v 1.318 2010/03/01 19:09:41 jruoho Exp $ # Makefile for section 9 (kernel function and variable) manual pages. @@ -45,7 +45,7 @@ rt_timer.9 rwlock.9 RUN_ONCE.9 \ sched_4bsd.9 scsipi.9 \ secmodel.9 secmodel_bsd44.9 secmodel_overlay.9 secmodel_securelevel.9 \ - secmodel_suser.9 setjmp.9 shutdownhook_establish.9 \ + secmodel_suser.9 setbit.9 setjmp.9 shutdownhook_establish.9 \ signal.9 sockopt.9 softintr.9 spl.9 splraiseipl.9 \ store.9 suspendsched.9 \ sysctl.9 sysmon_envsys.9 sysmon_pswitch.9 sysmon_taskq.9 tc.9 \ @@ -595,6 +595,9 @@ select.9 seldestroy.9 \ select.9 selrecord.9 \ select.9 selnotify.9 +MLINKS+=setbit.9 clrbit.9 \ + setbit.9 isset.9 \ + setbit.9 isclr.9 MLINKS+=setjmp.9 longjmp.9 MLINKS+=shutdownhook_establish.9 shutdownhook_disestablish.9 MLINKS+=signal.9 siginit.9 \ Added files: Index: src/share/man/man9/setbit.9 diff -u /dev/null src/share/man/man9/setbit.9:1.1 --- /dev/null Mon Mar 1 19:09:42 2010 +++ src/share/man/man9/setbit.9 Mon Mar 1 19:09:41 2010 @@ -0,0 +1,80 @@ +.\" $NetBSD: setbit.9,v 1.1 2010/03/01 19:09:41 jruoho Exp $ +.\" +.\" Copyright (c) 2010 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jukka Ruohonen. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd March 1, 2010 +.Dt SETBIT 9 +.Os +.Sh NAME +.Nm setbit +.Nd macros related to bitmaps +.Sh SYNOPSIS +.In sys/param.h +.Ft void +.Fn setbit "array" "x" +.Ft void +.Fn clrbit "array" "x" +.Ft int +.Fn isset "array" "x" +.Ft int +.Fn isclr "array" "x" +.Sh DESCRIPTION +The +.Nm +family of macros operate with bitmaps, also known as bit arrays. +.Pp +In a nutshell, +.Fn setbit +sets the bit +.Fa x +in +.Fa array , +.Fn clrbit +clears it, +.Fn isset +tests whether +.Fa x +is set, and +.Fn isclr +returns 1 if +.Fa x +is not set. +.Sh EXAMPLES +The following example declares a buffer of 10 chars, +treating it as an array of 80 bits: +.Bd -literal -offset indent +char buf[10]; + +\&... + +setbit(buf, 12); /* set the fifth bit in the second byte */ +.Ed +.Sh CAVEATS +The number of valid bits in a given array is assumed to be multiple of +.Dv CHAR_BIT , +the number of bits for smallest object that is not a bit-field.