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