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)*/ }; |