GETMNTINFO(3)              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.

macOS 15.2                      April 12, 2017                      macOS 15.2