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
       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)