fix wrong sigaction syscall ABI on mips*, or1k, microblaze, riscv64
[musl.git] / arch / mips64 / bits / signal.h
blobffec7fd014ff1fbce9a293c907fc50ba7dc541fe
1 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
2 || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
4 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
5 #define MINSIGSTKSZ 2048
6 #define SIGSTKSZ 8192
7 #endif
9 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
10 typedef unsigned long long greg_t, gregset_t[32];
12 typedef struct {
13 union {
14 double fp_dregs[32];
15 struct {
16 float _fp_fregs;
17 unsigned _fp_pad;
18 } fp_fregs[32];
19 } fp_r;
20 } fpregset_t;
22 struct sigcontext {
23 unsigned long long sc_regs[32];
24 unsigned long long sc_fpregs[32];
25 unsigned long long sc_mdhi;
26 unsigned long long sc_hi1;
27 unsigned long long sc_hi2;
28 unsigned long long sc_hi3;
29 unsigned long long sc_mdlo;
30 unsigned long long sc_lo1;
31 unsigned long long sc_lo2;
32 unsigned long long sc_lo3;
33 unsigned long long sc_pc;
34 unsigned int sc_fpc_csr;
35 unsigned int sc_used_math;
36 unsigned int sc_dsp;
37 unsigned int sc_reserved;
40 typedef struct {
41 gregset_t gregs;
42 fpregset_t fpregs;
43 greg_t mdhi;
44 greg_t hi1;
45 greg_t hi2;
46 greg_t hi3;
47 greg_t mdlo;
48 greg_t lo1;
49 greg_t lo2;
50 greg_t lo3;
51 greg_t pc;
52 unsigned int fpc_csr;
53 unsigned int used_math;
54 unsigned int dsp;
55 unsigned int reserved;
56 } mcontext_t;
58 #else
59 typedef struct {
60 unsigned long long __mc1[32];
61 double __mc2[32];
62 unsigned long long __mc3[9];
63 unsigned __mc4[4];
64 } mcontext_t;
65 #endif
67 struct sigaltstack {
68 void *ss_sp;
69 size_t ss_size;
70 int ss_flags;
73 typedef struct __ucontext {
74 unsigned long uc_flags;
75 struct __ucontext *uc_link;
76 stack_t uc_stack;
77 mcontext_t uc_mcontext;
78 sigset_t uc_sigmask;
79 } ucontext_t;
81 #define SA_NOCLDSTOP 1
82 #define SA_NOCLDWAIT 0x10000
83 #define SA_SIGINFO 8
84 #define SA_ONSTACK 0x08000000
85 #define SA_RESTART 0x10000000
86 #define SA_NODEFER 0x40000000
87 #define SA_RESETHAND 0x80000000
89 #undef SIG_BLOCK
90 #undef SIG_UNBLOCK
91 #undef SIG_SETMASK
92 #define SIG_BLOCK 1
93 #define SIG_UNBLOCK 2
94 #define SIG_SETMASK 3
96 #undef SI_ASYNCIO
97 #undef SI_MESGQ
98 #undef SI_TIMER
99 #define SI_ASYNCIO (-2)
100 #define SI_MESGQ (-4)
101 #define SI_TIMER (-3)
103 #define __SI_SWAP_ERRNO_CODE
105 #endif
107 #define SIGHUP 1
108 #define SIGINT 2
109 #define SIGQUIT 3
110 #define SIGILL 4
111 #define SIGTRAP 5
112 #define SIGABRT 6
113 #define SIGIOT SIGABRT
114 #define SIGEMT 7
115 #define SIGFPE 8
116 #define SIGKILL 9
117 #define SIGBUS 10
118 #define SIGSEGV 11
119 #define SIGSYS 12
120 #define SIGPIPE 13
121 #define SIGALRM 14
122 #define SIGTERM 15
123 #define SIGUSR1 16
124 #define SIGUSR2 17
125 #define SIGCHLD 18
126 #define SIGPWR 19
127 #define SIGWINCH 20
128 #define SIGURG 21
129 #define SIGIO 22
130 #define SIGPOLL SIGIO
131 #define SIGSTOP 23
132 #define SIGTSTP 24
133 #define SIGCONT 25
134 #define SIGTTIN 26
135 #define SIGTTOU 27
136 #define SIGVTALRM 28
137 #define SIGPROF 29
138 #define SIGXCPU 30
139 #define SIGXFSZ 31
140 #define SIGUNUSED SIGSYS
142 #define _NSIG 128