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)

tribblix@gmail.com :: GitHub :: Privacy