READLINK(2) BSD System Calls Manual READLINK(2)
NAME
readlink -- read value of a symbolic link
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
ssize_t
readlink(const char * restrict path, char * restrict buf, size_t bufsiz);
DESCRIPTION
readlink() places the contents of the symbolic link path in the buffer buf, which has size bufsiz. readlink() does not append a NUL charac-
ter to buf.
RETURN VALUES
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.
EXAMPLES
A typical use is illustrated in the following piece of code which reads the contents of a symbolic link named /symbolic/link and stores them
as null-terminated string:
#include <limits.h>
#include <unistd.h>
char buf[PATH_MAX];
ssize_t len;
if ((len = readlink("/symbolic/link", buf, sizeof(buf)-1)) == -1)
error handling;
buf[len] = '