OTHERQ(9F) Kernel Functions for Drivers OTHERQ(9F)
NAME
OTHERQ, otherq - get pointer to queue's partner queue
SYNOPSIS
#include <sys/stream.h>
#include <sys/ddi.h>
queue_t *OTHERQ(
queue_t *q);
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
q Pointer to the queue.
DESCRIPTION
The
OTHERQ() function returns a pointer to the other of the two
queue structures that make up a STREAMS module or driver. If
q points to
the read queue the write queue will be returned, and vice versa.
RETURN VALUES
The
OTHERQ() function returns a pointer to a queue's partner.
CONTEXT
The
OTHERQ() function can be called from user, interrupt, or kernel
context.
EXAMPLES
Example 1: Setting Queues
This routine sets the minimum packet size, the maximum packet size,
the high water mark, and the low water mark for the read and write
queues of a given module or driver. It is passed either one of the
queues. This could be used if a module or driver wished to update
its queue parameters dynamically.
1 void
2 set_q_params(q, min, max, hi, lo)
3 queue_t *q;
4 short min;
5 short max;
6 ushort_t hi;
7 ushort_t lo;
8 {
9 q->q_minpsz = min;
10 q->q_maxpsz = max;
11 q->q_hiwat = hi;
12 q->q_lowat = lo;
13 OTHERQ(q)->q_minpsz = min;
14 OTHERQ(q)->q_maxpsz = max;
15 OTHERQ(q)->q_hiwat = hi;
16 OTHERQ(q)->q_lowat = lo;
17 }
SEE ALSO
Writing Device Drivers STREAMS Programming Guide January 16, 2006 OTHERQ(9F)