1#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
2 || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
3
4#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
5typedef unsigned long greg_t, gregset_t[34];
6typedef struct sigcontext {
7	struct {
8		unsigned long gpr[32];
9		unsigned long pc;
10		unsigned long sr;
11	} regs;
12	unsigned long oldmask;
13} mcontext_t;
14#else
15typedef struct {
16	unsigned long __regs[35];
17} mcontext_t;
18#endif
19
20#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
21#define MINSIGSTKSZ 2048
22#define SIGSTKSZ 8192
23#endif
24
25struct sigaltstack {
26	void *ss_sp;
27	int ss_flags;
28	size_t ss_size;
29};
30
31typedef struct __ucontext {
32	unsigned long uc_flags;
33	struct __ucontext *uc_link;
34	stack_t uc_stack;
35	mcontext_t uc_mcontext;
36	sigset_t uc_sigmask;
37} ucontext_t;
38
39#define SA_NOCLDSTOP  1
40#define SA_NOCLDWAIT  2
41#define SA_SIGINFO    4
42#define SA_ONSTACK    0x08000000
43#define SA_RESTART    0x10000000
44#define SA_NODEFER    0x40000000
45#define SA_RESETHAND  0x80000000
46#define SA_RESTORER   0x04000000
47
48#endif
49
50#define SIGHUP    1
51#define SIGINT    2
52#define SIGQUIT   3
53#define SIGILL    4
54#define SIGTRAP   5
55#define SIGABRT   6
56#define SIGIOT    SIGABRT
57#define SIGBUS    7
58#define SIGFPE    8
59#define SIGKILL   9
60#define SIGUSR1   10
61#define SIGSEGV   11
62#define SIGUSR2   12
63#define SIGPIPE   13
64#define SIGALRM   14
65#define SIGTERM   15
66#define SIGSTKFLT 16
67#define SIGCHLD   17
68#define SIGCONT   18
69#define SIGSTOP   19
70#define SIGTSTP   20
71#define SIGTTIN   21
72#define SIGTTOU   22
73#define SIGURG    23
74#define SIGXCPU   24
75#define SIGXFSZ   25
76#define SIGVTALRM 26
77#define SIGPROF   27
78#define SIGWINCH  28
79#define SIGIO     29
80#define SIGPOLL   29
81#define SIGPWR    30
82#define SIGSYS    31
83#define SIGUNUSED SIGSYS
84
85#define _NSIG 65
86