Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pipe(2) — svr4 — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fcntl(2)

getmsg(2)

poll(2)

putmsg(2)

read(2)

write(2)

streamio(7)

sh(1)

 .if n .pH g2.pipe @(#)pipe     40.19 of 10/10/89





























































                        Printed 11/19/92                   Page 1





PIPE(2-SVR4)        RISC/os Reference Manual         PIPE(2-SVR4)



NAME
     pipe - create an interprocess channel

SYNOPSIS
     #include <unistd.h>

     int pipe(int fildes[2]);

DESCRIPTION
     pipe creates an I/O mechanism called a pipe and returns two
     file descriptors, fildes[0] and fildes[1].  The files asso-
     ciated with fildes[0] and fildes[1] are streams and are both
     opened for reading and writing. The O_NDELAY and O_NONBLOCK
     flags are cleared.

     A read from fildes[0] accesses the data written to fildes[1]
     on a first-in-first-out (FIFO) basis and a read from
     fildes[1] accesses the data written to fildes[0] also on a
     FIFO basis.

     The FD_CLOEXEC flag will be clear on both file descriptors.

     Upon successful completion, pipe marks for update the
     st_atime, st_ctime, and st_mtime fields of the pipe.

     pipe fails if:

     EMFILE         If {OPEN_MAX}-1 or more file descriptors are
                    currently open for this process.

     ENFILE         A file table entry could not be allocated.

SEE ALSO
     fcntl(2), getmsg(2), poll(2), putmsg(2), read(2), write(2),
     streamio(7).
     sh(1) in the User's Reference Manual.

DIAGNOSTICS
     Upon successful completion, a value of 0 is returned.  Oth-
     erwise, a value of -1 is returned and errno is set to indi-
     cate the error.

NOTES
     Since a pipe is bi-directional, there are two separate flows
     of data.  Therefore, the size (st_size) returned by a call
     to fstat(2) with argument fildes[0] or fildes[1] is the
     number of bytes available for reading from fildes[0] or
     fildes[1] respectively.  Previously, the size (st_size)
     returned by a call to fstat() with argument fildes[1] (the
     write-end) was the number of bytes available for reading
     from fildes[0] (the read-end).




 Page 2                 Printed 11/19/92



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026