2
0

signal.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /*
  2. * This program is free software; you can redistribute it and/or modify
  3. * it under the terms of the GNU General Public License version 2 as
  4. * published by the Free Software Foundation, or (at your option) any
  5. * later version. See the COPYING file in the top-level directory.
  6. */
  7. #ifndef GENERIC_SIGNAL_H
  8. #define GENERIC_SIGNAL_H
  9. #define TARGET_SA_NOCLDSTOP 0x00000001
  10. #define TARGET_SA_NOCLDWAIT 0x00000002 /* not supported yet */
  11. #define TARGET_SA_SIGINFO 0x00000004
  12. #define TARGET_SA_ONSTACK 0x08000000
  13. #define TARGET_SA_RESTART 0x10000000
  14. #define TARGET_SA_NODEFER 0x40000000
  15. #define TARGET_SA_RESETHAND 0x80000000
  16. #define TARGET_SA_RESTORER 0x04000000
  17. #define TARGET_SIGHUP 1
  18. #define TARGET_SIGINT 2
  19. #define TARGET_SIGQUIT 3
  20. #define TARGET_SIGILL 4
  21. #define TARGET_SIGTRAP 5
  22. #define TARGET_SIGABRT 6
  23. #define TARGET_SIGIOT 6
  24. #define TARGET_SIGBUS 7
  25. #define TARGET_SIGFPE 8
  26. #define TARGET_SIGKILL 9
  27. #define TARGET_SIGUSR1 10
  28. #define TARGET_SIGSEGV 11
  29. #define TARGET_SIGUSR2 12
  30. #define TARGET_SIGPIPE 13
  31. #define TARGET_SIGALRM 14
  32. #define TARGET_SIGTERM 15
  33. #define TARGET_SIGSTKFLT 16
  34. #define TARGET_SIGCHLD 17
  35. #define TARGET_SIGCONT 18
  36. #define TARGET_SIGSTOP 19
  37. #define TARGET_SIGTSTP 20
  38. #define TARGET_SIGTTIN 21
  39. #define TARGET_SIGTTOU 22
  40. #define TARGET_SIGURG 23
  41. #define TARGET_SIGXCPU 24
  42. #define TARGET_SIGXFSZ 25
  43. #define TARGET_SIGVTALRM 26
  44. #define TARGET_SIGPROF 27
  45. #define TARGET_SIGWINCH 28
  46. #define TARGET_SIGIO 29
  47. #define TARGET_SIGPWR 30
  48. #define TARGET_SIGSYS 31
  49. #define TARGET_SIGRTMIN 32
  50. #define TARGET_SIG_BLOCK 0 /* for blocking signals */
  51. #define TARGET_SIG_UNBLOCK 1 /* for unblocking signals */
  52. #define TARGET_SIG_SETMASK 2 /* for setting the signal mask */
  53. /* this struct defines a stack used during syscall handling */
  54. typedef struct target_sigaltstack {
  55. abi_ulong ss_sp;
  56. abi_int ss_flags;
  57. abi_ulong ss_size;
  58. } target_stack_t;
  59. /*
  60. * sigaltstack controls
  61. */
  62. #define TARGET_SS_ONSTACK 1
  63. #define TARGET_SS_DISABLE 2
  64. #define TARGET_MINSIGSTKSZ 2048
  65. /* bit-flags */
  66. #define TARGET_SS_AUTODISARM (1U << 31) /* disable sas during sighandling */
  67. /* mask for all SS_xxx flags */
  68. #define TARGET_SS_FLAG_BITS TARGET_SS_AUTODISARM
  69. #endif