MKFIFO(3-POSIX) RISC/os Reference Manual MKFIFO(3-POSIX)
NAME
mkfifo - make a FIFO special file
SYNOPSIS
#include <sys/types.h>
#include <sys/stat.h>
int mkfifo(path, mode)
char *path;
modet mode;
DESCRIPTION
mkfifo creates a new FIFO special file named by the pathname
pointed to by path. The file permissions of the new FIFO
are initialized from mode. The file permission indicated by
mode is modified by the process' file creation mask (see
umask(2)). Only the file permission bits of mode are used;
the rest are discarded.
The FIFO's owner ID is set to the process' effective user ID
and its group ID is set to the group ID of the directory in
which the FIFO is being created or to the process' effective
group ID, depending on the value of _riscos_group_parent
(see kopt(8)).
Upon successful completion, mkfifo marks for update the
st_atime, st_ctime, and st_mtime fields of the file. Also,
the st_ctime and st_mtime fields of the directory that con-
tains the new entry are marked for update.
RETURN VALUES
Upon successful completion, 0 is returned. Otherwise -1 is
returned, no FIFO is created, and errno is set to indicate
the error.
ERRORS
If any of the following conditions occur, mkfifo returns -1
and sets errno to the corresponding value:
[EACCES] A component of the path prefix denies
search permission, or write permission
is denied on the parent directory of the
file.
[EEXIST] The named file already exists.
[ENAMETOOLONG] The length of path exceeds {PATH_MAX} or
a pathname component is longer than
{NAME_MAX} while {_POSIX_NO_TRUNC} is in
effect.
[ENOENT] A component of the path prefix does not
Printed 1/15/91 Page 1
MKFIFO(3-POSIX) RISC/os Reference Manual MKFIFO(3-POSIX)
exist or path points to an empty string.
[ENOSPC] The directory that would contain the new
file cannot be extended or the file sys-
tem is out of file allocation resources.
[ENOTDIR] A component of the path prefix is not a
directory.
[EROFS] The named file resides on a read-only
file system.
[EFAULT] path points outside the allocated
address space of the process.
[EINTR] A signal was caught during the mkfifo
system call.
SEE ALSO
chmod(2), exec(2), pipe(2), stat(2), umask(2).
Page 2 Printed 1/15/91