ffs

FFS(3)                     Linux Programmer's Manual                    FFS(3)

NAME
       ffs, ffsl, ffsll - find first bit set in a word

SYNOPSIS
       #include <strings.h>

       int ffs(int i);

       #include <string.h>

       int ffsl(long int i);

       int ffsll(long long int i);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       ffs():
           Since glibc 2.12:
                   _XOPEN_SOURCE >= 700
                   || ! (_POSIX_C_SOURCE >= 200809L)
                   || /* Glibc since 2.19: */ _DEFAULT_SOURCE
                   || /* Glibc versions <= 2.19: */ _BSD_SOURCE ||
               _SVID_SOURCE
           Before glibc 2.12:
               none
       ffsl(), ffsll():
           Since glibc 2.27:
                   _DEFAULT_SOURCE
           Before glibc 2.27:
                   _GNU_SOURCE

DESCRIPTION
       The ffs() function returns the position of the  first  (least  signifi-
       cant)  bit  set in the word i.  The least significant bit is position 1
       and the most significant position is, for example, 32 or 64.  The func-
       tions  ffsll()  and  ffsl()  do the same but take arguments of possibly
       different size.

RETURN VALUE
       These functions return the position of the first bit set, or  0  if  no
       bits are set in i.

ATTRIBUTES
       For  an  explanation  of  the  terms  used  in  this  section,  see at-
       tributes(7).

       +-----------------------+---------------+---------+
       |Interface              | Attribute     | Value   |
       +-----------------------+---------------+---------+
       |ffs(), ffsl(), ffsll() | Thread safety | MT-Safe |
       +-----------------------+---------------+---------+
CONFORMING TO
       ffs(): POSIX.1-2001, POSIX.1-2008, 4.3BSD.

       The ffsl() and ffsll() functions are glibc extensions.

NOTES
       BSD systems have a prototype in <string.h>.

SEE ALSO
       memchr(3)

COLOPHON
       This page is part of release 5.05 of the Linux  man-pages  project.   A
       description  of  the project, information about reporting bugs, and the
       latest    version    of    this    page,    can     be     found     at
       https://www.kernel.org/doc/man-pages/.

GNU                               2017-09-15                            FFS(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2024 Hurricane Electric. All Rights Reserved.