UNLINKB(9F) Kernel Functions for Drivers UNLINKB(9F)

NAME


unlinkb - remove a message block from the head of a message

SYNOPSIS


#include <sys/stream.h>


mblk_t *unlinkb(mblk_t *mp);


INTERFACE LEVEL


Architecture independent level 1 (DDI/DKI).

PARAMETERS


mp
Pointer to the message.


DESCRIPTION


The unlinkb() function removes the first message block from the message
pointed to by mp. A new message, minus the removed message block, is
returned.

RETURN VALUES


If successful, the unlinkb() function returns a pointer to the message
with the first message block removed. If there is only one message block
in the message, NULL is returned.

CONTEXT


The unlinkb() function can be called from user, interrupt, or kernel
context.

EXAMPLES


Example 1 unlinkb() example


The routine expects to get passed an M_PROTO T_DATA_IND message. It will
remove and free the M_PROTO header and return the remaining M_DATA
portion of the message.


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 }


SEE ALSO


linkb(9F)


Writing Device Drivers


STREAMS Programming Guide

January 16, 2006 UNLINKB(9F)