Technical data

SunOS 5.5 Ioctl Requests streamio(7I)
I_LOOK Retrieves the name of the module just below the stream head of the
stream pointed to by fildes, and places it in a null terminated character
string pointed at by arg. The buffer pointed to by arg should be at least
FMNAMESZ+1 bytes long. This requires the declaration #include
<sys/conf.h>. On failure, errno is set to one of the following values:
EFAULT arg points outside the allocated address space.
EINVAL No module present in stream.
I_FLUSH This request flushes all input and/or output queues, depending on the
value of arg. Legal arg values are:
FLUSHR Flush read queues.
FLUSHW Flush write queues.
FLUSHRW Flush read and write queues.
If a pipe or FIFO does not have any modules pushed, the read queue of
the stream head on either end is flushed depending on the value of arg.
If FLUSHR is set and fildes is a pipe, the read queue for that end of the
pipe is flushed and the write queue for the other end is flushed. If fildes
is a FIFO, both queues are flushed.
If FLUSHW is set and fildes is a pipe and the other end of the pipe exists,
the read queue for the other end of the pipe is flushed and the write
queue for this end is flushed. If fildes is a FIFO, both queues of the FIFO
are flushed.
If FLUSHRW is set, all read queues are flushed, that is, the read queue
for the FIFO and the read queue on both ends of the pipe are flushed.
Correct flush handling of a pipe or FIFO with modules pushed is
achieved via the pipemod module. This module should be the first
module pushed onto a pipe so that it is at the midpoint of the pipe itself.
On failure, errno is set to one of the following values:
ENOSR Unable to allocate buffers for flush message due to
insufficientSTREAMS memory resources.
EINVAL Invalid arg value.
ENXIO Hangup received on fildes.
I_FLUSHBAND Flushes a particular band of messages. arg points to a bandinfo struc-
ture that has the following members:
unsigned char bi_pri;
int bi_flag;
The bi_flag field may be one of FLUSHR, FLUSHW,orFLUSHRW as
described earlier.
modified 24 Jan 1995 7I-327