![]() 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.