Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

flushband(9r) [osf1 man page]

flushband(9r)															     flushband(9r)

NAME
flushband - STREAMS: Flushes messages for a specified priority band SYNOPSIS
#include <sys/stream.h> void flushband( queue_t *queue, unsigned char pri, int flag ); ARGUMENTS
Specifies a pointer to the queue. The typedef queue_t is an alternate name for struct queue_entry *. Specifies the priority of the message to be flushed. Specifies one of the following flag flush values: Flush only data messages. These data messages are represented by the M_DATA, M_DELAY, M_PROTO, and M_PCPROTO constants. Flush all messages. Requests a realtime delay. DESCRIPTION
The flushband interface flushes messages associated with the priority band specified by the pri argument. If pri is zero(0), flushband flushes only normal and high priority messages. Otherwise, flushband flushes messages from the priority band specified by the pri argument according to the value passed to the flag argument. RETURN VALUES
None SEE ALSO
Kernel Interfaces: allocb(9r), flushq(9r) Programmer's Guide: STREAMS flushband(9r)

Check Out this Related Man Page

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

NAME
flushq - remove messages from a queue SYNOPSIS
#include <sys/stream.h> void flushq(queue_t *q, int flag); INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI). PARAMETERS
q Pointer to the queue to be flushed. flag Valid flag values are: FLUSHDATA Flush only data messages (types M_DATA M_DELAY M_PROTO and M_PCPROTO). FLUSHALL Flush all messages. DESCRIPTION
flushq() frees messages and their associated data structures by calling freemsg(9F). If the queue's count falls below the low water mark and the queue was blocking an upstream service procedure, the nearest upstream service procedure is enabled. CONTEXT
flushq() can be called from user or interrupt context. EXAMPLES
Example 1: Using flushq() This example depicts the canonical flushing code for STREAMS modules. The module has a write service procedure and potentially has messages on the queue. If it receives an M_FLUSH message, and if the FLUSHR bit is on in the first byte of the message (line 10), then the read queue is flushed (line 11). If the FLUSHW bit is on (line 12), then the write queue is flushed (line 13). Then the message is passed along to the next entity in the stream (line 14). See the example for qreply(9F) for the canonical flushing code for drivers. 1 /* 2 * Module write-side put procedure. 3 */ 4 xxxwput(q, mp) 5 queue_t *q; 6 mblk_t *mp; 7 { 8 switch(mp->b_datap->db_type) { 9 case M_FLUSH: 10 if (*mp->b_rptr & FLUSHR) 11 flushq(RD(q), FLUSHALL); 12 if (*mp->b_rptr & FLUSHW) 13 flushq(q, FLUSHALL); 14 putnext(q, mp); 15 break; . . . 16 } 17 } SEE ALSO
flushband(9F), freemsg(9F), putq(9F), qreply(9F) Writing Device Drivers STREAMS Programming Guide SunOS 5.10 11 Apr 1991 flushq(9F)
Man Page

We Also Found This Discussion For You

1. What is on Your Mind?

Throw my Toys out of the Pram!

Hi Folks, Today hasn't been the best one of my career in IT. I've been a contractor for a major utility company for a number of years, on a number of seperate IT contracts mostly Unix. The company had 10 different flavours of unix and multiple different varsions of most of them. At the... (3 Replies)
Discussion started by: gull04
3 Replies