Manpages

НАЗВАНИЕ

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 [AT] hsys.ru> 1999