The
getfsent (,);
getfsspec (,);
and
getfsfile ();
functions
each return a pointer to an object with the following structure
containing the broken-out fields of a line in the file system
description file,
In fstab.h .
struct fstab {
char *fs_spec; /* block special device name */
char *fs_file; /* file system path prefix */
char *fs_vfstype; /* File system type, ufs, nfs */
char *fs_mntops; /* Mount options ala -o */
char *fs_type; /* FSTAB_* from fs_mntops */
int fs_freq; /* dump frequency, in days */
int fs_passno; /* pass number on parallel fsck */
};
The
setfsent ();
function
opens the file (closing any previously opened file) or rewinds it
if it is already open.
The
endfsent ();
function
closes the file.
The
setfstab ();
function sets the file to be used by subsequent operations.
The value set by
setfstab ();
does not persist across calls to
endfsent (.);
The
getfstab ();
function returns the name of the file that will be used.
The
getfsspec ();
and
getfsfile ();
functions
search the entire file (opening it if necessary) for a matching special
file name or file system file name.
For programs wishing to read the entire database,
getfsent ();
reads the next entry (opening the file if necessary).
All entries in the file with a type field equivalent to
FSTAB_XX
are ignored.
RETURN VALUES
The
getfsent (,);
getfsspec (,);
and
getfsfile ();
functions
return a
NULL
pointer on
EOF
or error.
The
setfsent ();
function
returns 0 on failure, 1 on success.
The
endfsent ();
function
returns nothing.
ENVIRONMENT
PATH_FSTAB
If the environment variable
PATH_FSTAB
is set, all operations are performed against the specified file.
PATH_FSTAB
will not be honored if the process environment or memory address space is
considered
``tainted''
(See
issetugid(2)
for more information.)
The
getfsent ();
function appeared in
BSD 4.0
the
endfsent (,);
getfsfile (,);
getfsspec (,);
and
setfsent ();
functions appeared in
BSD 4.3
the
setfstab ();
and
getfstab ();
functions appeared in
Fx 5.1 .
BUGS
These functions use static data storage;
if the data is needed for future use, it should be
copied before any subsequent calls overwrite it.