manpagez: man pages & more
man fsctl(2)
Home | html | info | man
fsctl(2)		    BSD System Calls Manual		      fsctl(2)


NAME

     fsctl - control filesystems


SYNOPSIS

     #include <sys/attr.h>
     #include <sys/ioctl.h>

     int
     fsctl(const char *path, unsigned long request, void *data,
	     unsigned long options);


DESCRIPTION

     The fsctl() function manipulates the filesystem controlling mounted vol-
     umes.  In particular, many filesystem-specific operating characteristics
     of mounted filesystems may be controlled with fsctl() requests.  fsctl()
     requests can also be used to extract filesystem-specific information for
     a mounted volumes.

     path is the path name of any file within the mounted filesystem.  An
     fsctl request has encoded in it whether the argument is an ``in'' parame-
     ter or ``out'' parameter, and the size of the argument data in bytes.
     Values for request are entirely filesystem-specific except for the fol-
     lowing, defined in <sys/fsctl.h>:

	   FSGETMOUNTINFOSIZE	   /* Return size of mount info data */

     Macros and defines used in specifying an fsctl request are the same as
     for ioctl() requests and are located in the file <sys/ioccom.h>.  options
     may specify special flags for the processing of the fsctl() call.	The
     options are specified by or'ing the option values.	 The only option cur-
     rently defined is

	   #define FSOPT_NOFOLLOW  0x00000001	   /* Don't follow symlinks */

     which is interpreted by the fsctl() call to prevent following of sym-
     links.  The options argument is passed to the filesystem, which may
     define and handle additional options bit values.


RETURN VALUES

     If an error has occurred, a value of -1 is returned and errno is set to
     indicate the error.


ERRORS

     fsctl() will fail if:

     [ENOTDIR]		A component of the path prefix is not a directory.

     [ENAMETOOLONG]	A component of a pathname exceeded {NAME_MAX} charac-
			ters, or an entire path name exceeded {PATH_MAX} char-
			acters.

     [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 translat-
			ing the pathname.

     [EFAULT]		path or data points to an invalid address.

     [EIO]		An I/O error occurred while reading from or writing to
			the file system.

     [EINVAL]		request or data is not valid.


SEE ALSO

     ioctl(2), getattrlist(2), setattrlist(2)


HISTORY

     The fsctl() function call appeared in Mac OS X version 10.0.

Mac OS X		       January 14, 2003			      Mac OS X

Mac OS X 10.3 - Generated Tue Feb 26 06:06:30 CST 2008
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.