QINIT(9S) | Data Structures for Drivers | QINIT(9S) |
qinit
— STREAMS
queue processing procedures structure
#include
<sys/stream.h>
The qinit
structure contains pointers to
processing procedures for a
QUEUE.
The
streamtab
structure for the module or driver contains pointers to one
queue(9S) structure for both upstream
and downstream processing.
The qinit
structure includes the following
members:
typedef int (*qi_putp_t)(queue_t *, mblk_t *); typedef int (*qi_srvp_t)(queue_t *); typedef int (*qi_qopen_t)(queue_t *, dev_t *, int, int, cred_t *); typedef int (*qi_qclose_t)(queue_t *, int, cred_t *); typedef int (*qi_qadmin_t)(void); typedef int (*qi_rwp_t)(queue_t *, struiod_t *); typedef int (*qi_infop_t)(queue_t *, infod_t *); struct qinit { qi_putp_t qi_putp; /* put procedure */ qi_srvp_t qi_srvp; /* service procedure */ qi_qopen_t qi_qopen; /* called on startup */ qi_qclose_t qi_qclose; /* called on finish */ qi_qadmin_t qi_qadmin; /* for future use */ struct module_info *qi_minfo; /* module information */ struct module_stat *qi_mstat; /* module statistics */ qi_rwp_t qi_rwp; /* r/w procedure */ qi_infop_t qi_infop; /* information procedure */ int qi_struiot; /* stream uio type for struio() */ };
Writing Device Drivers
STREAMS Programming Guide
This release includes no support for module statistics.
October 17, 2018 | OmniOS |