1 QINIT(9S) Data Structures for Drivers QINIT(9S) 2 3 NAME 4 qinit - STREAMS queue processing procedures structure 5 6 SYNOPSIS 7 #include <sys/stream.h> 8 9 INTERFACE LEVEL 10 Architecture independent level 1 (DDI/DKI) 11 12 DESCRIPTION 13 The qinit structure contains pointers to processing procedures for a 14 QUEUE. The streamtab structure for the module or driver contains 15 pointers to one queue(9S) structure for both upstream and downstream 16 processing. 17 18 STRUCTURE MEMBERS 19 The qinit structure includes the following members: 20 21 22 typedef int (*qi_putp_t)(queue_t *, mblk_t *); 23 typedef int (*qi_srvp_t)(queue_t *); 24 typedef int (*qi_qopen_t)(queue_t *, dev_t *, int, int, cred_t *); 25 typedef int (*qi_qclose_t)(queue_t *, int, cred_t *); 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