#ifndef SIGNAMES_H #define SIGNAMES_H #include struct signame { int sig; const char* name; }; static const struct signame sigs[] = { #ifdef SIGABRT {SIGABRT, "ABRT"}, #endif #ifdef SIGALRM {SIGALRM, "ALRM"}, #endif #ifdef SIGBUS {SIGBUS, "BUS"}, #endif #ifdef SIGCHLD {SIGCHLD, "CHLD"}, #endif #ifdef SIGCLD {SIGCLD, "CLD"}, #endif #ifdef SIGCONT {SIGCONT, "CONT"}, #endif #ifdef SIGEMT {SIGEMT, "EMT"}, #endif #ifdef SIGFPE {SIGFPE, "FPE"}, #endif #ifdef SIGHUP {SIGHUP, "HUP"}, #endif #ifdef SIGILL {SIGILL, "ILL"}, #endif #ifdef SIGINFO {SIGINFO, "INFO"}, #endif #ifdef SIGINT {SIGINT, "INT"}, #endif #ifdef SIGIO {SIGIO, "IO"}, #endif #ifdef SIGIOT {SIGIOT, "IOT"}, #endif #ifdef SIGKILL {SIGKILL, "KILL"}, #endif #ifdef SIGLOST {SIGLOST, "LOST"}, #endif #ifdef SIGPIPE {SIGPIPE, "PIPE"}, #endif #ifdef SIGPOLL {SIGPOLL, "POLL"}, #endif #ifdef SIGPROF {SIGPROF, "PROF"}, #endif #ifdef SIGPWR {SIGPWR, "PWR"}, #endif #ifdef SIGQUIT {SIGQUIT, "QUIT"}, #endif #ifdef SIGSEGV {SIGSEGV, "SEGV"}, #endif #ifdef SIGSTKFLT {SIGSTKFLT, "STKFLT"}, #endif #ifdef SIGSTOP {SIGSTOP, "STOP"}, #endif #ifdef SIGSYS {SIGSYS, "SYS"}, #endif #ifdef SIGTERM {SIGTERM, "TERM"}, #endif #ifdef SIGTRAP {SIGTRAP, "TRAP"}, #endif #ifdef SIGTSTP {SIGTSTP, "TSTP"}, #endif #ifdef SIGTTIN {SIGTTIN, "TTIN"}, #endif #ifdef SIGTTOU {SIGTTOU, "TTOU"}, #endif #ifdef SIGUNUSED {SIGUNUSED, "UNUSED"}, #endif #ifdef SIGURG {SIGURG, "URG"}, #endif #ifdef SIGUSR1 {SIGUSR1, "USR1"}, #endif #ifdef SIGUSR2 {SIGUSR2, "USR2"}, #endif #ifdef SIGVTALRM {SIGVTALRM, "VTALRM"}, #endif #ifdef SIGWINCH {SIGWINCH, "WINCH"}, #endif #ifdef SIGXCPU {SIGXCPU, "XCPU"}, #endif #ifdef SIGXFSZ {SIGXFSZ, "XFSZ"}, #endif }; int name_to_sig(const char* name); const char* sig_to_name(int sig); #endif