WR(9F) | Kernel Functions for Drivers | WR(9F) |
WR, wr - get pointer to the write queue for this module or driver
#include <sys/stream.h> #include <sys/ddi.h> queue_t *WR(queue_t *q);
Architecture independent level 1 (DDI/DKI).
q
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.
The pointer to the write queue.
The WR() function can be called from user, interrupt, or kernel context.
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 }
Writing Device Drivers
STREAMS Programming Guide
January 16, 2006 | OmniOS |