Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pipe(2) — AIX PS/2 1.2.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

read, readv, readx

select

write, writex

sh



PIPE(2,L)                   AIX Technical Reference                   PIPE(2,L)



-------------------------------------------------------------------------------
pipe



PURPOSE

Creates an interprocess channel.

SYNTAX

int pipe (fildes)
int fildes[2];

DESCRIPTION

The pipe system call creates an interprocess channel called a pipe and returns
two file descriptors, fildes[0] and fildes[1].  The fildes[0] file descriptor
is opened for reading and fildes[1] is opened for writing.

A read on file descriptor fildes [0] accesses the data written to fildes[1] on
a first-in, first-out basis.

When writing, at least 40,960 bytes of data are buffered by the pipe before the
writing process is blocked.

Warning:  The actions of the pipe system call are undefined if the fildes
parameter points to a location outside of the process's allocated address
space.

A pipe can be inherited through the fork, rfork and run system calls and held
open as a process moves to a different site using the rexec or migrate system
calls.  Through combinations of these operations, it is possible to set up one
or more processes reading data from the read end of the pipe, and one or more
processes writing data to the write end of a pipe.  These processes may be on
one site, on different sites but of the same CPU type, or on sites with
differing CPU types.  If the reader and writer are on different sites, slightly
better performance results if the pipe call is issued at the site of the
writer. In any case, correct operation should be independent of the
relationships between the sites of the reader, writer, and issuance of the pipe
system call.

RETURN VALUE

Upon successful completion, a value of 0 is returned.  If pipe fails, a value
of -1 is returned and errno is set to indicate the error.

ERROR CONDITIONS

The pipe system call fails if one or more the following are true:





Processed November 7, 1990         PIPE(2,L)                                  1





PIPE(2,L)                   AIX Technical Reference                   PIPE(2,L)



EFAULT  The fildes parameter points to a location outside of the process's
        allocated address space.

EMFILE  199 or more file descriptors are already open.

ENFILE  The system file table or inode table is full.

ENOSPC  There is no space to create a new pipe in the pipe file system (there
        are no more inodes available).

RELATED INFORMATION

In this book:  "read, readv, readx,"  "select," and  "write, writex."

The sh command in AIX Operating System Commands Reference.








































Processed November 7, 1990         PIPE(2,L)                                  2



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