Description

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 contains 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)).

Fields with no actual content in /etc/mnttab are represented in the file
as ”-”. To clearly distinguish empty fields, getmntent() set the corresponding field
in mp to NULL.

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. These functions do not open, close, or rewind the file.

getextmntent()

The getextmntent() function is an extended version of the getmntent() function that
returns, in addition to the information 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 accomplished 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.

hasmntopt()

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.

putmntent()

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 transition purposes.

resetmnttab()

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 whenever the mnttab file is either rewound or closed and
reopened before any calls are made to getextmntent().

Return Values

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>:

MNT_TOOLONG

A line in the file exceeded the internal buffer size of MNT_LINE_MAX.

MNT_TOOMANY

A line in the file contains too many fields.

MNT_TOOFEW

A line in the file contains too few fields.

hasmntopt()

Upon successful completion, hasmntopt() returns the address of the substring if a
match is found. Otherwise, it returns 0.