Provided by: manpages-dev_4.04-2_all bug

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:
               _SVID_SOURCE || _BSD_SOURCE || _POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700
               ||
           Before glibc 2.12:
               none
       ffsl(), ffsll():
           _GNU_SOURCE

DESCRIPTION

       The ffs() function returns the position of the first (least significant) 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 functions 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 attributes(7).

       ┌───────────────────────┬───────────────┬─────────┐
       │InterfaceAttributeValue   │
       ├───────────────────────┼───────────────┼─────────┤
       │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 4.04 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 http://www.kernel.org/doc/man-pages/.