| CHFLAGS(2) | System Calls Manual | CHFLAGS(2) |
chflags, lchflags,
fchflags — set file
flags
Standard C Library (libc, -lc)
#include
<sys/stat.h>
#include <unistd.h>
int
chflags(const
char *path, u_long
flags);
int
lchflags(const
char *path, u_long
flags);
int
fchflags(int
fd, u_long
flags);
The file whose name is given by path or
referenced by the descriptor fd has its flags changed
to flags. For
lchflags(),
symbolic links are not traversed and thus their modes may be changed with
this call.
The flags specified are formed by or'ing the following values:
UF_NODUMPUF_IMMUTABLEUF_APPENDUF_OPAQUESF_ARCHIVEDSF_IMMUTABLESF_APPENDThe UF_NODUMP,
UF_IMMUTABLE, UF_APPEND, and
UF_OPAQUE flags may be set or unset by either the
owner of a file or the super-user, except on block and character devices,
where only the super-user may set or unset them.
The SF_ARCHIVED,
SF_IMMUTABLE, and SF_APPEND
flags may only be set or unset by the super-user. These flags 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.)
Upon successful completion, a value of 0 is returned. Otherwise, -1 is returned and the global variable errno is set to indicate the error.
chflags() will fail if:
ENOTDIR]ENAMETOOLONG]NAME_MAX}
characters, or an entire path name exceeded
{PATH_MAX} characters.ENOENT]EACCES]ELOOP]EPERM]EOPNOTSUPP]EROFS]EFAULT]EIO]fchflags() will fail if:
EBADF]EINVAL]EPERM]EOPNOTSUPP]EROFS]EIO]The chflags() and
fchflags() functions first appeared in
4.4BSD. The lchflags()
function first appeared in NetBSD 1.5.
| August 6, 2011 | NetBSD 11.0 |