queue(9S)
NAME
queue − STREAMS queue structure
SYNOPSIS
#include <sys/stream.h>
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
DESCRIPTION
A STREAMS driver or module consists of two queue structures, one for upstream processing (read) and one for downstream processing (write). This structure is the major building block of a stream. It contains pointers to the processing procedures, pointers to the next and previous queues in the stream, flow control parameters, and a pointer defining the position of its messages on the STREAMS scheduler list.
The queue structure is defined as type queue_t.
STRUCTURE MEMBERS
| struct qinit | ∗q_qinfo; | /∗ module or driver entry points ∗/ |
| struct msgb | ∗q_first; | /∗ first message in queue ∗/ |
| struct msgb | ∗q_last; | /∗ last message in queue ∗/ |
| struct queue | ∗q_next; | /∗ next queue in stream ∗/ |
| void | ∗q_ptr; | /∗ pointer to private data structure ∗/ |
| ulong | q_count; | /∗ approximate size of message queue ∗/ |
| ulong | q_flag; | /∗ status of queue ∗/ |
| long | q_minpsz; | /∗ smallest packet accepted by QUEUE ∗/ |
| long | q_maxpsz; | /∗ largest packet accepted by QUEUE ∗/ |
| ulong | q_hiwat; | /∗ high water mark ∗/ |
| ulong | q_lowat; | /∗ low water mark ∗/ |
| struct qband | ∗q_bandp; | /∗ separate flow info ∗/ |
SEE ALSO
strqget(9F), strqset(9F), msgb(9S), module_info(9S), streamtab(9S), qinit(9S)
SunOS 5.1 Writing Device Drivers
SunOS 5.1 STREAMS Programmer’s Guide
SunOS 5.2 — Last change: 12 Nov 1992