Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > M

mkfifo(3C)

HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

NAME

mkfifo() — make a FIFO file

SYNOPSIS

#include <sys/stat.h>

int mkfifo(char *path, mode_t mode);

DESCRIPTION

mkfifo() creates a new FIFO (first-in-first-out) file, at the path name to which path points. The file permission bits of the new file are initialized from the mode argument, as modified by the process's file creation mask: for each bit set in the process's file mode creation mask, the corresponding bit in the new file's mode is cleared (see umask(2)). Bits in mode other than the file permission bits are ignored.

The FIFO owner ID is set to the process's effective-user-ID. The FIFO group ID is set to the group ID of the parent directory if the set-group-ID bit is set on that directory. Otherwise, the FIFO group ID is set to the process's effective group ID.

For details of the I/O behavior of pipes see read(2) and write(2).

The following symbolic constants are defined in the <sys/stat.h> header, and should be used to construct the value of the mode argument. The value passed should be the bitwise inclusive OR of the desired permissions:

S_IRUSR

Read by owner.

S_IWUSR

Write by owner.

S_IRGRP

Read by group.

S_IWGRP

Write by group.

S_IROTH

Read by other users.

S_IWOTH

Write by other users.

RETURN VALUE

mkfifo() returns 0 upon successful completion. Otherwise, it returns -1, no FIFO is created, and errno is set to indicate the error.

ERRORS

mkfifo() fails and the new file is not created if any of the following conditions are encountered:

EACCES

A component of the path prefix denies search permission.

EEXIST

The named file already exists.

EFAULT

The path argument points outside the process's allocated address space. The reliable detection of this error is implementation dependent.

ELOOP

Too many symbolic links encountered in translating the path name.

ENAMETOOLONG

The length of the specified path name exceeds PATH_MAX bytes, or the length of a component of the path name exceeds NAME_MAX bytes while _POSIX_NO_TRUNC is in effect.

ENOENT

A component of the path prefix does not exist.

ENOENT

The path argument is null.

ENOSPC

Not enough space on the file system.

ENOTDIR

A component of the path prefix is not a directory.

EROFS

The directory in which the file is being created is located in a read-only file system.

AUTHOR

mkfifo() was developed by HP.

STANDARDS CONFORMANCE

mkfifo(): AES, SVID3, XPG3, XPG4, FIPS 151-2, POSIX.1

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.