All rights reserved.
%sccs.include.redist.man%
@(#)chflags.2 6.3 (Berkeley) 06/23/90
chflags(path, flags) char *path; long flags;fchflags(fd, flags) int fd; long flags;
Only the owner of a file (or the super-user) may change the flags. The owner may only change the lower 16 bits of the flags; the super-user may change all 32 bits of the flags.
15 [ENOTDIR] A component of the path prefix is not a directory.
15 [EINVAL] The pathname contains a character with the high-order bit set.
15 [ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters.
15 [ENOENT] The named file does not exist.
15 [EACCES] Search permission is denied for a component of the path prefix.
15 [ELOOP] Too many symbolic links were encountered in translating the pathname.
15 [EPERM] The effective user ID does not match the owner of the file and the effective user ID is not the super-user.
15 [EROFS] The named file resides on a read-only file system.
15 [EFAULT] Path points outside the process's allocated address space.
15 [EIO] An I/O error occurred while reading from or writing to the file system.
Fchflags will fail if:
15 [EBADF] The descriptor is not valid.
15 [EINVAL] Fd refers to a socket, not to a file.
15 [EPERM] The effective user ID does not match the owner of the file and the effective user ID is not the super-user.
15 [EROFS] The file resides on a read-only file system.
15 [EIO] An I/O error occurred while reading from or writing to the file system.