NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ATTRIBUTES | CONFORMING TO | NOTES | SEE ALSO | COLOPHON

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

NAME         top

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

SYNOPSIS         top

       #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():
           _GNU_SOURCE

DESCRIPTION         top

       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         top

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

ATTRIBUTES         top

       For an explanation of the terms used in this section, see
       attributes(7).

       ┌───────────────────────┬───────────────┬─────────┐
       │Interface              Attribute     Value   │
       ├───────────────────────┼───────────────┼─────────┤
       │ffs(), ffsl(), ffsll() │ Thread safety │ MT-Safe │
       └───────────────────────┴───────────────┴─────────┘

CONFORMING TO         top

       ffs(): POSIX.1-2001, POSIX.1-2008, 4.3BSD.

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

NOTES         top

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

SEE ALSO         top

       memchr(3)

COLOPHON         top

       This page is part of release 4.08 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                              2016-10-08                           FFS(3)