READLINK(2)

НАЗВАНИЕ
readlink - прочитать значение символической ссылки

КРАТКАЯ СВОДКА
#include <unistd.h>

int readlink(const char *path, char *buf, size_t bufsiz);

ОПИСАНИЕ
readlink помещает содержимое символической ссылки path в буфер buf длины bufsiz. readlink не добавляет в buf символ NUL. Содержимое символической ссылки будет обрезано при помещении в буфер, если он слишком маленький.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Этот вызов возвращает количество символов, помещенных в буфер, или возвращает -1 в случае ошибки, помещая код ошибки в errno.

ОШИБКИ

ENOTDIR
    Один из компонентов пути не является каталогом.

EINVAL
    bufsiz не является положительным числом.

ENAMETOOLONG
    Путь или компонент пути слишком длинны.

ENOENT
    Файл не существует.

EACCES
    Доступ для поиска в каталоге запрещен.

ELOOP
    pathname является зацикленной символической ссылкой, то есть при подстановке возникает ссылка на неё саму.

EINVAL
    Файл не является символической ссылкой.

EIO При чтении из файловой системы произошла ошибка ввода-вывода.

EFAULT
    buf указывает за пределы доступного адресного пространства.

ENOMEM
    Ядру не хватило памяти.

СООТВЕТСТВИЕ СТАНДАРТАМ
X/OPEN, 4.4BSD (системный вызов readlink появился в 4.2BSD).

СМОТРИ ТАКЖЕ
stat(2), lstat(2), symlink(2)

ПЕРЕВОД
Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 1999