| 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 10.0 |