Xref: utzoo comp.unix.wizards:17100 comp.sys.att:6857 Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!uunet!ncrlnk!adds!tanya From: tanya@adds.newyork.NCR.COM (Tanya Katz) Newsgroups: comp.unix.wizards,comp.sys.att Subject: streams 1-to-many multiplexor driver Keywords: streams multiplexor driver Message-ID: <1116@adds.newyork.NCR.COM> Date: 30 Jun 89 20:48:56 GMT Organization: Applied Digital Data Systems Lines: 49 I am writing a streams multiplexer driver that monitors input from several (many) ttys, packets the data, and routes the packeted input to one single process. On output, the M_DATA field will be encoded with the port number, sent through the multiplexor, and routed to the proper tty. All the examples I have seen have many user processes connected to a single tty port, or are connected 1-to-1. I have not seen examples of the architecture we are interested in, where one process is reading from / writing to many ttys and a multiplexor is handling this data. A central issue in this design is minimizing the use of file descriptors. We would prefer having only one multiplexor device, and link multiple tty streams to it, but the streams data structures design seem to indicate that we must open a separate minor multiplexor device for each tty stream & link these in separately in order to properly initialize the lower write queue of the linkblk structure. Is there a way to open the multiplexor only once, and to use this open multiplexor fd to link in each open tty stream and properly maintain the l_qbot pointer in the linkblk structure for each member of the multiplexor array? In other words, what I am asking is: If the driver is opened once (dev 0 ) and only the first array member is initialized, can my upper write put routine link this device with each open tty (separate ioctl calls of course) and initialize the multiplexor array with the correct streams l_qbot/write pointer & mux-id? I would appreciate any information from others who have written multiplexors on how such a beast might be designed, as well as any practical advice from those who have "been there." Thanks, Tanya ------------------------------------------------------------------------------ ### ###### ###### ##### Tanya Katz (516) 231-5400 x430 # # # # # # # # # # # # # ##### ...uunet!ncrlnk!adds!tanya ####### # # # # # tanya.katz@adds.newyork.ncr.com # # ###### ###### ##### Applied Digital Data Systems, Inc. 100 Marcus Blvd., Hauppauge, NY 11788 ------------------------------------------------------------------------------