]>
Commit | Line | Data |
---|---|---|
b1cc2472 JM |
1 | macro-constant SIG_DFL {void(*)(int)} |
2 | macro-constant SIG_ERR {void(*)(int)} | |
31341567 | 3 | #if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008 |
b1cc2472 | 4 | macro-constant SIG_HOLD {void(*)(int)} |
33780b6d | 5 | #endif |
b1cc2472 | 6 | macro-constant SIG_IGN {void(*)(int)} |
8ce9ea0c UD |
7 | |
8 | type sig_atomic_t | |
31341567 | 9 | #if !defined ISO && !defined ISO99 && !defined ISO11 |
8ce9ea0c | 10 | type sigset_t |
4efeffc1 UD |
11 | #endif |
12 | #if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX | |
8ce9ea0c | 13 | type pid_t |
4efeffc1 UD |
14 | #elif defined POSIX |
15 | # define pid_t __pid_t | |
16 | # define uid_t __uid_t | |
31341567 | 17 | #endif |
f095bb72 UD |
18 | #if defined XOPEN2K8 || defined POSIX2008 |
19 | type size_t | |
20 | type pthread_t | |
21 | type uid_t | |
22 | ||
23 | type mcontext_t | |
24 | ||
25 | type ucontext_t | |
f095bb72 | 26 | element ucontext_t {ucontext_t*} uc_link |
e0b5a3b6 JM |
27 | // Bug 21634: uc_sigmask has wrong type. |
28 | xfail[ia64-linux]-element ucontext_t sigset_t uc_sigmask | |
f095bb72 | 29 | element ucontext_t stack_t uc_stack |
46ad8909 JM |
30 | // Bug 21635: uc_mcontext has wrong type. |
31 | xfail[powerpc32-linux]-element ucontext_t mcontext_t uc_mcontext | |
33780b6d UD |
32 | |
33 | type {struct timespec} | |
34 | element {struct timespec} __time_t tv_sec | |
345118d7 JM |
35 | // Bug 16437: tv_nsec has wrong type. |
36 | xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec | |
f095bb72 | 37 | #endif |
8ce9ea0c | 38 | |
9f57e65c | 39 | #if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008 |
8ce9ea0c UD |
40 | element {union sigval} int sival_int |
41 | element {union sigval} {void*} sival_ptr | |
42 | ||
43 | type {struct sigevent} | |
44 | ||
45 | // Test the elements of the sigevent_t structure. | |
46 | element {struct sigevent} int sigev_notify | |
47 | element {struct sigevent} int sigev_signo | |
48 | element {struct sigevent} {union sigval} sigev_value | |
5a9339d5 | 49 | element {struct sigevent} {void(*} sigev_notify_function )(union sigval) |
8ce9ea0c UD |
50 | element {struct sigevent} {pthread_attr_t*} sigev_notify_attributes |
51 | ||
52 | constant SIGEV_NONE | |
53 | constant SIGEV_SIGNAL | |
54 | constant SIGEV_THREAD | |
55 | ||
56 | type {union sigval} | |
57 | ||
58 | macro SIGRTMIN | |
59 | macro SIGRTMAX | |
31341567 | 60 | #endif |
8ce9ea0c | 61 | |
b1cc2472 JM |
62 | macro-int-constant SIGABRT {int} > 0 |
63 | macro-int-constant SIGFPE {int} > 0 | |
64 | macro-int-constant SIGILL {int} > 0 | |
65 | macro-int-constant SIGINT {int} > 0 | |
66 | macro-int-constant SIGSEGV {int} > 0 | |
67 | macro-int-constant SIGTERM {int} > 0 | |
31341567 UD |
68 | |
69 | function void (*signal (int, void(*)(int)))(int) | |
70 | function int raise (int) | |
71 | ||
72 | #if !defined ISO && !defined ISO99 && !defined ISO11 | |
b1cc2472 JM |
73 | macro-int-constant SIGALRM {int} > 0 |
74 | macro-int-constant SIGHUP {int} > 0 | |
b1cc2472 JM |
75 | macro-int-constant SIGKILL {int} > 0 |
76 | macro-int-constant SIGPIPE {int} > 0 | |
77 | macro-int-constant SIGQUIT {int} > 0 | |
78 | macro-int-constant SIGUSR1 {int} > 0 | |
79 | macro-int-constant SIGUSR2 {int} > 0 | |
80 | macro-int-constant SIGCHLD {int} > 0 | |
81 | macro-int-constant SIGCONT {int} > 0 | |
82 | macro-int-constant SIGSTOP {int} > 0 | |
83 | macro-int-constant SIGTSTP {int} > 0 | |
84 | macro-int-constant SIGTTIN {int} > 0 | |
85 | macro-int-constant SIGTTOU {int} > 0 | |
0516e24d | 86 | # ifndef XPG4 |
b1cc2472 | 87 | macro-int-constant SIGBUS {int} > 0 |
a00f522a | 88 | # endif |
0516e24d | 89 | # if !defined POSIX && !defined XPG4 |
b1cc2472 JM |
90 | macro-int-constant SIGPOLL {int} > 0 |
91 | macro-int-constant SIGPROF {int} > 0 | |
92 | macro-int-constant SIGSYS {int} > 0 | |
a00f522a | 93 | # endif |
0516e24d | 94 | # if !defined POSIX && !defined XPG4 && !defined POSIX2008 |
b1cc2472 | 95 | macro-int-constant SIGTRAP {int} > 0 |
31341567 | 96 | # endif |
0516e24d | 97 | # if !defined POSIX && !defined XPG4 |
b1cc2472 JM |
98 | macro-int-constant SIGURG {int} > 0 |
99 | macro-int-constant SIGVTALRM {int} > 0 | |
100 | macro-int-constant SIGXCPU {int} > 0 | |
101 | macro-int-constant SIGXFSZ {int} > 0 | |
a00f522a | 102 | # endif |
8ce9ea0c UD |
103 | |
104 | type {struct sigaction} | |
105 | ||
106 | element {struct sigaction} {void(*} sa_handler )(int) | |
107 | element {struct sigaction} sigset_t sa_mask | |
108 | element {struct sigaction} int sa_flags | |
6da85a0d | 109 | # ifndef XPG4 |
8ce9ea0c | 110 | element {struct sigaction} {void(*} sa_sigaction )(int, siginfo_t*, void*) |
6da85a0d | 111 | # endif |
8ce9ea0c UD |
112 | |
113 | constant SA_NOCLDSTOP | |
6da85a0d | 114 | # ifndef XPG4 |
b75a9b26 | 115 | // Bug 23089: hurd: missing siginfo support. |
cbc256b1 | 116 | xfail[i386-gnu]-constant SA_SIGINFO |
6da85a0d | 117 | # endif |
8ce9ea0c UD |
118 | constant SIG_BLOCK |
119 | constant SIG_UNBLOCK | |
120 | constant SIG_SETMASK | |
6da85a0d | 121 | # if !defined XPG4 && !defined POSIX && !defined POSIX2008 |
8ce9ea0c | 122 | constant SA_ONSTACK |
31341567 | 123 | # endif |
6da85a0d | 124 | # if !defined XPG4 && !defined POSIX |
8ce9ea0c UD |
125 | constant SA_RESETHAND |
126 | constant SA_RESTART | |
b75a9b26 | 127 | // Bug 23090: hurd: missing SA_NOCLDWAIT support. |
cbc256b1 | 128 | xfail[i386-gnu]-constant SA_NOCLDWAIT |
8ce9ea0c | 129 | constant SA_NODEFER |
31341567 | 130 | # endif |
6da85a0d | 131 | # if !defined XPG4 && !defined POSIX && !defined POSIX2008 |
8ce9ea0c UD |
132 | constant SS_ONSTACK |
133 | constant SS_DISABLE | |
134 | constant MINSIGSTKSZ | |
135 | constant SIGSTKSZ | |
31341567 | 136 | # endif |
8ce9ea0c | 137 | |
6da85a0d | 138 | # if !defined XPG4 && !defined POSIX |
8ce9ea0c UD |
139 | type ucontext_t |
140 | ||
141 | element ucontext_t {ucontext_t*} uc_link | |
e0b5a3b6 JM |
142 | // Bug 21634: uc_sigmask has wrong type. |
143 | xfail[ia64-linux]-element ucontext_t sigset_t uc_sigmask | |
8ce9ea0c | 144 | element ucontext_t stack_t uc_stack |
46ad8909 JM |
145 | // Bug 21635: uc_mcontext has wrong type. |
146 | xfail[powerpc32-linux]-element ucontext_t mcontext_t uc_mcontext | |
8ce9ea0c UD |
147 | |
148 | type stack_t | |
149 | ||
150 | element stack_t {void*} ss_sp | |
151 | element stack_t size_t ss_size | |
152 | element stack_t int ss_flags | |
153 | ||
666c0c5e | 154 | # if !defined XOPEN2K8 && !defined POSIX2008 |
8ce9ea0c UD |
155 | type {struct sigstack} |
156 | ||
157 | element {struct sigstack} int ss_onstack | |
158 | element {struct sigstack} {void*} ss_sp | |
666c0c5e | 159 | # endif |
31341567 | 160 | # endif |
8ce9ea0c | 161 | |
0516e24d | 162 | # ifndef XPG4 |
8ce9ea0c UD |
163 | type siginfo_t |
164 | ||
165 | element siginfo_t int si_signo | |
a00f522a | 166 | # if !defined POSIX && !defined POSIX2008 |
8ce9ea0c | 167 | element siginfo_t int si_errno |
a00f522a | 168 | # endif |
8ce9ea0c | 169 | element siginfo_t int si_code |
a00f522a | 170 | # ifndef POSIX |
8ce9ea0c UD |
171 | element siginfo_t pid_t si_pid |
172 | element siginfo_t uid_t si_uid | |
173 | element siginfo_t {void*} si_addr | |
174 | element siginfo_t int si_status | |
7c5e34d7 FW |
175 | // Bug 23821: si_band has type int on sparc64. |
176 | xfail[sparc64-linux]-element siginfo_t long si_band | |
a00f522a | 177 | # endif |
0516e24d | 178 | # ifndef XPG42 |
8ce9ea0c | 179 | element siginfo_t {union sigval} si_value |
a00f522a JM |
180 | # endif |
181 | # endif | |
8ce9ea0c | 182 | |
0516e24d | 183 | # if !defined POSIX && !defined XPG4 |
8ce9ea0c UD |
184 | constant ILL_ILLOPC |
185 | constant ILL_ILLOPN | |
186 | constant ILL_ILLADR | |
187 | constant ILL_ILLTRP | |
188 | constant ILL_PRVOPC | |
189 | constant ILL_PRVREG | |
190 | constant ILL_COPROC | |
191 | constant ILL_BADSTK | |
192 | constant FPE_INTDIV | |
193 | constant FPE_INTOVF | |
194 | constant FPE_FLTDIV | |
195 | constant FPE_FLTOVF | |
196 | constant FPE_FLTUND | |
197 | constant FPE_FLTRES | |
198 | constant FPE_FLTINV | |
199 | constant FPE_FLTSUB | |
200 | constant SEGV_MAPERR | |
201 | constant SEGV_ACCERR | |
202 | constant BUS_ADRALN | |
203 | constant BUS_ADRERR | |
204 | constant BUS_OBJERR | |
8ce9ea0c UD |
205 | constant CLD_EXITED |
206 | constant CLD_KILLED | |
207 | constant CLD_DUMPED | |
208 | constant CLD_TRAPPED | |
209 | constant CLD_STOPPED | |
210 | constant CLD_CONTINUED | |
211 | constant POLL_IN | |
212 | constant POLL_OUT | |
213 | constant POLL_MSG | |
214 | constant POLL_ERR | |
215 | constant POLL_PRI | |
216 | constant POLL_HUP | |
a00f522a | 217 | # endif |
0516e24d | 218 | # if !defined POSIX && !defined XPG4 && !defined POSIX2008 |
a00f522a JM |
219 | constant TRAP_BRKPT |
220 | constant TRAP_TRACE | |
221 | # endif | |
6da85a0d | 222 | # if !defined XPG4 && !defined XPG42 |
8ce9ea0c UD |
223 | constant SI_USER |
224 | constant SI_QUEUE | |
225 | constant SI_TIMER | |
226 | constant SI_ASYNCIO | |
227 | constant SI_MESGQ | |
6da85a0d | 228 | # endif |
8ce9ea0c | 229 | |
6da85a0d | 230 | # if !defined XPG4 && !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008 |
8ce9ea0c | 231 | function void (*bsd_signal (int, void(*)(int)))(int) |
31341567 | 232 | # endif |
8ce9ea0c | 233 | function int kill (pid_t, int) |
6da85a0d | 234 | # if !defined XPG4 && !defined POSIX && !defined POSIX2008 |
8ce9ea0c | 235 | function int killpg (pid_t, int) |
31341567 | 236 | # endif |
0516e24d | 237 | # if !defined XPG4 && !defined XPG42 |
8ce9ea0c UD |
238 | function int pthread_kill (pthread_t, int) |
239 | function int pthread_sigmask (int, const sigset_t*, sigset_t*) | |
5ba924e3 | 240 | # endif |
8ce9ea0c UD |
241 | function int sigaction (int, const struct sigaction*, struct sigaction*) |
242 | function int sigaddset (sigset_t*, int) | |
6da85a0d | 243 | # if !defined XPG4 && !defined POSIX && !defined POSIX2008 |
8ce9ea0c | 244 | function int sigaltstack (const stack_t*, stack_t*) |
31341567 | 245 | # endif |
8ce9ea0c UD |
246 | function int sigdelset (sigset_t*, int) |
247 | function int sigemptyset (sigset_t*) | |
248 | function int sigfillset (sigset_t*) | |
6da85a0d | 249 | # if !defined XPG4 && !defined POSIX && !defined POSIX2008 |
8ce9ea0c UD |
250 | function int sighold (int) |
251 | function int sigignore (int) | |
252 | function int siginterrupt (int, int) | |
31341567 | 253 | # endif |
8ce9ea0c | 254 | function int sigismember (const sigset_t*, int) |
6da85a0d | 255 | #if !defined XPG4 && !defined POSIX && !defined POSIX2008 |
8ce9ea0c | 256 | function int sigpause (int) |
31341567 | 257 | # endif |
8ce9ea0c UD |
258 | function int sigpending (sigset_t*) |
259 | function int sigprocmask (int, const sigset_t*, sigset_t*) | |
0516e24d | 260 | # if !defined XPG4 && !defined XPG42 |
8ce9ea0c | 261 | function int sigqueue (pid_t, int, const union sigval) |
5ba924e3 | 262 | # endif |
6da85a0d | 263 | # if !defined XPG4 && !defined POSIX && !defined POSIX2008 |
8ce9ea0c UD |
264 | function int sigrelse (int) |
265 | function void (*sigset (int, void(*)(int)))(int) | |
31341567 | 266 | # endif |
666c0c5e | 267 | # if defined XPG42 || defined UNIX98 |
8ce9ea0c | 268 | function int sigstack (struct sigstack*, struct sigstack*) |
31341567 | 269 | # endif |
8ce9ea0c | 270 | function int sigsuspend (const sigset_t*) |
0516e24d | 271 | # if !defined XPG4 && !defined XPG42 |
8ce9ea0c | 272 | function int sigtimedwait (const sigset_t*, siginfo_t*, const struct timespec*) |
5ba924e3 | 273 | # endif |
0516e24d | 274 | # if !defined XPG4 && !defined XPG42 |
6da85a0d | 275 | function int sigwait (const sigset_t*, int*) |
8ce9ea0c | 276 | function int sigwaitinfo (const sigset_t*, siginfo_t*) |
5ba924e3 | 277 | # endif |
31341567 | 278 | # if defined XOPEN2K8 || defined POSIX2008 |
f095bb72 UD |
279 | function void psiginfo (const siginfo_t*, const char*) |
280 | function void psignal (int, const char*) | |
31341567 | 281 | # endif |
8ce9ea0c | 282 | |
fbe90cd5 UD |
283 | // The following expressions are not entirely correct but the current |
284 | // poorfnmatch implementation doesn't grok the right form. | |
8ce9ea0c | 285 | allow sa_* |
a00f522a | 286 | allow SA_* |
0516e24d | 287 | # ifndef XPG4 |
8ce9ea0c UD |
288 | allow si_* |
289 | allow SI_* | |
a00f522a | 290 | # endif |
0516e24d | 291 | # if !defined XPG4 && !defined XPG42 |
8ce9ea0c UD |
292 | allow sigev_* |
293 | allow SIGEV_* | |
294 | allow sival_* | |
a00f522a | 295 | # endif |
0516e24d | 296 | # if !defined POSIX && !defined XPG4 && !defined XPG42 |
a00f522a JM |
297 | allow uc_* |
298 | # endif | |
0516e24d | 299 | # if !defined POSIX && !defined XPG4 |
0ed99ce4 UD |
300 | allow BUS_* |
301 | allow CLD_* | |
302 | allow FPE_* | |
303 | allow ILL_* | |
304 | allow POLL_* | |
305 | allow SEGV_* | |
a00f522a | 306 | # endif |
0516e24d | 307 | # if !defined POSIX && !defined XPG4 && !defined POSIX2008 |
0ed99ce4 UD |
308 | allow SS_* |
309 | allow SV_* | |
310 | allow TRAP_* | |
a00f522a JM |
311 | allow ss_* |
312 | allow sv_* | |
313 | # endif | |
0ed99ce4 | 314 | allow *_t |
a53d3f82 UD |
315 | |
316 | allow-header time.h | |
31341567 UD |
317 | #endif |
318 | ||
319 | allow SIG[ABCDEFGHIJKLMNOPQRSTUVWXYZ]* | |
320 | allow SIG_* |