streamio.7 (2010 09)
s
streamio(7) streamio(7)
ERRORS
A STREAMS ioctl command fails without performing the function and with
errno set to [EINVAL] if:
• The stream referred to by fildes is linked below a multiplexing driver.
• The command parameter is not a valid value for the stream.
In addition, if any of the following conditions occur, the STREAMS
ioctl commands return the
corresponding value:
I_ATMARK
[EINVAL] arg has an illegal value.
I_CANPUT
[EINVAL] arg has an illegal value.
I_CKBAND
[EINVAL] arg has an illegal value.
I_FDINSERT
[EINVAL] The fildes parameter in the
strfdinsert structure is an invalid open file descrip-
tor.
[EINVAL] The size of the pointer plus offset exceeds the value of the len field for the buffer
specified through ctlptr .
[EINVAL] offset does not specify a properly aligned location in the data buffer.
[EINVAL] flags contains an undefined value.
[EFAULT] arg points, or
ctrlbuf or databuf is outside the allocated address space.
[EAGAIN] The
ioctl request failed because a non-priority message was to be created, the
O_NONBLOCK option was set, and the stream’s write queue was full because of
internal flow control conditions.
[ENOSR] Buffers could not be allocated for the message that was to be created due to
insufficient STREAMS memory resources.
[ENXIO] A hangup was received on the stream specified by fildes in the
I_FDINSERT
ioctl call or on the stream specified by fildes in the strfdinsert.
[ERANGE] The value of the len field for the buffer specified through
databuf does not fall
within the range for the minimum and maximum sizes of packets for the top-most
module on the stream.
[ERANGE] The value of the len field for the buffer specified through
databuf is larger than
the maximum allowable size for the data part of a message.
[ERANGE] The value of the len field for the buffer specified through
ctlbuf is larger than
the maximum allowable size for the control part of a message.
The
I_FDINSERT ioctl can also fail if an error (M_ERROR) message was
received by the stream specified by the fildes field in the strfdinsert structure.
In this case, errno is set to the error value in the error message.
I_FIND
[EINVAL] arg does not contain a valid module name.
[EFAULT] arg points outside the allocated address space.
I_FLUSH
[ENOSR] Could not allocate buffers for flush operation because of a lack of STREAMS
memory resources.
[EINVAL] The arg parameter is an invalid value.
[ENXIO] A hangup was received on fildes .
I_FLUSHBAND
HP-UX 11i Version 3: September 2010 − 7 − Hewlett-Packard Company 7