Scroll to navigation

BITMAP_ORD_TO_POS(9) Basic Kernel Library Functions BITMAP_ORD_TO_POS(9)

NAME

bitmap_ord_to_pos - find position of n-th set bit in bitmap

SYNOPSIS

unsigned int bitmap_ord_to_pos(const unsigned long * buf, unsigned int ord, unsigned int nbits);

ARGUMENTS

const unsigned long * buf

pointer to bitmap

unsigned int ord

ordinal bit position (n-th set bit, n >= 0)

unsigned int nbits

number of valid bit positions in buf

DESCRIPTION

Map the ordinal offset of bit ord in buf to its position in buf. Value of ord should be in range 0 <= ord < weight(buf). If ord >= weight(buf), returns nbits.

If for example, just bits 4 through 7 are set in buf, then ord values 0 through 3 will get mapped to 4 through 7, respectively, and all other ord values returns nbits. When ord value 3 gets mapped to (returns) pos value 7 in this example, that means that the 3rd set bit (starting with 0th) is at position 7 in buf.

The bit positions 0 through nbits-1 are valid positions in buf.

COPYRIGHT

June 2017 Kernel Hackers Manual 4.11