WR(D3)
WR - get a pointer to the write queue
As shipped in IRIX 6.5.7. Unchanged since IRIX 6.5.
NAME WR - get a pointer to the write queue SYNOPSIS #include <sys/stream.h> #include <sys/ddi.h> queue_t *WR(queue_t *q); Arguments q Pointer to the queue whose write queue is to be returned. DESCRIPTION The WR function accepts a queue pointer as an argument and returns a pointer to the write queue of the same module. Return Values The pointer to the write queue. USAGE Note that when WR is passed a write queue pointer as an argument, it returns a pointer to this write queue. Level Base or Interrupt. Synchronization Constraints Does not sleep. Driver-defined basic locks, read/write locks, and sleep locks may be held across calls to this function. Examples In a STREAMS open(D2) routine, the driver or module is passed a pointer to the read queue. The driver or module can store a pointer to a private data structure in the q_ptr field of both the read and write queues if it needs to identify the data structures from its put(D2) or srv(D2) routines. 1 extern struct xxx_dev[]; ... 2 xxxopen(queue_t *q, dev_t *devp, int flag, int sflag, cred_t *crp) 3 { ... 3 q->q_ptr = (caddr_t)&xxx_dev[getminor(*devp)]; 4 WR(q)->q_ptr = (caddr_t)&xxx_dev[getminor(*devp)]; ... 5 } REFERENCES OTHERQ(D3), RD(D3)