Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


FHOPEN(2)                     System Calls Manual                    FHOPEN(2)

NAME
     fhopen, fhstat, fhstatvfs, fhstatvfs1 - 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.

NetBSD 10.99                    August 5, 2009                    NetBSD 10.99