
#ifdef	CALL_SYS
call_sys (sysval)

register	int	*sysval ;

#define	SYSOK	0
#define	SYSERR	1

{
	switch (*sysval) {

	case 1:	/*	disable echo	*/
		set_tty (ECHO_OFF) ;
		break ;

	case 2:	/*	enable echo	*/
		set_tty (ECHO_ON) ;
		break ;

	case 3:	/*	get one char from keyboard	*/
		set_tty (CBREAK_ON) ;
		*sysval = getchar() ;
		set_tty (CBREAK_OFF) ;
		return ;

	case 4:	/*	dump symbol table */
		dumpsym() ;
		break ;
	case 5:
	case 6:
		err ("not yet implemented sys ( %d )", *sysval) ;
		break ;

	case 7:			/*	exit basic from basic	*/
		printf(BYEMSG);
		exit(0);

	default:
		err ("sys ( %d ) is illegal.", *sysval) ;

	}

	*sysval = SYSOK ;
	return ;

}


/*	set tty routine.	EVAX	*/

set_tty (way)

int	way ;
{

	struct	sgttyb	tty	;

	if (gtty (KEYBOARD, &tty) >= 0)
	{
		tty.sg_flags = (way == ECHO_ON || way == CBREAK_ON)
			? tty.sg_flags | way : tty.sg_flags & way ;
		stty (KEYBOARD, &tty) ;
	}
	return ;
}

#endif

