|MCOPYIN(9F)||Kernel Functions for Drivers||MCOPYIN(9F)|
#include <sys/stream.h> #include <sys/strsun.h> void mcopyin(mblk_t *mp, void *private, size_t size, void * useraddr);
To convert the message, mcopyin() changes the message type to M_COPYIN, and its payload from a iocblk(9S) to a copyreq(9S). Since the iocblk(9S) and copyreq(9S) are designed to overlay one another, the only fields which must be updated are cq_private, cq_size, and cq_addr, which are set to the supplied values. If useraddr is passed as NULL, mp must be a transparent M_IOCTL, and cq_addr is assigned the pointer-sized quantity found at mp->b_cont->b_rptr.
Any trailing message blocks associated with mp are freed.
STREAMS Programming Guide
|June 9, 2004||OmniOS|