getmntinfo, getmntinfo_r - Get information about mounted file systems
Standard C Library (libc.so, libc.a)
#include <sys/types.h> #include <sys/mount.h>
struct statfs **mntbufp,
[Digital] The following obsolete function is supported in order to maintain
backward compatibility with previous versions of the operating system. You should
not use it in new designs.
struct statfs **mntbufp,
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 flags 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. It is supported in order to maintain backward compatibility with previous versions of the operating system and should not be used in new designs. 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) delim off