Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pipe(2) — Atari System V ue12

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)





   pipe(2)                                                             pipe(2)


   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 associated with
         fildes[0] and fildes[1] are streams and are both opened for reading
         and writing. The ONDELAY and ONONBLOCK 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 FDCLOEXEC flag will be clear on both file descriptors.

         Upon successful completion pipe marks for update the statime,
         stctime, and stmtime fields of the pipe.

         pipe fails if:

         EMFILE         If {OPENMAX}-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.  Otherwise, a
         value of -1 is returned and errno is set to indicate the error.

   NOTES
         Since a pipe is bi-directional, there are two separate flows of data.
         Therefore, the size (stsize) 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 (stsize) 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).






   7/91                                                                 Page 1





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