qinit(D4)qinit(D4)NAMEqinit - STREAMS queue initialization structure
SYNOPSIS
#include <sys/stream.h>
#include <sys/ddi.h>
DESCRIPTION
The qinit structure contains pointers to processing procedures and
default values for a queue(D4). Drivers and modules declare qinit
structure for their read and write queues, and place the addresses of the
structures in their streamtab(D4) structure. After the initial
declaration, all fields are intended to be read-only.
USAGE
There is usually one qinit structure for the read side of a module or
driver, and one qinit structure for the write side.
Structure Definitions
The qinit structure contains the following members:
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 */
The qi_putp field contains the address of the put(D2) routine for the
queue.
The qi_srvp field contains the address of the service [srv(D2)] routine
for the queue. If there is no service routine, this field should be set
to NULL.
The qi_qopen field contains the address of the open(D2) routine for the
driver or module. Only the read-side qinit structure need define contain
the routine address. The write-side value should be set to NULL.
The qi_qclose field contains the address of the close(D2) routine for the
driver or module. Only the read-side qinit structure need define contain
the routine address. The write-side value should be set to NULL.
The qi_qadmin field is intended for future use and should be set to NULL.
The qi_minfo field contains the address of the module_info(D4) structure
for the driver or module.
The qi_mstat field contains the address of the module_stat structure for
the driver or module. The module_stat structure is defined in
/usr/include/sys/strstat.h. This field should be set to NULL if the
Page 1
qinit(D4)qinit(D4)
driver or module does not keep statistics.
REFERENCESmodule_info(D4), queue(D4), streamtab(D4)
Page 2