| /* Signal number constants. Generic template. |
| Copyright (C) 1991-2021 Free Software Foundation, Inc. |
| This file is part of the GNU C Library. |
| |
| The GNU C Library 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. |
| |
| The GNU C Library 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 the GNU C Library; if not, see |
| <https://www.gnu.org/licenses/>. */ |
| |
| #ifndef _BITS_SIGNUM_GENERIC_H |
| #define _BITS_SIGNUM_GENERIC_H 1 |
| |
| #ifndef _SIGNAL_H |
| #error "Never include <bits/signum-generic.h> directly; use <signal.h> instead." |
| #endif |
| |
| /* Fake signal functions. */ |
| |
| #define SIG_ERR ((__sighandler_t) -1) /* Error return. */ |
| #define SIG_DFL ((__sighandler_t) 0) /* Default action. */ |
| #define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ |
| |
| #ifdef __USE_XOPEN |
| # define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */ |
| #endif |
| |
| /* We define here all the signal names listed in POSIX (1003.1-2008); |
| as of 1003.1-2013, no additional signals have been added by POSIX. |
| We also define here signal names that historically exist in every |
| real-world POSIX variant (e.g. SIGWINCH). |
| |
| Signals in the 1-15 range are defined with their historical numbers. |
| For other signals, we use the BSD numbers. |
| There are two unallocated signal numbers in the 1-31 range: 7 and 29. |
| Signal number 0 is reserved for use as kill(pid, 0), to test whether |
| a process exists without sending it a signal. */ |
| |
| /* ISO C99 signals. */ |
| #define SIGINT 2 /* Interactive attention signal. */ |
| #define SIGILL 4 /* Illegal instruction. */ |
| #define SIGABRT 6 /* Abnormal termination. */ |
| #define SIGFPE 8 /* Erroneous arithmetic operation. */ |
| #define SIGSEGV 11 /* Invalid access to storage. */ |
| #define SIGTERM 15 /* Termination request. */ |
| |
| /* Historical signals specified by POSIX. */ |
| #define SIGHUP 1 /* Hangup. */ |
| #define SIGQUIT 3 /* Quit. */ |
| #define SIGTRAP 5 /* Trace/breakpoint trap. */ |
| #define SIGKILL 9 /* Killed. */ |
| #define SIGPIPE 13 /* Broken pipe. */ |
| #define SIGALRM 14 /* Alarm clock. */ |
| |
| /* Archaic names for compatibility. */ |
| #define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ |
| #define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ |
| #define SIGCLD SIGCHLD /* Old System V name */ |
| |
| /* Not all systems support real-time signals. bits/signum.h indicates |
| that they are supported by overriding __SIGRTMAX to a value greater |
| than __SIGRTMIN. These constants give the kernel-level hard limits, |
| but some real-time signals may be used internally by glibc. Do not |
| use these constants in application code; use SIGRTMIN and SIGRTMAX |
| (defined in signal.h) instead. */ |
| |
| /* Include system specific bits. */ |
| #include <bits/signum-arch.h> |
| |
| /* Biggest signal number + 1 (including real-time signals). */ |
| #define _NSIG (__SIGRTMAX + 1) |
| |
| #endif /* bits/signum-generic.h. */ |