MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


System Calls                                              pipe(2)



NAME
     pipe - create an interprocess channel

SYNOPSIS
     #include 

     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 reading and writing.  The
     ONDELAY, ONONBLOCK, and FDCLOEXEC 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
     statime, stctime, and stmtime fields of the pipe.

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

ERORS
     The pipe() function will fail if:

     EMFILE    More than {OPENMAX} 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.


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:









SunOS 5.11          Last change: 23 Apr 2002                    1






System Calls                                              pipe(2)



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Standard                    
    
     MT-Level                     Async-Signal-Safe           
    


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 (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).

































SunOS 5.11          Last change: 23 Apr 2002                    2



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™