The streamtab(9S) structure contains pointers to the structures that hold the routines that actually initialize the reading and writing for a module.
If streamtab is NULL, it signifies no STREAMS routines and the entire driver is treated as though it was a regular driver. The streamtab(9S) indirectly identifies the appropriate open, close, put, service, and administration routines. These driver and module routines should generally be declared static.
struct streamtab { struct qinit *st_rdinit; /* defines read queue */ struct qinit *st_wrinit; /* defines write queue */ struct qinit *st_muxrinit; /* for multiplexing */ struct qinit *st_muxwinit; /* drivers only */ }; |