- NetBSD Manual Pages
FHOPEN(2) NetBSD System Calls Manual FHOPEN(2)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
fhopen, fhstat, fhstatvfs -- access file via file handle
Standard C Library (libc, -lc)
fhopen(const void *fhp, size_t fh_size, int flags);
fhstat(const void *fhp, size_t fh_size, struct stat *sb);
fhstatvfs(const void *fhp, size_t fh_size, struct statvfs *buf);
fhstatvfs1(const void *fhp, size_t fh_size, struct statvfs *buf,
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.
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.
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.
fstat(2), fstatvfs(2), fstatvfs1(2), getfh(2), open(2)
The fhopen(), and fhstat() functions first appeared in NetBSD 1.5. The
fhstatvfs() function replaced fhstatfs() in NetBSD 3.0.
NetBSD 4.0 July 17, 2006 NetBSD 4.0