Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

qreply(9r) [osf1 man page]

qreply(9r)																qreply(9r)

NAME
qreply - STREAMS: Sends a message in the reverse direction SYNOPSIS
#include <sys/stream.h> void qreply( queue_t *queue_pointer, MBLKP message_ptr ); ARGUMENTS
Specifies a pointer to the queue. The typedef queue_t is an alternate name for struct queue_entry *. Specifies a pointer to the message block to be sent in the opposite direction. The typedef MBLKP is an alternate name for typedef struct msgb *. DESCRIPTION
The qreply interface sends a message on a stream in the opposite direction from the queue specified in the queue_pointer argument. It calls the OTHERQ interface to find the queue's module partner. RETURN VALUES
None SEE ALSO
Kernel Interfaces: OTHERQ(9r), putnext(9r) qreply(9r)

Check Out this Related Man Page

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

NAME
qreply - send a message on a stream in the reverse direction SYNOPSIS
#include <sys/stream.h> void qreply(queue_t *q, mblk_t *mp); INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI). PARAMETERS
q Pointer to the queue. mp Pointer to the message to be sent in the opposite direction. DESCRIPTION
qreply() sends messages in the reverse direction of normal flow. That is, qreply(q, mp) is equivalent to putnext(OTHERQ(q), mp). CONTEXT
qreply() can be called from user or interrupt context. EXAMPLES
Example 1: Canonical Flushing Code for STREAMS Drivers. This example depicts the canonical flushing code for STREAMS drivers. Assume that the driver has service procedures so that there may be messages on its queues. See srv(9E). Its write-side put procedure handles M_FLUSH messages by first checking the FLUSHW bit in the first byte of the message, then the write queue is flushed (line 8) and the FLUSHW bit is turned off (line 9). See put(9E). If the FLUSHR bit is on, then the read queue is flushed (line 12) and the message is sent back up the read side of the stream with the qre- ply(9F) function (line 13). If the FLUSHR bit is off, then the message is freed (line 15). See the example for flushq(9F) for the canoni- cal flushing code for modules. 1 xxxwput(q, mp) 2 queue_t *q; 3 mblk_t *mp; 4 { 5 switch(mp->b_datap->db_type) { 6 case M_FLUSH: 7 if (*mp->b_rptr & FLUSHW) { 8 flushq(q, FLUSHALL); 9 *mp->b_rptr &= ~FLUSHW; 10 } 11 if (*mp->b_rptr & FLUSHR) { 12 flushq(RD(q), FLUSHALL); 13 qreply(q, mp); 14 } else { 15 freemsg(mp); 16 } 17 break; . . . 18 } 19 } SEE ALSO
put(9E), srv(9E), flushq(9F), OTHERQ(9F), putnext(9F) Writing Device Drivers STREAMS Programming Guide SunOS 5.10 11 Apr 1991 qreply(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