GETFH(2)                  NetBSD 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 han-
     dle.  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 sys-
     tem 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 direc-
                        tory.

     [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 translat-
                        ing 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 cre-
                        ate a filehandle of the requested size.

SEE ALSO
     fhstat(2), fhstatvfs(2), fhstatvfs1(2)

HISTORY
     The getfh() function first appeared in 4.4BSD.

NetBSD 5.0                     October 30, 2006                     NetBSD 5.0