Technical data
streamio(7I) Ioctl Requests SunOS 5.5
An I_LINK can also fail while waiting for the multiplexing driver to ack-
nowledge the link request, if a message indicating an error or a hangup
is received at the stream head of fildes. In addition, an error code can be
returned in the positive or negative acknowledgement message. For
these cases, I_LINK will fail with errno set to the value in the message.
I_UNLINK Disconnects the two streams specified by fildes and arg. fildes is the file
descriptor of the stream connected to the multiplexing driver. arg is the
multiplexor ID number that was returned by the I_LINK.Ifarg is -1,
then all streams that were linked to fildes are disconnected. As in
I_LINK, this command requires the multiplexingdriver to acknowledge
the unlink. On failure, errno is set to one of the following values:
ENXIO Hangup received on fildes.
ETIME Time out before acknowledgement message was received
at stream head.
ENOSR Unable to allocate storage to perform the I_UNLINK due
to insufficientSTREAMS memory resources.
EINVAL arg is an invalid multiplexorID number or fildes is not the
stream on which theI_LINK that returned arg was per-
formed.
EINVAL fildes is the file descriptor of a pipe or FIFO.
An I_UNLINK can also fail while waiting for the multiplexing driver to
acknowledge the link request, if a message indicating an error or a
hangup is received at the stream head of fildes. In addition, an error
code can be returned in the positive or negative acknowledgement mes-
sage. For these cases, I_UNLINK will fail with errno set to the value in
the message.
I_PLINK Connects two streams, where fildes is the file descriptor of the stream
connected to the multiplexingdriver, and arg is the file descriptor of the
stream connected to another driver. The stream designated by arg gets
connected via a persistent linkbelow the multiplexingdriver. I_PLINK
requires the multiplexingdriver to send an acknowledgement message
to the stream head regarding the linking operation. This call creates a
persistent link that continues to exist even if the file descriptor fildes
associated with the upper stream to the multiplexingdriver is closed.
This call returns a multiplexorID number (an identifier that may be used
to disconnect the multiplexor, see I_PUNLINK) on success, and -1 on
failure. On failure, errno is set to one of the following values:
ENXIO Hangup received on fildes.
ETIME Time out before acknowledgement message was
received at the stream head.
EAGAIN Unable to allocateSTREAMS storage to perform the
I_PLINK.
7I-338 modified 24 Jan 1995










