Присвоить путь файловому дескриптору
#include <unistd.h>
int flink( int fd,
const char *path );
- fd
- файловый дескриптор.
- path
- Путь, который необходимо присвоить файловому дескриптору.
libc
Функция flink() связывает путь path с файлом, определяемым файловым дескриптором fd.
- 0
- Успешное завершение.
- -1
- Возникла ошибка. Код ошибки записан в errno.
- EACCES
- Для части префикса filename отсутствует право поиска, или файл существует и права, определенные mode, отсутствуют, или файл не существует и право на запись для родительской директории, в которой создается файл, отсутствует.
- EBADF
- Файловый дескриптор fd некорректен.
- EEXIST
- Ссылка path уже существует.
- ELOOP
- Слишком много уровней символических ссылок или префиксов.
- EMLINK
- Количество ссылок на файл превышает
LINK_MAX
. - ENAMETOOLONG
- Длина строки filename превышает
PATH_MAX
или часть пути к файлу длиннее, чем NAME_MAX
. - ENOENT
- Данный код ошибки может означать следующее:
- Часть префикса path не существует.
- path указывает на пустую строку.
- ENOSPC
- Директория, которая должна содержать ссылку, не может быть расширена.
- ENOSYS
- Функция flink() не реализована для файловой системы, содержащей path.
- ENOTDIR
- Часть любого префикса path не является директорией.
- EROFS
- Ссылка требует записи в директорию в файловой системе, доступной только для чтения.
- EXDEV
- Ссылка, определяемая path, расположена на другом логическом диске.
Unix
- Нет
- Обработчик прерываний
- Нет
- Обработчик сигналов
- Да
- В потоке
- Да
link()
Предыдущий раздел: Описание API системной библиотеки