|
|
1.1 ! root 1: /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ ! 2: /* hack.ioctl.c - version 1.0.2 */ ! 3: ! 4: /* This cannot be part of hack.tty.c (as it was earlier) since on some ! 5: systems (e.g. MUNIX) the include files <termio.h> and <sgtty.h> ! 6: define the same constants, and the C preprocessor complains. */ ! 7: #include <stdio.h> ! 8: #include "config.h" ! 9: #ifdef BSD ! 10: #include <sgtty.h> ! 11: struct ltchars ltchars, ltchars0; ! 12: #else ! 13: #include <termio.h> /* also includes part of <sgtty.h> */ ! 14: struct termio termio; ! 15: #endif BSD ! 16: ! 17: getioctls() { ! 18: #ifdef BSD ! 19: (void) ioctl(fileno(stdin), (int) TIOCGLTC, (char *) <chars); ! 20: (void) ioctl(fileno(stdin), (int) TIOCSLTC, (char *) <chars0); ! 21: #else ! 22: (void) ioctl(fileno(stdin), (int) TCGETA, &termio); ! 23: #endif BSD ! 24: } ! 25: ! 26: setioctls() { ! 27: #ifdef BSD ! 28: (void) ioctl(fileno(stdin), (int) TIOCSLTC, (char *) <chars); ! 29: #else ! 30: (void) ioctl(fileno(stdin), (int) TCSETA, &termio); ! 31: #endif BSD ! 32: } ! 33: ! 34: #ifdef SUSPEND /* implies BSD */ ! 35: dosuspend() { ! 36: #include <signal.h> ! 37: #ifdef SIGTSTP ! 38: if(signal(SIGTSTP, SIG_IGN) == SIG_DFL) { ! 39: settty((char *) 0); ! 40: (void) signal(SIGTSTP, SIG_DFL); ! 41: (void) kill(0, SIGTSTP); ! 42: gettty(); ! 43: setftty(); ! 44: docrt(); ! 45: } else { ! 46: pline("I don't think your shell has job control."); ! 47: } ! 48: #else SIGTSTP ! 49: pline("Sorry, it seems we have no SIGTSTP here. Try ! or S."); ! 50: #endif SIGTSTP ! 51: return(0); ! 52: } ! 53: #endif SUSPEND
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.