MIOC2ACK(9F) Kernel Functions for Drivers MIOC2ACK(9F)

mioc2ack - Convert an M_IOCTL message to an M_IOCACK message

#include <sys/stream.h>
#include <sys/strsun.h>
void mioc2ack(mblk_t *mp, mblk_t *dp, size_t count, int rval);

illumos DDI specific (illumos DDI).

M_IOCTL message.


Payload to associate with M_IOCACK message.


Value to set the ioc_count of the iocblk(9S) to.


Value to set the ioc_rval of the iocblk(9S) to.

The mioc2ack() function converts an M_IOCTL message into an M_IOCACK message using the supplied arguments.

To convert the message, mioc2ack() 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. Further, it frees any message blocks chained off of mp->b_cont and resets mp->b_cont to dp. Finally, if dp is not NULL, mioc2ack() resets dp->b_wptr to be dp->b_rptr + count (that is, it sets dp to be exactly count bytes in length).


This function can be called from user, kernel or interrupt context.

miocack(9F), miocnak(9F), iocblk(9S)

STREAMS Programming Guide

June 9, 2004 OmniOS