xref: /minix/lib/libc/string/ffs.3 (revision 00b67f09)
1.\" Copyright (c) 1990, 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" This code is derived from software contributed to Berkeley by
5.\" Chris Torek.
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\" 3. Neither the name of the University nor the names of its contributors
15.\"    may be used to endorse or promote products derived from this software
16.\"    without specific prior written permission.
17.\"
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
20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
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
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
28.\" SUCH DAMAGE.
29.\"
30.\"     from: @(#)ffs.3	8.2 (Berkeley) 4/19/94
31.\"	$NetBSD: ffs.3,v 1.13 2010/04/28 07:47:09 jruoho Exp $
32.\"
33.Dd April 28, 2010
34.Dt FFS 3
35.Os
36.Sh NAME
37.Nm ffs
38.Nd find first bit set in a bit string
39.Sh LIBRARY
40.Lb libc
41.Sh SYNOPSIS
42.In strings.h
43.Ft int
44.Fn ffs "int value"
45.Sh DESCRIPTION
46The
47.Fn ffs
48function finds the first bit set in
49.Fa value
50and returns the index of that bit.
51Bits are numbered starting from 1, starting at the right-most
52bit.
53A return value of 0 means that the argument was zero.
54.Sh SEE ALSO
55.Xr bitstring 3 ,
56.Xr ffs32 3 ,
57.Xr popcount 3
58.Sh STANDARDS
59The
60.Fn ffs
61function conforms to
62.St -p1003.1-2001 .
63.Sh HISTORY
64The
65.Fn ffs
66function appeared in
67.Bx 4.3 .
68The prototype for it existed previously in the
69.In string.h
70header before it was moved to
71.In strings.h
72for
73.Tn POSIX
74compliance.
75