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