Newsgroups: comp.os.minix
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msunews!uwm.edu!vixen.cso.uiuc.edu!newsfeed.internetmci.com!in2.uu.net!EU.net!sun4nl!cs.vu.nl!philip
From: philip@cs.vu.nl (Philip Homburg)
Subject: Re: Termios implementation in minix
Nntp-Posting-Host: centaur.cs.vu.nl
References: <821820165.23065@outlands.demon.co.uk> <149715@cup.portal.com>
Sender: news@cs.vu.nl
Organization: Fac. Wiskunde & Informatica, VU, Amsterdam
Date: Fri, 19 Jan 1996 10:01:58 GMT
Message-ID: <DLFAJA.8BF.0.-s@cs.vu.nl>
Lines: 47

In article <149715@cup.portal.com>,  <Vasant_-_Kanchan@cup.portal.com> wrote:
%
%   Hi,
%
%   I am trying to understand how termios is implemented in
%   minix-386vm. I hope someone can clarify the following:
%
%   * Why do you need the VREPRINT, VLNEXT and VDISCARD
%     extensions and what do they do ?.

VREPRINT (by default ^R) sends the current input line to the screen.
This is useful if a background process sends output while you are typing.

VLNEXT (by default ^V) escapes the next character. Older systems used the
backslash ('\') for this. The backslash used to escape some characters
(erase, and kill) but not not all (newline, or backslash itself). 

VDISCARD (by default ^O) discards output that should be send to the screen.

%   * In the case of serial ports is the cannonical filtering
%     done at the interrupt level ?. It seems the version of
%     BSD that I have  calls ttyinput() from the interrupt. 

No. All processing is done a task level.

%   * Consider the case where ICANNON is set, ECHO is set and
%     the user erases (VERASE) a '\t' character. How is this
%     handled ?.  Can one assume that '\t' is always a fixed 
%     number  of spaces and compensate accordingly. Linux
%     doesn't handle '\t' at all.

The tty driver assumes that knows where the tab stops are (in the first, ninth,
seventeenth, etc. column). This is true on most terminals and is certainly true
if xtabs is enabled. When the tty driver has to erase a tab it computes the
size of the tab and erases that many characters. This doesn't always work,
for example, when output is send to the terminal while you are typing, the
tty driver can't correctly erase the line and simulates a VREPRINT.

%   * Lastly minix 1.7 does not have any termios in the kernel.

1.7.2 does.





					Philip Homburg
