NAME
getfh
—
get file handle
LIBRARY
library “libc”
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 handle. 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 system 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 directory.
- [
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 translating 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 create a filehandle of the requested size.
SEE ALSO
HISTORY
The getfh
() function first appeared in
4.4BSD.