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 #include <crtdefs.h> 7 8 #ifndef _EH_H_ 9 #define _EH_H_ 10 11 #ifndef RC_INVOKED 12 13 #pragma pack(push,_CRT_PACKING) 14 15 #ifndef __cplusplus 16 #error eh.h is only for C++! 17 #endif 18 19 typedef void (__cdecl *terminate_function)(); 20 typedef void (__cdecl *terminate_handler)(); 21 typedef void (__cdecl *unexpected_function)(); 22 typedef void (__cdecl *unexpected_handler)(); 23 24 struct _EXCEPTION_POINTERS; 25 typedef void (__cdecl *_se_translator_function)(unsigned int,struct _EXCEPTION_POINTERS *); 26 27 _CRTIMP __declspec(noreturn) void __cdecl terminate(void); 28 _CRTIMP void __cdecl unexpected(void); 29 _CRTIMP int __cdecl _is_exception_typeof(const std::type_info &_Type,struct _EXCEPTION_POINTERS *_ExceptionPtr); 30 _CRTIMP terminate_function __cdecl set_terminate(terminate_function _NewPtFunc); 31 extern "C" _CRTIMP terminate_function __cdecl _get_terminate(void); 32 _CRTIMP unexpected_function __cdecl set_unexpected(unexpected_function _NewPtFunc); 33 extern "C" _CRTIMP unexpected_function __cdecl _get_unexpected(void); 34 _CRTIMP _se_translator_function __cdecl _set_se_translator(_se_translator_function _NewPtFunc); 35 _CRTIMP bool __cdecl __uncaught_exception(); 36 37 #pragma pack(pop) 38 #endif 39 #endif /* End _EH_H_ */ 40 41