1/*-
2 * SPDX-License-Identifier: BSD-3-Clause
3 *
4 * Copyright (c) 1983, 1993
5 *	The Regents of the University of California.  All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 *    notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 *    notice, this list of conditions and the following disclaimer in the
14 *    documentation and/or other materials provided with the distribution.
15 * 3. Neither the name of the University nor the names of its contributors
16 *    may be used to endorse or promote products derived from this software
17 *    without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * SUCH DAMAGE.
30 */
31
32#include <signal.h>
33
34const char *const sys_signame[NSIG] = {
35	[0] =		"Signal 0",
36	[SIGHUP] =	"HUP",
37	[SIGINT] =	"INT",
38	[SIGQUIT] =	"QUIT",
39	[SIGILL] =	"ILL",
40	[SIGTRAP] =	"TRAP",
41	[SIGABRT] =	"ABRT",
42	[SIGEMT] =	"EMT",
43	[SIGFPE] =	"FPE",
44	[SIGKILL] =	"KILL",
45	[SIGBUS] =	"BUS",
46	[SIGSEGV] =	"SEGV",
47	[SIGSYS] =	"SYS",
48	[SIGPIPE] =	"PIPE",
49	[SIGALRM] =	"ALRM",
50	[SIGTERM] =	"TERM",
51	[SIGURG] =	"URG",
52	[SIGSTOP] =	"STOP",
53	[SIGTSTP] =	"TSTP",
54	[SIGCONT] =	"CONT",
55	[SIGCHLD] =	"CHLD",
56	[SIGTTIN] =	"TTIN",
57	[SIGTTOU] =	"TTOU",
58	[SIGIO] =	"IO",
59	[SIGXCPU] =	"XCPU",
60	[SIGXFSZ] =	"XFSZ",
61	[SIGVTALRM] =	"VTALRM",
62	[SIGPROF] =	"PROF",
63	[SIGWINCH] =	"WINCH",
64	[SIGINFO] =	"INFO",
65	[SIGUSR1] =	"USR1",
66	[SIGUSR2] =	"USR2",
67};
68
69const char *const sys_siglist[NSIG] = {
70	[0] =		"Signal 0",
71	[SIGHUP] =	"Hangup",
72	[SIGINT] =	"Interrupt",
73	[SIGQUIT] =	"Quit",
74	[SIGILL] =	"Illegal instruction",
75	[SIGTRAP] =	"Trace/BPT trap",
76	[SIGABRT] =	"Abort trap",
77	[SIGEMT] =	"EMT trap",
78	[SIGFPE] =	"Floating point exception",
79	[SIGKILL] =	"Killed",
80	[SIGBUS] =	"Bus error",
81	[SIGSEGV] =	"Segmentation fault",
82	[SIGSYS] =	"Bad system call",
83	[SIGPIPE] =	"Broken pipe",
84	[SIGALRM] =	"Alarm clock",
85	[SIGTERM] =	"Terminated",
86	[SIGURG] =	"Urgent I/O condition",
87	[SIGSTOP] =	"Suspended (signal)",
88	[SIGTSTP] =	"Suspended",
89	[SIGCONT] =	"Continued",
90	[SIGCHLD] =	"Child exited",
91	[SIGTTIN] =	"Stopped (tty input)",
92	[SIGTTOU] =	"Stopped (tty output)",
93	[SIGIO] =	"I/O possible",
94	[SIGXCPU] =	"Cputime limit exceeded",
95	[SIGXFSZ] =	"Filesize limit exceeded",
96	[SIGVTALRM] =	"Virtual timer expired",
97	[SIGPROF] =	"Profiling timer expired",
98	[SIGWINCH] =	"Window size changes",
99	[SIGINFO] =	"Information request",
100	[SIGUSR1] =	"User defined signal 1",
101	[SIGUSR2] =	"User defined signal 2",
102};
103const int sys_nsig = sizeof(sys_siglist) / sizeof(sys_siglist[0]);
104