UNLINKB(9F) Kernel Functions for Drivers UNLINKB(9F)
unlinkb - remove a message block from the head of a message
#include <sys/stream.h>
mblk_t *unlinkb(mblk_t *mp);
Architecture independent level 1 (DDI/DKI).
mp
Pointer to the message.
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.
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.
The unlinkb() function can be called from user, interrupt, or kernel
context.
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 }
linkb(9F)
Writing Device Drivers
STREAMS Programming Guide
January 16, 2006 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)