*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> fchflags (2)              
Title
Content
Arch
Section
 

CHFLAGS(2)

Contents


NAME    [Toc]    [Back]

     chflags, fchflags - set file flags

SYNOPSIS    [Toc]    [Back]

     #include <sys/stat.h>
     #include <unistd.h>

     int
     chflags(const char *path, unsigned int flags);

     int
     fchflags(int fd, unsigned int flags);

DESCRIPTION    [Toc]    [Back]

     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 superuser.

     The ``SF_IMMUTABLE'' and ``SF_APPEND'' flags may only be set
or unset by
     the superuser.  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.)

RETURN VALUES    [Toc]    [Back]

     Upon successful completion, a value of 0 is returned.   Otherwise, -1 is
     returned  and  the  global variable errno is set to indicate
the error.

ERRORS    [Toc]    [Back]

     chflags() will fail if:

     [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  superuser, or the effective
  user  ID  is not the superuser and at
least one of
                   the super-user-only flags for the  named  file
would be
                   changed.

     [EOPNOTSUPP]   The  named file resides on a file system that
does not support
 file flags.

     [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.

     [EINVAL]       Only  the superuser can change flags on block
and character
                   devices.

     [EINVAL]      The flags value is invalid.

     [EPERM]       The effective user ID does not match the owner
of the file
                   and  the effective user ID is not the superuser, or the effective
 user ID is not the  superuser  and  at
least one of
                   the  super-user-only  flags for the named file
would be
                   changed.

     [EOPNOTSUPP]  The named file resides on a file  system  that
does not support
 file flags.

     [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.

SEE ALSO    [Toc]    [Back]

      
      
     chflags(1), init(8)

HISTORY    [Toc]    [Back]

     The chflags() and fchflags()  functions  first  appeared  in
4.4BSD.

OpenBSD      3.6                           June      9,      1993
[ Back ]
 Similar pages
Name OS Title
chflags OpenBSD change file flags
chflags FreeBSD change file flags
elf_flag IRIX manipulate flags
vm_page_flag_clear FreeBSD change page flags
vm_page_flag_set FreeBSD change page flags
device_get_flags FreeBSD manipulate driver flags
device_set_flags FreeBSD manipulate driver flags
vm_page_flag FreeBSD change page flags
gledgeflagpointer IRIX define an array of edge flags
gledgeflagpointerext IRIX define an array of edge flags
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service