Lines Matching +full:clear +full:- +full:bit
2 * Copyright (c) 1998-2001 Proofpoint, Inc. and its suppliers.
4 * Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
13 * $Id: bitops.h,v 1.3 2013-11-22 20:51:31 ca Exp $
20 ** Data structure for bit maps.
22 ** Each bit in this map can be referenced by an ascii character.
23 ** This is 256 possible bits, or 32 8-bit bytes.
26 # define BITMAPBITS 256 /* number of bits in a bit map */
28 # define BITMAPBYTES (BITMAPBITS / BYTEBITS) /* number of bytes in bit map */
29 # define BITMAPMAX ((BITMAPBYTES / sizeof (int)) - 1)
34 # define _BITWORD(bit) (((unsigned char)(bit) / (BYTEBITS * sizeof (int))) & BITMAPMAX) argument
35 # define _BITBIT(bit) ((unsigned int)1 << ((unsigned char)(bit) % (BYTEBITS * sizeof (int)))) argument
39 /* properly case and truncate bit */
40 # define bitidx(bit) ((unsigned int) (bit) & 0xff) argument
42 /* test bit number N */
43 # define bitnset(bit, map) ((map)[_BITWORD(bit)] & _BITBIT(bit)) argument
45 /* set bit number N */
46 # define setbitn(bit, map) (map)[_BITWORD(bit)] |= _BITBIT(bit) argument
48 /* clear bit number N */
49 # define clrbitn(bit, map) (map)[_BITWORD(bit)] &= ~_BITBIT(bit) argument
51 /* clear an entire bit map */
54 /* bit hacking */
55 # define bitset(bit, word) (((word) & (bit)) != 0) argument