Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

getmntinfo_r_np(3) [mojave man page]

GETMNTINFO(3)						   BSD Library Functions Manual 					     GETMNTINFO(3)

NAME
getmntinfo getmntinfo_r_np getmntinfo64 -- get information about mounted file systems SYNOPSIS
#include <sys/param.h> #include <sys/ucred.h> #include <sys/mount.h> int getmntinfo(struct statfs **mntbufp, int flags); int getmntinfo_r_np(struct statfs **mntbufp, int flags); TRANSITIIONAL SYNOPSIS (NOW DEPRECATED) int getmntinfo64(struct statfs64 **mntbufp, int flags); DESCRIPTION
The getmntinfo() function returns an array of statfs structures describing each currently mounted file system (see statfs(2)). As statfs(2) indicates, the structure is defined differently depending on whether the macro _DARWIN_FEATURE_64_BIT_INODE is defined (see stat(2) for more information on this macro). The getmntinfo() and getmntinfo_r_np() functions pass their flags argument transparently to getfsstat(2). The getmntinfo() function maintains ownership of the results buffer it allocates, and may overwrite or free this buffer in subsequent calls to getmntinfo(). For this reason, getmntinfo() is not thread-safe. The getmntinfo_r_np() function is a thread-safe equivalent of getmntinfo() that allocates a new results buffer on every call and transfers ownership of this buffer to the caller. The caller is responsible for freeing this memory with free(3). RETURN VALUES
On successful completion, getmntinfo() and getmntinfo_r_np() return a count of the number of elements in the array. The pointer to the array is stored into mntbufp. If an error occurs, zero is returned and the external variable errno is set to indicate the error. The getmntinfo() function may modify the mbtbufp pointer even in the case of an error. In this situation, callers should consider any previous information returned by getmntinfo() to be lost. The getmntinfo_r_np() function will not modify the mntbufp pointer in the case of an error. ERRORS
The getmntinfo() and getmntinfo_r_np() functions may fail and set errno for any of the errors specified for the library routines getfsstat(2) or malloc(3). TRANSITIONAL DESCRIPTION (NOW DEPRECATED) The getmntinfo64() routine is equivalent to its corresponding non-64-suffixed routine, when 64-bit inodes are in effect. It was added before there was support for the symbol variants, and so is now deprecated. Instead of using it, set the _DARWIN_USE_64_BIT_INODE macro before including header files to force 64-bit inode support. The statfs64 structure used by this deprecated routine is the same as the statfs structure when 64-bit inodes are in effect. SEE ALSO
getfsstat(2), mount(2), stat(2), statfs(2), mount(8) HISTORY
The getmntinfo() function first appeared in 4.4BSD. The getmntinfo_r_np() function first appeared in macOS 10.13. BUGS
The getmntinfo() function writes the array of structures to an internal static object and returns a pointer to that object. Subsequent calls to getmntinfo() will modify the same object. The memory allocated by getmntinfo() cannot be free(3)'d by the application. BSD
April 12, 2017 BSD

Check Out this Related Man Page

getmntinfo(3)						     Library Functions Manual						     getmntinfo(3)

NAME
getmntinfo, getmntinfo_r - Get information about mounted file systems LIBRARY
Standard C Library (libc) 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 compatibility reasons. You should not use it in new designs. int getm- ntinfo_r( struct statfs **mntbufp, int flags, int *mntsizep, int *bufsizep); PARAMETERS
Points to a location to which the getmntinfo function returns an array of statfs structures that describe each currently mounted file sys- tem. If you specify an invalid address, [EFAULT] status is returned in errno. If you specify NULL, an invalid memory access occurs. Speci- fies 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 struc- tures for all mounted file systems. DESCRIPTION
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(). 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 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). 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. [Tru64 UNIX] The structure pointed to by the mntbufp parameter cannot correctly represent the value to be returned. This error can occur in applications compiled on DIGITAL UNIX systems, on Tru64 UNIX systems earlier than Version 5.0, or on any system while using the __V40_OBJ_COMPAT compiler macro. These applications use a <statfs> structure not compatible with Tru64 UNIX Version 5.0 for the following fields: f_blocks, f_bfree, f_bavail, f_mntonname, f_mntfromname. RELATED INFORMATION
Functions: getfsstat(2), statfs(2), mount(2), malloc(3) Commands: mount(8) delim off getmntinfo(3)
Man Page