82 lines
2.5 KiB
Plaintext
82 lines
2.5 KiB
Plaintext
'\"! tbl | mmdoc
|
|
'\"macro stdmacro
|
|
.if n .pH ddi.rm/d4/gen/qinit @(#)qinit 43.8 of 11/18/92
|
|
.\" Copyright 1992, 1991 UNIX System Laboratories, Inc.
|
|
.TH qinit D4
|
|
.IX "\f4qinit\fP(D4)"
|
|
.SH NAME
|
|
\f4qinit\fP \- STREAMS queue initialization structure
|
|
.SH SYNOPSIS
|
|
.nf
|
|
.na
|
|
.ft 4
|
|
#include <sys/stream.h>
|
|
#include <sys/ddi.h>
|
|
.ft 1
|
|
.ad
|
|
.fi
|
|
.SH DESCRIPTION
|
|
The \f4qinit\fP structure contains pointers to
|
|
processing procedures and default values for a \f4queue\fP(D4).
|
|
Drivers and modules declare \f4qinit\fP structure for their read
|
|
and write queues, and place the addresses of the structures in their
|
|
\f4streamtab\fP(D4) structure.
|
|
After the initial declaration, all fields are intended to be read-only.
|
|
.SH USAGE
|
|
There is usually one \f4qinit\fP structure for the read side of
|
|
a module or driver, and one \f4qinit\fP structure for the write side.
|
|
.SS Structure Definitions
|
|
The \f4qinit\fP structure contains the following members:
|
|
.P
|
|
.TS
|
|
lf4 2 lf4 2 lf4.
|
|
int (*qi_putp)(); /* put procedure */
|
|
int (*qi_srvp)(); /* service procedure */
|
|
int (*qi_qopen)(); /* open procedure */
|
|
int (*qi_qclose)(); /* close procedure */
|
|
int (*qi_qadmin)(); /* for future use */
|
|
struct module_info *qi_minfo; /* module parameters */
|
|
struct module_stat *qi_mstat; /* module statistics */
|
|
.TE
|
|
.P
|
|
The \f4qi_putp\fP field contains the address of the \f4put\fP(D2)
|
|
routine for the \f4queue\fP.
|
|
.P
|
|
The \f4qi_srvp\fP field contains the address of the service [\f4srv\fP(D2)]
|
|
routine for the \f4queue\fP.
|
|
If there is no service routine, this field should
|
|
be set to \f4NULL\fP.
|
|
.P
|
|
The \f4qi_qopen\fP field contains the address of the \f4open\fP(D2) routine
|
|
for the driver or module.
|
|
Only the read-side \f4qinit\fP structure need
|
|
define contain the routine address.
|
|
The write-side value should be set
|
|
to \f4NULL\fP.
|
|
.P
|
|
The \f4qi_qclose\fP field contains the address of the \f4close\fP(D2) routine
|
|
for the driver or module.
|
|
Only the read-side \f4qinit\fP structure need
|
|
define contain the routine address.
|
|
The write-side value should be set
|
|
to \f4NULL\fP.
|
|
.P
|
|
The \f4qi_qadmin\fP field is intended for future use and should be set to
|
|
\f4NULL\fP.
|
|
.P
|
|
The \f4qi_minfo\fP field contains the address of the \f4module_info\fP(D4)
|
|
structure for the driver or module.
|
|
.P
|
|
The \f4qi_mstat\fP field contains the address of the \f4module_stat\fP
|
|
structure for the driver or module.
|
|
The \f4module_stat\fP structure is
|
|
defined in \f4/usr/include/sys/strstat.h\fP.
|
|
This field should be set
|
|
to \f4NULL\fP if the driver or module does not keep statistics.
|
|
.SH REFERENCES
|
|
.na
|
|
\f4module_info\fP(D4),
|
|
\f4queue\fP(D4),
|
|
\f4streamtab\fP(D4)
|
|
.ad
|