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.