This patch imports the unmodified current version of NetBSD libc. The NetBSD includes are in /nbsd_include, while the libc code itself is split between lib/nbsd_libc and common/lib/libc.
		
			
				
	
	
		
			188 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			188 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\"	$NetBSD: chflags.2,v 1.26 2010/05/31 12:16:20 njoly 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.3 (Berkeley) 5/2/95
 | 
						|
.\"
 | 
						|
.Dd May 2, 1995
 | 
						|
.Dt CHFLAGS 2
 | 
						|
.Os
 | 
						|
.Sh NAME
 | 
						|
.Nm chflags ,
 | 
						|
.Nm lchflags ,
 | 
						|
.Nm fchflags
 | 
						|
.Nd set file flags
 | 
						|
.Sh LIBRARY
 | 
						|
.Lb libc
 | 
						|
.Sh SYNOPSIS
 | 
						|
.In sys/stat.h
 | 
						|
.In unistd.h
 | 
						|
.Ft int
 | 
						|
.Fn chflags "const char *path"  "u_long flags"
 | 
						|
.Ft int
 | 
						|
.Fn lchflags "const char *path"  "u_long flags"
 | 
						|
.Ft int
 | 
						|
.Fn fchflags "int fd" "u_long flags"
 | 
						|
.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 .
 | 
						|
For
 | 
						|
.Fn lchflags ,
 | 
						|
symbolic links are not traversed and thus their modes may be changed with
 | 
						|
this call.
 | 
						|
.Pp
 | 
						|
The flags specified are formed by
 | 
						|
.Em or Ns 'ing
 | 
						|
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 UF_OPAQUE
 | 
						|
The file (if a directory) is opaque for union mounts.
 | 
						|
.It Dv SF_ARCHIVED
 | 
						|
The file is 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_NODUMP ,
 | 
						|
.Dv UF_IMMUTABLE ,
 | 
						|
.Dv UF_APPEND ,
 | 
						|
and
 | 
						|
.Dv 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.
 | 
						|
.Pp
 | 
						|
The
 | 
						|
.Dv SF_ARCHIVED ,
 | 
						|
.Dv SF_IMMUTABLE ,
 | 
						|
and
 | 
						|
.Dv SF_APPEND
 | 
						|
flags may only be set or unset by the super-user.
 | 
						|
Attempts by the non-super-user to set the super-user only flags
 | 
						|
are silently ignored.
 | 
						|
These flags 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.)
 | 
						|
.Sh RETURN VALUES
 | 
						|
Upon successful completion, a value of 0 is returned.
 | 
						|
Otherwise, \-1 is returned and the global variable
 | 
						|
.Va errno
 | 
						|
is set to indicate the error.
 | 
						|
.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
 | 
						|
.Brq Dv NAME_MAX
 | 
						|
characters, or an entire path name exceeded
 | 
						|
.Brq Dv PATH_MAX
 | 
						|
characters.
 | 
						|
.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 super-user, or
 | 
						|
the effective user ID is not the super-user and one or more 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
 | 
						|
.Tn I/O
 | 
						|
error occurred while reading from or writing to the file system.
 | 
						|
.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 EPERM
 | 
						|
The effective user ID does not match the owner of the file and
 | 
						|
the effective user ID is not the super-user, or
 | 
						|
the effective user ID is not the super-user and one or more of the
 | 
						|
super-user-only flags for the file would be changed.
 | 
						|
.It Bq Er EOPNOTSUPP
 | 
						|
The 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
 | 
						|
.Tn I/O
 | 
						|
error occurred while reading from or writing to the file system.
 | 
						|
.El
 | 
						|
.Sh SEE ALSO
 | 
						|
.Xr chflags 1 ,
 | 
						|
.Xr stat 2 ,
 | 
						|
.Xr init 8 ,
 | 
						|
.Xr mount_union 8
 | 
						|
.Sh HISTORY
 | 
						|
The
 | 
						|
.Fn chflags
 | 
						|
and
 | 
						|
.Fn fchflags
 | 
						|
functions first appeared in
 | 
						|
.Bx 4.4 .
 | 
						|
The
 | 
						|
.Fn lchflags
 | 
						|
function first appeared in
 | 
						|
.Nx 1.5 .
 |