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