Update copyright dates with scripts/update-copyrights.
[glibc.git] / sysdeps / unix / sysv / linux / hppa / bits / signum.h
blob17f88e26df35526403d0da8202e3a5f97cb21e99
1 /* Signal number definitions. Linux/HPPA version.
2 Copyright (C) 1995-2015 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library. If not, see
17 <http://www.gnu.org/licenses/>. */
19 #ifdef _SIGNAL_H
21 /* Fake signal functions. */
22 #define SIG_ERR ((__sighandler_t) -1) /* Error return. */
23 #define SIG_DFL ((__sighandler_t) 0) /* Default action. */
24 #define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */
26 #ifdef __USE_UNIX98
27 # define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */
28 #endif
31 /* Signals. */
32 #define SIGHUP 1 /* Hangup (POSIX). */
33 #define SIGINT 2 /* Interrupt (ANSI). */
34 #define SIGQUIT 3 /* Quit (POSIX). */
35 #define SIGILL 4 /* Illegal instruction (ANSI). */
36 #define SIGTRAP 5 /* Trace trap (POSIX). */
37 #define SIGABRT 6 /* Abort (ANSI). */
38 #define SIGIOT 6 /* IOT trap (4.2 BSD). */
39 #define SIGSTKFLT 7 /* Stack fault. */
40 #define SIGFPE 8 /* Floating-point exception (ANSI). */
41 #define SIGKILL 9 /* Kill, unblockable (POSIX). */
42 #define SIGBUS 10 /* BUS error (4.2 BSD). */
43 #define SIGSEGV 11 /* Segmentation violation (ANSI). */
44 #define SIGXCPU 12 /* CPU limit exceeded (4.2 BSD). */
45 #define SIGPIPE 13 /* Broken pipe (POSIX). */
46 #define SIGALRM 14 /* Alarm clock (POSIX). */
47 #define SIGTERM 15 /* Termination (ANSI). */
48 #define SIGUSR1 16 /* User-defined signal 1 (POSIX). */
49 #define SIGUSR2 17 /* User-defined signal 2 (POSIX). */
50 #define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */
51 #define SIGCHLD 18 /* Child status has changed (POSIX). */
52 #define SIGPWR 19 /* Power failure restart (System V). */
53 #define SIGVTALRM 20 /* Virtual alarm clock (4.2 BSD). */
54 #define SIGPROF 21 /* Profiling alarm clock (4.2 BSD). */
55 #define SIGPOLL SIGIO /* Pollable event occurred (System V). */
56 #define SIGIO 22 /* I/O now possible (4.2 BSD). */
57 #define SIGWINCH 23 /* Window size change (4.3 BSD, Sun). */
58 #define SIGSTOP 24 /* Stop, unblockable (POSIX). */
59 #define SIGTSTP 25 /* Keyboard stop (POSIX). */
60 #define SIGCONT 26 /* Continue (POSIX). */
61 #define SIGTTIN 27 /* Background read from tty (POSIX). */
62 #define SIGTTOU 28 /* Background write to tty (POSIX). */
63 #define SIGURG 29 /* Urgent condition on socket (4.2 BSD). */
64 #define SIGXFSZ 30 /* File size limit exceeded (4.2 BSD). */
65 #define SIGSYS 31 /* Bad system call. */
66 #define SIGUNUSED 31
68 #define _NSIG 65 /* Biggest signal number + 1
69 (including real-time signals). */
71 #define SIGRTMIN (__libc_current_sigrtmin ())
72 #define SIGRTMAX (__libc_current_sigrtmax ())
74 /* These are the hard limits of the kernel. These values should not be
75 used directly at user level. */
76 /* In the Linux kernel version 3.17, and glibc 2.21, the signal numbers
77 were rearranged in order to make hppa like every other arch. Previously
78 we started __SIGRTMIN at 37, and that meant several pieces of important
79 software, including systemd, would fail to build. To support systemd we
80 removed SIGEMT and SIGLOST, and rearranged the others according to
81 expected values. This is technically an ABI incompatible change, but
82 because zero applications use SIGSTKFLT, SIGXCPU, SIGXFSZ and SIGSYS
83 nothing broke. Nothing uses SIGEMT and SIGLOST, and they were present
84 for HPUX compatibility which is no longer supported. Thus because
85 nothing breaks we don't do any compatibility work here. */
86 #define __SIGRTMIN 32 /* Kernel > 3.17. */
87 #define __SIGRTMAX (_NSIG - 1)
89 #endif /* <signal.h> included. */