26 typedef int (*qi_qadmin_t)(void);
27 typedef int (*qi_rwp_t)(queue_t *, struiod_t *);
28 typedef int (*qi_infop_t)(queue_t *, infod_t *);
29
30 struct qinit {
31 qi_putp_t qi_putp; /* put procedure */
32 qi_srvp_t qi_srvp; /* service procedure */
33 qi_qopen_t qi_qopen; /* called on startup */
34 qi_qclose_t qi_qclose; /* called on finish */
35 qi_qadmin_t qi_qadmin; /* for future use */
36 struct module_info *qi_minfo; /* module information */
37 struct module_stat *qi_mstat; /* module statistics */
38 qi_rwp_t qi_rwp; /* r/w procedure */
39 qi_infop_t qi_infop; /* information procedure */
40 int qi_struiot; /* stream uio type for struio() */
41 };
42
43 SEE ALSO
44 queue(9S), streamtab(9S)
45
46 Writing(Device) Drivers
47
48 STREAMS(Programming) Guide
49
50 NOTES
51 This release includes no support for module statistics.
52
53 illumos October 17, 2018 illumos
|
26 typedef int (*qi_qadmin_t)(void);
27 typedef int (*qi_rwp_t)(queue_t *, struiod_t *);
28 typedef int (*qi_infop_t)(queue_t *, infod_t *);
29
30 struct qinit {
31 qi_putp_t qi_putp; /* put procedure */
32 qi_srvp_t qi_srvp; /* service procedure */
33 qi_qopen_t qi_qopen; /* called on startup */
34 qi_qclose_t qi_qclose; /* called on finish */
35 qi_qadmin_t qi_qadmin; /* for future use */
36 struct module_info *qi_minfo; /* module information */
37 struct module_stat *qi_mstat; /* module statistics */
38 qi_rwp_t qi_rwp; /* r/w procedure */
39 qi_infop_t qi_infop; /* information procedure */
40 int qi_struiot; /* stream uio type for struio() */
41 };
42
43 SEE ALSO
44 queue(9S), streamtab(9S)
45
46 Writing Device Drivers
47
48 STREAMS Programming Guide
49
50 NOTES
51 This release includes no support for module statistics.
52
53 illumos October 17, 2018 illumos
|