Print this page
8627 want ddi_ffsll, ddi_flsll
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>

*** 1,55 **** DDI_FFS(9F) Kernel Functions for Drivers DDI_FFS(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> ! int ddi_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 ! ! ! June 5, 2013 DDI_FFS(9F) --- 1,54 ---- DDI_FFS(9F) Kernel Functions for Drivers DDI_FFS(9F) NAME ! ddi_ffs, ddi_ffsll, ddi_fls, ddi_flsll - find first (last) bit set in a ! long (long) integer SYNOPSIS #include <sys/conf.h> #include <sys/ddi.h> #include <sys/sunddi.h> + int + ddi_ffs(long mask); + int + ddi_fls(long mask); ! int ! ddi_ffs(long long mask); + int + ddi_fls(long long mask); INTERFACE LEVEL Solaris DDI specific (Solaris DDI). PARAMETERS ! mask A 32-bit or 64-bit argument value to search through. DESCRIPTION ! The functions ddi_ffs() and ddi_ffsll() take their argument and return ! the shift count that the first (least significant) bit set in the ! argument corresponds to. The functions ddi_fls() and ddi_flsll() do the ! same, only they returns the shift count for the last (most significant) ! bit set in the argument. ddi_ffs() and ddi_fls() operate on 32-bit ! values, while ddi_ffsll() and ddi_flsll() operate on 64-bit values. + CONTEXT + These functions can be called from user, interrupt, or kernel context. + RETURN VALUES ! 0 No bits are set in mask. + N Bit N is the least significant (ddi_ffs(), ddi_ffsll()) or + most significant (ddi_fls(), ddi_flsll()) bit set in mask. + Bits are numbered from 1 to 32 or 64, with bit 1 being the + least significant bit position and bit 32 or 64 the most + significant position, depending on the variant of the + functions used. SEE ALSO Writing Device Drivers ! illumos July 14, 2017 illumos