Implemented many console & registry functions to get registry explorer running.
[reactos.git] / reactos / ntoskrnl / include / internal / ldr.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: include/internal/ldr.h
5 * PURPOSE: Header for loader module
6 */
7
8 #ifndef __INCLUDE_INTERNAL_LDR_H
9 #define __INCLUDE_INTERNAL_LDR_H
10
11 #include <pe.h>
12 #include <internal/io.h>
13 #include <ntdll/ldr.h>
14 #include <internal/module.h>
15
16 NTSTATUS
17 LdrLoadDriver (
18 PUNICODE_STRING Filename,
19 PDEVICE_NODE DeviceNode,
20 BOOLEAN BootDriversOnly
21 );
22 NTSTATUS
23 LdrLoadInitialProcess (
24 VOID
25 );
26 VOID
27 LdrLoadAutoConfigDrivers (
28 VOID
29 );
30 VOID
31 LdrInitModuleManagement (
32 VOID
33 );
34 NTSTATUS
35 LdrProcessDriver (
36 IN PVOID ModuleLoadBase,
37 IN PCHAR FileName,
38 IN ULONG ModuleLength
39 );
40 NTSTATUS
41 LdrpMapSystemDll (
42 HANDLE ProcessHandle,
43 PVOID * LdrStartupAddress
44 );
45 PVOID
46 LdrpGetSystemDllEntryPoint (VOID);
47 PVOID
48 LdrpGetSystemDllApcDispatcher(VOID);
49 PVOID
50 LdrpGetSystemDllExceptionDispatcher(VOID);
51 NTSTATUS
52 LdrpMapImage (
53 HANDLE ProcessHandle,
54 HANDLE SectionHandle,
55 PVOID * ImageBase
56 );
57
58
59 NTSTATUS STDCALL
60 LdrGetProcedureAddress (IN PVOID BaseAddress,
61 IN PANSI_STRING Name,
62 IN ULONG Ordinal,
63 OUT PVOID *ProcedureAddress);
64
65 NTSTATUS LdrLoadGdiDriver (PUNICODE_STRING DriverName,
66 PVOID *ImageAddress,
67 PVOID *SectionPointer,
68 PVOID *EntryPoint,
69 PVOID *ExportSectionPointer);
70
71 NTSTATUS
72 LdrpQueryModuleInformation(PVOID Buffer,
73 ULONG Size,
74 PULONG ReqSize);
75
76 PVOID STDCALL
77 RtlImageDirectoryEntryToData (
78 IN PVOID BaseAddress,
79 IN BOOLEAN ImageLoaded,
80 IN ULONG Directory,
81 OUT PULONG Size);
82 VOID
83 LdrInit1(VOID);
84 VOID
85 LdrInitDebug(PLOADER_MODULE Module, PWCH Name);
86 VOID LdrLoadUserModuleSymbols(PLDR_MODULE ModuleObject);
87
88 PVOID LdrSafePEProcessModule(
89 PVOID ModuleLoadBase,
90 PVOID DriverBase,
91 PVOID ImportModuleBase,
92 PULONG DriverSize);
93
94 PMODULE_OBJECT
95 LdrLoadModule(PUNICODE_STRING Filename);
96
97 NTSTATUS LdrFindModuleObject(
98 PUNICODE_STRING ModuleName,
99 PMODULE_OBJECT *ModuleObject);
100
101 extern ULONG_PTR LdrHalBase;
102
103 #endif /* __INCLUDE_INTERNAL_LDR_H */