arnold@gatech.UUCP (Arnold D. Robbins) (02/03/84)
My brother is an electrical engineer working on a VAX running VMS (3.4, he
thinks), at a company not on the net. He is using Fortran. He has a device
on the same line as his terminal. He would like to be able to tell the vax
"here comes some raw data, do no processing on it", then flip a switch and
have the device dump into the vax. The idea is to get VMS to ignore control
characters, etc. If he had a function a la getch(c) which would return the
raw characters to his fortran program, he would be satisfied.
I am posting this to unix-wizards in the hope that some of you who have vaxen
running both os's (to be pitied, but that is not the point) are also VMS
wizards. I am also posting to lang.f77 since he's working in fortran.
Essentially, he needs the equivalent of "stty raw" under VMS. Please reply
to me, and I will send him any responses. ALL help is appreciated.
Of course, he should be running Unix, but their vax doesn't have enough
memory either (only .5 meg). It seems that their management is penny wise and
pound foolish......
Thanks in advance,
--
Arnold Robbins
CSNET: arnold@gatech ARPA: arnold.gatech@CSNet-relay
UUCP: ...!{akgua,allegra,rlgvax,sb1,ut-sally}!gatech!arnold
Did'ja ever have one of those re-incarnations?leichter@yale-com.UUCP (Jerry Leichter) (02/06/84)
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