DOKK / manpages / debian 12 / freebsd-manpages / fhreadlink.2freebsd.en
FHREADLINK(2) System Calls Manual FHREADLINK(2)

fhreadlinkread value of a symbolic link

Standard C Library (libc, -lc)

#include <sys/param.h>
#include <sys/mount.h>

int
fhreadlink(fhandle_t *fhp, char *buf, size_t bufsize);

The () system call places the contents of the symbolic link fhp in the buffer buf, which has size bufsiz. The fhreadlink() system call does not append a NUL character to buf.

The call returns the count of characters placed in the buffer if it succeeds, or a -1 if an error occurs, placing the error code in the global variable errno.

The readlink() system call will fail if:

[]
The named file does not exist.
[]
Too many symbolic links were encountered in translating the file handle fhp.
[]
The named file is not a symbolic link.
[]
An I/O error occurred while reading from the file system.
[]
Corrupted data was detected while reading from the file system.
[]
The buf argument extends outside the process's allocated address space.
[]
The file handle fhp is no longer valid

fhstat(2), fhlink(2),

March 30, 2020 Debian