Home | History | Annotate | Line # | Download | only in hack
hack.ioctl.c revision 1.5
      1 /*
      2  * Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985.
      3  */
      4 
      5 #ifndef lint
      6 static char rcsid[] = "$NetBSD: hack.ioctl.c,v 1.5 1995/04/28 23:01:45 mycroft Exp $";
      7 #endif /* not lint */
      8 
      9 /* This cannot be part of hack.tty.c (as it was earlier) since on some
     10    systems (e.g. MUNIX) the include files <termio.h> and <sgtty.h>
     11    define the same constants, and the C preprocessor complains. */
     12 #include <stdio.h>
     13 #include <termios.h>
     14 #include "config.h"
     15 struct termios termios;
     16 
     17 getioctls() {
     18 	(void) tcgetattr(fileno(stdin), &termios);
     19 }
     20 
     21 setioctls() {
     22 	(void) tcsetattr(fileno(stdin), TCSADRAIN, &termios);
     23 }
     24 
     25 #ifdef SUSPEND		/* implies BSD */
     26 #include	<signal.h>
     27 dosuspend() {
     28 #ifdef SIGTSTP
     29 	if(signal(SIGTSTP, SIG_IGN) == SIG_DFL) {
     30 		settty((char *) 0);
     31 		(void) signal(SIGTSTP, SIG_DFL);
     32 		(void) kill(0, SIGTSTP);
     33 		gettty();
     34 		setftty();
     35 		docrt();
     36 	} else {
     37 		pline("I don't think your shell has job control.");
     38 	}
     39 #else SIGTSTP
     40 	pline("Sorry, it seems we have no SIGTSTP here. Try ! or S.");
     41 #endif SIGTSTP
     42 	return(0);
     43 }
     44 #endif SUSPEND
     45