Module Name: src
Committed By: christos
Date: Fri Dec 7 01:54:42 UTC 2012
Modified Files:
src/share/man/man3: Makefile bitmap.3
Log Message:
add __BITMAP_TYPE
To generate a diff of this commit:
cvs rdiff -u -r1.80 -r1.81 src/share/man/man3/Makefile
cvs rdiff -u -r1.6 -r1.7 src/share/man/man3/bitmap.3
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/man3/Makefile
diff -u src/share/man/man3/Makefile:1.80 src/share/man/man3/Makefile:1.81
--- src/share/man/man3/Makefile:1.80 Sat Dec 1 15:33:02 2012
+++ src/share/man/man3/Makefile Thu Dec 6 20:54:41 2012
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.80 2012/12/01 20:33:02 christos Exp $
+# $NetBSD: Makefile,v 1.81 2012/12/07 01:54:41 christos Exp $
# @(#)Makefile 8.2 (Berkeley) 12/13/93
MAN= _DIAGASSERT.3 __CONCAT.3 __UNCONST.3 CMSG_DATA.3 \
@@ -272,6 +272,7 @@ MLINKS+=bitmap.3 __BITMAP_CLR.3 \
bitmap.3 __BITMAP_ISSET.3 \
bitmap.3 __BITMAP_SET.3 \
bitmap.3 __BITMAP_SIZE.3 \
+ bitmap.3 __BITMAP_TYPE.3 \
bitmap.3 __BITMAP_ZERO.3
.include <bsd.man.mk>
Index: src/share/man/man3/bitmap.3
diff -u src/share/man/man3/bitmap.3:1.6 src/share/man/man3/bitmap.3:1.7
--- src/share/man/man3/bitmap.3:1.6 Tue Dec 4 13:10:25 2012
+++ src/share/man/man3/bitmap.3 Thu Dec 6 20:54:42 2012
@@ -1,4 +1,4 @@
-.\" $NetBSD: bitmap.3,v 1.6 2012/12/04 18:10:25 wiz Exp $
+.\" $NetBSD: bitmap.3,v 1.7 2012/12/07 01:54:42 christos Exp $
.\"
.\" Copyright (c) 2012 The NetBSD Foundation, Inc.
.\" All rights reserved.
@@ -27,7 +27,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd December 4, 2012
+.Dd December 6, 2012
.Dt BITMAP 3
.Os
.Sh NAME
@@ -35,6 +35,7 @@
.Nm __BITMAP_ISSET ,
.Nm __BITMAP_SET ,
.Nm __BITMAP_SIZE ,
+.Nm __BITMAP_TYPE ,
.Nm __BITMAP_ZERO
.Nd bitmap manipulation macros
.Sh LIBRARY
@@ -45,6 +46,7 @@
.Fn __BITMAP_ISSET "int bit" "type *bitmap"
.Fn __BITMAP_SET "int bit" "type *bitmap"
.Fn __BITMAP_SIZE "type" "int nbits"
+.Fn __BITMAP_TYPE "name" "type" "int nbits"
.Fn __BITMAP_ZERO "type *bitmap"
.Sh DESCRIPTION
The supplied macros are similar to the
@@ -71,9 +73,10 @@ The following macros are provided for ma
bitmaps:
.Pp
.Fn __BITMAP_CLR bit bitmap
-initializes a descriptor set pointed to by
-.Fa bitmap
-to the null set.
+removes the given
+.Fa bit
+from the
+.Fa bitmap .
.Pp
.Fn __BITMAP_ISSET bit bitmap
is non-zero if
@@ -82,23 +85,31 @@ is a member of
.Fa bitmap ,
zero otherwise.
.Pp
+.Fn __BITMAP_SET bit bitmap
+Sets the given
+.Fa bit
+in the
+.Fa bitmap .
+.Pp
.Fn __BITMAP_SIZE type nbits
Returns the number of elements would be required of the given
.Fa type
to hold
.Fa nbits .
.Pp
-.Fn __BITMAP_SET bit bitmap
-Sets the given
-.Fa bit
-in the
-.Fa bitmap .
+.Fn __BITMAP_TYPE name type nbits
+Declares the properly sized bitmap structure
+of the given
+.Fa type
+that holds
+.Fa nbits
+and is named
+.Fa name .
.Pp
-.Fn __BITMAP_CLR bit bitmap
-removes the given
-.Fa bit
-from the
-.Fa bitmap .
+.Fn __BITMAP_ZERO bit bitmap
+initializes a descriptor set pointed to by
+.Fa bitmap
+to the null set.
.Pp
The behavior of these macros is undefined for negative
bit values or ones greater than the number of bits the bitmap can hold.
@@ -109,19 +120,19 @@ bit values or ones greater than the numb
int
main(int argc, char **argv)
{
- uint32_t bitmap[__BITMAP_SIZE(uint32_t, 5000)];
+ __BITMAP_TYPE(, uint32_t, 5000) bitmap;
/* Initialize the read set to null */
- __BITMAP_ZERO(bitmap);
+ __BITMAP_ZERO(\*[Am]bitmap);
/* Set bit 1 */
- __BITMAP_SET(1, bitmap);
+ __BITMAP_SET(1, \*[Am]bitmap);
for (size_t i = 0; i \*[Lt] 5000; i++) {
- if (__BITMAP_ISSET(i, bitmap)) {
+ if (__BITMAP_ISSET(i, \*[Am]bitmap)) {
/* Should just print 1 */
printf("Bit %zu is set\en", i);
- __BITMAP_CLR(i, bitmap);
+ __BITMAP_CLR(i, \*[Am]bitmap);
}
break;
}