mojave man page for fsgetpath

Query: fsgetpath

OS: mojave

Section: 2

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

FSGETPATH(2)						      BSD System Calls Manual						      FSGETPATH(2)

NAME
fsgetpath -- get the path associated with filesystem node identifier (inode number/link id/object id)
SYNOPSIS
#include <sys/attr.h> #include <sys/fsgetpath.h> ssize_t fsgetpath(char * restrict_buf, size_t buflen, fsid_t * fsid, uint64_t obj_id);
DESCRIPTION
The fsgetpath() function returns the path in a caller provided buffer restrict_buf of length indicated by buflen associated with a filesys- tem object identified by fsid and obj_id. fsid is a pointer to a structure which identifies a filesystem to which the object belongs. It is obtained by the value returned for ATTR_CMN_FSID in a previous call to getattrlist(2) or the f_fsid field of the statfs structure returned by statfs(2). obj_id can be any one of of a object identifier i.e. ATTR_CMN_FILEID returned by getattrlist(2) or st_ino field of the stat structure returned by stat(2) or a link id returned in ATTR_CMNEXT_LINKID by a previous call to getattrlist(2). Using a linkid will result in a more accurate path in case the filesystem object is a hard link. If a inode number is passed and the object is a hard link, any one of the multiple paths to that filesystem object may be returned.
RETURN VALUES
Upon successful completion, fsgetpath() returns the path length. Otherwise, a value of -1 is returned and errno is set to indicate the error.
COMPATIBILITY
Not all volumes support fsgetpath(). A volume can be tested for fsgetpath() support by using getattrlist(2) to get the volume capabilities attribute ATTR_VOL_CAPABILITIES, and then testing the VOL_CAP_FMT_PATH_FROM_ID flag.
ERRORS
The fsgetpath() function will fail if: [EACCES] Read permissions are denied on any component of the pathname. [ENOTSUP] The underlying filesystem does not support this call. [EINVAL] buflen is larger than PAGE_SIZE [EIO] An I/O error occurred while reading from the file system. [EPERM] The calling process does not have appropriate privileges. [ENOENT] The Filesystem object does not exist. [EFAULT] restrict_buf points to memory not valid in the callers address space. [ENOSPC] restrict_buf is not large enough to hold the path.
SEE ALSO
getattrlist(2) statfs(2) stat(2)
HISTORY
The fsgetpath() function call appeared in macOS version 10.13 Darwin July 27, 2017 Darwin
Related Man Pages
clonefileat(2) - mojave
fclonefileat(2) - mojave
fs_snapshot_list(2) - mojave
setattrlist(2) - mojave
setattrlist(2) - osx
Similar Topics in the Unix Linux Community
Update: Uploading Movies at Attachments to Posts
Split large xml into mutiple files and with header and footer in file
Shopt -s histappend
Controlling user input
How can I direct messages from mac console.app to a log file?