.TH unlinkb() "" "" "DDI/DKI Kernel Routine"
.PC "Remove a block from the head of a message"
.B "#include <sys/stream.h>"
\fBmblk_t *unlinkb(\fImessage\^\fB)\fR
\fBmblk_t *\fIessage\^\fB;\fR
.PP
.B unlinkb()
removes the first block from
.IR message .
It returns the address of the remaining stump of
.IR message ;
if the message contained only one block,
it returns NULL.
.SH "See Also"
.B
DDI/DKI kernel routines,
linkb()
.R
.SH Notes
.B unlinkb()
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.
.PP
.B unlinkb()
does not free the block that it removes.
You must free it.
