Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

strqget(9F)

strqset(9F)

msgb(9S)

module_info(9S)

streamtab(9S)

qinit(9S)

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026