[XDK]
[reactos.git] / include / crt / signal.h
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef _INC_SIGNAL
7 #define _INC_SIGNAL
8
9 #include <crtdefs.h>
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15 #ifndef _SIG_ATOMIC_T_DEFINED
16 #define _SIG_ATOMIC_T_DEFINED
17 typedef int sig_atomic_t;
18 #endif
19
20 #define NSIG 23
21
22 #define SIGHUP 1 /* hangup */
23 #define SIGINT 2
24 #define SIGQUIT 3 /* quit */
25 #define SIGILL 4
26 #define SIGTRAP 5 /* trace trap (not reset when caught) */
27 #define SIGIOT 6 /* IOT instruction */
28 #define SIGABRT 6 /* used by abort, replace SIGIOT in the future */
29 #define SIGEMT 7 /* EMT instruction */
30 #define SIGFPE 8
31 #define SIGKILL 9 /* kill (cannot be caught or ignored) */
32 #define SIGBUS 10 /* bus error */
33 #define SIGSEGV 11
34 #define SIGSYS 12 /* bad argument to system call */
35 #define SIGPIPE 13 /* write on a pipe with no one to read it */
36 #ifdef __USE_MINGW_ALARM
37 #define SIGALRM 14 /* alarm clock */
38 #endif
39 #define SIGTERM 15
40 #define SIGBREAK 21
41 #define SIGABRT2 22
42
43 #define SIGABRT_COMPAT 6
44
45 typedef void (*__p_sig_fn_t)(int);
46
47 #define SIG_DFL (__p_sig_fn_t)0
48 #define SIG_IGN (__p_sig_fn_t)1
49 #define SIG_GET (__p_sig_fn_t)2
50 #define SIG_SGE (__p_sig_fn_t)3
51 #define SIG_ACK (__p_sig_fn_t)4
52 #define SIG_ERR (__p_sig_fn_t)-1
53
54 extern void **__cdecl __pxcptinfoptrs(void);
55 #define _pxcptinfoptrs (*__pxcptinfoptrs())
56
57 __p_sig_fn_t __cdecl signal(int _SigNum,__p_sig_fn_t _Func);
58 int __cdecl raise(int _SigNum);
59
60 #ifdef __cplusplus
61 }
62 #endif
63 #endif