The files in this directory are some experiments I did with the the new Pseudo Terminal Driver (FTDRIVER) included in VMS V5.4 and later. There are two programs: FT and PTP. FT -- This is my interpretation of the example given in the I/O Users Reference Manual (part 1) in the FTDRIVER chapter. The example is pseudocode for a program to log an interactive terminal session. It is functionally similar to the widely-distributed PHOTO utility. The complete program is supplied compiled and ready-to-run, but if you want to play with it you compile and link it using $ PASCAL FT $ LINK FT,SYS$SHARE:SYS.STB/SELECTIVE_SEARCH When you run the program it spawns a subprocess to which your terminal is attached; the logging is done by the main process. The logfile is created in the file defined by logical name LOGFILE and if this logical does not exist, the log is written to LOGFILE.DAT in the current default directory. PTP --- This is a more advanced program which I call a "PseudoTerminal Pipe" because it pipes the data between two pseudo terminals. It is useful when you have two applications which need to talk to each other but each can only deal with an interactive terminal. I originally developed this for my PMDF configuration where I wanted to run PhoneNet through a TELNET connection. To compile the program: $ PASCAL PTP $ LINK PTP,SYS$SHARE:SYS.STB/SELECTIVE_SEARCH When you run the program it creates two FT devices, one with the logical name FT_MASTER_DEVICE and the other FT_SLAVE_DEVICE. Both logicals are created in the JOB logical name table. As a demonstration, if you use KERMIT or SET HOST/DTE to connect to one of the devices, and press the key, a login to your node will be generated on the other device. A log of the session is written to PIPELOG. The file SETUP.COM is intended to make debugging easier. It assumes you are working on a workstation. Added Bonus! ------------ Also included is a hack to FT.EXE which was developed to log the output sent to a printer. This program, LOGPRINTING, is built in the same way as the others and uses a logfile called LOGFILE. To use it, make sure the print queue is STOPPED and the print device is not spooled, then $ DEFINE PRINTER print-device $ RUN LOGPRINTING While LOGPRINTING is running, start the printqueue, specifying/ON=ft-device where ft-device is the FT device created by LOGPRINTING. Your printer should function normally, and all data recorded in a log file. Some printers, especially postscript ones, send data back to the symbiont, so make sure the physical print device is set /TYPEAHEAD so that the data can get through. And that's not all! ------------------- I had a few problems getting these programs going and posted out a NEWS message asking for help. Among the respondents was one of the FTDRIVER developers who told me this: "The manual is wrong, a zero byte buffer is illegal, 508 should always be legal. That is assuming the buffer does not span a page boundary. In V5.5-1 the 508 byte limit, and page boundary restriction is being removed." I have yet to test the above statement. If you have any questions you can contact the author: Jeremy Begg VSM Software Services P.O. Box 801, UNLEY, SA 5061 Phone (08) 414 5074, FAX (08) 373 4911 E-mail: jeremy@vsm.com.au