MKFIFO(2) | System Calls Manual | MKFIFO(2) |
mkfifo
, mkfifoat
— make a fifo file
#include
<sys/types.h>
#include <sys/stat.h>
int
mkfifo
(const
char *path, mode_t
mode);
int
mkfifoat
(int
fd, const char
*path, mode_t
mode);
mkfifo
()
creates a new fifo file with name path. The access
permissions are specified by mode and restricted by
the umask(2) of the calling process.
The fifo's owner ID is set to the process's effective user ID. The fifo's group ID is set to that of the parent directory in which it is created.
The
mkfifoat
()
system call is equivalent to mkfifo
() except in the
case where path specifies a relative path. In this
case the newly created fifo file is created relative to the directory
associated with the file descriptor fd instead of the
current working directory. If mkfifoat
() is passed
the special value AT_FDCWD
in the
fd parameter, the current working directory is used
and the behavior is identical to a call to
mkfifo
().
A 0 return value indicates success. A -1 return value indicates an error, and an error code is stored in errno.
mkfifo
() will fail and no fifo will be
created if:
ENOTSUP
]ENOTDIR
]ENAMETOOLONG
]{NAME_MAX}
characters, or an entire path name exceeded
{PATH_MAX}
characters.ENOENT
]EACCES
]ELOOP
]EROFS
]EEXIST
]ENOSPC
]ENOSPC
]EDQUOT
]EDQUOT
]EIO
]EIO
]EFAULT
]EILSEQ
]In addition to the errors returned by the
mkfifo
(), the mkfifoat
()
function may fail if:
The mkfifo
function call conforms to
IEEE Std 1003.1-1988 (“POSIX.1”).
June 4, 1993 | macOS 15.0 |