= sys$qiow(0, tt_chan, function, &iosb, NULL, 0, charbuf, nchar, 0, &termin_mask, NULL, 0); if (status == SS$_TIMEOUT || iosb.status == SS$_TIMEOUT) return(SS$_TIMEOUT); else if (status != SS$_NORMAL || iosb.status != SS$_NORMAL) error("RAW_READ: read QIO error return.\n", TRUE); return((int)*charbuf); } raw_write(c) char c; { /* * Writes a character to the terminal without echoing or * interpretation. */ int status; struct tt_io_iosb iosb; if (tt_chan == -1) assign_channel(); status = sys$qiow(0, tt_chan, IO$_WRITEVBLK | IO$M_CANCTRLO | IO$M_NOFORMAT, &iosb, NULL, 0, &c, 1, 0, 0, 0, 0); if (status != SS$_NORMAL || iosb.status != SS$_NORMAL) error("RAW_WRITE: write QIO error return.\n", TRUE); return; } stty(tt_characteristics) struct tt_info *tt_characteristics; { /* * Sets terminal information from VMS. */ short *f_ptr, *p_ptr, *s_ptr; int status; struct tt_mode_iosb iosb; if (tt_chan == -1)