mblk_t *dupmsg(mblk_t *mp);
Architecture independent level 1 (DDI/DKI).
mp Pointer to the message.
dupmsg() forms a new message by copying the message block descriptors pointed to by mp and linking them. dupb(9F) is called for each message block. The data blocks themselves are not duplicated.
If successful, dupmsg() returns a pointer to the new message block. Otherwise, it returns a NULL pointer. A return value of NULL indicates either memory depletion or the data block reference count, db_ref (see datab(9S)), has reached a limit (255). See dupb(9F).
dupmsg() can be called from user, kernel, or interrupt context.
Example 1: Using dupmsg()
See copyb(9F) for an example using dupmsg().
copyb(9F), copymsg(9F), dupb(9F), datab(9S)
Writing Device Drivers
STREAMS Programming Guide