master
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 long greg_t, gregset_t[32];
11
12typedef 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
22struct 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
40typedef 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
59typedef 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
67struct sigaltstack {
68 void *ss_sp;
69 size_t ss_size;
70 int ss_flags;
71};
72
73typedef 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