| CHFLAGS(2) | System Calls Manual | CHFLAGS(2) |
chflags, lchflags,
fchflags —
#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);
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.)
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]chflags() and fchflags()
functions first appeared in 4.4BSD. The
lchflags() function first appeared in
NetBSD 1.5.
| August 6, 2011 | NetBSD 9.4 |