unlinkb(D3)unlinkb(D3)NAMEunlinkb - remove a message block from the head of a message
SYNOPSIS
#include <sys/stream.h>
#include <sys/ddi.h>
mblk_t *unlinkb(mblk_t *mp);
Arguments
mp Pointer to the message.
DESCRIPTIONunlinkb removes the first message block from the message pointed to by
mp.
Return Values
unlinkb returns a pointer to the remainder of the message after the first
message block has been removed. If there is only one message block in
the message, NULL is returned.
USAGE
The removed message block is not freed. It is the caller's
responsibility to free it.
Level
Base or Interrupt.
Synchronization Constraints
Does not sleep.
Driver-defined basic locks, read/write locks, and sleep locks may be held
across calls to this function.
Examples
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 nmp = unlinkb(mp);
7 freeb(mp);
8 return(nmp);
9 }
Page 1
unlinkb(D3)unlinkb(D3)REFERENCESlinkb(D3)
Page 2