Lines Matching defs:bitindex
74 * bitmap is a ulong_t *, bitindex an index_t
83 #define BT_WIM(bitmap, bitindex) \
84 ((bitmap)[(bitindex) >> BT_ULSHIFT])
88 #define BT_BIW(bitindex) \
89 (1UL << ((bitindex) & BT_ULMASK))
92 #define BT_WIM32(bitmap, bitindex) \
93 ((bitmap)[(bitindex) >> BT_ULSHIFT32])
95 #define BT_BIW32(bitindex) \
96 (1UL << ((bitindex) & BT_ULMASK32))
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); }
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)), \
180 (bitindex) % BT_NBIPUL); }
181 #define BT_ATOMIC_CLEAR_EXCL(bitmap, bitindex, result) \
182 { result = atomic_clear_long_excl(&(BT_WIM(bitmap, bitindex)), \
183 (bitindex) % BT_NBIPUL); }