PIPE(S) XENIX System V PIPE(S)
Name
pipe - Creates an interprocess pipe.
Syntax
int pipe (fildes)
int fildes[2];
Description
pipe creates an I/O mechanism called a pipe and returns two
file descriptors in the array fildes. fildes[0] is opened
for reading and fildes[1] is opened for writing and the
O_NDELAY flag is clear. The descriptors remain open across
fork(S) system calls, making communication between parent
and child possible.
Writes up to 10240 bytes of data (10 times BSIZE) are
buffered by the pipe before the writing process is blocked.
A read on file descriptor fildes[0] accesses the data
written to fildes[1] on a first-in-first-out basis.
No process may have more than 60 file descriptors open
simultaneously.
pipe will fail if 19 or more file descriptors are currently
open. [EMFILE] It will also fail if the system file table
is full. [ENFILE]
Return Value
Upon successful completion, a value of 0 is returned.
Otherwise, a value of -1 is returned and errno is set to
indicate the error.
See Also
sh(C), read(S), write(S), fork(S), popen(S)
Page 1 (printed 8/7/87)