Mac OS X / Darwin man pages : chflags (2)
chflags (2)
Table of Contents
chflags, fchflags - set file flags
#include <sys/stat.h>
#include <unistd.h>
int
chflags(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.
The flags specified are formed by or'ing the following values
- UF_NODUMP
- Do not dump the file.
UF_IMMUTABLE The file may not be changed.
- UF_APPEND
- The file may only be appended to.
SF_IMMUTABLE The file may not be changed.
- SF_APPEND
- The file may only be appended to.
The ``UF_IMMUTABLE'' and ``UF_APPEND'' flags may be set or unset by
either the owner of a file or the super-user.
The ``SF_IMMUTABLE'' and ``SF_APPEND'' flags may only be set or unset by
the super-user. 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.)
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 it:
- [ENOTDIR]
- A component of the path prefix is not a directory.
- [ENAMETOOLONG]
- A component of a pathname exceeded {NAME_MAX} characters,
or an entire path name exceeded {PATH_MAX} characters.
- [ENOENT]
- The named file does not exist.
- [EACCES]
- Search permission is denied for a component of the
path prefix.
- [ELOOP]
- Too many symbolic links were encountered in translating
the pathname.
- [EPERM]
- The effective user ID does not match the owner of the
file and the effective user ID is not the super-user.
- [EROFS]
- The named file resides on a read-only file system.
- [EFAULT]
- Path points outside the process's allocated address
space.
- [EIO]
- An I/O error occurred while reading from or writing to
the file system.
Fchflags() will fail if:
- [EBADF]
- The descriptor is not valid.
- [EINVAL]
- fd refers to a socket, not to a file.
- [EPERM]
- The effective user ID does not match the owner of the
file and the effective user ID is not the super-user.
- [EROFS]
- The file resides on a read-only file system.
- [EIO]
- An I/O error occurred while reading from or writing to
the file system.
chflags(1)
, init(8)
The chflags() and fchflags functions first appeared in 4.4BSD.
Table of Contents
|