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 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
fhstat(2),
fhstatvfs(2),
fhstatvfs1(2)
HISTORY
The
getfh() function first appeared in
4.4BSD.