unlinkb(D3)
unlinkb - remove a message block from the head of a message
As shipped in IRIX 6.5.19. Unchanged since IRIX 6.5.
NAME unlinkb - 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. DESCRIPTION unlinkb 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 } REFERENCES linkb(D3)