136 lines
3.5 KiB
Groff
136 lines
3.5 KiB
Groff
|
.\"
|
||
|
.\" Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
|
||
|
.\"
|
||
|
.\" @APPLE_LICENSE_HEADER_START@
|
||
|
.\"
|
||
|
.\" The contents of this file constitute Original Code as defined in and
|
||
|
.\" are subject to the Apple Public Source License Version 1.1 (the
|
||
|
.\" "License"). You may not use this file except in compliance with the
|
||
|
.\" License. Please obtain a copy of the License at
|
||
|
.\" http://www.apple.com/publicsource and read it before using this file.
|
||
|
.\"
|
||
|
.\" This Original Code and all software distributed under the License are
|
||
|
.\" distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
|
||
|
.\" EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
|
||
|
.\" INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
|
||
|
.\" FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
|
||
|
.\" License for the specific language governing rights and limitations
|
||
|
.\" under the License.
|
||
|
.\"
|
||
|
.\" @APPLE_LICENSE_HEADER_END@
|
||
|
.\"
|
||
|
.Dd January 14, 2003
|
||
|
.Dt FSCTL 2
|
||
|
.Os "Mac OS X"
|
||
|
.Sh NAME
|
||
|
.Nm fsctl
|
||
|
.Nd control filesystems
|
||
|
.Sh SYNOPSIS
|
||
|
.Fd #include <sys/attr.h>
|
||
|
.Fd #include <sys/ioctl.h>
|
||
|
.Ft int
|
||
|
.Fn fsctl "const char *path" "unsigned long request" "void *data" "unsigned long options"
|
||
|
.Sh DESCRIPTION
|
||
|
The
|
||
|
.Fn fsctl
|
||
|
function manipulates the filesystem controlling mounted volumes.
|
||
|
In particular, many filesystem-specific operating
|
||
|
characteristics of mounted filesystems may be controlled
|
||
|
with
|
||
|
.Fn fsctl
|
||
|
requests.
|
||
|
.Fn fsctl
|
||
|
requests can also be used to extract filesystem-specific
|
||
|
information for a mounted volumes.
|
||
|
.Pp
|
||
|
.Fa path
|
||
|
is the path name of any file within the mounted filesystem.
|
||
|
An fsctl
|
||
|
.Fa request
|
||
|
has encoded in it whether the argument is an
|
||
|
.Dq in
|
||
|
parameter
|
||
|
or
|
||
|
.Dq out
|
||
|
parameter, and the size of the argument
|
||
|
.Fa data
|
||
|
in bytes.
|
||
|
Values for
|
||
|
.Fa request
|
||
|
are entirely filesystem-specific except for the following, defined in
|
||
|
.Ao Pa sys/fsctl.h Ac :
|
||
|
.Bd -literal -offset indent
|
||
|
FSGETMOUNTINFOSIZE /* Return size of mount info data */
|
||
|
.Ed
|
||
|
.Pp
|
||
|
Macros and defines used in specifying an fsctl
|
||
|
.Fa request
|
||
|
are the same as for
|
||
|
.Fn ioctl
|
||
|
requests and are located in the file
|
||
|
.Ao Pa sys/ioccom.h Ac .
|
||
|
.Fa options
|
||
|
may specify special flags for the processing of the
|
||
|
.Fn fsctl
|
||
|
call. The options are specified by
|
||
|
.Em or Ns 'ing
|
||
|
the option values. The only option currently defined is
|
||
|
.Bd -literal -offset indent
|
||
|
#define FSOPT_NOFOLLOW 0x00000001 /* Don't follow symlinks */
|
||
|
.Ed
|
||
|
.Pp
|
||
|
which is interpreted by the
|
||
|
.Fn fsctl
|
||
|
call to prevent following of symlinks. The
|
||
|
.Fa options
|
||
|
argument is passed to the filesystem, which may define and handle
|
||
|
additional
|
||
|
.Fa options
|
||
|
bit values.
|
||
|
.Sh RETURN VALUES
|
||
|
.Pp
|
||
|
If an error has occurred, a value of -1 is returned and
|
||
|
.Va errno
|
||
|
is set to indicate the error.
|
||
|
.Sh ERRORS
|
||
|
.Fn fsctl
|
||
|
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 path name exceeded
|
||
|
.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 EFAULT
|
||
|
.Fa path
|
||
|
or
|
||
|
.Em data
|
||
|
points to an invalid address.
|
||
|
.It Bq Er EIO
|
||
|
An
|
||
|
.Tn I/O
|
||
|
error occurred while reading from or writing to the file system.
|
||
|
.It Bq Er EINVAL
|
||
|
.Fa request
|
||
|
or
|
||
|
.Fa data
|
||
|
is not valid.
|
||
|
.El
|
||
|
.Sh SEE ALSO
|
||
|
.Xr getattrlist 2 ,
|
||
|
.Xr ioctl 2 ,
|
||
|
.Xr setattrlist 2
|
||
|
.Sh HISTORY
|
||
|
The
|
||
|
.Fn fsctl
|
||
|
function call appeared in Mac OS X version 10.0.
|