diff --git a/man2/faccessat.2 b/man2/faccessat.2 index 0688f4127..9d4f76e5b 100644 --- a/man2/faccessat.2 +++ b/man2/faccessat.2 @@ -1,169 +1 @@ -.\" This manpage is Copyright (C) 2006, Michael Kerrisk -.\" -.\" %%%LICENSE_START(VERBATIM) -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" %%%LICENSE_END -.\" -.TH FACCESSAT 2 2014-01-21 "Linux" "Linux Programmer's Manual" -.SH NAME -faccessat \- check user's permissions of a file relative to a \ -directory file descriptor -.SH SYNOPSIS -.nf -.B #include /* Definition of AT_* constants */ -.B #include -.sp -.BI "int faccessat(int " dirfd ", const char *" pathname ", int " \ -mode ", int " flags ); -.fi -.sp -.in -4n -Feature Test Macro Requirements for glibc (see -.BR feature_test_macros (7)): -.in -.sp -.BR faccessat (): -.PD 0 -.ad l -.RS 4 -.TP 4 -Since glibc 2.10: -_XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L -.TP -Before glibc 2.10: -_ATFILE_SOURCE -.RE -.ad -.PD -.SH DESCRIPTION -The -.BR faccessat () -system call operates in exactly the same way as -.BR access (2), -except for the differences described in this manual page. - -If the pathname given in -.I pathname -is relative, then it is interpreted relative to the directory -referred to by the file descriptor -.I dirfd -(rather than relative to the current working directory of -the calling process, as is done by -.BR access (2) -for a relative pathname). - -If -.I pathname -is relative and -.I dirfd -is the special value -.BR AT_FDCWD , -then -.I pathname -is interpreted relative to the current working -directory of the calling process (like -.BR access (2)). - -If -.I pathname -is absolute, then -.I dirfd -is ignored. - -.I flags -is constructed by ORing together zero or more of the following values: -.TP -.B AT_EACCESS -Perform access checks using the effective user and group IDs. -By default, -.BR faccessat () -uses the real IDs (like -.BR access (2)). -.TP -.B AT_SYMLINK_NOFOLLOW -If -.I pathname -is a symbolic link, do not dereference it: -instead return information about the link itself. -.SH RETURN VALUE -On success, (all requested permissions granted) -.BR faccessat () -returns 0. -On error, \-1 is returned and -.I errno -is set to indicate the error. -.SH ERRORS -The same errors that occur for -.BR access (2) -can also occur for -.BR faccessat (). -The following additional errors can occur for -.BR faccessat (): -.TP -.B EBADF -.I dirfd -is not a valid file descriptor. -.TP -.B EINVAL -Invalid flag specified in -.IR flags . -.TP -.B ENOTDIR -.I pathname -is relative and -.I dirfd -is a file descriptor referring to a file other than a directory. -.SH VERSIONS -.BR faccessat () -was added to Linux in kernel 2.6.16; -library support was added to glibc in version 2.4. -.SH CONFORMING TO -POSIX.1-2008. -.SH NOTES -See -.BR openat (2) -for an explanation of the need for -.BR faccessat (). - -.IR Warning : -.BR faccessat () -is subject to the same kinds of races as -.BR access (2) -and -.BR euidaccess (3). -.SS Glibc notes -The raw system call takes only the first three arguments. -The -.B AT_EACCESS -and -.B AT_SYMLINK_NOFOLLOW -flags are actually implemented within the glibc wrapper function for -.BR faccessat (). -If either of these flags is specified, then the wrapper function employs -.BR fstatat (2) -to determine access permissions. -.SH SEE ALSO -.BR access (2), -.BR openat (2), -.BR euidaccess (3), -.BR credentials (7), -.BR path_resolution (7), -.BR symlink (7) +.so man2/access.2