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