Yolinux.com

FFS manpage

Search topic Section


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():
	   _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
       attributes(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 4.10 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)