getmntent, getmntany, getextmntent, hasmntopt, putmntent,
resetmnttab - get mounted device information
int getmntent(FILE *fp, struct mnttab *mp);
int getmntany(FILE *fp, struct mnttab *mp, struct mnttab
int getextmntent(FILE *fp, struct extmnttab *mp, int len);
char *hasmntopt(struct mnttab *mnt, char *opt);
int putmntent(FILE *iop, struct mnttab *mp);
void resetmnttab(FILE *fp);
getmntent() and getmntany()
The getmntent() and getmntany() functions each fill in the
structure pointed to by mp with the broken-out fields of a
line in the mnttab file. Each line read from the file con-
tains a mnttab structure, which is defined in the
<sys/mnttab.h> header. The structure contains the following
members, which correspond to the broken-out fields from a
line in /etc/mnttab (see mnttab(4)).
char *mnt_special; /* name of mounted resource */
char *mnt_mountp; /* mount point */
char *mnt_fstype; /* type of file system mounted */
char *mnt_mntopts; /* options for this mount */
char *mnt_time; /* time file system mounted */
Each getmntent() call causes a new line to be read from the
mnttab file. Successive calls can be used to search the
entire list. The getmntany() function searches the file
referenced by fp until a match is found between a line in
the file and mpref. A match occurs if all non-null entries
in mpref match the corresponding fields in the file. Note
that these functions do not open, close, or rewind the file.
The getextmntent() function is an extended version of the
getmntent() function that returns, in addition to the infor-
mation that getmntent() returns, the major and minor number
of the mounted resource to which the line in mnttab
corresponds. The getextmntent() function also fills in the
extmntent structure defined in the <sys/mnttab.h> header.
For getextmntent() to function properly, it must be notified
when the mnttab file has been reopened or rewound since a
previous getextmntent() call. This notification is accom-
plished by calling resetmnttab(). Otherwise, it behaves
exactly as getmntent() described above
The data pointed to by the mnttab structure members are
stored in a static area and must be copied to be saved
between successive calls.
The hasmntopt() function scans the mnt_mntopts member of the
mnttab structure mnt for a substring that matches opt. It
returns the address of the substring if a match is found;
otherwise it returns 0. Substrings are delimited by commas
and the end of the mnt_mntopts string.
The putmntent() function is obsolete and no longer has any
effect. Entries appear in mnttab as a side effect of a
mount(2) call. The function name is still defined for tran-
The resetmnttab() function notifies getextmntent() to reload
from the kernel the device information that corresponds to
the new snapshot of the mnttab information (see mnttab(4)).
Subsequent getextmntent() calls then return correct
extmnttab information. This function should be called when-
ever the mnttab file is either rewound or closed and reo-
pened before any calls are made to getextmntent().
getmntent() and getmntany()
If the next entry is successfully read by getmntent() or a
match is found with getmntany(), 0 is returned. If an EOF
is encountered on reading, these functions return -1. If an
error is encountered, a value greater than 0 is returned.
The following error values are defined in <sys/mnttab.h>:
A line in the file exceeded the internal buffer size
A line in the file contains too many fields.
A line in the file contains too few fields.
Upon successful completion, hasmntopt() returns the address
of the substring if a match is found. Otherwise, it returns
The putmntent() is obsolete and always returns -1.
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT-Level | Safe |
mount(2), mnttab(4), attributes(5)
Man(1) output converted with