Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!yale-com!leichter From: leichter@yale-com.UUCP (Jerry Leichter) Newsgroups: net.unix-wizards,net.lang.f77 Subject: Re: Reading raw characters under VMS from fortran Message-ID: <2868@yale-com.UUCP> Date: Mon, 6-Feb-84 15:38:59 EST Article-I.D.: yale-com.2868 Posted: Mon Feb 6 15:38:59 1984 Date-Received: Thu, 9-Feb-84 03:30:06 EST References: gatech.3701 Lines: 22 The literal equivalent of stty raw for VMS is SET TERMINAL/PASSALL; to turn the terminal back to normal mode again, use SET TERMINAL/NOPASSALL. (INTERACTIVE is equivalent to NOPASSALL). Often the easiest way to do this is to build a command procedure to do the SET TERMINAL's, and call up the progra. Note that a terminal in PASSALL mode is STILL "record oriented"; it will not necessarily return stuff a byte at a time. A program can set the terminal to PASSALL mode directly, and further it can do it on an I/O-request at a time basis - except for "immediate- action" characters, like CTRL/Y - since VMS has a true full-duplex characters; no interpretation (except for immediate action - technically "out of band" characters) gets done until the program tries to read them. It isn't hard, though it is quite tricky if you've never done that sort of stuff before, to do the required QIO calls, either in MACRO or directly from FORTRAN. Or, you can actually get the code to do it out of the DECUS C support library (function kbin() in VAXLIB, the VAX-11C compatibility library). kbin() doesn't do PASSALL manipulation, but that would be easy to change. -- Jerry