NAME
getfh
- get file handle
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
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.