Add .gitattributes and .gitignore files and normalize line endings in the repository...
[reactos.git] / sdk / include / crt / eh.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 #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)(void);
20 typedef void (__cdecl *terminate_handler)(void);
21 typedef void (__cdecl *unexpected_function)(void);
22 typedef void (__cdecl *unexpected_handler)(void);
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 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(void);
36
37 #pragma pack(pop)
38 #endif
39 #endif /* End _EH_H_ */
40