]>
Commit | Line | Data |
---|---|---|
320054e8 DG |
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 4096 | |
6 | #define SIGSTKSZ 10240 | |
7 | #endif | |
8 | ||
9 | #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) | |
10 | ||
11 | typedef unsigned long greg_t, gregset_t[48]; | |
12 | ||
13 | typedef struct { | |
14 | double fpregs[32]; | |
15 | double fpscr; | |
16 | unsigned _pad[2]; | |
17 | } fpregset_t; | |
18 | ||
19 | typedef struct { | |
20 | unsigned vrregs[32][4]; | |
21 | unsigned vrsave; | |
22 | unsigned _pad[2]; | |
23 | unsigned vscr; | |
24 | } vrregset_t; | |
25 | ||
26 | struct sigcontext { | |
27 | unsigned long _unused[4]; | |
28 | int signal; | |
29 | unsigned long handler; | |
30 | unsigned long oldmask; | |
575e1579 | 31 | struct pt_regs *regs; |
320054e8 DG |
32 | }; |
33 | ||
34 | typedef struct { | |
35 | gregset_t gregs; | |
36 | fpregset_t fpregs; | |
37 | vrregset_t vrregs | |
38 | #ifdef __GNUC__ | |
39 | __attribute__((__aligned__(16))) | |
40 | #endif | |
41 | ; | |
42 | } mcontext_t; | |
43 | ||
44 | #else | |
45 | ||
46 | typedef struct { | |
47 | long __regs[48+68+4*32+4] | |
48 | #ifdef __GNUC__ | |
49 | __attribute__((__aligned__(16))) | |
50 | #endif | |
51 | ; | |
52 | } mcontext_t; | |
53 | ||
54 | #endif | |
55 | ||
56 | struct sigaltstack { | |
57 | void *ss_sp; | |
58 | int ss_flags; | |
59 | size_t ss_size; | |
60 | }; | |
61 | ||
62 | typedef struct __ucontext { | |
63 | unsigned long uc_flags; | |
64 | struct __ucontext *uc_link; | |
65 | stack_t uc_stack; | |
66 | int uc_pad[7]; | |
67 | mcontext_t *uc_regs; | |
68 | sigset_t uc_sigmask; | |
69 | int uc_pad2[3]; | |
70 | mcontext_t uc_mcontext; | |
71 | } ucontext_t; | |
72 | ||
73 | #define SA_NOCLDSTOP 1U | |
74 | #define SA_NOCLDWAIT 2U | |
75 | #define SA_SIGINFO 4U | |
76 | #define SA_ONSTACK 0x08000000U | |
77 | #define SA_RESTART 0x10000000U | |
78 | #define SA_NODEFER 0x40000000U | |
79 | #define SA_RESETHAND 0x80000000U | |
80 | #define SA_RESTORER 0x04000000U | |
81 | ||
82 | #endif | |
83 | ||
84 | #define SIGHUP 1 | |
85 | #define SIGINT 2 | |
86 | #define SIGQUIT 3 | |
87 | #define SIGILL 4 | |
88 | #define SIGTRAP 5 | |
89 | #define SIGABRT 6 | |
90 | #define SIGIOT SIGABRT | |
91 | #define SIGBUS 7 | |
92 | #define SIGFPE 8 | |
93 | #define SIGKILL 9 | |
94 | #define SIGUSR1 10 | |
95 | #define SIGSEGV 11 | |
96 | #define SIGUSR2 12 | |
97 | #define SIGPIPE 13 | |
98 | #define SIGALRM 14 | |
99 | #define SIGTERM 15 | |
100 | #define SIGSTKFLT 16 | |
101 | #define SIGCHLD 17 | |
102 | #define SIGCONT 18 | |
103 | #define SIGSTOP 19 | |
104 | #define SIGTSTP 20 | |
105 | #define SIGTTIN 21 | |
106 | #define SIGTTOU 22 | |
107 | #define SIGURG 23 | |
108 | #define SIGXCPU 24 | |
109 | #define SIGXFSZ 25 | |
110 | #define SIGVTALRM 26 | |
111 | #define SIGPROF 27 | |
112 | #define SIGWINCH 28 | |
113 | #define SIGIO 29 | |
114 | #define SIGPOLL 29 | |
115 | #define SIGPWR 30 | |
116 | #define SIGSYS 31 | |
117 | #define SIGUNUSED SIGSYS | |
118 | ||
119 | #define _NSIG 65 |