getmntent(3C)
NAME
getmntent, getmntany, hasmntopt, putmntent − get mnttab file information
SYNOPSIS
#include <stdio.h>
#include <sys/mnttab.h>
int getmntent(FILE ∗fp, struct mnttab ∗mp);
int getmntany(FILE ∗fp, struct mnttab ∗mp, struct mnttab ∗mpref);
char ∗hasmntopt(struct mnttab ∗mnt, char ∗opt);
int putmntent(FILE ∗iop, struct mnttab ∗mp);
MT-LEVEL
Safe
DESCRIPTION
getmntent() and getmntany() each fill in the structure pointed to by mp with the broken-out fields of a line in the /etc/mnttab file. Each line in the file contains a mnttab structure, which is declared in the <sys/mnttab.h> header. The structure contains the following members:
char∗mnt_special;
char∗mnt_mountp;
char∗mnt_fstype;
char∗mnt_mntopts;
char∗mnt_time;
The fields have meanings described in mnttab(4).
getmntent() returns a pointer to the next mnttab structure in the file; so successive calls can be used to search the entire file. getmntany() searches the file referenced by fp until a match is found between a line in the file and mpref. mpref matches the line if all non-null entries in mpref match the corresponding fields in the file. Note that these routines do not open, close, or rewind the file.
hasmntopt() scans the mnt_mntopts field 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.
The putmntent() macro formats the contents of the mnttab structure according to the layout required for the /etc/mnttab file and writes the entry to the file. Note: the file should be opened in append mode (fopen() with an "a" mode) so that the entry is appended to the file.
RETURN VALUES
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 possible error values are:
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.
On success, putmntent() returns the number of bytes printed to the specified file and on failure returns EOF.
FILES
/etc/mnttab
SEE ALSO
NOTES
The members of the mnttab structure point to information contained in a static area, so it must be copied if it is to be saved.
SunOS 5.2 — Last change: 22 Jan 1993