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 +1,54 @@
 DDI_FFS(9F)              Kernel Functions for Drivers              DDI_FFS(9F)
 
-
-
 NAME
-       ddi_ffs, ddi_fls - find first (last) bit set in a long integer
+     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 mask);
+     int
+     ddi_ffs(long long mask);
 
+     int
+     ddi_fls(long long mask);
 
-       int ddi_fls(long mask);
-
-
 INTERFACE LEVEL
        Solaris DDI specific (Solaris DDI).
 
 PARAMETERS
-       mask
-               A 32-bit argument value to search through.
+     mask          A 32-bit or 64-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.
+     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.
+     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.
 
-       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)
+illumos                          July 14, 2017                         illumos