NAME
	  pipe - Creates an interprocess channel.

     SYNOPSIS
	  int pipe (
	       int filedes[2] );


     PARAMETERS
	  filedes   Specifies the address of an	array of two integers
		    into which the new file descriptors	are placed.


     DESCRIPTION
	  The pipe() function creates a	unidirectional interprocess
	  channel called a pipe, and returns two file descriptors,
	  filedes[0] and filedes[1]. The file descriptor specified by
	  the filedes[0] parameter is opened for reading and the file
	  descriptor specified by the filedes[1] parameter is opened
	  for writing.	Their integer values will be the two lowest
	  available at the time	of the call to the pipe() function.
	  The O_NONBLOCK flag will be clear on both file descriptors.
	  (The fcntl() function	can be used to set the O_NONBLOCK
	  flag.)

	  A process has	the pipe open for reading if it	has a file
	  descriptor open that refers to the read end, filedes[0].  A
	  process has the pipe open for	writing	if it has a file
	  descriptor open that refers to the write end,	filedes[1].  A
	  read on file descriptor filedes[0] accesses the data written
	  to filedes[1]	on a first-in, first-out (FIFO)	basis.

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

	  The FD_CLOEXEC flag will be clear on both file descriptors.

     NOTES
	  AES Support Level:
			 Full use


     RETURN VALUES
	  Upon successful completion, a	value of 0 (zero) is returned.
	  If the pipe()	function fails,	a value	of -1 is returned and
	  errno	is set to indicate the error.

     ERRORS
	  If the pipe()	function fails,	errno may be set to one	of the
	  following values:

	  [EFAULT]  The	filedes	parameter is an	invalid	address.

	  [EMFILE]  More than OPEN_MAX-2 file descriptors are already
		    open by this process.

	  [ENFILE]  The	system file table is full, or the device con-
		    taining pipes has no free i-nodes.


     RELATED INFORMATION
	  Functions: read(2), fcntl(2),	select(2), write(2)

	  Commands: sh(1)







































Acknowledgement and Disclaimer