WR(9F) Kernel Functions for Drivers WR(9F)
NAME
WR, wr - get pointer to the write queue for this module or driver
SYNOPSIS
#include <sys/stream.h>
#include <sys/ddi.h>
queue_t *WR(
queue_t *q);
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
q Pointer to the
read queue whose
write queue is to be returned.
DESCRIPTION
The
WR() function accepts a
read queue pointer as an argument and
returns a pointer to the
write queue of the same module.
CAUTION: Make sure the argument to this function is a pointer to a
read queue.
WR() will not check for queue type, and a system panic
could result if the pointer is not to a
read queue.
RETURN VALUES
The pointer to the
write queue.
CONTEXT
The
WR() function can be called from user, interrupt, or kernel
context.
EXAMPLES
Example 1: Using WR()
In a STREAMS
close(9E) routine, the driver or module is passed a
pointer to the
read queue. These usually are set to the address of
the module-specific data structure for the minor device.
1 xxxclose(q, flag)
2 queue_t *q;
3 int flag;
4 {
5 q->q_ptr = NULL;
6 WR(q)->q_ptr = NULL;
...
7 }
SEE ALSO
close(9E),
OTHERQ(9F),
RD(9F) Writing Device Drivers STREAMS Programming Guide January 16, 2006 WR(9F)