[CRT] Remove useless #undef abort from process.h
[reactos.git] / boot / freeldr / freeldr / include / peloader.h
1 /*
2 * PROJECT: FreeLoader
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Provides routines for loading PE files.
5 * (Deprecated remark) To be merged with arch/i386/loader.c in future.
6 *
7 * COPYRIGHT: Copyright 1998-2003 Brian Palmer <brianp@sginet.com>
8 * Copyright 2006-2019 Aleksey Bragin <aleksey@reactos.org>
9 *
10 * NOTES: The source code in this file is based on the work of respective
11 * authors of PE loading code in ReactOS and Brian Palmer and
12 * Alex Ionescu's arch/i386/loader.c, and my research project
13 * (creating a native EFI loader for Windows).
14 *
15 * This article was very handy during development:
16 * http://msdn.microsoft.com/msdnmag/issues/02/03/PE2/
17 */
18
19 #pragma once
20
21 BOOLEAN
22 PeLdrLoadImage(
23 IN PCHAR FileName,
24 IN TYPE_OF_MEMORY MemoryType,
25 OUT PVOID *ImageBasePA);
26
27 BOOLEAN
28 PeLdrAllocateDataTableEntry(
29 IN OUT PLIST_ENTRY ModuleListHead,
30 IN PCCH BaseDllName,
31 IN PCCH FullDllName,
32 IN PVOID BasePA,
33 OUT PLDR_DATA_TABLE_ENTRY *NewEntry);
34
35 BOOLEAN
36 PeLdrScanImportDescriptorTable(
37 IN OUT PLIST_ENTRY ModuleListHead,
38 IN PCCH DirectoryPath,
39 IN PLDR_DATA_TABLE_ENTRY ScanDTE);
40
41 BOOLEAN
42 PeLdrCheckForLoadedDll(
43 IN OUT PLIST_ENTRY ModuleListHead,
44 IN PCH DllName,
45 OUT PLDR_DATA_TABLE_ENTRY *LoadedEntry);