'\" te .\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved. .\" Copyright 1989 AT&T .TH unlinkb 9F "16 Jan 2006" "SunOS 5.11" "Kernel Functions for Drivers" .SH NAME unlinkb \- remove a message block from the head of a message .SH SYNOPSIS .LP .nf #include \fBmblk_t *\fR\fBunlinkb\fR(\fBmblk_t *\fR\fImp\fR); .fi .SH INTERFACE LEVEL .sp .LP Architecture independent level 1 (DDI/DKI). .SH PARAMETERS .sp .ne 2 .mk .na \fB\fImp\fR\fR .ad .RS 6n .rt Pointer to the message. .RE .SH DESCRIPTION .sp .LP The \fBunlinkb()\fR function removes the first message block from the message pointed to by \fImp\fR. A new message, minus the removed message block, is returned. .SH RETURN VALUES .sp .LP If successful, the \fBunlinkb()\fR function returns a pointer to the message with the first message block removed. If there is only one message block in the message, \fINULL\fR is returned. .SH CONTEXT .sp .LP The \fBunlinkb()\fR function can be called from user, interrupt, or kernel context. .SH EXAMPLES .LP \fBExample 1 \fR\fBunlinkb()\fR example .sp .LP The routine expects to get passed an \fBM_PROTO T_DATA_IND\fR message. It will remove and free the \fBM_PROTO\fR header and return the remaining \fBM_DATA\fR portion of the message. .sp .in +2 .nf 1 mblk_t * 2 makedata(mp) 3 mblk_t *mp; 4 { 5 mblk_t *nmp; 6 7 nmp = unlinkb(mp); 8 freeb(mp); 9 return(nmp); 10 } .fi .in -2 .SH SEE ALSO .sp .LP \fBlinkb\fR(9F) .sp .LP \fIWriting Device Drivers for Oracle Solaris 11.2\fR .sp .LP \fISTREAMS Programming Guide\fR