| /* Abbreviated name of signals. | |
| Copyright (C) 2020-2026 Free Software Foundation, Inc. | |
| This file is free software: you can redistribute it and/or modify | |
| it under the terms of the GNU Lesser General Public License as | |
| published by the Free Software Foundation; either version 2.1 of the | |
| License, or (at your option) any later version. | |
| This file is distributed in the hope that it will be useful, | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| GNU Lesser General Public License for more details. | |
| You should have received a copy of the GNU Lesser General Public License | |
| along with this program. If not, see <https://www.gnu.org/licenses/>. */ | |
| /* Written by Bruno Haible <bruno@clisp.org>, 2020. */ | |
| #include <config.h> | |
| /* Specification. */ | |
| #include <string.h> | |
| #include <signal.h> | |
| const char * | |
| sigabbrev_np (int sig) | |
| { | |
| switch (sig) | |
| { | |
| /* Signals specified by ISO C. */ | |
| case SIGABRT: return "ABRT"; | |
| case SIGFPE: return "FPE"; | |
| case SIGILL: return "ILL"; | |
| case SIGINT: return "INT"; | |
| case SIGSEGV: return "SEGV"; | |
| case SIGTERM: return "TERM"; | |
| /* Signals specified by POSIX. | |
| <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html> */ | |
| #if defined SIGALRM | |
| case SIGALRM: return "ALRM"; | |
| #endif | |
| #if defined SIGBUS | |
| case SIGBUS: return "BUS"; | |
| #endif | |
| #if defined SIGCHLD | |
| case SIGCHLD: return "CHLD"; | |
| #endif | |
| #if defined SIGCONT | |
| case SIGCONT: return "CONT"; | |
| #endif | |
| #if defined SIGHUP | |
| case SIGHUP: return "HUP"; | |
| #endif | |
| #if defined SIGKILL | |
| case SIGKILL: return "KILL"; | |
| #endif | |
| #if defined SIGPIPE | |
| case SIGPIPE: return "PIPE"; | |
| #endif | |
| #if defined SIGQUIT | |
| case SIGQUIT: return "QUIT"; | |
| #endif | |
| #if defined SIGSTOP | |
| case SIGSTOP: return "STOP"; | |
| #endif | |
| #if defined SIGTSTP | |
| case SIGTSTP: return "TSTP"; | |
| #endif | |
| #if defined SIGTTIN | |
| case SIGTTIN: return "TTIN"; | |
| #endif | |
| #if defined SIGTTOU | |
| case SIGTTOU: return "TTOU"; | |
| #endif | |
| #if defined SIGUSR1 | |
| case SIGUSR1: return "USR1"; | |
| #endif | |
| #if defined SIGUSR2 | |
| case SIGUSR2: return "USR2"; | |
| #endif | |
| #if defined SIGPOLL | |
| case SIGPOLL: return "POLL"; | |
| #endif | |
| #if defined SIGPROF | |
| case SIGPROF: return "PROF"; | |
| #endif | |
| #if defined SIGSYS | |
| case SIGSYS: return "SYS"; | |
| #endif | |
| #if defined SIGTRAP | |
| case SIGTRAP: return "TRAP"; | |
| #endif | |
| #if defined SIGURG | |
| case SIGURG: return "URG"; | |
| #endif | |
| #if defined SIGVTALRM | |
| case SIGVTALRM: return "VTALRM"; | |
| #endif | |
| #if defined SIGXCPU | |
| case SIGXCPU: return "XCPU"; | |
| #endif | |
| #if defined SIGXFSZ | |
| case SIGXFSZ: return "XFSZ"; | |
| #endif | |
| /* Other signals on other systems. */ | |
| /* native Windows */ | |
| #if defined SIGBREAK | |
| case SIGBREAK: return "BREAK"; | |
| #endif | |
| /* Linux, Cygwin */ | |
| #if defined SIGCLD && SIGCLD != SIGCHLD | |
| case SIGCLD: return "CLD"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGCPUFAIL | |
| case SIGCPUFAIL: return "CPUFAIL"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGDANGER | |
| case SIGDANGER: return "DANGER"; | |
| #endif | |
| /* Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix, AIX, Cygwin, mingw */ | |
| #if defined SIGEMT | |
| case SIGEMT: return "EMT"; | |
| #endif | |
| /* Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix */ | |
| #if defined SIGINFO && SIGINFO != SIGPWR | |
| case SIGINFO: return "INFO"; | |
| #endif | |
| /* Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix, AIX, Cygwin */ | |
| #if defined SIGIO && SIGIO != SIGPOLL | |
| case SIGIO: return "IO"; | |
| #endif | |
| /* Linux, Cygwin, mingw */ | |
| #if defined SIGIOT && SIGIOT != SIGABRT | |
| case SIGIOT: return "IOT"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGKAP | |
| case SIGKAP: return "KAP"; | |
| #endif | |
| /* Haiku */ | |
| #if defined SIGKILLTHR | |
| case SIGKILLTHR: return "KILLTHR"; | |
| #endif | |
| /* Minix */ | |
| #if defined SIGKMEM | |
| case SIGKMEM: return "KMEM"; | |
| #endif | |
| /* Minix */ | |
| #if defined SIGKMESS | |
| case SIGKMESS: return "KMESS"; | |
| #endif | |
| /* Minix */ | |
| #if defined SIGKSIG | |
| case SIGKSIG: return "KSIG"; | |
| #endif | |
| /* Minix */ | |
| #if defined SIGKSIGSM | |
| case SIGKSIGSM: return "KSIGSM"; | |
| #endif | |
| /* FreeBSD */ | |
| #if defined SIGLIBRT | |
| case SIGLIBRT: return "LIBRT"; | |
| #endif | |
| /* Cygwin */ | |
| #if defined SIGLOST && SIGLOST != SIGABRT && SIGLOST != SIGPWR | |
| case SIGLOST: return "LOST"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGMIGRATE | |
| case SIGMIGRATE: return "MIGRATE"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGMSG | |
| case SIGMSG: return "MSG"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGPRE | |
| case SIGPRE: return "PRE"; | |
| #endif | |
| /* Linux, NetBSD, Minix, AIX, Cygwin */ | |
| #if defined SIGPWR | |
| case SIGPWR: return "PWR"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGRECONFIG | |
| case SIGRECONFIG: return "RECONFIG"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGRECOVERY | |
| case SIGRECOVERY: return "RECOVERY"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGRETRACT | |
| case SIGRETRACT: return "RETRACT"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGSAK | |
| case SIGSAK: return "SAK"; | |
| #endif | |
| /* Minix */ | |
| #if defined SIGSNDELAY | |
| case SIGSNDELAY: return "SNDELAY"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGSOUND | |
| case SIGSOUND: return "SOUND"; | |
| #endif | |
| /* Linux */ | |
| #if defined SIGSTKFLT | |
| case SIGSTKFLT: return "STKFLT"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGSYSERROR | |
| case SIGSYSERROR: return "SYSERROR"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGTALRM | |
| case SIGTALRM: return "TALRM"; | |
| #endif | |
| /* FreeBSD, OpenBSD */ | |
| #if defined SIGTHR | |
| case SIGTHR: return "THR"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGVIRT | |
| case SIGVIRT: return "VIRT"; | |
| #endif | |
| /* AIX */ | |
| #if defined SIGWAITING | |
| case SIGWAITING: return "WAITING"; | |
| #endif | |
| /* Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix, AIX, Cygwin, Haiku */ | |
| #if defined SIGWINCH | |
| case SIGWINCH: return "WINCH"; | |
| #endif | |
| default: | |
| return NULL; | |
| } | |
| } |