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