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.