xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/bits/signal.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
2*cda5da8dSAndroid Build Coastguard Worker  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
3*cda5da8dSAndroid Build Coastguard Worker 
4*cda5da8dSAndroid Build Coastguard Worker #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
5*cda5da8dSAndroid Build Coastguard Worker #define MINSIGSTKSZ 2048
6*cda5da8dSAndroid Build Coastguard Worker #define SIGSTKSZ 8192
7*cda5da8dSAndroid Build Coastguard Worker #endif
8*cda5da8dSAndroid Build Coastguard Worker 
9*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE
10*cda5da8dSAndroid Build Coastguard Worker enum { REG_GS = 0 };
11*cda5da8dSAndroid Build Coastguard Worker #define REG_GS REG_GS
12*cda5da8dSAndroid Build Coastguard Worker enum { REG_FS = 1 };
13*cda5da8dSAndroid Build Coastguard Worker #define REG_FS REG_FS
14*cda5da8dSAndroid Build Coastguard Worker enum { REG_ES = 2 };
15*cda5da8dSAndroid Build Coastguard Worker #define REG_ES REG_ES
16*cda5da8dSAndroid Build Coastguard Worker enum { REG_DS = 3 };
17*cda5da8dSAndroid Build Coastguard Worker #define REG_DS REG_DS
18*cda5da8dSAndroid Build Coastguard Worker enum { REG_EDI = 4 };
19*cda5da8dSAndroid Build Coastguard Worker #define REG_EDI REG_EDI
20*cda5da8dSAndroid Build Coastguard Worker enum { REG_ESI = 5 };
21*cda5da8dSAndroid Build Coastguard Worker #define REG_ESI REG_ESI
22*cda5da8dSAndroid Build Coastguard Worker enum { REG_EBP = 6 };
23*cda5da8dSAndroid Build Coastguard Worker #define REG_EBP REG_EBP
24*cda5da8dSAndroid Build Coastguard Worker enum { REG_ESP = 7 };
25*cda5da8dSAndroid Build Coastguard Worker #define REG_ESP REG_ESP
26*cda5da8dSAndroid Build Coastguard Worker enum { REG_EBX = 8 };
27*cda5da8dSAndroid Build Coastguard Worker #define REG_EBX REG_EBX
28*cda5da8dSAndroid Build Coastguard Worker enum { REG_EDX = 9 };
29*cda5da8dSAndroid Build Coastguard Worker #define REG_EDX REG_EDX
30*cda5da8dSAndroid Build Coastguard Worker enum { REG_ECX = 10 };
31*cda5da8dSAndroid Build Coastguard Worker #define REG_ECX REG_ECX
32*cda5da8dSAndroid Build Coastguard Worker enum { REG_EAX = 11 };
33*cda5da8dSAndroid Build Coastguard Worker #define REG_EAX REG_EAX
34*cda5da8dSAndroid Build Coastguard Worker enum { REG_TRAPNO = 12 };
35*cda5da8dSAndroid Build Coastguard Worker #define REG_TRAPNO REG_TRAPNO
36*cda5da8dSAndroid Build Coastguard Worker enum { REG_ERR = 13 };
37*cda5da8dSAndroid Build Coastguard Worker #define REG_ERR REG_ERR
38*cda5da8dSAndroid Build Coastguard Worker enum { REG_EIP = 14 };
39*cda5da8dSAndroid Build Coastguard Worker #define REG_EIP REG_EIP
40*cda5da8dSAndroid Build Coastguard Worker enum { REG_CS = 15 };
41*cda5da8dSAndroid Build Coastguard Worker #define REG_CS REG_CS
42*cda5da8dSAndroid Build Coastguard Worker enum { REG_EFL = 16 };
43*cda5da8dSAndroid Build Coastguard Worker #define REG_EFL REG_EFL
44*cda5da8dSAndroid Build Coastguard Worker enum { REG_UESP = 17 };
45*cda5da8dSAndroid Build Coastguard Worker #define REG_UESP REG_UESP
46*cda5da8dSAndroid Build Coastguard Worker enum { REG_SS = 18 };
47*cda5da8dSAndroid Build Coastguard Worker #define REG_SS REG_SS
48*cda5da8dSAndroid Build Coastguard Worker #endif
49*cda5da8dSAndroid Build Coastguard Worker 
50*cda5da8dSAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
51*cda5da8dSAndroid Build Coastguard Worker typedef int greg_t, gregset_t[19];
52*cda5da8dSAndroid Build Coastguard Worker typedef struct _fpstate {
53*cda5da8dSAndroid Build Coastguard Worker 	unsigned long cw, sw, tag, ipoff, cssel, dataoff, datasel;
54*cda5da8dSAndroid Build Coastguard Worker 	struct {
55*cda5da8dSAndroid Build Coastguard Worker 		unsigned short significand[4], exponent;
56*cda5da8dSAndroid Build Coastguard Worker 	} _st[8];
57*cda5da8dSAndroid Build Coastguard Worker 	unsigned long status;
58*cda5da8dSAndroid Build Coastguard Worker } *fpregset_t;
59*cda5da8dSAndroid Build Coastguard Worker struct sigcontext {
60*cda5da8dSAndroid Build Coastguard Worker 	unsigned short gs, __gsh, fs, __fsh, es, __esh, ds, __dsh;
61*cda5da8dSAndroid Build Coastguard Worker 	unsigned long edi, esi, ebp, esp, ebx, edx, ecx, eax;
62*cda5da8dSAndroid Build Coastguard Worker 	unsigned long trapno, err, eip;
63*cda5da8dSAndroid Build Coastguard Worker 	unsigned short cs, __csh;
64*cda5da8dSAndroid Build Coastguard Worker 	unsigned long eflags, esp_at_signal;
65*cda5da8dSAndroid Build Coastguard Worker 	unsigned short ss, __ssh;
66*cda5da8dSAndroid Build Coastguard Worker 	struct _fpstate *fpstate;
67*cda5da8dSAndroid Build Coastguard Worker 	unsigned long oldmask, cr2;
68*cda5da8dSAndroid Build Coastguard Worker };
69*cda5da8dSAndroid Build Coastguard Worker typedef struct {
70*cda5da8dSAndroid Build Coastguard Worker 	gregset_t gregs;
71*cda5da8dSAndroid Build Coastguard Worker 	fpregset_t fpregs;
72*cda5da8dSAndroid Build Coastguard Worker 	unsigned long oldmask, cr2;
73*cda5da8dSAndroid Build Coastguard Worker } mcontext_t;
74*cda5da8dSAndroid Build Coastguard Worker #else
75*cda5da8dSAndroid Build Coastguard Worker typedef struct {
76*cda5da8dSAndroid Build Coastguard Worker 	unsigned __space[22];
77*cda5da8dSAndroid Build Coastguard Worker } mcontext_t;
78*cda5da8dSAndroid Build Coastguard Worker #endif
79*cda5da8dSAndroid Build Coastguard Worker 
80*cda5da8dSAndroid Build Coastguard Worker struct sigaltstack {
81*cda5da8dSAndroid Build Coastguard Worker 	void *ss_sp;
82*cda5da8dSAndroid Build Coastguard Worker 	int ss_flags;
83*cda5da8dSAndroid Build Coastguard Worker 	size_t ss_size;
84*cda5da8dSAndroid Build Coastguard Worker };
85*cda5da8dSAndroid Build Coastguard Worker 
86*cda5da8dSAndroid Build Coastguard Worker typedef struct __ucontext {
87*cda5da8dSAndroid Build Coastguard Worker 	unsigned long uc_flags;
88*cda5da8dSAndroid Build Coastguard Worker 	struct __ucontext *uc_link;
89*cda5da8dSAndroid Build Coastguard Worker 	stack_t uc_stack;
90*cda5da8dSAndroid Build Coastguard Worker 	mcontext_t uc_mcontext;
91*cda5da8dSAndroid Build Coastguard Worker 	sigset_t uc_sigmask;
92*cda5da8dSAndroid Build Coastguard Worker 	unsigned long __fpregs_mem[28];
93*cda5da8dSAndroid Build Coastguard Worker } ucontext_t;
94*cda5da8dSAndroid Build Coastguard Worker 
95*cda5da8dSAndroid Build Coastguard Worker #define SA_NOCLDSTOP  1
96*cda5da8dSAndroid Build Coastguard Worker #define SA_NOCLDWAIT  2
97*cda5da8dSAndroid Build Coastguard Worker #define SA_SIGINFO    4
98*cda5da8dSAndroid Build Coastguard Worker #define SA_ONSTACK    0x08000000
99*cda5da8dSAndroid Build Coastguard Worker #define SA_RESTART    0x10000000
100*cda5da8dSAndroid Build Coastguard Worker #define SA_NODEFER    0x40000000
101*cda5da8dSAndroid Build Coastguard Worker #define SA_RESETHAND  0x80000000
102*cda5da8dSAndroid Build Coastguard Worker #define SA_RESTORER   0x04000000
103*cda5da8dSAndroid Build Coastguard Worker 
104*cda5da8dSAndroid Build Coastguard Worker #endif
105*cda5da8dSAndroid Build Coastguard Worker 
106*cda5da8dSAndroid Build Coastguard Worker #define SIGHUP    1
107*cda5da8dSAndroid Build Coastguard Worker #define SIGINT    2
108*cda5da8dSAndroid Build Coastguard Worker #define SIGQUIT   3
109*cda5da8dSAndroid Build Coastguard Worker #define SIGILL    4
110*cda5da8dSAndroid Build Coastguard Worker #define SIGTRAP   5
111*cda5da8dSAndroid Build Coastguard Worker #define SIGABRT   6
112*cda5da8dSAndroid Build Coastguard Worker #define SIGIOT    SIGABRT
113*cda5da8dSAndroid Build Coastguard Worker #define SIGBUS    7
114*cda5da8dSAndroid Build Coastguard Worker #define SIGFPE    8
115*cda5da8dSAndroid Build Coastguard Worker #define SIGKILL   9
116*cda5da8dSAndroid Build Coastguard Worker #define SIGUSR1   10
117*cda5da8dSAndroid Build Coastguard Worker #define SIGSEGV   11
118*cda5da8dSAndroid Build Coastguard Worker #define SIGUSR2   12
119*cda5da8dSAndroid Build Coastguard Worker #define SIGPIPE   13
120*cda5da8dSAndroid Build Coastguard Worker #define SIGALRM   14
121*cda5da8dSAndroid Build Coastguard Worker #define SIGTERM   15
122*cda5da8dSAndroid Build Coastguard Worker #define SIGSTKFLT 16
123*cda5da8dSAndroid Build Coastguard Worker #define SIGCHLD   17
124*cda5da8dSAndroid Build Coastguard Worker #define SIGCONT   18
125*cda5da8dSAndroid Build Coastguard Worker #define SIGSTOP   19
126*cda5da8dSAndroid Build Coastguard Worker #define SIGTSTP   20
127*cda5da8dSAndroid Build Coastguard Worker #define SIGTTIN   21
128*cda5da8dSAndroid Build Coastguard Worker #define SIGTTOU   22
129*cda5da8dSAndroid Build Coastguard Worker #define SIGURG    23
130*cda5da8dSAndroid Build Coastguard Worker #define SIGXCPU   24
131*cda5da8dSAndroid Build Coastguard Worker #define SIGXFSZ   25
132*cda5da8dSAndroid Build Coastguard Worker #define SIGVTALRM 26
133*cda5da8dSAndroid Build Coastguard Worker #define SIGPROF   27
134*cda5da8dSAndroid Build Coastguard Worker #define SIGWINCH  28
135*cda5da8dSAndroid Build Coastguard Worker #define SIGIO     29
136*cda5da8dSAndroid Build Coastguard Worker #define SIGPOLL   29
137*cda5da8dSAndroid Build Coastguard Worker #define SIGPWR    30
138*cda5da8dSAndroid Build Coastguard Worker #define SIGSYS    31
139*cda5da8dSAndroid Build Coastguard Worker #define SIGUNUSED SIGSYS
140*cda5da8dSAndroid Build Coastguard Worker 
141*cda5da8dSAndroid Build Coastguard Worker #define _NSIG 65
142*cda5da8dSAndroid Build Coastguard Worker 
143