diff options
Diffstat (limited to 'man-pages-posix-2003/man3p/pipe.3p')
-rw-r--r-- | man-pages-posix-2003/man3p/pipe.3p | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/man-pages-posix-2003/man3p/pipe.3p b/man-pages-posix-2003/man3p/pipe.3p new file mode 100644 index 0000000..190a5bc --- /dev/null +++ b/man-pages-posix-2003/man3p/pipe.3p @@ -0,0 +1,90 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "PIPE" 3P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" pipe +.SH PROLOG +This manual page is part of the POSIX Programmer's Manual. +The Linux implementation of this interface may differ (consult +the corresponding Linux manual page for details of Linux behavior), +or the interface may not be implemented on Linux. +.SH NAME +pipe \- create an interprocess channel +.SH SYNOPSIS +.LP +\fB#include <unistd.h> +.br +.sp +int pipe(int\fP \fIfildes\fP\fB[2]); +.br +\fP +.SH DESCRIPTION +.LP +The \fIpipe\fP() function shall create a pipe and place two file descriptors, +one each into the arguments \fIfildes\fP[0] and +\fIfildes\fP[1], that refer to the open file descriptions for the +read and write ends of the pipe. Their integer values shall be +the two lowest available at the time of the \fIpipe\fP() call. The +O_NONBLOCK and FD_CLOEXEC flags shall be clear on both file +descriptors. (The \fIfcntl\fP() function can be used to set both these +flags.) +.LP +Data can be written to the file descriptor \fIfildes\fP[1] and read +from the file descriptor \fIfildes\fP[0]. A read on the +file descriptor \fIfildes\fP[0] shall access data written to the file +descriptor \fIfildes\fP[1] on a first-in-first-out basis. +It is unspecified whether \fIfildes\fP[0] is also open for writing +and whether \fIfildes\fP[1] is also open for reading. +.LP +A process has the pipe open for reading (correspondingly writing) +if it has a file descriptor open that refers to the read end, +\fIfildes\fP[0] (write end, \fIfildes\fP[1]). +.LP +Upon successful completion, \fIpipe\fP() shall mark for update the +\fIst_atime\fP, \fIst_ctime\fP, and \fIst_mtime\fP fields +of the pipe. +.SH RETURN VALUE +.LP +Upon successful completion, 0 shall be returned; otherwise, -1 shall +be returned and \fIerrno\fP set to indicate the error. +.SH ERRORS +.LP +The \fIpipe\fP() function shall fail if: +.TP 7 +.B EMFILE +More than {OPEN_MAX} minus two file descriptors are already in use +by this process. +.TP 7 +.B ENFILE +The number of simultaneously open files in the system would exceed +a system-imposed limit. +.sp +.LP +\fIThe following sections are informative.\fP +.SH EXAMPLES +.LP +None. +.SH APPLICATION USAGE +.LP +None. +.SH RATIONALE +.LP +The wording carefully avoids using the verb "to open" in order to +avoid any implication of use of \fIopen\fP(); see also \fIwrite\fP() +\&. +.SH FUTURE DIRECTIONS +.LP +None. +.SH SEE ALSO +.LP +\fIfcntl\fP(), \fIread\fP(), \fIwrite\fP(), the +Base Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<fcntl.h>\fP, +\fI<unistd.h>\fP +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . |