DDI_FFS(9F) Kernel Functions for Drivers DDI_FFS(9F)

ddi_ffs, ddi_fls - find first (last) bit set in a long integer

#include <sys/conf.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>
int ddi_ffs(long mask);

int ddi_fls(long mask);

illumos DDI specific (illumos DDI).

mask
A 64-bit argument value to search through.

The function ddi_ffs() takes its argument and returns the shift count that the first (least significant) bit set in the argument corresponds to. The function ddi_fls() does the same, only it returns the shift count for the last (most significant) bit set in the argument.

0
No bits are set in mask.

N

Bit N is the least significant (ddi_ffs) or most significant (ddi_fls) bit set in mask. Bits are numbered from 1 to 64, with bit 1 being the least significant bit position and bit 64 the most significant position.

This function can be called from user, interrupt, or kernel context.

Writing Device Drivers
January 16, 2021 OmniOS