Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!linus!genrad!decvax!harpo!seismo!rlgvax!cvl!umcp-cs!chris
From: chris@umcp-cs.UUCP
Newsgroups: net.unix-wizards
Subject: Re: raw/cooked single char i/o
Message-ID: <201@umcp-cs.UUCP>
Date: Thu, 16-Jun-83 14:37:58 EDT
Article-I.D.: umcp-cs.201
Posted: Thu Jun 16 14:37:58 1983
Date-Received: Fri, 17-Jun-83 00:29:25 EDT
Lines: 27

Now for my two cent's worth:  I'd like a full set of options, like so:

IN_8BIT		/* 8 bit input */
OUT_8BIT	/* 8 bit output */
ECHO		/* echo all input */
CTLECHO		/* echo control chars as ^x */
CBREAK		/* wake up on all input */

the usual tab, CR, NL, FF delay/expansion

ECHONL		/* Echo NL after CR, for half-duplex with ~ECHO */
BREAKNULL	/* Change BREAK to null instead of sending signal */
BREAKIGN	/* Ignore BREAK completely */

and all the special characters in one structure.  No need for a RAW
mode; it's just IN_8BIT|OUT_8BIT|CBREAK|BREAKNULL, with all the special
characters turned off.  The reason for BREAKNULL and BREAKIGN?  Well,
BREAKNULL is for those programs that look for NULL, in RAW, as a change-
speed code (i.e. getty).  BREAKIGN is for noisy lines, where you get
spurious BREAKs, which are currently nearly impossible to get around.
If you set neither, then BREAK should generate SIGINT in ANY mode.

				- Chris
-- 
UUCP:	{seismo,allegra,brl-bmd}!umcp-cs!chris
CSNet:	chris@umcp-cs
ARPA:	chris.umcp-cs@UDel-Relay