signal.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  2. || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
  3. #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
  4. # define MINSIGSTKSZ 2048
  5. # define SIGSTKSZ 8192
  6. #endif
  7. /* gregs[0] holds the program counter. */
  8. #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
  9. typedef unsigned long greg_t;
  10. typedef unsigned long gregset_t[32];
  11. struct __riscv_f_ext_state {
  12. unsigned int f[32];
  13. unsigned int fcsr;
  14. };
  15. struct __riscv_d_ext_state {
  16. unsigned long long f[32];
  17. unsigned int fcsr;
  18. };
  19. struct __riscv_q_ext_state {
  20. unsigned long long f[64] __attribute__((aligned(16)));
  21. unsigned int fcsr;
  22. unsigned int reserved[3];
  23. };
  24. union __riscv_fp_state {
  25. struct __riscv_f_ext_state f;
  26. struct __riscv_d_ext_state d;
  27. struct __riscv_q_ext_state q;
  28. };
  29. typedef union __riscv_fp_state fpregset_t;
  30. typedef struct sigcontext {
  31. gregset_t gregs;
  32. fpregset_t fpregs;
  33. } mcontext_t;
  34. #else
  35. typedef struct {
  36. unsigned long gregs[32];
  37. unsigned long long fpregs[66];
  38. } mcontext_t;
  39. #endif
  40. struct sigaltstack {
  41. void *ss_sp;
  42. int ss_flags;
  43. size_t ss_size;
  44. };
  45. typedef struct __ucontext
  46. {
  47. unsigned long uc_flags;
  48. struct __ucontext *uc_link;
  49. stack_t uc_stack;
  50. sigset_t uc_sigmask;
  51. mcontext_t uc_mcontext;
  52. } ucontext_t;
  53. #define SA_NOCLDSTOP 1
  54. #define SA_NOCLDWAIT 2
  55. #define SA_SIGINFO 4
  56. #define SA_ONSTACK 0x08000000
  57. #define SA_RESTART 0x10000000
  58. #define SA_NODEFER 0x40000000
  59. #define SA_RESETHAND 0x80000000
  60. #define SA_RESTORER 0x04000000
  61. #endif
  62. #define SIGHUP 1
  63. #define SIGINT 2
  64. #define SIGQUIT 3
  65. #define SIGILL 4
  66. #define SIGTRAP 5
  67. #define SIGABRT 6
  68. #define SIGIOT SIGABRT
  69. #define SIGBUS 7
  70. #define SIGFPE 8
  71. #define SIGKILL 9
  72. #define SIGUSR1 10
  73. #define SIGSEGV 11
  74. #define SIGUSR2 12
  75. #define SIGPIPE 13
  76. #define SIGALRM 14
  77. #define SIGTERM 15
  78. #define SIGSTKFLT 16
  79. #define SIGCHLD 17
  80. #define SIGCONT 18
  81. #define SIGSTOP 19
  82. #define SIGTSTP 20
  83. #define SIGTTIN 21
  84. #define SIGTTOU 22
  85. #define SIGURG 23
  86. #define SIGXCPU 24
  87. #define SIGXFSZ 25
  88. #define SIGVTALRM 26
  89. #define SIGPROF 27
  90. #define SIGWINCH 28
  91. #define SIGIO 29
  92. #define SIGPOLL SIGIO
  93. #define SIGPWR 30
  94. #define SIGSYS 31
  95. #define SIGUNUSED SIGSYS
  96. #define _NSIG 65