summaryrefslogtreecommitdiff
path: root/static/openbsd/man2/chflags.2
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:54:44 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:54:44 -0400
commita9157ce950dfe2fc30795d43b9d79b9d1bffc48b (patch)
tree9df484304b560466d145e662c1c254ff0e9ae0ba /static/openbsd/man2/chflags.2
parent160aa82b2d39c46ad33723d7d909cb4972efbb03 (diff)
docs: Added All OpenBSD Manuals
Diffstat (limited to 'static/openbsd/man2/chflags.2')
-rw-r--r--static/openbsd/man2/chflags.2228
1 files changed, 228 insertions, 0 deletions
diff --git a/static/openbsd/man2/chflags.2 b/static/openbsd/man2/chflags.2
new file mode 100644
index 00000000..5f9b8470
--- /dev/null
+++ b/static/openbsd/man2/chflags.2
@@ -0,0 +1,228 @@
+.\" $OpenBSD: chflags.2,v 1.29 2022/08/04 06:20:24 jsg Exp $
+.\" $NetBSD: chflags.2,v 1.6 1995/02/27 12:32:03 cgd Exp $
+.\"
+.\" Copyright (c) 1989, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)chflags.2 8.1 (Berkeley) 6/9/93
+.\"
+.Dd $Mdocdate: August 4 2022 $
+.Dt CHFLAGS 2
+.Os
+.Sh NAME
+.Nm chflags ,
+.Nm chflagsat ,
+.Nm fchflags
+.Nd set file flags
+.Sh SYNOPSIS
+.In sys/stat.h
+.Ft int
+.Fn chflags "const char *path" "unsigned int flags"
+.Ft int
+.Fn fchflags "int fd" "unsigned int flags"
+.In sys/stat.h
+.In fcntl.h
+.Ft int
+.Fn chflagsat "int fd" "const char *path" "unsigned int flags" "int atflags"
+.Sh DESCRIPTION
+The file whose name is given by
+.Fa path
+or referenced by the descriptor
+.Fa fd
+has its flags changed to
+.Fa flags .
+.Pp
+The flags are the bitwise OR of zero or more of the following values:
+.Pp
+.Bl -tag -width "SF_IMMUTABLE" -compact -offset indent
+.It Dv UF_NODUMP
+Do not dump the file.
+.It Dv UF_IMMUTABLE
+The file may not be changed.
+.It Dv UF_APPEND
+The file may only be appended to.
+.It Dv SF_ARCHIVED
+The file may be archived.
+.It Dv SF_IMMUTABLE
+The file may not be changed.
+.It Dv SF_APPEND
+The file may only be appended to.
+.El
+.Pp
+The
+.Dv UF_IMMUTABLE
+and
+.Dv UF_APPEND
+flags may be set or unset by either the owner of a file or the superuser.
+.Pp
+The
+.Dv SF_ARCHIVED ,
+.Dv SF_IMMUTABLE
+and
+.Dv 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
+.Xr init 8
+for details.)
+.Pp
+The
+.Fn chflagsat
+function is equivalent to
+.Fn chflags
+except in the case where
+.Fa path
+specifies a relative path.
+In this case the file to be changed is determined relative to the directory
+associated with the file descriptor
+.Fa fd
+instead of the current working directory.
+.Pp
+If
+.Fn chflagsat
+is passed the special value
+.Dv AT_FDCWD
+(defined in
+.In fcntl.h )
+in the
+.Fa fd
+parameter, the current working directory is used.
+If
+.Fa atflags
+is also zero, the behavior is identical to a call to
+.Fn chflags .
+.Pp
+The
+.Fa atflags
+argument is the bitwise OR of zero or more of the following values:
+.Pp
+.Bl -tag -width AT_SYMLINK_NOFOLLOW -offset indent -compact
+.It Dv AT_SYMLINK_NOFOLLOW
+If
+.Fa path
+names a symbolic link, then the flags of the symbolic link are changed.
+.El
+.Pp
+The
+.Fn fchflags
+function is equivalent to
+.Fn chflags
+except that the file whose flags are changed is specified
+by the file descriptor
+.Fa fd .
+.Sh RETURN VALUES
+.Rv -std
+.Sh ERRORS
+.Fn chflags
+will fail if:
+.Bl -tag -width Er
+.It Bq Er ENOTDIR
+A component of the path prefix is not a directory.
+.It Bq Er ENAMETOOLONG
+A component of a pathname exceeded
+.Dv NAME_MAX
+characters, or an entire pathname (including the terminating NUL)
+exceeded
+.Dv PATH_MAX
+bytes.
+.It Bq Er ENOENT
+The named file does not exist.
+.It Bq Er EACCES
+Search permission is denied for a component of the path prefix.
+.It Bq Er ELOOP
+Too many symbolic links were encountered in translating the pathname.
+.It Bq Er 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.
+.It Bq Er EOPNOTSUPP
+The named file resides on a file system that does not support file
+flags.
+.It Bq Er EROFS
+The named file resides on a read-only file system.
+.It Bq Er EFAULT
+.Fa path
+points outside the process's allocated address space.
+.It Bq Er EIO
+An I/O error occurred while reading from or writing to the file system.
+.It Bq Er EINVAL
+The
+.Fa flags
+value is invalid.
+.It Bq Er EINVAL
+The descriptor references a block or character device and the effective
+user ID is not the superuser.
+.El
+.Pp
+.Fn fchflags
+will fail if:
+.Bl -tag -width Er
+.It Bq Er EBADF
+The descriptor is not valid.
+.It Bq Er EINVAL
+.Fa fd
+refers to a socket, not to a file.
+.It Bq Er EINVAL
+The descriptor references a block or character device and the effective
+user ID is not the superuser.
+.It Bq Er EINVAL
+The
+.Fa flags
+value is invalid.
+.It Bq Er 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.
+.It Bq Er EOPNOTSUPP
+The named file resides on a file system that does not support file
+flags.
+.It Bq Er EROFS
+The file resides on a read-only file system.
+.It Bq Er EIO
+An I/O error occurred while reading from or writing to the file system.
+.El
+.Sh SEE ALSO
+.Xr chflags 1 ,
+.Xr init 8
+.Sh HISTORY
+The
+.Fn chflags
+and
+.Fn fchflags
+functions first appeared in
+.Bx 4.3 Reno .
+The
+.Fn chflagsat
+function first appeared in
+.Fx 10.0 .
+It was added to
+.Ox
+in
+.Ox 5.7 .