hendrik@zeusa.UUCP (Hendrik Vermooten) (10/04/90)
SPOOLING to a local printer on a terminal ----------------------------------------- This might not sound like an internals question: but please read on. PROBLEM: I want ANYBODY on the system to be able to SPOOL to a local printer on a terminal, not just the person using it. If you just send print-through on/off codes from a spooler to that device, they might end up mixed with normal output for that terminal, which will then also get printed. Our system (XENIX 2.3.3) has an ARNET smartport on it. This thing has a software feature (in the device driver?) called "simulprint", that allows you to write to one terminal using any one of two device names. You give it start/stop print-through codes that it uses to switch on the transparent print-through to the local printer on the terminal. The idea is that you set up the secondary name as the target device for the print spooler. You can set up parameters such as the maximum % of line bandwidth that the spooler may use, to minimize interference with the user on the terminal. I haven't used this feature myself, but by all accounts it works ok if your printer has a reasonable buffer and the user on the terminal is not too finicky. Now all this is very fine, the only problem being that not all cards support this feature. QUESTION: (at last! :-) Can a similar feature be had PORTABLY without writing a new device driver? A friend (mje@olsa99.UUCP) gave me this idea (which I haven't tried yet, because I don't know how reliable it will be, & I want the net's opinion first): He says that c-lists are 64-byte (or something) buffers. If I write a C program that "batches" together my printed output into "packets" of less than 64 bytes (including the print-through on/off codes), and use a write() to the terminal device he suspects that the kernel will always group each c-list together and not mix them. I would appreciate anybody helping me out on this. I would like to know how reliable this type of approach will be, how portable, how to set ioctl() if appropriate, and any other comments. I hope I haven't missed anything, & thanx in advance. -------------------------------------------------------------------------- Hendrik Vermooten, ZEUS software Tel [27 12] 64-5507, FAX [27 12] 64-8382 Bang: ..!uunet!ddsw1!olsa99!zeusa!hendrik or hendrik@zeusa.UUCP --------------------------------------------------------------------------
larry@focsys.uucp (Larry Williamson) (10/10/90)
In article <859@zeusa.UUCP> Hendrik Vermooten writes: > > Our system (XENIX 2.3.3) has an ARNET smartport on it. This thing has a > software feature (in the device driver?) called "simulprint", that > allows you to write to one terminal using any one of two device names. > > Now all this is very fine, the only problem being that not all cards support > this feature. Not all cards may have this feature but many do. The Intellicon family of cards from Connect Tech Inc ((519) 836-1291) has this feature. I would suggest that this feature is more portable than the device driver you suggest writing. Unless you are writing for an installed base of users that already have their cards of choice and some of them do not support this print though mode, you might be better off if your software comes with a 'recommended hardware' list. By the way, the Intellicon card's transparent print mode works just great. But as you say, it is a good idea that the terminal user not be too fussy, or they may complain on occasion. -Larry