MIOCACK(9F)MIOCACK(9F)NAMEmiocack - Positively acknowledge an M_IOCTL message
SYNOPSIS
#include <sys/stream.h>
#include <sys/strsun.h>
void miocack(queue_t *wq, mblk_t *mp, intcount, int rval);
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI).
PARAMETERS
wq
Write queue associated with the read queue to send the
M_IOCACK on.
mp
M_IOCTL message.
count
Value to set the ioc_count of the iocblk(9S) to.
rval
Value to set the ioc_rval of the iocblk(9S) to.
DESCRIPTION
The miocack() function converts an M_IOCTL message into a M_IOCACK mes‐
sage and sends the resulting message upstream.
To convert the message, miocack() changes the message type to M_IOCACK,
sets the 'ioc_count' and 'ioc_rval' members of the iocblk(9S) associ‐
ated with mp to the passed-in values, and clears the 'ioc_error' field.
If the caller specifies a non-zero value for count, it is expected that
the caller has already set 'mp->b_cont' field to point to a message
block with a length of at least count bytes.
Callers that only need to perform the message conversion, or need to
perform additional steps between the conversion and the sending of
the M_IOCACK should use mioc2ack(9F).
RETURN VALUES
None.
CONTEXT
This function can be called from user, kernel or interrupt context.
NOTES
Callers must not hold any locks across a miocack() that can be acquired
as part of put(9E) processing.
SEE ALSOmioc2ack(9F), put(9E), iocblk(9S)
STREAMS Programming Guide
Jun 9, 2004 MIOCACK(9F)