Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Kernel Functions for Driversunlinkb(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

 

unlinkb() 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, unlinkb() 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

 

unlinkb() can be called from user or interrupt 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


SunOS 5.9Go To TopLast Changed 11 Apr 1991

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.