Updated: 2022/Sep/29

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


GETFH(2)                      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 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.

NetBSD 10.99                   October 30, 2006                   NetBSD 10.99