[unix-pc.general] Raw character I/O: How?

brant@manta.UUCP (Brant Cheikes) (04/12/88)

I can't figure this one out-- I've tried RTFM in vain.  I'm trying to
bring XLISP 2.0 up on the 3b1, but am stymied trying to define these
three seemingly simple C routines:

int xgetc()
{
  /* get a single character from the terminal AS SOON AS ONE BECOMES
     AVAILABLE.  That is, as soon as Joe User hits a key, xgetc()
     returns it.  If no data is available, xgetc() waits. */
}

int xputc(ch)
  int ch;
{
  /* put a single character to the terminal immediately, with no
     output buffering. */
}

int xcheck()
{
  /* test if a character is available to be read.  If so, grab and
     return it, otherwise return -1. */
}

These routines have simple definitions under (gak) MS-DOS, but I
cannot seem to figure how to squeeze the same functionality from Unix.
Suggestions?  Code swatches?  Pointers to the manuals?

Please direct any and all info to me thru the mail.  If anyone wants
the answer, send me mail and I'll tell you what I find out.  If
there's enough interest, I'll post the answer.  Thanks, folks.
-- 
Brant Cheikes
University of Pennsylvania
Department of Computer and Information Science
ARPA: brant@linc.cis.upenn.edu, UUCP: ...drexel!manta!brant