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;
25 LdrLoadInitialProcess(PHANDLE ProcessHandle,
26 PHANDLE ThreadHandle);
29 LdrLoadAutoConfigDrivers (
33 LdrInitModuleManagement (
38 LdrInitializeBootStartDriver(IN PVOID ModuleLoadBase,
40 IN ULONG ModuleLength);
45 PVOID * LdrStartupAddress
48 LdrpGetSystemDllEntryPoint (VOID);
50 LdrpGetSystemDllApcDispatcher(VOID);
52 LdrpGetSystemDllExceptionDispatcher(VOID);
54 LdrpGetSystemDllCallbackDispatcher(VOID);
56 LdrpGetSystemDllRaiseExceptionDispatcher(VOID);
66 LdrGetProcedureAddress (IN PVOID BaseAddress,
69 OUT PVOID *ProcedureAddress);
72 LdrpLoadImage(PUNICODE_STRING DriverName,
74 PVOID *SectionPointer,
76 PVOID *ExportDirectory);
79 LdrpUnloadImage(PVOID ModuleBase);
82 LdrpLoadAndCallImage(PUNICODE_STRING DriverName);
85 LdrpQueryModuleInformation(PVOID Buffer,
90 RtlImageDirectoryEntryToData (
92 IN BOOLEAN ImageLoaded,
98 LdrInitDebug(PLOADER_MODULE Module, PWCH Name);
100 PVOID LdrSafePEProcessModule(
101 PVOID ModuleLoadBase,
103 PVOID ImportModuleBase,
107 LdrLoadModule(PUNICODE_STRING Filename,
108 PMODULE_OBJECT *ModuleObject);
111 LdrUnloadModule(PMODULE_OBJECT ModuleObject);
114 LdrGetModuleObject(PUNICODE_STRING ModuleName);
117 LdrGetAddressInformation(IN PIMAGE_SYMBOL_INFO SymbolInfo,
118 IN ULONG_PTR RelativeAddress,
119 OUT PULONG LineNumber,
120 OUT PCH FileName OPTIONAL,
121 OUT PCH FunctionName OPTIONAL);
127 LdrLoadUserModuleSymbols(PLDR_MODULE LdrModule);
130 LdrUnloadModuleSymbols(PIMAGE_SYMBOL_INFO SymbolInfo);
134 #endif /* __INCLUDE_INTERNAL_LDR_H */