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 ▲