Quick ?s
Cheat Sheets
Man Pages
The Lynx
FACCESSAT(2)		   Linux Programmers Manual		 FACCESSAT(2)

       faccessat  - check users permissions of a file relative to a directory
       file descriptor

       #define _ATFILE_SOURCE
       #include  /* Definition of AT_* constants */

       int faccessat(int dirfd, const char *pathname, int mode, int flags);

       The faccessat() system  call  operates  in  exactly  the  same  way  as
       access(2), except for the differences described in this manual page.

       If  the	pathname given in pathname is relative, then it is interpreted
       relative to the directory referred to  by  the  file  descriptor  dirfd
       (rather	than  relative to the current working directory of the calling
       process, as is done by access(2) for a relative pathname).

       If pathname is relative and dirfd is the special value  AT_FDCWD,  then
       pathname  is  interpreted  relative to the current working directory of
       the calling process (like access(2)).

       If pathname is absolute, then dirfd is ignored.

       flags is constructed by ORing together zero or more  of	the  following

	      Perform  access  checks  using the effective user and group IDs.
	      By default, faccessat() uses the real IDs (like access(2)).

	      If pathname is a symbolic link, do not dereference  it:  instead
	      return information about the link itself.

       On  success, (all requested permissions granted) faccessat() returns 0.
       On error, -1 is returned and errno is set to indicate the error.

       The same errors that occur for access(2) can  also  occur  for  facces
       sat().  The following additional errors can occur for faccessat():

       EBADF  dirfd is not a valid file descriptor.

       EINVAL Invalid flag specified in flags.

	      pathname is relative and dirfd is a file descriptor referring to
	      a file other than a directory.

       faccessat() was added to Linux in kernel 2.6.16.

       This system call is non-standard but is proposed  for  inclusion  in  a
       future revision of POSIX.1.

       See openat(2) for an explanation of the need for faccessat().

   Glibc Notes
       The  AT_EACCESS	and AT_SYMLINK_NOFOLLOW flags are actually implemented
       within the glibc wrapper function for faccessat().  If either of  these
       flags  are  specified,  then the wrapper function employs fstatat(2) to
       determine access permissions.

       access(2),  openat(2),  euidaccess(3),	credentials(7),   path_resolu
       tion(7), symlink(7)

       This  page  is  part of release 3.05 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://www.kernel.org/doc/man-pages/.

Linux				  2007-02-28			  FACCESSAT(2)

Yals.net is © 1999-2009 Crescendo Communications
Sharing tech info on the web for more than a decade!
This page was generated Thu Apr 30 17:05:23 2009