/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* hack.ioctl.c - version 1.0.2 */ /* $FreeBSD: src/games/hack/hack.ioctl.c,v 1.2 1999/09/12 07:01:23 marcel Exp $ $DragonFly: src/games/hack/hack.ioctl.c,v 1.3 2004/11/06 12:29:17 eirikn Exp $ This cannot be part of hack.tty.c (as it was earlier) since on some systems (e.g. MUNIX) the include files and define the same constants, and the C preprocessor complains. */ #include #include "config.h" #ifdef BSD #include struct ltchars ltchars, ltchars0; #else #include /* also includes part of */ struct termio termio; #endif /* BSD */ getioctls() { #ifdef BSD (void) ioctl(fileno(stdin), (int) TIOCGLTC, (char *) <chars); (void) ioctl(fileno(stdin), (int) TIOCSLTC, (char *) <chars0); #else (void) ioctl(fileno(stdin), (int) TCGETA, &termio); #endif /* BSD */ } setioctls() { #ifdef BSD (void) ioctl(fileno(stdin), (int) TIOCSLTC, (char *) <chars); #else (void) ioctl(fileno(stdin), (int) TCSETA, &termio); #endif /* BSD */ } #ifdef SUSPEND /* implies BSD */ #include dosuspend() { #ifdef SIGTSTP if(signal(SIGTSTP, SIG_IGN) == SIG_DFL) { settty((char *) 0); (void) signal(SIGTSTP, SIG_DFL); (void) kill(0, SIGTSTP); gettty(); setftty(); docrt(); } else { pline("I don't think your shell has job control."); } #else /* SIGTSTP */ pline("Sorry, it seems we have no SIGTSTP here. Try ! or S."); #endif /* SIGTSTP */ return(0); } #endif /* SUSPEND */