/* Need to turn off synchronous error signals (SIGPIPE, SIGSYS). */

#include "../scsh_aux.h"

/* Make sure our exports match up w/the implementation: */
#include "../signals1.h"

/* This table converts Unix signal numbers to S48/scsh interrupt numbers.
** If the signal doesn't have an interrupt number, the entry is -1.
** (Only asynchronous signals have interrupt numbers.)
**
** Note that we bake into this table the integer values of the signals --
** i.e., we assume that SIGHUP=1, SIGALRM=15, etc. So this definition is
** very system-dependent.
*/
const int sig2int[] = {
  	-1,		/* 0 is not a signal */
	scshint_hup,	/* SIGHUP */
	scshint_keyboard,	/* SIGINT */
	scshint_quit,	/* SIGQUIT */
	-1,		/* SIGILL */
	-1,		/* SIGTRAP */
	-1,		/* SIGABRT & SIGIOT */
	-1,		/* SIGEMT */
	-1,		/* SIGFPE */
	-1,		/* SIGKILL */
	-1,		/* SIGBUS */
	-1,		/* SIGSEGV */
	-1,		/* SIGSYS */
	-1,		/* SIGPIPE */
	scshint_alarm,	/* SIGALRM */
	scshint_term,	/* SIGTERM */
	scshint_urg,	/* SIGURG */
	-1,		/* SIGSTOP */
	scshint_tstp,	/* SIGTSTP */
	scshint_cont,	/* SIGCONT */
	scshint_chld,	/* SIGCHLD */
	-1, /*	scshint_ttyin,	/* SIGTTIN */
	-1, /*	scshint_ttou,	/* SIGTTOU */
	scshint_io,	/* SIGIO */
	scshint_xcpu,	/* SIGXCPU */
	scshint_xfsz,	/* SIGXFSZ */
	scshint_vtalrm,	/* SIGVTALRM */
	scshint_prof,	/* SIGPROF */
	scshint_winch,	/* SIGWINCH */
	-1,             /* SIGLOST */
	scshint_usr1,	/* SIGUSR1 */
	scshint_usr2	/* SIGUSR2 */
        };

const int max_sig = 31; /* SIGUSR2 */

/*
scshint_alarm
scshint_keyboard
scshint_memory_shortage
scshint_chld
scshint_cont
scshint_hup
scshint_quit
scshint_term
scshint_tstp
scshint_usr1
scshint_usr2
scshint_info
scshint_io
scshint_poll
scshint_prof
scshint_pwr
scshint_urg
scshint_vtalrm
scshint_winch
scshint_xcpu
scshint_xfsz

SIGALRM
SIGCHLD
SIGCONT
SIGHUP
SIGINT
SIGIO
SIGLOST
SIGPROF
SIGQUIT
SIGTERM
SIGTSTP
SIGTTIN
SIGTTOU
SIGURG
SIGUSR1
SIGUSR2
SIGVTALRM
SIGWINCH
SIGXCPU
SIGXFSZ

SIGHUP	1
SIGINT	2
SIGQUIT	3
SIGILL	4
SIGTRAP	5
SIGABRT	6
SIGIOT	SIGABRT
SIGEMT	7
SIGFPE	8
SIGKILL	9
SIGBUS	10
SIGSEGV	11
SIGSYS	12
SIGPIPE	13
SIGALRM	14
SIGTERM	15
SIGURG	16
SIGSTOP	17
SIGTSTP	18
SIGCONT	19
SIGCHLD	20
SIGTTIN	21
SIGTTOU	22
SIGIO	23
SIGXCPU	24
SIGXFSZ	25
SIGVTALRM 26
SIGPROF	27
SIGWINCH 28
SIGLOST	29
SIGUSR1 30
SIGUSR2 31
*/
