#include <signal.h>
const char *const sys_signame[NSIG] = {
[0] = "Signal 0",
[SIGHUP] = "HUP",
[SIGINT] = "INT",
[SIGQUIT] = "QUIT",
[SIGILL] = "ILL",
[SIGTRAP] = "TRAP",
[SIGABRT] = "ABRT",
[SIGEMT] = "EMT",
[SIGFPE] = "FPE",
[SIGKILL] = "KILL",
[SIGBUS] = "BUS",
[SIGSEGV] = "SEGV",
[SIGSYS] = "SYS",
[SIGPIPE] = "PIPE",
[SIGALRM] = "ALRM",
[SIGTERM] = "TERM",
[SIGURG] = "URG",
[SIGSTOP] = "STOP",
[SIGTSTP] = "TSTP",
[SIGCONT] = "CONT",
[SIGCHLD] = "CHLD",
[SIGTTIN] = "TTIN",
[SIGTTOU] = "TTOU",
[SIGIO] = "IO",
[SIGXCPU] = "XCPU",
[SIGXFSZ] = "XFSZ",
[SIGVTALRM] = "VTALRM",
[SIGPROF] = "PROF",
[SIGWINCH] = "WINCH",
[SIGINFO] = "INFO",
[SIGUSR1] = "USR1",
[SIGUSR2] = "USR2",
};
const char *const sys_siglist[NSIG] = {
[0] = "Signal 0",
[SIGHUP] = "Hangup",
[SIGINT] = "Interrupt",
[SIGQUIT] = "Quit",
[SIGILL] = "Illegal instruction",
[SIGTRAP] = "Trace/BPT trap",
[SIGABRT] = "Abort trap",
[SIGEMT] = "EMT trap",
[SIGFPE] = "Floating point exception",
[SIGKILL] = "Killed",
[SIGBUS] = "Bus error",
[SIGSEGV] = "Segmentation fault",
[SIGSYS] = "Bad system call",
[SIGPIPE] = "Broken pipe",
[SIGALRM] = "Alarm clock",
[SIGTERM] = "Terminated",
[SIGURG] = "Urgent I/O condition",
[SIGSTOP] = "Suspended (signal)",
[SIGTSTP] = "Suspended",
[SIGCONT] = "Continued",
[SIGCHLD] = "Child exited",
[SIGTTIN] = "Stopped (tty input)",
[SIGTTOU] = "Stopped (tty output)",
[SIGIO] = "I/O possible",
[SIGXCPU] = "Cputime limit exceeded",
[SIGXFSZ] = "Filesize limit exceeded",
[SIGVTALRM] = "Virtual timer expired",
[SIGPROF] = "Profiling timer expired",
[SIGWINCH] = "Window size changes",
[SIGINFO] = "Information request",
[SIGUSR1] = "User defined signal 1",
[SIGUSR2] = "User defined signal 2",
};
const int sys_nsig = sizeof(sys_siglist) / sizeof(sys_siglist[0]);