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 greg_t, gregset_t[38];
11typedef struct sigcontext {
12	struct {
13		unsigned long r0, r1, r2, r3, r4, r5, r6, r7;
14		unsigned long r8, r9, r10, r11, r12, r13, r14, r15;
15		unsigned long r16, r17, r18, r19, r20, r21, r22, r23;
16		unsigned long r24, r25, r26, r27, r28, r29, r30, r31;
17		unsigned long pc, msr, ear, esr, fsr;
18		int pt_mode;
19	} regs;
20	unsigned long oldmask;
21} mcontext_t;
22#else
23typedef struct {
24	unsigned long __regs[39];
25} mcontext_t;
26#endif
27
28struct sigaltstack {
29	void *ss_sp;
30	int ss_flags;
31	size_t ss_size;
32};
33
34typedef struct __ucontext {
35	unsigned long uc_flags;
36	struct __ucontext *uc_link;
37	stack_t uc_stack;
38	mcontext_t uc_mcontext;
39	sigset_t uc_sigmask;
40} ucontext_t;
41
42#define SA_NOCLDSTOP  1
43#define SA_NOCLDWAIT  2
44#define SA_SIGINFO    4
45#define SA_ONSTACK    0x08000000
46#define SA_RESTART    0x10000000
47#define SA_NODEFER    0x40000000
48#define SA_RESETHAND  0x80000000
49#define SA_RESTORER   0x04000000
50
51#endif
52
53#define SIGHUP    1
54#define SIGINT    2
55#define SIGQUIT   3
56#define SIGILL    4
57#define SIGTRAP   5
58#define SIGABRT   6
59#define SIGIOT    SIGABRT
60#define SIGBUS    7
61#define SIGFPE    8
62#define SIGKILL   9
63#define SIGUSR1   10
64#define SIGSEGV   11
65#define SIGUSR2   12
66#define SIGPIPE   13
67#define SIGALRM   14
68#define SIGTERM   15
69#define SIGSTKFLT 16
70#define SIGCHLD   17
71#define SIGCONT   18
72#define SIGSTOP   19
73#define SIGTSTP   20
74#define SIGTTIN   21
75#define SIGTTOU   22
76#define SIGURG    23
77#define SIGXCPU   24
78#define SIGXFSZ   25
79#define SIGVTALRM 26
80#define SIGPROF   27
81#define SIGWINCH  28
82#define SIGIO     29
83#define SIGPOLL   29
84#define SIGPWR    30
85#define SIGSYS    31
86#define SIGUNUSED SIGSYS
87
88#define _NSIG 65
89