rmvb man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

rmvb(9F)		 Kernel Functions for Drivers		      rmvb(9F)

NAME
       rmvb - remove a message block from a message

SYNOPSIS
       #include <sys/stream.h>

       mblk_t *rmvb(mblk_t *mp, mblk_t *bp);

INTERFACE LEVEL
       Architecture independent level 1 (DDI/DKI).

PARAMETERS
       mp	Message	 from  which  a	 block	is to be removed. mblk_t is an
		instance of the msgb(9S) structure.

       bp	Message block to be removed.

DESCRIPTION
       The rmvb() function removes a message block (bp) from a	message	 (mp),
       and  returns a pointer to the altered message. The message block is not
       freed, merely removed from the message. It is the  module  or  driver's
       responsibility to free the message block.

RETURN VALUES
       If  successful,	a  pointer to the message (minus the removed block) is
       returned. The pointer is NULL if bp was the only block of  the  message
       before	rmvb()	was  called. If the designated message block (bp) does
       not exist, -1 is returned.

CONTEXT
       The rmvb() function can be called from user, interrupt, or kernel  con‐
       text.

EXAMPLES
       This  routine  removes  all  zero-length M_DATA message blocks from the
       given message. For each message block in the  message,  save  the  next
       message block (line 10). If the current message block is of type M_DATA
       and has no data in its buffer (line 11), then remove it from  the  mes‐
       sage (line 12) and free it (line 13). In either case, continue with the
       next message block in the message (line 16).

	1  void
	2  xxclean(mp)
	3      mblk_t *mp;
	4  {
	5	   mblk_t *tmp;
	6	   mblk_t *nmp;
	7
	8	   tmp = mp;
	9	   while (tmp) {
       10		    nmp = tmp->b_cont;
       11		    if ((tmp->b_datap->db_type == M_DATA) &&
				  (tmp->b_rptr == tmp->b_wptr)) {
       12			 (void) rmvb(mp, tmp);
       13			 freeb(tmp);
       14		    }
       15		    tmp = nmp;
       16	   }
       17  }

SEE ALSO
       freeb(9F), msgb(9S)

       Writing Device Drivers

       STREAMS Programming Guide

SunOS 5.10			  16 Jan 2006			      rmvb(9F)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net