diff options
Diffstat (limited to 'private/ntos/rtl/alpha/ntrtlalp.h')
-rw-r--r-- | private/ntos/rtl/alpha/ntrtlalp.h | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/private/ntos/rtl/alpha/ntrtlalp.h b/private/ntos/rtl/alpha/ntrtlalp.h new file mode 100644 index 000000000..772cf749b --- /dev/null +++ b/private/ntos/rtl/alpha/ntrtlalp.h @@ -0,0 +1,123 @@ +/*++ + +Copyright (c) 1990 Microsoft Corporation + +Module Name: + + ntrtlalp.h + +Abstract: + + Alpha specific parts of ntrtlp.h. + +Author: + + David N. Cutler (davec) 19-Apr-90 + +Revision History: + + Thomas Van Baak (tvb) 5-May-1992 + + Adapted for Alpha AXP. + +--*/ + +// +// Define exception routine function prototypes. +// + +EXCEPTION_DISPOSITION +RtlpExecuteHandlerForException ( + IN PEXCEPTION_RECORD ExceptionRecord, + IN ULONG EstablisherFrame, + IN OUT PCONTEXT ContextRecord, + IN OUT PDISPATCHER_CONTEXT DispatcherContext, + IN PEXCEPTION_ROUTINE ExceptionRoutine + ); + +EXCEPTION_DISPOSITION +RtlpExecuteHandlerForUnwind ( + IN PEXCEPTION_RECORD ExceptionRecord, + IN ULONG EstablisherFrame, + IN OUT PCONTEXT ContextRecord, + IN OUT PDISPATCHER_CONTEXT DispatcherContext, + IN PEXCEPTION_ROUTINE ExceptionRoutine + ); + +// +// Define procedure prototypes for exception filter and termination handler +// execution routines. +// + +LONG +RtlpExecuteExceptionFilter ( + PEXCEPTION_POINTERS ExceptionPointers, + EXCEPTION_FILTER ExceptionFilter, + ULONG EstablisherFrame + ); + +VOID +RtlpExecuteTerminationHandler ( + BOOLEAN AbnormalTermination, + TERMINATION_HANDLER TerminationHandler, + ULONG EstablisherFrame + ); + +// +// Define function prototype for restore context. +// + +VOID +RtlpRestoreContext ( + IN PCONTEXT Context + ); + +#if DBG + +// +// Define global flags to debug/validate exception handling for Alpha. +// + +extern ULONG RtlDebugFlags; + +// +// Print exception records as delivered by PALcode (KiDispatchException). +// + +#define RTL_DBG_PAL_EXCEPTION 0x00001 + +// +// Software raised exceptions (RtlRaiseException, RtlRaiseStatus). +// + +#define RTL_DBG_RAISE_EXCEPTION 0x00002 + +// +// Find a handler to take the exception (RtlDispatchException). +// + +#define RTL_DBG_DISPATCH_EXCEPTION 0x00030 +#define RTL_DBG_DISPATCH_EXCEPTION_DETAIL 0x00020 + +// +// Call handlers and unwind to a target frame (RtlUnwind). +// + +#define RTL_DBG_UNWIND 0x00300 +#define RTL_DBG_UNWIND_DETAIL 0x00200 + +// +// Climb one frame up the call stack (RtlVirtualUnwind). +// + +#define RTL_DBG_VIRTUAL_UNWIND 0x03000 +#define RTL_DBG_VIRTUAL_UNWIND_DETAIL 0x02000 + +// +// Find the function entry for a given PC (RtlLookupFunctionEntry). +// + +#define RTL_DBG_FUNCTION_ENTRY 0x30000 +#define RTL_DBG_FUNCTION_ENTRY_DETAIL 0x20000 + +#endif // DBG |