bitmap_pos_to_ord(9)
NAME
bitmap_pos_to_ord
SYNOPSIS
int bitmap_pos_to_ord(const unsigned long * buf, int pos, int bits);
ARGUMENTS
- buf
- pointer to a bitmap
- pos
- a bit position in buf (0 <= pos < bits)
- bits
- number of valid bit positions in buf
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.