xref: /third_party/musl/arch/mips64/bits/signal.h (revision 570af302)
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)
10typedef unsigned long long greg_t, gregset_t[32];
11
12typedef 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
22struct 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
40typedef 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
59typedef 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
67struct sigaltstack {
68	void *ss_sp;
69	size_t ss_size;
70	int ss_flags;
71};
72
73typedef 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
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
95
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)
102
103#define __SI_SWAP_ERRNO_CODE
104
105#endif
106
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
141
142#define _NSIG 128
143