xref: /aosp_15_r20/external/musl/arch/mips64/bits/signal.h (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
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 
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