Главная » 2017 » Ноябрь » 15 » man 3 mkfifo
23:07
man 3 mkfifo

SEO sprint - Всё для максимальной раскрутки!

НАЗВАНИЕ
mkfifo - создает особый FIFO-файл (именованный канал)
СИНТАКСИС

#include
#include

int mkfifo(const char *pathname, mode_t mode);


ОПИСАНИЕ
Функция mkfifo создает особый FIFO-файл с названием pathname. mode определяет уровни доступа для FIFO. Они меняются с помощью процесса umask обычным путем: уровни доступа для созданного файла есть (mode & ~umask).

Особый FIFO-файл похож на обычный канал, только он создается другим путем. Вместо того, чтобы быть анонимным каналом связи, особый FIFO-файл подключается к системе с помощью вызова mkfifo.

Как только таким образом создан особый FIFO-файл, любой процесс может окрыть его для чтения или записи так же, как и любой обычный файл. Тем не менее, он должен быть открытым в обоих состояниях одновременно, прежде чем Вы захотите провести в нем операции ввода или вывода. Однако, открытие FIFO для чтения обычно блокирует его до тех пор, пока другой процесс не откроет этот же FIFO для записи, и наоборот. Смотрите fifo(4) для работы с особым файлом FIFO без его блокирования.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Обычно возвращаемое значение при успешном завершении работы mkfifo равно 0. В случае ошибки возвращается -1, при этом значение переменной errno изменяется соответственно ошибке.
НАЙДЕННЫЕ ОШИБКИ

EACCES
(один из каталогов в pathname не разрешает доступ на поиск или выполнение);
EEXIST
(pathname уже существует);
ENAMETOOLONG
(либо общая длина pathname больше, чем PATH_MAX, либо компонент "имя файла" имеет большую по сравнению с NAME_MAX длину. В системе GNU не существует предела общей длины имени файла, но некоторые файловые системы могут установить пределы длины данных компонентов.);
ENOENT
(компонента каталога pathname не существует или он является "разорванной" символьной ссылкой);
ENOSPC
(в каталоге или файловой системе недостаточно места для нового файла);
ENOTDIR
(компонент, указанный как каталог в pathname, фактически не является каталогом);
EROFS
(pathname обращается к файловой системе, доступной только для чтения).


СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1
СМ. ТАКЖЕ
mkfifo(1), read(2), write(2), open(2), close(2), stat(2), umask(2), fifo(4)
Категория: (3) Библиотечные вызовы (функции различных библиотек, установленных в систему) | Просмотров: 490 | Добавил: Администратор | Рейтинг: 0.0/0
Всего комментариев: 0
avatar