Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Darwin-7.0.1-ppc)
Apropos / Subsearch:
optional field

FSCTL(2)                    BSD System Calls Manual                   FSCTL(2)

     fsctl -- control filesystems

     #include <&lt;sys/attr.h>&gt;
     #include <&lt;sys/ioctl.h>&gt;

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

     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.

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

     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-

     [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.

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

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

Mac OS X                       January 14, 2003                       Mac OS X