source: trunk/src/NTDLL/exception.cpp@ 555

Last change on this file since 555 was 555, checked in by phaller, 26 years ago

Add: few more exception handling stubs

File size: 3.3 KB
Line 
1/* $Id: exception.cpp,v 1.1 1999-08-18 19:35:43 phaller Exp $ */
2
3/*
4 * Project Odin Software License can be found in LICENSE.TXT
5 * Win32 NT Runtime / NTDLL for OS/2
6 *
7 * Copyright 1999 Turchanov Sergey
8 * Copyright 1999 Alexandre Julliard
9 * Copyright 1998, 1999 Patrick Haller (phaller@gmx.net)
10 *
11 * NT basis DLL
12 *
13 */
14
15/*
16 * Note: All exception handling in ODIN has to be done in the KERNEL32 DLL.
17 * Therefore, we're just putting forwarders in here.
18 */
19
20#include <stdlib.h>
21#include <string.h>
22
23#include "ntdll.h"
24
25#include "winuser.h"
26#include "winerror.h"
27#include "winreg.h"
28
29#include <win/except.h>
30
31/*
32#include "winnt.h"
33#include "ntddk.h"
34#include "process.h"
35#include "global.h"
36#include "wine/exception.h"
37#include "stackframe.h"
38#include "sig_context.h"
39#include "miscemu.h"
40#include "debugtools.h"
41
42DEFAULT_DEBUG_CHANNEL(seh)
43*/
44
45
46/***********************************************************************
47 * RtlRaiseException (NTDLL.464)
48 */
49void WINAPI REGS_FUNC(RtlRaiseException)( EXCEPTION_RECORD *rec, CONTEXT *context )
50{
51 dprintf(("NTDLL: RtlRaiseException (%08xh,%08xh) not implemented.\n",
52 rec,
53 context));
54
55 // forward to handler in KERNEL32
56}
57
58
59/*******************************************************************
60 * RtlUnwind (KERNEL32.590) (NTDLL.518)
61 */
62void WINAPI REGS_FUNC(RtlUnwind)( PEXCEPTION_FRAME pEndFrame, LPVOID unusedEip,
63 PEXCEPTION_RECORD pRecord, DWORD returnEax,
64 CONTEXT *context )
65{
66 dprintf(("NTDLL: RtlUnwind(%08xh, %08xh, %08xh, %08xh, %08xh) not implemented.\n",
67 pEndFrame,
68 unusedEip,
69 pRecord,
70 returnEax,
71 context));
72
73 // forward to handler in KERNEL32
74}
75
76
77/*******************************************************************
78 * NtRaiseException (NTDLL.175)
79 *
80 * Real prototype:
81 * DWORD WINAPI NtRaiseException( EXCEPTION_RECORD *rec, CONTEXT *ctx, BOOL first );
82 */
83void WINAPI REGS_FUNC(NtRaiseException)( EXCEPTION_RECORD *rec, CONTEXT *ctx,
84 BOOL first, CONTEXT *context )
85{
86 dprintf(("NTDLL: NtRaiseException(%08xh, %08xh, %08xh, %08xh) not implemented.\n",
87 rec,
88 ctx,
89 first,
90 context));
91
92
93 //REGS_FUNC(RtlRaiseException)( rec, ctx );
94 *context = *ctx;
95}
96
97
98/***********************************************************************
99 * RtlRaiseStatus (NTDLL.465)
100 *
101 * Raise an exception with ExceptionCode = status
102 */
103void WINAPI RtlRaiseStatus( NTSTATUS status )
104{
105 EXCEPTION_RECORD ExceptionRec;
106
107 dprintf(("NTDLL: RtlRaiseStatus(%08xh) not implemented.\n",
108 status));
109
110 ExceptionRec.ExceptionCode = status;
111 ExceptionRec.ExceptionFlags = EH_NONCONTINUABLE;
112 ExceptionRec.ExceptionRecord = NULL;
113 ExceptionRec.NumberParameters = 0;
114 //RtlRaiseException( &ExceptionRec );
115}
116
117
118/***********************************************************************
119 * DebugBreak (KERNEL32.181)
120 */
121void WINAPI REGS_FUNC(DebugBreak)( CONTEXT *context )
122{
123 EXCEPTION_RECORD rec;
124
125 rec.ExceptionCode = EXCEPTION_BREAKPOINT;
126 rec.ExceptionFlags = EH_NONCONTINUABLE;
127 rec.ExceptionRecord = NULL;
128 rec.NumberParameters = 0;
129 //REGS_FUNC(RtlRaiseException)( &rec, context );
130}
Note: See TracBrowser for help on using the repository browser.