## table of contents

BITMAP_POS_TO_ORD(9) | Basic Kernel Library Functions | BITMAP_POS_TO_ORD(9) |

# NAME¶

bitmap_pos_to_ord - find ordinal of set bit at given position in bitmap

# SYNOPSIS¶

**int
bitmap_pos_to_ord(const unsigned long * ***buf***,
unsigned int ***pos***,
unsigned int ***nbits***);**

# ARGUMENTS¶

*const unsigned long * buf*

*unsigned int pos*

*buf*(0 <=

*pos*<

*nbits*)

*unsigned int nbits*

*buf*

# DESCRIPTION¶

Map the bit at position *pos* in *buf* (of length
*nbits*) 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 -1. 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*.

# COPYRIGHT¶

June 2017 | Kernel Hackers Manual 4.11 |