|FCHMODAT(2)||Linux Programmer's Manual||FCHMODAT(2)|
NAMEfchmodat - change permissions of a file relative to a directory file descriptor
#include <fcntl.h> /* Definition of AT_* constants */ #include
int fchmodat(int dirfd , const char * pathname , mode_t mode , int flags );
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
- Since glibc 2.10:
- _XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
- Before glibc 2.10:
DESCRIPTIONThe fchmodat() system call operates in exactly the same way as chmod(2), except for the differences described in this manual page.
- If pathname is a symbolic link, do not dereference it: instead operate on the link itself. This flag is not currently implemented.
RETURN VALUEOn success, fchmodat() returns 0. On error, -1 is returned and errno is set to indicate the error.
ERRORSThe same errors that occur for chmod(2) can also occur for fchmodat(). The following additional errors can occur for fchmodat():
- dirfd is not a valid file descriptor.
- Invalid flag specified in flags.
- pathname is relative and dirfd is a file descriptor referring to a file other than a directory.
- flags specified AT_SYMLINK_NOFOLLOW, which is not supported.
VERSIONSfchmodat() was added to Linux in kernel 2.6.16; library support was added to glibc in version 2.4.
NOTESSee openat(2) for an explanation of the need for fchmodat().
SEE ALSOchmod(2), openat(2), path_resolution(7), symlink(7)
COLOPHONThis page is part of release 3.53 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/.