I am learning the System V STREAMS facilities from the documentation provided
with the OS (SVR3). I would appreciate assistance with any of the following
1. Are there any good books on the subject other than the STREAMS
2. Timers. Maybe I've missed something on first reading but I found
no mention of timer services for STREAMS modules/drivers. How does
a STREAMS module set a timer and get notified of its expiry?
3. IOCTL. This provides a facility to send commands to, and receive
responses from modules/drivers. Fine. However IOCTL aren't supposed
to be forwarded over lower multiplexor driver boundaries. So in
general it appears that you can't use IOCTL for control interfaces
to your modules in case they ever get 'pushed' under a MUX. Is this
right or have I gone off track? What is to stop me using some module
addressing scheme that I could devise and direct the multiplexor
driver to route the IOCTL message down the right lower stream? Is the
right approach to always make your "module" an upper multiplexor so
that it can be open once by a "control" user for control commands and
responses directly, and have other 'data path' streams?
4. Can anyone provide me with an example of a "provider interface". I'd
prefer the Transport Provider Interface (TPI) so that I can see how
it maps to the TLI, but any would be most welcome.
5. Are there any Public Domain examples of streams module/driver
Please email responses as news takes several days to trickle across the Pacific.
Thanks in anticipation,
ACUS - Australian Centre For Unisys Software