[comp.os.vms] Terminal Control

mfp@sobeco.UUCP (Mark F. Proudman) (08/04/88)

I now have a total of 3 days of painful experience with VMS... I am trying
to port a curses menu handler that I wrote under system V.  Can someone
suggest a good book on how VMS terminal control (and serial lines generally)
work, preferably one including programming examples?  Is there a manual 
available from DEC which is at all comparable to the UNIX programming guide?
I have the VMS Run time Library reference manual; but I need more of an idiot's
hand-held tour of the SMG$ routines.

I have seen some berkeley uucp code with #ifdef VMS's in it, and strange calls
to ioctl() with 8 or 9 arguments.  Is this for real?  The code I saw had been
hacked by many...

Thanks for any help.

Mark Proudman	uunet!attcan!sobeco!mfp
		(514) 878 9090
"It is agreed that the ice is thin here" - K&R.

pstevens@pioneer.arc.nasa.gov.arpa (Paul Stevens RCE Sterling) (08/04/88)

>suggest a good book on how VMS terminal control (and serial lines generally)

The book to read to fully understand VMS terminal control is the I/O
Users Guide (part of the doc set), this is not a 'beginner's manual'
though.

>I have the VMS Run time Library reference manual; but I need more of an idiot's
>hand-held tour of the SMG$ routines.

The best overview of SMG I have seen is in the Guide to Programming on
VAX/VMS.  This is one of those small 'Guides' as opposed to the big
normal doc set.  Lots of good examples (all in FORTRAN though).


-----------------------------------------------------------------------
Paul Stevens - NASA Ames Research Center Moffet Field CA
               Mail Stop 233-10
               (415)694-4887
	       pstevens@ames-pioneer.arpa

dhesi@bsu-cs.UUCP (Rahul Dhesi) (08/04/88)

In article <316@sobeco.UUCP> mfp@sobeco.UUCP (Mark F. Proudman) writes:
>I have seen some berkeley uucp code with #ifdef VMS's in it, and strange calls
>to ioctl() with 8 or 9 arguments.  Is this for real? 

"#ifdef VMS" often really means "#ifdef EUNICE".  Eunice is software
that tries to make VMS look like UNIX.
-- 
Rahul Dhesi         UUCP:  <backbones>!{iuvax,pur-ee,uunet}!bsu-cs!dhesi

iwm@asun3.ic.ac.uk (Ian Moor) (08/06/88)

Asking about curses on VMS:
In article <316@sobeco.UUCP> mfp@sobeco.UUCP (Mark F. Proudman) writes:
>I have seen some berkeley uucp code with #ifdef VMS's in it, and strange calls
>to ioctl() with 8 or 9 arguments.  Is this for real? 

There is a curses library for VMS C, bundled with VMS (you dont need to 
buy the VMS C compiler to use it). It is built on top of the screen manager
(SMG$...  library); unfortunately it doesnt implement the unix crmode/nocrmode
i.e. keystroke at a time; you have to use SMG$GET_KEYSTROKE for this. 
It could be that the ioctl was a C macro calling SMG or maybe QIO; I should
use SMG as it removes terminal type dependency -- SMG$GET_KEYSTROKE will
decode function keys in a terminal independent way.