Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!lsuc!ncrcan!greg
From: greg@ncrcan.UUCP (Greg Foisy)
Newsgroups: comp.unix.questions
Subject: Re: Keyboard Input (Revised Question) ...
Message-ID: <290@ncrcan.UUCP>
Date: Thu, 23-Jul-87 18:37:15 EDT
Article-I.D.: ncrcan.290
Posted: Thu Jul 23 18:37:15 1987
Date-Received: Sat, 25-Jul-87 06:43:34 EDT
References: <1043@bucsb.bu.edu.UUCP> <805@nu3b2.UUCP> <142@bby-bc.UUCP> <23758@sun.uucp>
Reply-To: greg@ncrcan.UUCP ()
Organization: NCR Canada Ltd., Mississauga, Ontario
Lines: 25

In article <23758@sun.uucp> guy%gorodish@Sun.COM (Guy Harris) writes:
>> Also isn't there an ioctl() settable value that specifies the minimum number
>> of characters which must be in the buffer before a request is satisfied,
>> along with a time period after which this many characters don't need to
>> be there?

>There is, but not under 4.[23]BSD; the person in question is running
>systems based on 4.[23]BSD.  In those systems, there is an "ioctl"
>call FIONREAD that will tell you how many characters are waiting to
>be read; with this, you don't have to go into no-delay mode (and thus
>don't have to leave it, either).  This is arguably more convenient.

Under system V if you wish to set the number of characters needed to satisfy
a read request you can disable cononical processing and set VMIN and VTIME to
values which represent the minimum number of characters needed to satisfy a
read request and the minimum amount of time respectively.

You do this through an ioctl, setting the lflags to disable cononical 
processing.  VMIN and VTIME are set in c_cc at VMIN and VTIME.
(termio.c_cc[VMIN] and termio.c_cc[VTIME]).

This may have the undesired effect of disabling the erase and kill edit
functions. 

greg foisy.