terminal i/o

mmcp mmcp at sdsu.UUCP
Tue Jun 13 13:48:59 AEST 1989


Hi folks,

	I am running UNIX as HP-UX 6.2 on a 9000 series 300 computer; and I
am trying to do terminal i/o which requires the ability to flush an input 
buffer before I post a read. To do this, I am using the following code
outline:

		#include	<termio.h>

		main()
		{
			...stuff

			fd = open( "/dev/tty", O_RDONLY );

			ioctl( fd, TCFLSH, 0 );		/* flush input buffer */

			c = getc( stdin );		/* stdin and fd both
						  	   control terminal */
			...more stuff
		}

		Is this enough to do what I want? I have also tried doing
this by fdopen()ing a stream off of fd and passing this to fgetc(). I am
sometimes getting this to work, but to unpredicatable results. Part of the
"stuff" code is a signal handler which is waking up every 500000 milliseconds
and incrementing a variable; nothing more. I looked around for ways to flush
stdin, and this was all I could come up with after looking at termio(7).
Remember, I am trying to erase the characters from the input buffer. I don't
want any characters there until I actually post a read.

Any help would be appreciated.

Syd Logan
San Diego State University



More information about the Comp.unix.wizards mailing list