[comp.os.vms] VAXC, IO$_SENSEMODE, and TT*DEF.H

seaotter@athena.mit.edu (The Groovy Horn Dog) (05/07/91)

Here's a question for you VMS C wizards:

I wish to use sys$qiow(...,IO$_SENSEMODE,...) to determine the charac-
teristics of a terminal (and the IO$_SETMODE, but ignore that for now).
Now in the examples I have seen, after assigning a channel via
sys$assign we might have a code fragment like this:


	unsigned long status;
	int iosb[2], ttx[3];

	/* I forget where all
	 * the args go but I
	 * can look that up
	 * later
	 */

	status = sys$qiow(0, iochan, IO$_SENSEMODE,
		... iosb, ... ttx, sizeof(ttx), ... );

So far so good.  But now I have all the #define's in <ttdef.h> and
<tt2def.h> to sort through -- which parameters are in which ttx index?
I know for instance that TT$M_NOECHO is looked for int ttx[1] and
TT2$M_PASTHRU in ttx[2], but what about things like TT$C_BAUD_xxx, etc.?
In the limited documentation I have access to I have not seen any run-
down on what is where.

Furthermore, in the examples I have seen, TT2$M_PASTHRU has been used as
a synonym for the UNIX idea of "[no]cbreak"; is this valid?  And what
would then be the appropriate ttdef for the UNIX idea of "[no]nl"?  And
where is it located?


Thanks for your help,
   Mike

--
Mike Zraly
(the old ssrat)                       If the King's English was good enough
mzraly@ldbvax.dnet.lotus.com          for Jesus, it's good enough for me!
or c/o seaotter@athena.mit.edu        -- Tex. Gov. Ma Ferguson, ca 1920

shepperd@dms.UUCP (Dave Shepperd) (05/08/91)

From article <1991May7.121040.21899@athena.mit.edu>, by seaotter@athena.mit.edu (The Groovy Horn Dog):
> Here's a question for you VMS C wizards:
> 
> I wish to use sys$qiow(...,IO$_SENSEMODE,...) to determine the charac-
> teristics of a terminal (and the IO$_SETMODE, but ignore that for now).

You shouldn't ignore that too much. The input to SETMODE is not the same
as the output of SENSEMODE (i.e., you can't just do a SENSEMODE, set/clear
some bits are do a SETMODE) if you plan on messing with baud and/or frame
size. DEC really screwed this up something awful. I can send you some
details if you are interested (all the programs I have that deal with this
are written MACRO-32).

-- 
Dave Shepperd.	    shepperd@dms.UUCP or motcsd!dms!shepperd
Atari Games Corporation, 675 Sycamore Drive, Milpitas CA 95035.
Nobody knows what I'm saying. I don't even know what I'm saying.