Contained Within
Find More Documentation
Featured Support Resources
| Descargar este libro en PDF
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 * /
struct queue * q_link; /* to next queue for scheduling* /
void * q_ptr; /* pointer to private data structure * /
size_t q_count; /* approximate size of message queue * /
uint q_flag; /* status of queue * /
ssize_t q_minpsz; /* smallest packet accepted by QUEUE * /
ssize_t q_maxpsz; /* largest packet accepted by QUEUE * /
size_t q_hiwat; /* high water mark * /
size_t 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)
-
Writing Device Drivers
-
STREAMS Programming Guide
|
|