readlink
1. readlink.2.man
Manpage of READLINK
READLINK
Section: Руководство программиста Linux (2)Updated: 2010-09-20
Index Return to Main Contents
ИМЯ
readlink - считывает значение символьной ссылкиОБЗОР
#include <unistd.h>ssize_t readlink(const char *path, char *buf, size_t bufsiz);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
readlink():
- _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE &&_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE >= 200112L
ОПИСАНИЕ
readlink() помещает содержимое символьной ссылки path в буфер buf размером bufsiz. readlink() не добавляет в buf байт null.Если буфер слишком мал для хранения всего содержимого, то содержимое будет урезано (до длины в bufsiz символов).ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении readlink() возвращает количество байт, помещённых в buf. В случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.ОШИБКИ
- EACCES
- В одном из каталогов префикса пути не разрешён поиск (см. также path_resolution(7).
- EFAULT
- buf выходит за пределы адресного пространства, выделенного процессу.
- EINVAL
- Аргумент bufsiz содержит отрицательное значение.
- EINVAL
- Указанный файл не является символьной ссылкой.
- EIO
- При чтении файловой системы произошла ошибка ввода-вывода.
- ELOOP
- Во время определения pathname встретилось слишком много символьных ссылок.
- ENAMETOOLONG
- Слишком длинное значение аргумента pathname или его части.
- ENOENT
- Указанный файл не существует.
- ENOMEM
- Недостаточное количество памяти ядра.
- ENOTDIR
- Компонент в префиксе пути не является каталогом.
СООТВЕТСТВИЕ СТАНДАРТАМ
4.4BSD (вызов readlink() появился в 4.2BSD), POSIX.1-2001.ЗАМЕЧАНИЯ
В версиях glibc до glibc 2.4 включительно, тип результата readlink() был объявлен как int. В настоящее время типом возвращаемого результата является ssize_t, как (теперь) это требуется по POSIX.1-2001.СМОТРИТЕ ТАКЖЕ
lstat(2), readlinkat(2), stat(2), symlink(2), path_resolution(7), symlink(7)
Index
This document was created by man2html using the manual pages.
Time: 17:41:56 GMT, May 11, 2012



