Chapter Contents |
Previous |
Next |
w_getmntent |
Portability: | SAS/C extension |
SYNOPSIS | |
DESCRIPTION | |
RETURN VALUE | |
PORTABILITY | |
EXAMPLE | |
RELATED FUNCTIONS |
SYNOPSIS |
#include <sys/mntent.h> int w_getmntent(void *sysInfo, int infoSize);
DESCRIPTION |
w_getmntent
gets information about the mounted file systems and saves
that information in
w_mntent
structures, declared in
<sys/mntent.h>
. The arguments to
w_getmntent
are:
sysInfo
w_getmntent
function copies a
w_mntent
structure into this area for each file system that is mounted.
infoSize
sysInfo
buffer area. If you are not sure of the
required size, you can specify a
0
, which will cause the
w_getmntent
function to return the number of file systems without actually
copying any
w_mntent
information.
The
w_mntent
structures contains entries that provide the following information:
mnt_fsname
w_statfs
function to obtain more information.
mnt_dir
A
w_mnth
structure, which is also declared in
<sys/mntent.h>
, is stored at the beginning to the
sysInfo
buffer area, before any of the
w_mntent
structues. The
w_mnth
structure forms a buffer
area header that contains positioning information that is used when multiple
calls to
w_getmntent
are
made to store information about several mounted file systems. The following
w_mnth
entries are used:
mnth_size
mnth_cur
The positioning information should be initialized to
0
s and
should not be changed
between calls to the
w_getmntent
function. Subsequent calls to
w_getmntent
will append new
w_mntent
structures to the buffer area. A
0
is returned by
w_getmntent
after information about the last file system has been written to the
buffer area.
RETURN VALUE |
If successful,
w_getmntent
returns the number of
w_mntent
structures that have been copied to the buffer area. If
infoSize
was
0
, the total number of file
systems is returned,
but no data are copied. A
-1
is returned if
w_getmntent
is unsuccessful.
PORTABILITY |
The
w_getmntent
function may be useful in USS applications; however, it
is not defined by the POSIX.1 standard and should not be used in portable
applications.
EXAMPLE |
The following example illustrates the
use of
w_getmntent
to obtain
information about a mounted file system:
#include <sys/types.h> #include <sys/mntent.h> #include <string.h> #include <stdio.h> #define MAX_FILE_SYS 10 main() { int lastSys = 0, sysCount; struct { struct w_mnth header; struct w_mntent fileSysInfo[MAX_FILE_SYS]; } bufferArea; memset(&bufferArea, 0, sizeof(bufferArea)); do { lastSys = w_getmntent((char *) &bufferArea, sizeof(bufferArea)); if (lastSys == -1) perror("Error during call to w_getmntent."); else { for (sysCount = 0; sysCount < lastSys; ++ sysCount) { printf("File System = %sn", bufferArea.fileSysInfo[sysCount].mnt_fsname); printf("Mount Point = %snn", bufferArea.fileSysInfo[sysCount].mnt_mountpoint); } } } while (lastSys < 0); }
RELATED FUNCTIONS |
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.