НАЗВАНИЕ
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 требуют многократного обращения к удаленным компьютерам.
СМ. ТАКЖЕ
.
ДИАГНОСТИКА
При успешном завершении результат равен 0; в случае ошибки возвращается -1, а переменной errno присваивается код ошибки.