getfh(2) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
GETFH(2)                  NetBSD System Calls Manual                  GETFH(2)


NAME
getfh -- get file handle
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/types.h> #include <sys/mount.h> int getfh(const char *path, void *fhp, size_t *fh_size);
DESCRIPTION
getfh() returns a file handle for the specified file or directory in the file handle pointed to by fhp. The variable pointed to by fh_size has to be initialized to the memory allocated for the variable sized file han- dle. On return the value will be replaced by the actual size needed (which will vary depending on the file system the path is on). This sys- tem call is restricted to the superuser. To query the necessary size for the filehandle, a NULL pointer may be passed as fhp, and the value pointed to by fh_size should be initialized to zero.
RETURN VALUES
Upon successful completion, a value of 0 is returned. Otherwise, -1 is returned and the global variable errno is set to indicate the error.
ERRORS
getfh() fails if one or more of the following are true: [ENOTDIR] A component of the path prefix of path is not a direc- tory. [ENAMETOOLONG] The length of a component of path exceeds {NAME_MAX} characters, or the length of path exceeds {PATH_MAX} characters. [ENOENT] The file referred to by path does not exist. [EACCES] Search permission is denied for a component of the path prefix of path. [ELOOP] Too many symbolic links were encountered in translat- ing path. [EFAULT] fhp points to an invalid address. [EIO] An I/O error occurred while reading from or writing to the file system. [E2BIG] The memory allocated for the file handle is too small. The size needed has been written to the variable pointed to by fh_size. [ENOMEM] The kernel failed to allocate temporary memory to cre- ate a filehandle of the requested size.
SEE ALSO
fhstat(2), fhstatvfs(2), fhstatvfs1(2)
HISTORY
The getfh() function first appeared in 4.4BSD. NetBSD 9.1 October 30, 2006 NetBSD 9.1
Powered by man-cgi (2021-06-01). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.