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)