signum.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /* Signal number definitions. Linux version.
  2. Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc.
  3. This file is part of the GNU C Library.
  4. The GNU C Library is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU Lesser General Public
  6. License as published by the Free Software Foundation; either
  7. version 2.1 of the License, or (at your option) any later version.
  8. The GNU C Library is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11. Lesser General Public License for more details.
  12. You should have received a copy of the GNU Lesser General Public
  13. License along with the GNU C Library; if not, see
  14. <http://www.gnu.org/licenses/>. */
  15. #ifdef _SIGNAL_H
  16. #define SIGHUP 1 /* Hangup (POSIX). */
  17. #define SIGINT 2 /* Interrupt (ANSI). */
  18. #define SIGQUIT 3 /* Quit (POSIX). */
  19. #define SIGILL 4 /* Illegal instruction (ANSI). */
  20. #define SIGTRAP 5 /* Trace trap (POSIX). */
  21. #define SIGIOT 6 /* IOT trap (4.2 BSD). */
  22. #define SIGABRT SIGIOT /* Abort (ANSI). */
  23. #define SIGEMT 7
  24. #define SIGFPE 8 /* Floating-point exception (ANSI). */
  25. #define SIGKILL 9 /* Kill, unblockable (POSIX). */
  26. #define SIGBUS 10 /* BUS error (4.2 BSD). */
  27. #define SIGSEGV 11 /* Segmentation violation (ANSI). */
  28. #define SIGSYS 12
  29. #define SIGPIPE 13 /* Broken pipe (POSIX). */
  30. #define SIGALRM 14 /* Alarm clock (POSIX). */
  31. #define SIGTERM 15 /* Termination (ANSI). */
  32. #define SIGUSR1 16 /* User-defined signal 1 (POSIX). */
  33. #define SIGUSR2 17 /* User-defined signal 2 (POSIX). */
  34. #define SIGCHLD 18 /* Child status has changed (POSIX). */
  35. #define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */
  36. #define SIGPWR 19 /* Power failure restart (System V). */
  37. #define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */
  38. #define SIGURG 21 /* Urgent condition on socket (4.2 BSD). */
  39. #define SIGIO 22 /* I/O now possible (4.2 BSD). */
  40. #define SIGPOLL SIGIO /* Pollable event occurred (System V). */
  41. #define SIGSTOP 23 /* Stop, unblockable (POSIX). */
  42. #define SIGTSTP 24 /* Keyboard stop (POSIX). */
  43. #define SIGCONT 25 /* Continue (POSIX). */
  44. #define SIGTTIN 26 /* Background read from tty (POSIX). */
  45. #define SIGTTOU 27 /* Background write to tty (POSIX). */
  46. #define SIGVTALRM 28 /* Virtual alarm clock (4.2 BSD). */
  47. #define SIGPROF 29 /* Profiling alarm clock (4.2 BSD). */
  48. #define SIGXCPU 30 /* CPU limit exceeded (4.2 BSD). */
  49. #define SIGXFSZ 31 /* File size limit exceeded (4.2 BSD). */
  50. /* MIPS is special by having 128 signals.
  51. * All (?) other architectures have at most 64 signals.
  52. * Having 128 signals is problematic because signal nos are 1-based
  53. * and last signal number is then 128.
  54. * This plays havoc with WIFSIGNALED and WCOREDUMP in waitpid status word,
  55. * when process dies from signal 128.
  56. * Linux kernel 3.9 accepts signal 128, with awful results :/
  57. * It is being fixed.
  58. *
  59. * glibc (accidentally?) papers over this issue by declaring _NSIG to be 128,
  60. * not 129 (despite claiming that _NSIG is "biggest signal number + 1"
  61. * in the comment above that definition). We follow suit.
  62. * Note that this results in __SIGRTMAX == 127. It is intended.
  63. */
  64. #define _NSIG 128
  65. #endif /* <signal.h> included. */