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
unlinkb() 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, unlinkb() 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
unlinkb() can be called from user or interrupt 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
SunOS 5.10 11 Apr 1991 unlinkb(9F)