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.

Reply via email to