GETFSENT
NAME
getfsent, getfsspec, getfsfile, setfsent, endfsent - handle fstab entries
SYNOPSIS
#include <fstab.h>
I void endfsent(void);
I struct fstab *getfsent(void);
I struct fstab *getfsfile(const char * mount_point );
I struct fstab *getfsspec(const char * special_file );
I int setfsent(void);
DESCRIPTION
These functions read from the file
R /etc/fstab .
The struct fstab is defined by
struct fstab {
char *fs_spec; /* block device name */
char *fs_file; /* mount point */
char *fs_vfstype; /* filesystem type */
char *fs_mntops; /* mount options */
const char *fs_type; /* rw/rq/ro/sw/xx option */
int fs_freq; /* dump frequency, in days */
int fs_passno; /* pass number on parallel dump */
};
Here the field
fs_type
contains (on a *BSD system)
one of the five strings "rw", "rq", "ro", "sw", "xx"
(read-write, read-write with quota, read-only, swap, ignore).
The function
R setfsent ()
opens the file when required and positions it at the first line.
The function
R getfsent ()
parses the next line from the file.
(After opening it when required.)
The function
R endfsent ()
closes the file when required.
The function
R getfsspec ()
searches the file from the start and returns the first entry found
for which the
fs_spec
field matches the
special_file
argument.
The function
R getfsfile ()
searches the file from the start and returns the first entry found
for which the
fs_file
field matches the
mount_point
argument.
RETURN VALUE
Upon success, the functions
R getfsent (),
R getfsfile (),
and
R getfsspec ()
return a pointer to a struct fstab, while
R setfsent ()
returns 1.
Upon failure or end-of-file, these functions return NULL and 0, respectively.
CONFORMING TO
These functions are not in POSIX.1-2001.
Several operating systems have them,
e.g., *BSD, SunOS, Digital Unix, AIX (which also has a
R getfstype ()).
HP-UX has functions of the same names,
that however use a
struct checklist
instead of a
struct fstab,
and calls these functions obsolete, superseded by
getmntent(3).
NOTES
These functions are not thread-safe.
Since Linux allows mounting a block special device in several places,
and since several devices can have the same mount point, where the
last device with a given mount point is the interesting one,
while
R getfsfile ()
and
R getfsspec ()
only return the first occurrence, these two functions are not suitable
for use under Linux.
SEE ALSO