MIOCACK(9F) Kernel Functions for Drivers MIOCACK(9F)
NAME
miocack - 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
illumos DDI specific (illumos 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
message 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) associated 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 ALSO
put(9E),
mioc2ack(9F),
iocblk(9S) STREAMS Programming Guide June 9, 2004 MIOCACK(9F)