[<<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);