int readlink(const char *path, char *buf, size_t bufsiz);
ОПИСАНИЕ
readlink
помещает содержимое символьной ссылки
path
в буфер
buf
длиной
bufsiz .readlink
не добавляет в
buf
символ
NUL.
Если файл, помещаемый в буфер, слишком мал, его длина
bufsiz
будет урезана.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Этот вызов возвращает количество символов, помещенных в буфер,
или (при ошибках) возвращается -1, и переменной
errno
присваивается номер ошибки.
НАЙДЕННЫЕ ОШИБКИ
ENOTDIR
Один из компонентов пути не является каталогом.
EINVAL
bufsiz
не является положительным числом.
ENAMETOOLONG
Путь или компонент пути слишком длинный.
ENOENT
Указанного файла не существует.
EACCES
Запрещен поиск в каталоге, являющемся компонентом пути.
ELOOP
Слишком много символьных ссылок в указанном имени.
EINVAL
Файл не является символьной ссылкой.
EIO
При чтении данных файловой системы произошла ошибка ввода-вывода.
EFAULT
buf
указывает на каталог за пределами доступного адресного пространства.
ENOMEM
Недостаточно памяти в системе.
СООТВЕТСТВИЕ СТАНДАРТАМ
X/OPEN, 4.4BSD (системный вызов
readlink
появился в 4.2BSD).