ReactOS 0.4.16-dev-1260-g901af6a
rtlsupportapi.h
Go to the documentation of this file.
1/*
2 * Definitions for Rtl exception handling functions
3 *
4 * Copyright 2024 Alexandre Julliard
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21#ifndef _APISETRTLSUPPORT_
22#define _APISETRTLSUPPORT_
23
30NTSYSAPI void WINAPI RtlUnwind(void*,void*,EXCEPTION_RECORD*,void*);
31NTSYSAPI void* WINAPI RtlPcToFileHeader(void*,void**);
33
34#ifndef __i386__
35
36#define UNWIND_HISTORY_TABLE_SIZE 12
37
39{
41 PRUNTIME_FUNCTION FunctionEntry;
43
45{
55
57
58#define RTL_VIRTUAL_UNWIND2_VALIDATE_PAC 0x0001
59
69NTSYSAPI PEXCEPTION_ROUTINE WINAPI RtlVirtualUnwind(ULONG,ULONG_PTR,ULONG_PTR,RUNTIME_FUNCTION*,CONTEXT*,void**,ULONG_PTR*,KNONVOLATILE_CONTEXT_POINTERS*);
71#ifdef __x86_64__
72NTSYSAPI BOOLEAN WINAPI RtlIsEcCode(ULONG_PTR);
73#endif
74
75#endif /* __i386__ */
76
77#endif /* _APISETRTLSUPPORT_ */
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
#define NTSYSAPI
Definition: ntoskrnl.h:12
#define CDECL
Definition: compat.h:29
EXCEPTION_ROUTINE * PEXCEPTION_ROUTINE
Definition: compat.h:709
#define CALLBACK
Definition: compat.h:35
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short USHORT
Definition: pedump.c:61
NTSYSAPI NTSTATUS WINAPI RtlAddGrowableFunctionTable(void **, PRUNTIME_FUNCTION, ULONG, ULONG, ULONG_PTR, ULONG_PTR)
struct _UNWIND_HISTORY_TABLE_ENTRY * PUNWIND_HISTORY_TABLE_ENTRY
NTSYSAPI void WINAPI RtlCaptureContext(CONTEXT *)
struct _UNWIND_HISTORY_TABLE_ENTRY UNWIND_HISTORY_TABLE_ENTRY
NTSYSAPI BOOLEAN CDECL RtlAddFunctionTable(RUNTIME_FUNCTION *, ULONG, ULONG_PTR)
NTSYSAPI USHORT WINAPI RtlCaptureStackBackTrace(ULONG, ULONG, void **, ULONG *)
NTSYSAPI PEXCEPTION_ROUTINE WINAPI RtlVirtualUnwind(ULONG, ULONG_PTR, ULONG_PTR, RUNTIME_FUNCTION *, CONTEXT *, void **, ULONG_PTR *, KNONVOLATILE_CONTEXT_POINTERS *)
NTSYSAPI void WINAPI RtlGrowFunctionTable(void *, ULONG)
NTSYSAPI NTSTATUS WINAPI RtlVirtualUnwind2(ULONG, ULONG_PTR, ULONG_PTR, RUNTIME_FUNCTION *, CONTEXT *, BOOLEAN *, void **, ULONG_PTR *, KNONVOLATILE_CONTEXT_POINTERS *, ULONG_PTR *, ULONG_PTR *, PEXCEPTION_ROUTINE *, ULONG)
NTSYSAPI PRUNTIME_FUNCTION WINAPI RtlLookupFunctionEntry(ULONG_PTR, ULONG_PTR *, UNWIND_HISTORY_TABLE *)
NTSYSAPI BOOLEAN CDECL RtlDeleteFunctionTable(RUNTIME_FUNCTION *)
NTSYSAPI void WINAPI RtlRaiseException(EXCEPTION_RECORD *)
NTSYSAPI void *WINAPI RtlPcToFileHeader(void *, void **)
NTSYSAPI void WINAPI RtlGetCallersAddress(void **, void **)
NTSYSAPI ULONG WINAPI RtlWalkFrameChain(void **, ULONG, ULONG)
NTSYSAPI void WINAPI RtlDeleteGrowableFunctionTable(void *)
NTSYSAPI BOOLEAN CDECL RtlInstallFunctionTableCallback(ULONG_PTR, ULONG_PTR, ULONG, PGET_RUNTIME_FUNCTION_CALLBACK, PVOID, PCWSTR)
NTSYSAPI void WINAPI RtlUnwind(void *, void *, EXCEPTION_RECORD *, void *)
NTSYSAPI PRUNTIME_FUNCTION WINAPI RtlLookupFunctionTable(ULONG_PTR, ULONG_PTR *, ULONG *)
struct _UNWIND_HISTORY_TABLE UNWIND_HISTORY_TABLE
#define UNWIND_HISTORY_TABLE_SIZE
Definition: rtlsupportapi.h:36
NTSYSAPI void WINAPI RtlUnwindEx(void *, void *, EXCEPTION_RECORD *, void *, CONTEXT *, UNWIND_HISTORY_TABLE *)
PRUNTIME_FUNCTION(CALLBACK * PGET_RUNTIME_FUNCTION_CALLBACK)(DWORD_PTR, PVOID)
Definition: rtlsupportapi.h:56
struct _UNWIND_HISTORY_TABLE * PUNWIND_HISTORY_TABLE
NTSYSAPI void CDECL RtlRestoreContext(CONTEXT *, EXCEPTION_RECORD *)
NTSYSAPI void WINAPI RtlCaptureContext2(CONTEXT *)
base of all file and directory entries
Definition: entries.h:83
Definition: rtlsupportapi.h:39
ULONG_PTR ImageBase
Definition: rtlsupportapi.h:40
PRUNTIME_FUNCTION FunctionEntry
Definition: rtlsupportapi.h:41
#define DWORD_PTR
Definition: treelist.c:76
const uint16_t * PCWSTR
Definition: typedefs.h:57
void * PVOID
Definition: typedefs.h:50
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t ULONG
Definition: typedefs.h:59
#define WINAPI
Definition: msvc.h:6
unsigned char BYTE
Definition: xxhash.c:193