- Remove KeAttachProcess and KeDetachProcess prototypes from winddk.h.
[reactos.git] / reactos / ntoskrnl / rtl / i386 / exception.c
1 /* $Id$
2 *
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * FILE: ntoskrnl/rtl/i386/exception.c
6 * PURPOSE: Kernel-mode exception support for IA-32
7 *
8 * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
9 */
10
11 /* INCLUDES *****************************************************************/
12
13 #include <ntos.h>
14 #include <internal/ke.h>
15 #include <internal/ob.h>
16 #include <internal/ps.h>
17
18 #define NDEBUG
19 #include <debug.h>
20
21 /* FUNCTIONS ***************************************************************/
22
23 #if 1
24 VOID STDCALL
25 MsvcrtDebug(ULONG Value)
26 {
27 DbgPrint("KernelDebug 0x%.08x\n", Value);
28 }
29 #endif
30
31 #if !defined(_MSC_VER)
32 /*
33 * When compiling this file with MSVC itself, don't compile these functions.
34 * They are replacements for MS compiler and/or C runtime library functions,
35 * which are already provided by the MSVC compiler and C runtime library.
36 */
37
38 /*
39 * @implemented
40 */
41 int
42 _abnormal_termination(void)
43 {
44 DbgPrint("Abnormal Termination\n");
45 return 0;
46 }
47
48 struct _CONTEXT;
49
50 /*
51 * @implemented
52 */
53 EXCEPTION_DISPOSITION
54 _except_handler2(
55 struct _EXCEPTION_RECORD *ExceptionRecord,
56 void *RegistrationFrame,
57 struct _CONTEXT *ContextRecord,
58 void *DispatcherContext)
59 {
60 DbgPrint("_except_handler2()\n");
61 return (EXCEPTION_DISPOSITION)0;
62 }
63
64 /*
65 * @implemented
66 */
67 void __cdecl
68 _global_unwind2(PEXCEPTION_REGISTRATION RegistrationFrame)
69 {
70 RtlUnwind(RegistrationFrame, &&__ret_label, NULL, 0);
71 __ret_label:
72 // return is important
73 return;
74 }
75
76 #endif /* _MSC_VER */
77
78 /* EOF */