Commit | Line | Data |
---|---|---|
7faaa776 C |
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 |