getmntinfo(3)getmntinfo(3)NAME
getmntinfo, getmntinfo_r - Get information about mounted file systems
SYNOPSIS
#include <sys/types.h> #include <sys/mount.h>
int getmntinfo(
struct statfs **mntbufp,
int flags );
The following obsolete function is supported only for backward compati‐
bility reasons. You should not use it in new designs. int getm‐
ntinfo_r(
struct statfs **mntbufp,
int flags,
int *mntsizep,
int *bufsizep );
LIBRARY
Standard C Library (libc)
PARAMETERS
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 getfs‐
stat() 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 infor‐
mation 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.
DESCRIPTION
The getmntinfo() function returns an array of statfs structures
describing each currently mounted file system (see the statfs() refer‐
ence 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().
NOTES
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 pre‐
vents the free() function from being called on whatever mntbufp already
contains by the first getmntinfo_r() call. You must also set the mnt‐
sizep and bufsizep to 0 (zero).
RETURN VALUES
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.
ERRORS
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.
SEE ALSO
Functions: getfsstat(2), statfs(2), mount(2), malloc(3)
Commands: mount(8)getmntinfo(3)