OTHERQ, otherq - get pointer to queue's partner queue
#include <sys/stream.h> #include <sys/ddi.h> queue_t *OTHERQ(queue_t *q);
Architecture independent level 1 (DDI/DKI).
q
The OTHERQ() function returns a pointer to the other of the two queue structures that make up a STREAMS module or driver. If q points to the read queue the write queue will be returned, and vice versa.
The OTHERQ() function returns a pointer to a queue's partner.
The OTHERQ() function can be called from user, interrupt, or kernel context.
Example 1 Setting Queues
This routine sets the minimum packet size, the maximum packet size, the high water mark, and the low water mark for the read and write queues of a given module or driver. It is passed either one of the queues. This could be used if a module or driver wished to update its queue parameters dynamically.
1 void 2 set_q_params(q, min, max, hi, lo) 3 queue_t *q; 4 short min; 5 short max; 6 ushort_t hi; 7 ushort_t lo; 8 { 9 q->q_minpsz = min; 10 q->q_maxpsz = max; 11 q->q_hiwat = hi; 12 q->q_lowat = lo; 13 OTHERQ(q)->q_minpsz = min; 14 OTHERQ(q)->q_maxpsz = max; 15 OTHERQ(q)->q_hiwat = hi; 16 OTHERQ(q)->q_lowat = lo; 17 }
Writing Device Drivers
STREAMS Programming Guide
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |