4f91c9fc801915763ea3dc017304a7c15ff4b503
[musl] / arch / mips64 / bits / signal.h
1 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
2  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
3
4 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
5 #define MINSIGSTKSZ 2048
6 #define SIGSTKSZ 8192
7 #endif
8
9 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
10 typedef unsigned long long greg_t, gregset_t[32];
11
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;
21
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;
38 };
39
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;
57
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
66
67 struct sigaltstack {
68         void *ss_sp;
69         size_t ss_size;
70         int ss_flags;
71 };
72
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;
80
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
88 #define SA_RESTORER   0x04000000
89
90 #undef SIG_BLOCK
91 #undef SIG_UNBLOCK
92 #undef SIG_SETMASK
93 #define SIG_BLOCK     1
94 #define SIG_UNBLOCK   2
95 #define SIG_SETMASK   3
96
97 #undef SI_ASYNCIO
98 #undef SI_MESGQ
99 #undef SI_TIMER
100 #define SI_ASYNCIO (-2)
101 #define SI_MESGQ (-4)
102 #define SI_TIMER (-3)
103
104 #define __SI_SWAP_ERRNO_CODE
105
106 #endif
107
108 #define SIGHUP    1
109 #define SIGINT    2
110 #define SIGQUIT   3
111 #define SIGILL    4
112 #define SIGTRAP   5
113 #define SIGABRT   6
114 #define SIGIOT    SIGABRT
115 #define SIGEMT    7
116 #define SIGFPE    8
117 #define SIGKILL   9
118 #define SIGBUS    10
119 #define SIGSEGV   11
120 #define SIGSYS    12
121 #define SIGPIPE   13
122 #define SIGALRM   14
123 #define SIGTERM   15
124 #define SIGUSR1   16
125 #define SIGUSR2   17
126 #define SIGCHLD   18
127 #define SIGPWR    19
128 #define SIGWINCH  20
129 #define SIGURG    21
130 #define SIGIO     22
131 #define SIGPOLL   SIGIO
132 #define SIGSTOP   23
133 #define SIGTSTP   24
134 #define SIGCONT   25
135 #define SIGTTIN   26
136 #define SIGTTOU   27
137 #define SIGVTALRM 28
138 #define SIGPROF   29
139 #define SIGXCPU   30
140 #define SIGXFSZ   31
141 #define SIGUNUSED SIGSYS
142
143 #define _NSIG 128