getmntinfo, getmntinfo_r - Get information about mounted
file systems
#include <sys/types.h> #include <sys/mount.h>
int getmntinfo(
struct statfs **mntbufp,
int flags );
The following obsolete function is supported only for
backward compatibility reasons. You should not use it in
new designs. int getmntinfo_r(
struct statfs **mntbufp,
int flags,
int *mntsizep,
int *bufsizep );
Standard C Library (libc)
Points to a location to which the getmntinfo function
returns an array of statfs structures that describe each
currently mounted file system. If you specify an invalid
address, [EFAULT] status is returned in errno. If you
specify NULL, an invalid memory access occurs. Specifies
one of the following options to be passed transparently to
the getfsstat() function: Waits for an update from each
file system before returning information. Information is
returned without requesting an update from each file system.
Thus, some of the information will be out of date,
but the getfsstat() function will not block waiting for
information from a file system that is unable to respond.
Points to the location where the number of mounted file
systems is stored. Points to the size of the buffer containing
the array of statfs structures for all mounted
file systems.
The getmntinfo() function returns an array of statfs
structures describing each currently mounted file system
(see the statfs() reference page). The getmntinfo() function
takes a struct statfs **mntbufp, which it sets to a
malloc() ed buffer.
The getmntinfo() function passes its flags parameter
transparently to getfsstat().
The getmntinfo() function stores information on the malloc()
ed buffer in a thread-specific buffer. Subsequent
calls to this function from the same thread must therefore
use the same buffer argument. The buffer will be overwritten,
and possibly moved, on subsequent calls.
The getmntinfo_r() function is an obsolete reentrant version
of the getmntinfo() function. Note that you must set
the mntbufp parameter to NULL before its first access by
the getmntinfo_r() function. This prevents the free()
function from being called on whatever mntbufp already
contains by the first getmntinfo_r() call. You must also
set the mntsizep and bufsizep to 0 (zero).
Upon successful completion, the getmntinfo() function
returns a count of the number of elements in the array.
Upon failure, it returns a value of 0 (zero) is returned
and leaves mntbufp unmodified.
Upon successful completion, the getmntinfo_r() function
stores the count of the number of elements in the array
into the int pointed to by mntsizep and returns a value of
0 (zero). Upon failure, it returns a value of -1.
If the getmntinfo() or getmntinfo_r() function fails,
errno may be set to the following: The mntbufp parameter
points to a non-NULL invalid address. An I/O error
occurred while reading from or writing to the file system.
If the bufsizep parameter is invalid. If there is not
enough storage memory in the system.
Functions: getfsstat(2), statfs(2), mount(2), malloc(3)
Commands: mount(8)
getmntinfo(3)
[ Back ] |