FCHMODAT(2) | Linux Programmer's Manual | FCHMODAT(2) |
NAME
fchmodat - change permissions of a file relative to a directory file descriptorSYNOPSIS
#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:
- _ATFILE_SOURCE
DESCRIPTION
The fchmodat() system call operates in exactly the same way as chmod(2), except for the differences described in this manual page.- AT_SYMLINK_NOFOLLOW
- 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():- EBADF
- dirfd is not a valid file descriptor.
- EINVAL
- Invalid flag specified in flags.
- ENOTDIR
- pathname is relative and dirfd is a file descriptor referring to a file other than a directory.
- ENOTSUP
- 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.CONFORMING TO
POSIX.1-2008.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.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/.2012-05-22 | Linux |