Lines Matching refs:bitmap

78 #define	BT_WIM(bitmap, bitindex) \  argument
79 ((bitmap)[(bitindex) >> BT_ULSHIFT])
87 #define BT_WIM32(bitmap, bitindex) \ argument
88 ((bitmap)[(bitindex) >> BT_ULSHIFT32])
103 #define BT_TEST(bitmap, bitindex) \ argument
104 ((BT_WIM((bitmap), (bitindex)) & BT_BIW(bitindex)) ? 1 : 0)
105 #define BT_SET(bitmap, bitindex) \ argument
106 { BT_WIM((bitmap), (bitindex)) |= BT_BIW(bitindex); }
107 #define BT_CLEAR(bitmap, bitindex) \ argument
108 { BT_WIM((bitmap), (bitindex)) &= ~BT_BIW(bitindex); }
115 #define BT_TEST32(bitmap, bitindex) \ argument
116 ((BT_WIM32((bitmap), (bitindex)) & BT_BIW32(bitindex)) ? 1 : 0)
117 #define BT_SET32(bitmap, bitindex) \ argument
118 { BT_WIM32((bitmap), (bitindex)) |= BT_BIW32(bitindex); }
119 #define BT_CLEAR32(bitmap, bitindex) \ argument
120 { BT_WIM32((bitmap), (bitindex)) &= ~BT_BIW32(bitindex); }
137 extern index_t bt_availbit(ulong_t *bitmap, size_t nbits);
143 extern int bt_range(ulong_t *bitmap, size_t *pos1, size_t *pos2,
145 extern int bt_getlowbit(ulong_t *bitmap, size_t start, size_t stop);
159 #define BT_ATOMIC_SET(bitmap, bitindex) \ argument
160 { atomic_or_ulong(&(BT_WIM(bitmap, bitindex)), BT_BIW(bitindex)); }
161 #define BT_ATOMIC_CLEAR(bitmap, bitindex) \ argument
162 { atomic_and_ulong(&(BT_WIM(bitmap, bitindex)), ~BT_BIW(bitindex)); }
164 #define BT_ATOMIC_SET_EXCL(bitmap, bitindex, result) \ argument
165 { result = atomic_set_long_excl(&(BT_WIM(bitmap, bitindex)), \
167 #define BT_ATOMIC_CLEAR_EXCL(bitmap, bitindex, result) \ argument
168 { result = atomic_clear_long_excl(&(BT_WIM(bitmap, bitindex)), \