Section: Linux Programmer's Manual (2)
Return to Main Contents
readlink - read value of a symbolic link
ssize_t readlink(const char *path, char *buf, size_t bufsiz);
Feature Test Macro Requirements for glibc (see
_BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE >= 200112L
places the contents of the symbolic link
in the buffer
which has size
does not append a null byte to
It will truncate the contents (to a length of
characters), in case the buffer is too small to hold all of the contents.
returns the number of bytes placed in
On error, -1 is returned and
is set to indicate the error.
Search permission is denied for a component of the path prefix.
extends outside the process's allocated address space.
is not positive.
The named file is not a symbolic link.
An I/O error occurred while reading from the file system.
Too many symbolic links were encountered in translating the pathname.
A pathname, or a component of a pathname, was too long.
The named file does not exist.
Insufficient kernel memory was available.
A component of the path prefix is not a directory.
first appeared in 4.2BSD),
In versions of glibc up to and including glibc 2.4, the return type of
was declared as
Nowadays, the return type is declared as
as (newly) required in POSIX.1-2001.
This page is part of release 3.27 of the Linux
A description of the project,
and information about reporting bugs,
can be found at
- RETURN VALUE
- CONFORMING TO
- SEE ALSO
This document was created by
using the manual pages.