1 #ifndef __WINE_WINE_EXCEPTION_H 2 #define __WINE_WINE_EXCEPTION_H 16 #define EH_NONCONTINUABLE 0x01 17 #define EH_UNWINDING 0x02 18 #define EH_EXIT_UNWIND 0x04 19 #define EH_STACK_INVALID 0x08 20 #define EH_NESTED_CALL 0x10 21 #define EH_TARGET_UNWIND 0x20 22 #define EH_COLLIDED_UNWIND 0x40 24 #define EXCEPTION_WINE_STUB 0x80000100 25 #define EXCEPTION_WINE_ASSERTION 0x80000101 27 #define EXCEPTION_VM86_INTx 0x80000110 28 #define EXCEPTION_VM86_STI 0x80000111 29 #define EXCEPTION_VM86_PICRETURN 0x80000112 50 typedef struct _WINE_EXCEPTION_REGISTRATION_RECORD
54 } WINE_EXCEPTION_REGISTRATION_RECORD, *PWINE_EXCEPTION_REGISTRATION_RECORD;
56 #define _EXCEPTION_REGISTRATION_RECORD _WINE_EXCEPTION_REGISTRATION_RECORD 57 #define EXCEPTION_REGISTRATION_RECORD WINE_EXCEPTION_REGISTRATION_RECORD 58 #define PEXCEPTION_REGISTRATION_RECORD PWINE_EXCEPTION_REGISTRATION_RECORD 62 #define __TRY _SEH2_TRY 63 #define __EXCEPT(func) _SEH2_EXCEPT(func(_SEH2_GetExceptionInformation())) 64 #define __EXCEPT_CTX(func, ctx) _SEH2_EXCEPT((func)(GetExceptionInformation(), ctx)) 65 #define __EXCEPT_PAGE_FAULT _SEH2_EXCEPT(_SEH2_GetExceptionCode() == STATUS_ACCESS_VIOLATION) 66 #define __EXCEPT_ALL _SEH2_EXCEPT(_SEH_EXECUTE_HANDLER) 67 #define __ENDTRY _SEH2_END 68 #define __FINALLY(func) _SEH2_FINALLY { func(!_SEH2_AbnormalTermination()); } 69 #define __FINALLY_CTX(func, ctx) _SEH2_FINALLY { func(!_SEH2_AbnormalTermination(), ctx); }; _SEH2_END 71 #ifndef GetExceptionCode 72 #define GetExceptionCode() _SEH2_GetExceptionCode() 75 #ifndef GetExceptionInformation 76 #define GetExceptionInformation() _SEH2_GetExceptionInformation() 79 #ifndef AbnormalTermination 80 #define AbnormalTermination() _SEH2_AbnormalTermination() 84 #define __EXCEPT(func) __except(func(GetExceptionInformation())) 85 #define __EXCEPT_CTX(func, ctx) __except((func)(GetExceptionInformation(), ctx)) 86 #define __EXCEPT_PAGE_FAULT __except(GetExceptionCode() == STATUS_ACCESS_VIOLATION) 87 #define __EXCEPT_ALL __except(1) 89 #define __FINALLY(func) __finally { func(!AbnormalTermination()); } 90 #define __FINALLY_CTX(func, ctx) __finally { func(!AbnormalTermination(), ctx); } 93 #if defined(__MINGW32__) || defined(__CYGWIN__) 94 #define sigjmp_buf jmp_buf 95 #define sigsetjmp(buf,sigs) setjmp(buf) 96 #define siglongjmp(buf,val) longjmp(buf,val) 100 #pragma warning(push) 101 #pragma warning(disable:4733)
struct _EXCEPTION_REGISTRATION_RECORD * PEXCEPTION_REGISTRATION_RECORD
static EXCEPTION_REGISTRATION_RECORD * __wine_push_frame(EXCEPTION_REGISTRATION_RECORD *frame)
PPC_QUAL unsigned long __readfsdword(const unsigned long Offset)
EXCEPTION_ROUTINE * PEXCEPTION_ROUTINE
struct _EXCEPTION_REGISTRATION_RECORD * ExceptionList
PEXCEPTION_HANDLER Handler
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER Handler
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
PPC_QUAL void __writefsdword(const unsigned long Offset, const unsigned long Data)
DWORD(* PEXCEPTION_HANDLER)(struct _EXCEPTION_RECORD *, struct _EXCEPTION_REGISTRATION_RECORD *, struct _CONTEXT *, struct _EXCEPTION_REGISTRATION_RECORD **)
static EXCEPTION_REGISTRATION_RECORD * __wine_pop_frame(EXCEPTION_REGISTRATION_RECORD *frame)
struct _EXCEPTION_REGISTRATION_RECORD * Prev
void __wine_enter_vm86(CONTEXT *context)