Copyright Digital Equipment Corp. All rights reserved.

Arguments

 

array_fdscptr

   An array of file descriptors. A pipe is implemented as an
   array of file descriptors associated with a mailbox. These
   mailbox descriptors are special in that these are the only file
   descriptors which, when passed to the isapipe function, will
   return 1.

   The file descriptors are allocated in the following way:

   o  The first available file descriptor is assigned to writing,
      and the next available file descriptor is assigned to reading.

   o  The file descriptors are then placed in the array in reverse
      order; element 0 contains the file descriptor for reading, and
      element 1 contains the file descriptor for writing.
 

 . . .

   Represents three optional, positional arguments, flag, bufsize,
   and bufquota:
 

flag

   An optional argument used as a bitmask.

   If either the O_NDELAY or O_NONBLOCK bit is set, the I/O
   operations to the mailbox through array_fdscptr file descriptors
   terminate immediately, rather than waiting for another process.

   If, for example, the O_NDELAY bit is set and the child issues
   a read request to the mailbox before the parent has put any
   data into it, the read terminates immediately with 0 status.
   If neither the O_NDELAY nor O_NONBLOCK bit is set, the child
   will be waiting on the read until the parent writes any data into
   the mailbox. This is the default behavior if no flag argument is
   specified.

   The values of O_NDELAY and O_NONBLOCK are defined in the
   <fcntl.h> header file. Any other bits in the flag argument are
   ignored. You must specify this argument if the second optional,
   positional argument bufsize is specified. If the flag argument
   is needed only to allow specification of the bufsize argument,
   specify flag as 0.
 

bufsize

   Optional argument of type int that specifies the size of the
   mailbox, in bytes. Specify a value from 512 to 65535.

   If you specify 0 or omit this argument, the operating system
   creates a mailbox with a default size of 512 bytes.

   If you specify a value less than 0 or larger than 65535, the
   results are unpredictable.

   If you do specify this argument, be sure to precede it with a
   flag argument.

   The DECC$PIPE_BUFFER_SIZE feature logical can also be used to
   specify the size of the mailbox. If bufsize is supplied, it takes
   precedence over the value of DECC$PIPE_BUFFER_SIZE. Otherwise,
   the value of DECC$PIPE_BUFFER_SIZE is used.

   If neither bufsize nor DECC$PIPE_BUFFER_SIZE is specified, the
   default buffer size of 512 is used.
 

bufquota

   Optional argument of type int that specifies the buffer quota of
   the pipe's mailbox. Specify a value from 512 to 2147483647.

   OpenVMS Version 7.3-2 added this argument. In previous OpenVMS
   versions, the buffer quota was equal to the buffer size.

   The DECC$PIPE_BUFFER_QUOTA feature logical can also be used to
   specify the buffer quota. If the optional bufquota argument of
   the pipe function is supplied, it takes precedence over the value
   of DECC$PIPE_BUFFER_QUOTA. Otherwise, the value of DECC$PIPE_
   BUFFER_QUOTA is used.

   If neither bufquota nor DECC$PIPE_BUFFER_QUOTA is specified, then
   the buffer quota defaults to the buffer size.