|CHFLAGS(2)||System Calls Manual||CHFLAGS(2)|
set file flags
char *path, unsigned int
fd, unsigned int
fd, const char
*path, unsigned int
The file whose name is given by path or referenced by the descriptor fd has its flags changed to flags.
The flags are the bitwise OR of zero or more of the following values:
UF_APPEND flags may be set or unset by either the
owner of a file or the superuser.
flags may only be set or unset by the superuser. They may be set at any
time, but normally may only be unset when the system is in single-user mode.
(See init(8) for details.)
function is equivalent to
except in the case where path specifies a relative
path. In this case the file to be changed is determined relative to the
directory associated with the file descriptor fd
instead of the current working directory.
is passed the special value
AT_FDCWD (defined in
<fcntl.h>) in the
fd parameter, the current working directory is used.
If atflags is also zero, the behavior is identical to
a call to
The atflags argument is the bitwise OR of zero or more of the following values:
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
chflags() will fail if:
NAME_MAXcharacters, or an entire pathname (including the terminating NUL) exceeded
fchflags() will fail if:
fchflags() functions first appeared in
function first appeared in FreeBSD 10.0. It was
added to OpenBSD in OpenBSD
|March 25, 2019||OpenBSD-6.5|