Lines Matching refs:bitmap

45 #include <asm/bitmap.h>
50 * A bitmap is a vector of 1 or more ulong_t's.
74 * bitmap is a ulong_t *, bitindex an index_t
83 #define BT_WIM(bitmap, bitindex) \
84 ((bitmap)[(bitindex) >> BT_ULSHIFT])
92 #define BT_WIM32(bitmap, bitindex) \
93 ((bitmap)[(bitindex) >> BT_ULSHIFT32])
108 #define BT_TEST(bitmap, bitindex) \
109 ((BT_WIM((bitmap), (bitindex)) & BT_BIW(bitindex)) ? 1 : 0)
110 #define BT_SET(bitmap, bitindex) \
111 { BT_WIM((bitmap), (bitindex)) |= BT_BIW(bitindex); }
112 #define BT_CLEAR(bitmap, bitindex) \
113 { BT_WIM((bitmap), (bitindex)) &= ~BT_BIW(bitindex); }
120 #define BT_TEST32(bitmap, bitindex) \
121 ((BT_WIM32((bitmap), (bitindex)) & BT_BIW32(bitindex)) ? 1 : 0)
122 #define BT_SET32(bitmap, bitindex) \
123 { BT_WIM32((bitmap), (bitindex)) |= BT_BIW32(bitindex); }
124 #define BT_CLEAR32(bitmap, bitindex) \
125 { BT_WIM32((bitmap), (bitindex)) &= ~BT_BIW32(bitindex); }
143 extern index_t bt_availbit(ulong_t *bitmap, size_t nbits);
149 extern int bt_range(ulong_t *bitmap, size_t *pos1, size_t *pos2,
159 extern int bt_getlowbit(ulong_t *bitmap, size_t start, size_t stop);
173 #define BT_ATOMIC_SET(bitmap, bitindex) \
174 { atomic_or_ulong(&(BT_WIM(bitmap, bitindex)), BT_BIW(bitindex)); }
175 #define BT_ATOMIC_CLEAR(bitmap, bitindex) \
176 { atomic_and_ulong(&(BT_WIM(bitmap, bitindex)), ~BT_BIW(bitindex)); }
178 #define BT_ATOMIC_SET_EXCL(bitmap, bitindex, result) \
179 { result = atomic_set_long_excl(&(BT_WIM(bitmap, bitindex)), \
181 #define BT_ATOMIC_CLEAR_EXCL(bitmap, bitindex, result) \
182 { result = atomic_clear_long_excl(&(BT_WIM(bitmap, bitindex)), \