[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Создание именованных каналов

Системный  вызов   mknod(2)  используется   для  создания  директории,
именованного канала,  символической связи,  символьного  или  блочного
специального файла или обычного файла. Только именованные каналы могут
быть созданы  обычным пользователем;  файлы остальных  типов создаются
только суперпользователем.

Аргументы системного вызова mknod(2):
   path - указатель на имя создаваемого файла и путь к нему

   mode -  тип файла  и права  доступа к  нему. Ненулевая  umask может
      исключить некоторые из заданных прав.

   dev -  зависящие от конфигурации данные для специального файла. Для
      именованных каналов  этот параметр  не используется и может быть
      нулевым.

Возвращаемое значение показывает успех или неудачу.

Пример:   следующий оператор  создает в текущей директории именованный
канал  NP   с  правами   доступа  rw-rw----.   Константа  S_IFIFO   из
<sys/stat.h>  имеет   значение  010000,   что   означает   файл   типа
именованного канала,  известный также  как специальный  FIFO-файл. Для
использования   S_IFIFO,    перед    <sys/stat.h>    нужно    включить
<sys/types.h>,  потому   что   <sys/stat.h>   использует   многие   из
typedef'ов, определенных в этом файле.

#include <sys/types.h>
#include <sys/stat.h>

mknod("NP", S_IFIFO | 0660, 0);