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_NODUMP
UF_IMMUTABLE
UF_APPEND
UF_OPAQUE
SF_ARCHIVED
SF_IMMUTABLE
SF_APPEND
The 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.0 |