|
LINK(2)
НАЗВАНИЕ
link - создание ссылки на файл
СИНТАКСИС
int link (path1, path2)
char *path1, *path2;
ОПИСАНИЕ
Системный вызов link создает новую ссылку (элемент каталога) для существующего файла. Аргумент path1 указывает на маршрутное имя существующего файла, аргумент
path2 - на маршрутное имя создаваемого элемента каталога.
Системный вызов link завершается неудачей и ссылка не
создается, если выполнено хотя бы одно из следующих условий:
- [ENOTDIR]
- Компонент одного из маршрутов не является
каталогом.
- [ENOENT]
- Компонент одного из маршрутов не существует.
- [EACCES]
- Для компонента одного из маршрутов отсутствует право на поиск.
- [ENOENT]
- Файл, заданный маршрутным именем path1, не
существует.
- [EEXIST]
- Ссылка, заданная маршрутным именем path2,
существует.
- [EPERM]
- Файл, заданный маршрутным именем path1, является каталогом, а действующий идентификатор пользователя не есть идентификатор суперпользователя.
- [EXDEV]
- Маршрутные имена path1 и path2 указывают на
разные логические устройства (файловые системы).
- [ENOENT]
- Аргумент path2 указывает на пустое маршрутное имя.
- [EACCES]
- Создание ссылки требует записи в каталог,
права на запись в который нет.
- [EROFS]
- Создание ссылки требует записи в каталог,
расположенный в файловой системе, доступной
только на чтение.
- [EFAULT]
- Аргумент path1 или path2 указывает за пределы отведенного процессу адресного пространства.
- [EMLINK]
- Превышается максимально допустимое количество ссылок на файл.
- [EINTR]
- Во время выполнения системного вызова перехвачен сигнал.
- [ENOLINK]
- Маршрутное имя path1 или path2 указывает на
удаленный компьютер, связи с которым в данный момент нет.
- [EMULTIHOP] Компоненты path1 или path2 требуют многократного обращения к удаленным компьютерам.
СМ. ТАКЖЕ
unlink(2).
ДИАГНОСТИКА
При успешном завершении результат равен 0; в случае
ошибки возвращается -1, а переменной errno присваивается код ошибки.
|
|