.TH dupmsg() "" "" "DDI/DKI Kernel Routine"
.PC "Duplicate a message"
.B "#include <sys/stream.h>"
\fBmblk_t *dupmsg(\fImessage\^\fB)\fR
\fBmblk_t *\fImessage\^\fB;\fR
.PP
.B dupmsg()
duplicates the message to which
.I message
points.
It duplicates all of the message blocks in the message and links them
together.
.PP
If all goes well,
.B dupmsg()
returns a pointer to the newly created duplicate message;
otherwise, it returns NULL.
.SH "See Also"
.B
copyb(),
copymsg(),
datab,
DDI/DKI kernel routines,
dupb(),
msgb
.R
.SH Notes
.B dupmsg()
has base or interrupt level.
It does not sleep.
.PP
A driver can hold a
driver-defined basic lock, read/write lock, or sleep lock
across a call to this function.
