/* Abbreviated name of signals. Copyright (C) 2020-2023 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 . */ /* Written by Bruno Haible , 2020. */ #include /* Specification. */ #include #include 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. */ #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 /* IRIX */ #if defined SIGCKPT case SIGCKPT: return "CKPT"; #endif /* Linux, IRIX, 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, IRIX, 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, IRIX, Cygwin */ #if defined SIGIO && SIGIO != SIGPOLL case SIGIO: return "IO"; #endif /* Linux, IRIX, 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 /* IRIX */ #if defined SIGPTINTR case SIGPTINTR: return "PTINTR"; #endif /* IRIX */ #if defined SIGPTRESCHED case SIGPTRESCHED:return "PTRESCHED"; #endif /* Linux, NetBSD, Minix, AIX, IRIX, 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 /* IRIX */ #if defined SIGRESTART case SIGRESTART: return "RESTART"; #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 /* IRIX */ #if defined SIGUME case SIGUME: return "UME"; #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, IRIX, Cygwin, Haiku */ #if defined SIGWINCH case SIGWINCH: return "WINCH"; #endif default: return NULL; } }