Query: mcopyin
OS: sunos
Section: 9f
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
mcopyin(9F) Kernel Functions for Drivers mcopyin(9F)NAMEmcopyin - Convert an M_IOCTL or M_IOCDATA message to an M_COPYINSYNOPSIS#include <sys/stream.h> #include <sys/strsun.h> void mcopyin(mblk_t *mp, void *private, size_t size, void * useraddr);INTERFACE LEVELSolaris DDI specific (Solaris DDI).PARAMETERSmp M_IOCTL or M_IOCDATA message. private Value to which the cq_private field of copyreq(9S) is set. size Value to which the cq_size field of copyreq(9S) is set. useraddr Optionally, the value to which the cq_addr field of copyreq(9S) is set.DESCRIPTIONThe mcopyin() function converts an M_IOCTL or M_IOCDATA message into an M_COPYIN message using the supplied arguments. 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.RETURN VALUESNone.CONTEXTThis function can be called from user, kernel or interrupt context.SEE ALSOmcopyout(9F), copyreq(9S) STREAMS Programming Guide SunOS 5.10 9 June 2004 mcopyin(9F)