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);
Solaris DDI specific (Solaris DDI).
A 32-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.
No bits are set in mask.
Bit N is the least significant (ddi_ffs) or most significant (ddi_fls) bit set in mask. Bits are numbered from 1 to 32, with bit 1 being the least significant bit position and bit 32 the most significant position.
This function can be called from user, interrupt, or kernel context.