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
8 #ifndef __INCLUDE_INTERNAL_LDR_H
9 #define __INCLUDE_INTERNAL_LDR_H
12 #include <internal/io.h>
13 #include <ntdll/ldr.h>
14 #include <internal/module.h>
16 #define KERNEL_MODULE_NAME L"ntoskrnl.exe"
17 #define HAL_MODULE_NAME L"hal.dll"
18 #define DRIVER_ROOT_NAME L"\\Driver\\"
19 #define FILESYSTEM_ROOT_NAME L"\\FileSystem\\"
22 extern ULONG_PTR LdrHalBase;
26 LdrLoadInitialProcess (
30 LdrLoadAutoConfigDrivers (
34 LdrInitModuleManagement (
39 LdrInitializeBootStartDriver(IN PVOID ModuleLoadBase,
41 IN ULONG ModuleLength);
46 PVOID * LdrStartupAddress
49 LdrpGetSystemDllEntryPoint (VOID);
51 LdrpGetSystemDllApcDispatcher(VOID);
53 LdrpGetSystemDllExceptionDispatcher(VOID);
55 LdrpGetSystemDllCallbackDispatcher(VOID);
65 LdrGetProcedureAddress (IN PVOID BaseAddress,
68 OUT PVOID *ProcedureAddress);
71 LdrpLoadImage(PUNICODE_STRING DriverName,
73 PVOID *SectionPointer,
75 PVOID *ExportDirectory);
78 LdrpUnloadImage(PVOID ModuleBase);
81 LdrpLoadAndCallImage(PUNICODE_STRING DriverName);
84 LdrpQueryModuleInformation(PVOID Buffer,
89 RtlImageDirectoryEntryToData (
91 IN BOOLEAN ImageLoaded,
97 LdrInitDebug(PLOADER_MODULE Module, PWCH Name);
99 PVOID LdrSafePEProcessModule(
100 PVOID ModuleLoadBase,
102 PVOID ImportModuleBase,
106 LdrLoadModule(PUNICODE_STRING Filename,
107 PMODULE_OBJECT *ModuleObject);
110 LdrUnloadModule(PMODULE_OBJECT ModuleObject);
113 LdrGetModuleObject(PUNICODE_STRING ModuleName);
116 LdrGetAddressInformation(IN PIMAGE_SYMBOL_INFO SymbolInfo,
117 IN ULONG_PTR RelativeAddress,
118 OUT PULONG LineNumber,
119 OUT PCH FileName OPTIONAL,
120 OUT PCH FunctionName OPTIONAL);
126 LdrLoadUserModuleSymbols(PLDR_MODULE LdrModule);
129 LdrUnloadModuleSymbols(PIMAGE_SYMBOL_INFO SymbolInfo);
133 #endif /* __INCLUDE_INTERNAL_LDR_H */