pipe man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana logo
[printable version]

pipe(2)				 System Calls			       pipe(2)

NAME
       pipe - create an interprocess channel

SYNOPSIS
       #include <unistd.h>

       int pipe(int fildes[2]);

DESCRIPTION
       The  pipe() function 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 read‐
       ing and writing.	 The O_NDELAY, O_NONBLOCK, and	FD_CLOEXEC  flags  are
       cleared	on both file descriptors. The fcntl(2) function can be used to
       set these flags.

       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.

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

RETURN VALUES
       Upon  successful	 completion,  0 is returned. Otherwise, −1 is returned
       and errno is set to indicate the error.

ERRORS
       The pipe() function will fail if:

       EMFILE	 More than {OPEN_MAX} file descriptors are already in  use  by
		 this process.

       ENFILE	 The  number  of simultaneously open files in the system would
		 exceed a system-imposed limit.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Committed			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │Async-Signal-Safe		   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Standard		     │See standards(5).		   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       sh(1), fcntl(2),	 fstat(2),  getmsg(2),	poll(2),  putmsg(2),  read(2),
       write(2), attributes(5), standards(5), streamio(7I)

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 argu‐
       ment  fildes[0] or fildes[1] is the number of bytes available for read‐
       ing 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).

SunOS 5.11			  23 Apr 2002			       pipe(2)
[top]

List of man pages available for OpenIndiana

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net