table of contents
F_GETFL(2const) | F_GETFL(2const) |
NAME¶
F_GETFL, F_SETFL - get/set file status flags
LIBRARY¶
Standard C library (libc, -lc)
SYNOPSIS¶
#include <fcntl.h>
int fcntl(int fd, F_GETFL); int fcntl(int fd, F_SETFL, int arg);
DESCRIPTION¶
Each open file description has certain associated status flags, initialized by open(2) and possibly modified by fcntl(2). Duplicated file descriptors (made with dup(2), F_DUPFD(2const), fork(2), etc.) refer to the same open file description, and thus share the same file status flags.
The file status flags and their semantics are described in open(2).
- F_GETFL
- Return (as the function result) the file access mode and the file status flags; arg is ignored.
- F_SETFL
- Set the file status flags to the value specified by arg. File access mode (O_RDONLY, O_WRONLY, O_RDWR) and file creation flags (i.e., O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC) in arg are ignored. On Linux, this operation can change only the O_APPEND, O_ASYNC, O_DIRECT, O_NOATIME, and O_NONBLOCK flags. It is not possible to change the O_DSYNC and O_SYNC flags; see BUGS, below.
RETURN VALUE¶
On error, -1 is returned, and errno is set to indicate the error.
ERRORS¶
See fcntl(2).
- EPERM
- Attempted to clear the O_APPEND flag on a file that has the append-only attribute set.
STANDARDS¶
POSIX.1-2008.
HISTORY¶
SVr4, 4.3BSD, POSIX.1-2001.
BUGS¶
F_SETFL¶
It is not possible to use F_SETFL to change the state of the O_DSYNC and O_SYNC flags. Attempts to change the state of these flags are silently ignored.
SEE ALSO¶
2025-07-20 | Linux man-pages (unreleased) |