summaryrefslogtreecommitdiffstats
path: root/man3/mkfifo.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/mkfifo.3')
-rw-r--r--man3/mkfifo.399
1 files changed, 99 insertions, 0 deletions
diff --git a/man3/mkfifo.3 b/man3/mkfifo.3
new file mode 100644
index 000000000..d646fc6e7
--- /dev/null
+++ b/man3/mkfifo.3
@@ -0,0 +1,99 @@
+.\" Hey Emacs! This file is -*- nroff -*- source.
+.\"
+.\" This manpage is Copyright (C) 1995 James R. Van Zandt <jrv@vanzandt.mv.com>
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.\" changed section from 2 to 3, aeb, 950919
+.\"
+.TH MKFIFO 3 1995-09-03 "Linux 1.2.13" "Linux Programmer's Manual"
+.SH NAME
+mkfifo \- make a FIFO special file (a named pipe)
+.SH SYNOPSIS
+.nf
+.B #include <sys/types.h>
+.B #include <sys/stat.h>
+.sp
+.BI "int mkfifo(const char *" pathname ", mode_t " mode );
+.fi
+.SH DESCRIPTION
+\fBmkfifo\fP makes a FIFO special file with name \fIpathname\fP.
+\fImode\fP specifies the FIFO's permissions. It is modified by the
+process's \fBumask\fP in the usual way: the permissions of the created
+file are \fB(\fP\fImode\fP\fB & ~umask)\fP.
+.PP
+A FIFO special file is similar to a pipe, except that it is created
+in a different way. Instead of being an anonymous communications
+channel, a FIFO special file is entered into the file system by
+calling \fBmkfifo\fP.
+.PP
+Once you have created a FIFO special file in this way, any process can
+open it for reading or writing, in the same way as an ordinary file.
+However, it has to be open at both ends simultaneously before you can
+proceed to do any input or output operations on it. Opening a FIFO
+for reading normally blocks until some other process opens the same
+FIFO for writing, and vice versa. See
+.BR fifo (4)
+for non-blocking handling of FIFO special files.
+.SH "RETURN VALUE"
+The normal, successful return value from \fImkfifo\fP is \fB0\fP. In
+the case of an error, \fB-1\fP is returned (in which case, \fIerrno\fP
+is set appropriately).
+.SH ERRORS
+.TP
+.B EACCES
+One of the directories in \fIpathname\fP did not allow search
+(execute) permission.
+.TP
+.B EEXIST
+\fIpathname\fP already exists.
+.TP
+.B ENAMETOOLONG
+Either the total length of \fIpathname\fP is greater than
+\fBPATH_MAX\fP, or an individual file name component has a length
+greater than \fBNAME_MAX\fP. In the GNU system, there is no imposed
+limit on overall file name length, but some file systems may place
+limits on the length of a component.
+.TP
+.B ENOENT
+A directory component in \fIpathname\fP does not exist or is a
+dangling symbolic link.
+.TP
+.B ENOSPC
+The directory or filesystem has no room for the new file.
+.TP
+.B ENOTDIR
+A component used as a directory in \fIpathname\fP is not, in fact, a
+directory.
+.TP
+.B EROFS
+\fIpathname\fP refers to a read-only filesystem.
+.SH "CONFORMING TO"
+POSIX.1
+.SH "SEE ALSO"
+.BR mkfifo (1),
+.BR close (2),
+.BR open (2),
+.BR read (2),
+.BR stat (2),
+.BR umask (2),
+.BR write (2),
+.BR fifo (4)