7571cf08875671b5416438e5f63fcba6ed58ff7e
[platform/upstream/bash.git] / siglist.c
1 /* siglist.c -- signal list for those machines that don't have one. */
2
3 /* Copyright (C) 1989 Free Software Foundation, Inc.
4
5 This file is part of GNU Bash, the Bourne Again SHell.
6
7 Bash is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 1, or (at your option) any later
10 version.
11
12 Bash is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 for more details.
16
17 You should have received a copy of the GNU General Public License along
18 with Bash; see the file COPYING.  If not, write to the Free Software
19 Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
20
21 #include <stdio.h>
22 #include <sys/types.h>
23 #include <signal.h>
24
25 #include "siglist.h"
26
27 #if !defined (NSIG)
28 #  include "trap.h"
29 #endif
30
31 char *sys_siglist[NSIG];
32
33 extern char *xmalloc (), *malloc ();
34
35 void
36 initialize_siglist ()
37 {
38   register int i;
39
40   for (i = 0; i < NSIG; i++)
41     sys_siglist[i] = (char *)0x0;
42
43   sys_siglist[0] = "Bogus signal";
44
45 #if defined (SIGHUP)
46   sys_siglist[SIGHUP] = "Hangup";
47 #endif
48
49 #if defined (SIGINT)
50   sys_siglist[SIGINT] = "Interrupt";
51 #endif
52
53 #if defined (SIGQUIT)
54   sys_siglist[SIGQUIT] = "Quit";
55 #endif
56
57 #if defined (SIGILL)
58   sys_siglist[SIGILL] = "Illegal instruction";
59 #endif
60
61 #if defined (SIGTRAP)
62   sys_siglist[SIGTRAP] = "BPT trace/trap";
63 #endif
64
65 #if defined (SIGIOT) && !defined (SIGABRT)
66 #define SIGABRT SIGIOT
67 #endif
68
69 #if defined (SIGABRT)
70   sys_siglist[SIGABRT] = "ABORT instruction";
71 #endif
72
73 #if defined (SIGEMT)
74   sys_siglist[SIGEMT] = "EMT instruction";
75 #endif
76
77 #if defined (SIGFPE)
78   sys_siglist[SIGFPE] = "Floating point exception";
79 #endif
80
81 #if defined (SIGKILL)
82   sys_siglist[SIGKILL] = "Killed";
83 #endif
84
85 #if defined (SIGBUS)
86   sys_siglist[SIGBUS] = "Bus error";
87 #endif
88
89 #if defined (SIGSEGV)
90   sys_siglist[SIGSEGV] = "Segmentation fault";
91 #endif
92
93 #if defined (SIGSYS)
94   sys_siglist[SIGSYS] = "Bad system call";
95 #endif
96
97 #if defined (SIGPIPE)
98   sys_siglist[SIGPIPE] = "Broken pipe";
99 #endif
100
101 #if defined (SIGALRM)
102   sys_siglist[SIGALRM] = "Alarm clock";
103 #endif
104
105 #if defined (SIGTERM)
106   sys_siglist[SIGTERM] = "Terminated";
107 #endif
108
109 #if defined (SIGURG)
110   sys_siglist[SIGURG] = "Urgent IO condition";
111 #endif
112
113 #if defined (SIGSTOP)
114   sys_siglist[SIGSTOP] = "Stopped (signal)";
115 #endif
116
117 #if defined (SIGTSTP)
118   sys_siglist[SIGTSTP] = "Stopped";
119 #endif
120
121 #if defined (SIGCONT)
122   sys_siglist[SIGCONT] = "Continue";
123 #endif
124
125 #if !defined (SIGCHLD) && defined (SIGCLD)
126 #define SIGCHLD SIGCLD
127 #endif
128
129 #if defined (SIGCHLD)
130   sys_siglist[SIGCHLD] = "Child death or stop";
131 #endif
132
133 #if defined (SIGTTIN)
134   sys_siglist[SIGTTIN] = "Stopped (tty input)";
135 #endif
136
137 #if defined (SIGTTOU)
138   sys_siglist[SIGTTOU] = "Stopped (tty output)";
139 #endif
140
141 #if defined (SIGIO)
142   sys_siglist[SIGIO] = "I/O ready";
143 #endif
144
145 #if defined (SIGXCPU)
146   sys_siglist[SIGXCPU] = "CPU limit";
147 #endif
148
149 #if defined (SIGXFSZ)
150   sys_siglist[SIGXFSZ] = "File limit";
151 #endif
152
153 #if defined (SIGVTALRM)
154   sys_siglist[SIGVTALRM] = "Alarm (virtual)";
155 #endif
156
157 #if defined (SIGPROF)
158   sys_siglist[SIGPROF] = "Alarm (profile)";
159 #endif
160
161 #if defined (SIGWINCH)
162   sys_siglist[SIGWINCH] = "Window changed";
163 #endif
164
165 #if defined (SIGLOST)
166   sys_siglist[SIGLOST] = "Record lock";
167 #endif
168
169 #if defined (SIGUSR1)
170   sys_siglist[SIGUSR1] = "User signal 1";
171 #endif
172
173 #if defined (SIGUSR2)
174   sys_siglist[SIGUSR2] = "User signal 2";
175 #endif
176
177 #if defined (SIGMSG)
178   sys_siglist[SIGMSG] = "HFT input data pending";
179 #endif 
180
181 #if defined (SIGPWR)
182   sys_siglist[SIGPWR] = "power failure imminent";
183 #endif 
184
185 #if defined (SIGDANGER)
186   sys_siglist[SIGDANGER] = "system crash imminent";
187 #endif 
188
189 #if defined (SIGMIGRATE)
190   sys_siglist[SIGMIGRATE] = "migrate process to another CPU";
191 #endif 
192
193 #if defined (SIGPRE)
194   sys_siglist[SIGPRE] = "programming error";
195 #endif 
196
197 #if defined (SIGGRANT)
198   sys_siglist[SIGGRANT] = "HFT monitor mode granted";
199 #endif 
200
201 #if defined (SIGRETRACT)
202   sys_siglist[SIGRETRACT] = "HFT monitor mode retracted";
203 #endif 
204
205 #if defined (SIGSOUND)
206   sys_siglist[SIGSOUND] = "HFT sound sequence has completed";
207 #endif 
208
209   for (i = 0; i < NSIG; i++)
210     {
211       if (!sys_siglist[i])
212         {
213           sys_siglist[i] =
214             (char *)xmalloc (10 + strlen ("Unknown Signal #"));
215
216           sprintf (sys_siglist[i], "Unknown Signal #%d", i);
217         }
218     }
219 }