Manual page for queue(9S)
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 */
struct queue *q_link; /*to next queue for scheduling*/
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 */
Valid flags are as follows:
-
- QENAB
-
queue is already enabled to run.
- QWANTR
-
someone wants to read queue.
- QWANTW
-
someone wants to write to queue.
- QFULL
-
queue is considered full.
- QREADR
-
this is the reader (first) queue.
- QUSE
-
this queue in use (allocation).
- QNOENB
-
do not enable queue via putq.
SEE ALSO
strqget.9f
strqset.9f
module_info.9s
msgb.9s
qinit.9s
streamtab.9s
Created by unroff & hp-tools.
© by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 21/April/97