man pages section 9: DDI and DKI Kernel Functions

Exit Print View

Updated: July 2014
 
 

ddi_fls(9F)

Name

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

Synopsis

#include <sys/conf.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>

intddi_ffs(long mask);
int ddi_fls(long mask);

Interface Level

Solaris DDI specific (Solaris DDI).

Parameters

mask

A 32-bit argument value to search through.

Description

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.

Return Values

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 32, with bit 1 being the least significant bit position and bit 32 the most significant position.

Context

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

See also

Writing Device Drivers for Oracle Solaris 11.2