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)