QINIT(9S) | Data Structures for Drivers | QINIT(9S) |
qinit
—
#include <sys/stream.h>
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.
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
October 17, 2018 | OmniOS |