1 /* signal.h 6.1 83/08/14 */ 2 3 #ifndef NSIG 4 #define NSIG 32 5 6 #define SIGHUP 1 /* hangup */ 7 #define SIGINT 2 /* interrupt */ 8 #define SIGQUIT 3 /* quit */ 9 #define SIGILL 4 /* illegal instruction (not reset when caught) */ 10 #define ILL_RESAD_FAULT 0x0 /* reserved addressing fault */ 11 #define ILL_PRIVIN_FAULT 0x1 /* privileged instruction fault */ 12 #define ILL_RESOP_FAULT 0x2 /* reserved operand fault */ 13 /* CHME, CHMS, CHMU are not yet given back to users reasonably */ 14 #define SIGTRAP 5 /* trace trap (not reset when caught) */ 15 #define SIGIOT 6 /* IOT instruction */ 16 #define SIGEMT 7 /* EMT instruction */ 17 #define SIGFPE 8 /* floating point exception */ 18 #define FPE_INTOVF_TRAP 0x1 /* integer overflow */ 19 #define FPE_INTDIV_TRAP 0x2 /* integer divide by zero */ 20 #define FPE_FLTOVF_TRAP 0x3 /* floating overflow */ 21 #define FPE_FLTDIV_TRAP 0x4 /* floating/decimal divide by zero */ 22 #define FPE_FLTUND_TRAP 0x5 /* floating underflow */ 23 #define FPE_DECOVF_TRAP 0x6 /* decimal overflow */ 24 #define FPE_SUBRNG_TRAP 0x7 /* subscript out of range */ 25 #define FPE_FLTOVF_FAULT 0x8 /* floating overflow fault */ 26 #define FPE_FLTDIV_FAULT 0x9 /* divide by zero floating fault */ 27 #define FPE_FLTUND_FAULT 0xa /* floating underflow fault */ 28 #define SIGKILL 9 /* kill (cannot be caught or ignored) */ 29 #define SIGBUS 10 /* bus error */ 30 #define SIGSEGV 11 /* segmentation violation */ 31 #define SIGSYS 12 /* bad argument to system call */ 32 #define SIGPIPE 13 /* write on a pipe with no one to read it */ 33 #define SIGALRM 14 /* alarm clock */ 34 #define SIGTERM 15 /* software termination signal from kill */ 35 #define SIGURG 16 /* urgent condition on IO channel */ 36 #define SIGSTOP 17 /* sendable stop signal not from tty */ 37 #define SIGTSTP 18 /* stop signal from tty */ 38 #define SIGCONT 19 /* continue a stopped process */ 39 #define SIGCHLD 20 /* to parent on child stop or exit */ 40 #define SIGTTIN 21 /* to readers pgrp upon background tty read */ 41 #define SIGTTOU 22 /* like TTIN for output if (tp->t_local<OSTOP) */ 42 #define SIGIO 23 /* input/output possible signal */ 43 #define SIGXCPU 24 /* exceeded CPU time limit */ 44 #define SIGXFSZ 25 /* exceeded file size limit */ 45 #define SIGVTALRM 26 /* virtual time alarm */ 46 #define SIGPROF 27 /* profiling time alarm */ 47 48 #ifndef KERNEL 49 int (*signal())(); 50 #endif 51 52 /* 53 * Signal vector "template" used in sigvec call. 54 */ 55 struct sigvec { 56 int (*sv_handler)(); /* signal handler */ 57 int sv_mask; /* signal mask to apply */ 58 int sv_onstack; /* if non-zero, take on signal stack */ 59 }; 60 61 /* 62 * Structure used in sigstack call. 63 */ 64 struct sigstack { 65 char *ss_sp; /* signal stack pointer */ 66 int ss_onstack; /* current status */ 67 }; 68 69 /* 70 * Information pushed on stack when a signal is delivered. 71 * This is used by the kernel to restore state following 72 * execution of the signal handler. It is also made available 73 * to the handler to allow it to properly restore state if 74 * a non-standard exit is performed. 75 */ 76 struct sigcontext { 77 int sc_onstack; /* sigstack state to restore */ 78 int sc_mask; /* signal mask to restore */ 79 int sc_sp; /* sp to restore */ 80 int sc_pc; /* pc to retore */ 81 int sc_ps; /* psl to restore */ 82 }; 83 84 #define BADSIG (int (*)())-1 85 #define SIG_DFL (int (*)())0 86 #define SIG_IGN (int (*)())1 87 88 #ifdef KERNEL 89 #define SIG_CATCH (int (*)())2 90 #define SIG_HOLD (int (*)())3 91 #endif 92 #endif 93