[comp.unix.i386] cbreak mode in ESIX

durian@boulder.Colorado.EDU (DURIAN MICHAEL BLAINE) (08/25/90)

  I'm sure I'm just being stupid and over-looking something, not reading
the revelent parts of TFM, but I can't discover how to set cbreak mode
in ESIX.  Stty cbreak is not a valid option, and there is no CBREAK flag
I can send to ioctl.
  Could some kind person out there please describe the full extent of my
foolishness and tell me how to do this.

mike
--
durian@tramp.colorado.edu
{ncar, ucar, rutgers, big_places}!boulder!tramp!durian

art@pilikia.pegasus.com (Art Neilson) (08/26/90)

In article <25160@boulder.Colorado.EDU> durian@tramp.Colorado.EDU (DURIAN MICHAEL BLAINE) writes:
>
>  I'm sure I'm just being stupid and over-looking something, not reading
>the revelent parts of TFM, but I can't discover how to set cbreak mode
>in ESIX.  Stty cbreak is not a valid option, and there is no CBREAK flag
>I can send to ioctl.
>  Could some kind person out there please describe the full extent of my
>foolishness and tell me how to do this.

CBREAK is called ICANON under System V.  Check out termio(7) in TFM.
If you're lazy and don't want to do the terminal settings via an ioctl(2),
Stty should have a "raw" option, aka cbreak.
-- 
Arthur W. Neilson III		| ARPA: art@pilikia.pegasus.com
Bank of Hawaii Tech Support	| UUCP: uunet!ucsd!nosc!pegasus!pilikia!art

richard@pegasus.com (Richard Foulk) (08/26/90)

>  I'm sure I'm just being stupid and over-looking something, not reading
>the revelent parts of TFM, but I can't discover how to set cbreak mode
>in ESIX.  Stty cbreak is not a valid option, and there is no CBREAK flag
>I can send to ioctl.
>  Could some kind person out there please describe the full extent of my
>foolishness and tell me how to do this.
>

Try something like:

	stty eof '^a' -icanon

or its termio equivalent.


-- 
Richard Foulk		richard@pegasus.com

guy@auspex.auspex.com (Guy Harris) (08/27/90)

>CBREAK is called ICANON under System V.

(Actually, turning CBREAK on is like turning ICANON *off*, but....)

>If you're lazy and don't want to do the terminal settings via an ioctl(2),
>Stty should have a "raw" option, aka cbreak.

No, "raw" and "cbreak" are different.

"raw" means *RAW*, as in "no input processing of any sort, not even
checking for the interrupt or quit characters, or for ^S and ^Q, and
8-bit input/output with no parity, and no *output* processing either". 

"cbreak" means "don't do input editing, i.e. no erase or kill character,
*but* do *all* the output processing requested by the other mode bits,
and check for the interrupt and quit characters, as well as for ^S and
^Q."

Not the same at all.

guy@auspex.auspex.com (Guy Harris) (08/27/90)

>Try something like:
>
>	stty eof '^a' -icanon
>
>or its termio equivalent.

Actually, try

	stty eof '^a' eol '^@' -icanon

since you want to set both the VMIN *and* VTIME values.  The VTIME/VEOL
value *might* already be zero, but why take chances?

richard@pegasus.com (Richard Foulk) (08/27/90)

>>Try something like:
>>
>>	stty eof '^a' -icanon
>>
>>or its termio equivalent.
>
>Actually, try
>
>	stty eof '^a' eol '^@' -icanon
>
>since you want to set both the VMIN *and* VTIME values.  The VTIME/VEOL
>value *might* already be zero, but why take chances?


It seems doubtful that someone would be using stty like this for anything
fancier than "Press any key to continue".  The setting of eol doesn't
appear to make any difference it that application.

It probably would make a difference elsewhere.


-- 
Richard Foulk		richard@pegasus.com

bruce@segue.segue.com (Bruce Adler) (08/29/90)

In article <3956@auspex.auspex.com> guy@auspex.auspex.com (Guy Harris) writes:
>> ..try:
>>	stty eof '^a' -icanon
> ...try:
>	stty eof '^a' eol '^@' -icanon

How about:
	stty -icanon min 1 time 0
-- 
bruce@segue.com   ...!ism.isc.com!segue!bruce   ...!aero.org!segue!bruce
Never make promises. Never make excuses. Split before dawn.

pim@cti-software.nl (Pim Zandbergen) (08/31/90)

walter@mecky.UUCP (Walter Mecky) writes:

>< 	stty -icanon min 1 time 0

>Did you try this?  I suppose no. It doesn't work, because stty is always
>interpreting the args as ASCII chars and so your advice yields to set "min"
>to 49.

SCO xenix stty will set it to 1, ISC unix stty to 49.
-- 
Pim Zandbergen                          domain : pim@cti-software.nl
CTI Software BV                         uucp   : uunet!mcsun!hp4nl!ctisbv!pim
Laan Copes van Cattenburch 70           phone  : +31 70 3542302
2585 GD The Hague, The Netherlands      fax    : +31 70 3512837