1. NAME▲
bitmap_pos_to_ord - find ordinal of set bit at given position in bitmap
2. SYNOPSIS ▲
int bitmap_pos_to_ord(const unsigned long * buf , int pos , int bits );
3. ARGUMENTS ▲
buf
pointer to a bitmap
pos
a bit position in buf (0 <= pos < bits)
bits
number of valid bit positions in buf
4. DESCRIPTION ▲
Map the bit at position pos in buf (of length bits) to the ordinal of which set bit it is. If it is not set or if pos is not a valid bit position, map to -1.
If for example, just bits 4 through 7 are set in buf, then pos values 4 through 7 will get mapped to 0 through 3, respectively, and other pos values will get mapped to 0. When pos value 7 gets mapped to (returns) ord value 3 in this example, that means that bit 7 is the 3rd (starting with 0th) set bit in buf.
The bit positions 0 through bits are valid positions in buf.
5. COPYRIGHT ▲