mkfifo(3)mkfifo(3)Namemkfifo - make a FIFO special file
Syntax
#include <sys/types.h>
#include <sys/stat.h>
int mkfifo(path, mode)
char *path;
mode_t mode;
Description
The function creates a new FIFO special file whose name is path. The
file permission bits of the new FIFO are initialized from mode, where
the value of mode, is one (or more) of the file permission bits defined
in <sys/stat.h>. The mode argument is modified by the process's file
creation mask (see
The FIFO's owner ID is set to the process's effective user ID. The
FIFO's group ID is set to the process's effective group ID.
Return Values
Upon successful completion, a value of 0 is returned. Otherwise, a
value of -1 is returned and errno is set to indicate the error.
Diagnostics
The function will fail and the FIFO will not be created if:
[EACCES] A component of the path prefix denies search permission.
[EEXIST] The named file exists.
[ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an
entire pathname exceeded 1023 characters.
[ENOTDIR] A component of the path prefix is not a directory.
[ENOENT] A component of the path prefix does not exist or the
path argument points to an empty string.
[EROFS] The named file resides on a read-only file system.
[EFAULT] Path points outside the process's allocated address
space.
[ELOOP] Too many symbolic links were encountered in translating
the pathname.
[EIO] An I/O error occurred while making the directory entry.
[ENOSPC] The directory in which the entry for the new FIFO is
being placed cannot be extended because there is no
space left on the file system.
[ENOSPC] There are no free inodes on the file system on which the
node is being created.
[EDQUOT] The directory in which the entry for the new FIFO is
being placed cannot be extended because the user's quota
of disk blocks on the file system containing the direc‐
tory has been exhausted.
[EDQUOT] The user's quota of inodes on the file system on which
the FIFO is being created has been exhausted.
[ESTALE] The file handle given in the argument is invalid. The
file referred to by that file handle no longer exists or
has been revoked.
[ETIMEDOUT] A connect request or remote file operation failed
because the connected party did not properly respond
after a period of time which is dependent on the commu‐
nications protocol.
See Alsomknod(1), umask(1)mkfifo(3)