#include #include "hackterm.h" #if defined(m88k) || defined(m68k) #undef SHELLTTY static SGTTY SHELLTTY; int def_prog_mode() { if (ioctl(0,TCGETA,&SHELLTTY)) return -1; PROGTTY = SHELLTTY; PROGTTY.c_oflag = 0; return reset_prog_mode(); } int reset_shell_mode() { return ioctl(0,TCSETAW,&SHELLTTY); } int reset_prog_mode() { return ioctl(0,TCSETAW,&PROGTTY); } #endif #ifndef PROGTTY static SGTTY PROGTTY, SHELLTTY; int def_prog_mode() { if (ioctl(0,TCGETA,&SHELLTTY)) return -1; PROGTTY = SHELLTTY; PROGTTY.c_oflag = 0; return reset_prog_mode(); } int reset_shell_mode() { return ioctl(0,TCSETAW,&SHELLTTY); } int reset_prog_mode() { return ioctl(0,TCSETAW,&PROGTTY); } #endif int noecho() { PROGTTY.c_lflag &= ~ECHO; /* turn off ECHO */ return ioctl(0,TCSETAF,&PROGTTY); } int nonl() { PROGTTY.c_iflag &= ~(INLCR|ICRNL); /* turn off newline mapping */ return ioctl(0,TCSETAF,&PROGTTY); } int cmode(cnt) { PROGTTY.c_lflag &= ~ICANON; /* turn off line buffering */ PROGTTY.c_oflag = 0; /* turn off output mapping */ PROGTTY.c_cc[VMIN] = cnt; PROGTTY.c_cc[VTIME] = (cnt != 1); return ioctl(0,TCSETAF,&PROGTTY); }