1.\" $OpenBSD: ffs.9,v 1.1 2018/04/23 10:30:39 dlg Exp $ 2.\" 3.\" Copyright (c) 2002, 2003 CubeSoft Communications, Inc. 4.\" <http://www.csoft.org> 5.\" 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.\" 15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, 19.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20.\" (INCLUDING BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 21.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 23.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 24.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE EVEN IF ADVISED OF THE 25.\" POSSIBILITY OF SUCH DAMAGE. 26.\" 27.Dd $Mdocdate: April 23 2018 $ 28.Dt FFS 9 29.Os 30.Sh NAME 31.Nm ffs , 32.Nm fls , 33.Nm flsl 34.Nd kernel library find bit routines 35.Sh SYNOPSIS 36.In lib/libkern/libkern.h 37.Ft int 38.Fn ffs "int value" 39.Ft int 40.Fn fls "int value" 41.Ft int 42.Fn flsl "long value" 43.Sh DESCRIPTION 44The 45.Fn ffs 46function finds the first bit set in 47.Fa value . 48It has the same semantics as it's libc counterpart 49.Xr ffs 3 . 50.Pp 51The 52.Fn fls 53and 54.Fn flsl 55functions find the last bit set in 56.Fa value 57and return the index of that bit. 58.Sh SEE ALSO 59.Xr ffs 3 60.Sh STANDARDS 61The 62.Fn ffs 63function conforms to 64.St -p1003.1-2008 . 65.Sh HISTORY 66The 67.Fn ffs 68function is based on a vax instruction of the same name. 69