| @@ -18,43 +18,44 @@ | | | @@ -18,43 +18,44 @@ |
18 | .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | | 18 | .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
19 | .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | | 19 | .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
20 | .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | | 20 | .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
21 | .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | | 21 | .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
22 | .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | | 22 | .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
23 | .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | | 23 | .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
24 | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | | 24 | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
25 | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | | 25 | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
26 | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | | 26 | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
27 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | | 27 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
28 | .\" SUCH DAMAGE. | | 28 | .\" SUCH DAMAGE. |
29 | .\" | | 29 | .\" |
30 | .\" from: @(#)ffs.3 8.2 (Berkeley) 4/19/94 | | 30 | .\" from: @(#)ffs.3 8.2 (Berkeley) 4/19/94 |
31 | .\" $NetBSD: ffs.3,v 1.10 2003/08/07 16:43:47 agc Exp $ | | 31 | .\" $NetBSD: ffs.3,v 1.11 2009/07/21 13:22:15 wiz Exp $ |
32 | .\" | | 32 | .\" |
33 | .Dd April 19, 1994 | | 33 | .Dd July 21, 2009 |
34 | .Dt FFS 3 | | 34 | .Dt FFS 3 |
35 | .Os | | 35 | .Os |
36 | .Sh NAME | | 36 | .Sh NAME |
37 | .Nm ffs | | 37 | .Nm ffs |
38 | .Nd find first bit set in a bit string | | 38 | .Nd find first bit set in a bit string |
39 | .Sh LIBRARY | | 39 | .Sh LIBRARY |
40 | .Lb libc | | 40 | .Lb libc |
41 | .Sh SYNOPSIS | | 41 | .Sh SYNOPSIS |
42 | .In strings.h | | 42 | .In strings.h |
43 | .Ft int | | 43 | .Ft int |
44 | .Fn ffs "int value" | | 44 | .Fn ffs "int value" |
45 | .Sh DESCRIPTION | | 45 | .Sh DESCRIPTION |
46 | The | | 46 | The |
47 | .Fn ffs | | 47 | .Fn ffs |
48 | function finds the first bit set in | | 48 | function finds the first bit set in |
49 | .Fa value | | 49 | .Fa value |
50 | and returns the index of that bit. | | 50 | and returns the index of that bit. |
51 | Bits are numbered starting from 1, starting at the right-most | | 51 | Bits are numbered starting from 1, starting at the right-most |
52 | bit. | | 52 | bit. |
53 | A return value of 0 means that the argument was zero. | | 53 | A return value of 0 means that the argument was zero. |
54 | .Sh SEE ALSO | | 54 | .Sh SEE ALSO |
55 | .Xr bitstring 3 | | 55 | .Xr bitstring 3 , |
| | | 56 | .Xr popcount 3 |
56 | .Sh HISTORY | | 57 | .Sh HISTORY |
57 | The | | 58 | The |
58 | .Fn ffs | | 59 | .Fn ffs |
59 | function appeared in | | 60 | function appeared in |
60 | .Bx 4.3 . | | 61 | .Bx 4.3 . |