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
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 }
Writing Device Drivers
STREAMS Programming Guide
January 16, 2006 | OmniOS |