MirBSD manpage: readlink(2)

READLINK(2)                BSD Programmer's Manual                 READLINK(2)

NAME

     readlink - read value of a symbolic link

SYNOPSIS

     #include <unistd.h>

     ssize_t
     readlink(const char *path, char *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 character 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 glo-
     bal variable errno.

ERRORS

     readlink() will fail if:

     [ENOTDIR]     A component of the path prefix is not a directory.

     [ENAMETOOLONG]
                   A component of a pathname exceeded {NAME_MAX} characters,
                   or an entire path name exceeded {PATH_MAX} characters.

     [ENOENT]      The named file does not exist.

     [EACCES]      Search permission is denied for a component of the path
                   prefix.

     [ELOOP]       Too many symbolic links were encountered in translating the
                   pathname.

     [EINVAL]      The named file is not a symbolic link.

     [EIO]         An I/O error occurred while reading from the filesystem.

     [EFAULT]      buf extends outside the process's allocated address space.

SEE ALSO

     lstat(2), stat(2), symlink(2), symlink(7)

HISTORY

     The readlink() function call appeared in 4.2BSD. It used to return int
     but, matching IEEE Std 1003.1-2004 ("POSIX.1"), returns ssize_t now.

MirBSD #10-current            November 26, 2020                              1

Generated on 2021-01-25 02:04:05 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.