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 13extern "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