The qinit(9S) structure (also shown in Appendix A) contains pointers to the STREAMS entry points. These routines are called by the module loading code in the kernel.
struct qinit {
 	int			(*qi_putp)();					/* put procedure */
 	int			(*qi_srvp)();					/* service procedure */
 	int			(*qi_qopen)();					/*called on each open or push*/
 	int			(*qi_qclose)();				/*called on last close or pop*/
 	int			(*qi_qadmin)();				/* reserved for future use */
 	struct module_info		*qi_minfo;		/* info struct */
 	struct module_stat		*qi_mstat;		/*stats struct (opt)*/
};