QINIT(9S) |
Data Structures for Drivers |
QINIT(9S) |
NAME
qinit — STREAMS queue processing procedures structure
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI)
DESCRIPTION
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.
STRUCTURE MEMBERS
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() */
};
NOTES
This release includes no support for module statistics.