table of contents
- wheezy 3.44-1
- jessie 3.74-1
- jessie-backports 4.10-2~bpo8+1
- testing 4.10-2
- unstable 4.10-2
|FCHMODAT(2)||Linux Programmer's Manual||FCHMODAT(2)|
NAME¶fchmodat - change permissions of a file relative to a directory file descriptor
#include <fcntl.h> /* Definition of AT_* constants */ #include <sys/stat.h>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:
DESCRIPTION¶The 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 VALUE¶On success, fchmodat() returns 0. On error, -1 is returned and errno is set to indicate the error.
ERRORS¶The 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.
VERSIONS¶fchmodat() was added to Linux in kernel 2.6.16; library support was added to glibc in version 2.4.
NOTES¶See openat(2) for an explanation of the need for fchmodat().
SEE ALSO¶chmod(2), openat(2), path_resolution(7), symlink(7)
COLOPHON¶This page is part of release 3.44 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/.