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)

tribblix@gmail.com :: GitHub :: Privacy