bitmap_pos_to_ord
Prev | Bitmap Operations | Next

## 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`.

Prev | Up | Next
bitmap_allocate_region | Home | bitmap_ord_to_pos