Создать особый FIFO-файл
#include <sys/types.h>#include <sys/stat.h>int mkfifo( const char *path,mode_t mode );
libc
Функция mkfifo() создаёт новый файл FIFO с именем, которое задаётся параметром path. Биты прав доступа к создаваемому файлу FIFO задаются в параметре mode и модифицируются маской создания процесса (см. umask()). Биты, установленные в параметре mode, кроме битов прав доступа к файлу, игнорируются.
Идентификатор владельца FIFO устанавливается равным эффективному идентификатору пользователя процесса, а идентификатор группы FIFO устанавливается равным эффективному идентификатору группы процесса.
Если mkfifo() завершается успешно, поля st_ftime, st_ctime, st_atime и st_mtime файла помечаются для обновления. Кроме того, поля st_ctime и st_mtime каталога, содержащего новую запись, также помечаются для обновления.
PATH_MAX
или длина компонента имени пути больше, чем значение NAME_MAX
. #include <sys/types.h>#include <sys/stat.h>#include <stdlib.h>int main( void ){(void)mkfifo( "hd/kpda", S_IRUSR | S_IWUSR );return (EXIT_SUCCESS);}
POSIX 1003.1
struct stat, chmod(), errno, mknod(), pipe(), stat(), umask()
Предыдущий раздел: Описание API системной библиотеки