fsctl(2)fsctl(2)NAMEfsctl - file system control
SYNOPSISDESCRIPTION
provides access to file-system-specific information. fildes is an open
file descriptor for a file in the file system of interest. The possi‐
ble values for command depend on the type of file system. Currently,
defined commands exist only for the CDFS file system (see
outbuf is a pointer to the data area in which data is returned from the
file system. outlen gives the length of the data area pointed to by
outbuf.
The CDFS commands are:
Returns the directory record for the file or directory indicated
by
fildes. The record is returned in a structure
of type cddir, defined in
Returns the extended attribute record, if any,
for the file or directory indicated by fildes.
Because the size of an extended attribute
record varies, be sure outbuf points to a data
area of sufficient size. To find the neces‐
sary size, do the following:
1. Use statfs(2). to get the logical block
size of the CDFS volume.
2. Use an call with the command to get the
extended attribute record size (in
blocks) for the file or directory of
interest. The field in the returned
structure contains the size of the
extended attribute record in logical
blocks. (If this field is zero, the file
or directory has no extended attribute
record.)
3. Multiply by the logical block size
obtained in step 1 to get the total space
needed.
4. Once you get the extended attribute
record, cast outbuf into a pointer to a
structure of type (defined in This
enables you to access those fields that
are common to all extended attribute
records. (See below for an example of
this process.)
If the extended attribute record contains
additional system use or application use
data, that data will have to be accessed
manually.
Returns the abstract file identifier for the primary volume
whose root directory is specified by fildes,
terminated with a NULL character. Note that
the constant defined in gives the maximum
length a file identifier can have. Thus, + 1
can be used for outlen and the size of outbuf.
Returns the bibliographic file identifier for the primary volume
whose root directory is specified by fildes,
terminated with a NULL character. + 1 can be
used for the value of outlen and the size of
outbuf.
Returns the copyright file identifier
for the primary volume whose root directory is
specified by fildes, terminated with a NULL
character. + 1 can be used for the value of
outlen and the size of outbuf.
Returns the volume ID for the primary volume specified by
fildes, terminated with a NULL character. The
maximum size of the volume ID is 32 bytes, so
a length of 33 can be used for outlen and the
size of utbuf.
Returns the volume set ID for the primary volume specified by
fildes, terminated with a NULL character. The
maximum size of the volume set ID is 128
bytes, so a length of 129 can be used for
outlen and the size of outbuf.
EXAMPLES
The following code fragment gets the extended attribute record for a
file on a CDFS volume. The filename is passed in as the first argument
to the routine. Note that error checking is omitted for brevity.
RETURN VALUE
returns the number of bytes read if successful. If an error occurs, −1
is returned and is set to indicate the error.
ERRORS
fails if any of the following conditions are encountered:
[EBADF] fildes is not a valid open file descriptor.
[EFAULT] outbuf points to an invalid address.
[ENOENT] The requested information does not exist.
[EINVAL] command is not a valid command.
[EINVAL] fildes does not refer to a CDFS file system.
SEE ALSOstatfs(2), cdnode(4), cdrom(4).
fsctl(2)