GETFH(2) BSD 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 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 neces-
sary 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.
BSD October 30, 2006 BSD
Check Out this Related Man Page
FHOPEN(2) BSD System Calls Manual FHOPEN(2)NAME
fhopen, fhstat, fhstatvfs -- access file via file handle
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/types.h>
#include <sys/mount.h>
int
fhopen(const void *fhp, size_t fh_size, int flags);
#include <sys/stat.h>
int
fhstat(const void *fhp, size_t fh_size, struct stat *sb);
#include <sys/statvfs.h>
int
fhstatvfs(const void *fhp, size_t fh_size, struct statvfs *buf);
int
fhstatvfs1(const void *fhp, size_t fh_size, struct statvfs *buf, int flags);
DESCRIPTION
These functions provide a means to access a file given the opaque file handle fhp and the size fh_size of the opaque object as returned by
getfh(2). As this method bypasses directory access restrictions, these calls are restricted to the superuser.
fhopen() opens the file referenced by fhp for reading and/or writing as specified by the argument flags and returns the file descriptor to
the calling process. The flags are specified by or'ing together the flags used for the open(2) call. All said flags are valid except for
O_CREAT.
fhstat(), fhstatvfs(), and fhstatvfs1() provide the functionality of the fstat(2), fstatvfs(2), and fstatvfs1(2) calls except that they
return information for the file referred to by fhp rather than an open file.
RETURN VALUES
Upon successful completion, fhopen() returns the file descriptor for the opened file, while fhstat(), fhstatvfs(), and fhstatvfs1() return 0.
Otherwise, -1 is returned and errno is set to indicate the error.
ERRORS
In addition to the errors returned by open(2), fstat(2), fstatvfs(2), and fstatvfs1(2), respectively, fhopen(), fhstat(), fhstatvfs(), and
fhstatvfs1() will return
[EINVAL] Calling fhopen() with O_CREAT set or invalid fh_size.
[ESTALE] The file handle fhp is no longer valid.
SEE ALSO fstat(2), fstatvfs(2), fstatvfs1(2), getfh(2), open(2)HISTORY
The fhopen(), and fhstat() functions first appeared in NetBSD 1.5. The fhstatvfs() function replaced fhstatfs() in NetBSD 3.0.
BSD August 5, 2009 BSD