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 <internal/module.h>
15 #define KERNEL_MODULE_NAME L"ntoskrnl.exe"
16 #define HAL_MODULE_NAME L"hal.dll"
17 #define DRIVER_ROOT_NAME L"\\Driver\\"
18 #define FILESYSTEM_ROOT_NAME L"\\FileSystem\\"
21 extern ULONG_PTR LdrHalBase
;
24 LdrLoadInitialProcess(PHANDLE ProcessHandle
,
25 PHANDLE ThreadHandle
);
28 LdrLoadAutoConfigDrivers (
32 LdrInitModuleManagement (
38 LdrpMapSystemDll(PEPROCESS Process
,
43 LdrpInitializeSystemDll(VOID
);
47 LdrpGetSystemDllEntryPoints(VOID
);
50 LdrpGetSystemDllEntryPoint (VOID
);
52 LdrpGetSystemDllApcDispatcher(VOID
);
54 LdrpGetSystemDllExceptionDispatcher(VOID
);
56 LdrpGetSystemDllCallbackDispatcher(VOID
);
58 LdrpGetSystemDllRaiseExceptionDispatcher(VOID
);
68 LdrGetProcedureAddress (IN PVOID BaseAddress
,
71 OUT PVOID
*ProcedureAddress
);
74 LdrpLoadImage(PUNICODE_STRING DriverName
,
76 PVOID
*SectionPointer
,
78 PVOID
*ExportDirectory
);
81 LdrpUnloadImage(PVOID ModuleBase
);
84 LdrpLoadAndCallImage(PUNICODE_STRING DriverName
);
87 LdrpQueryModuleInformation(PVOID Buffer
,
92 RtlImageDirectoryEntryToData (
94 IN BOOLEAN ImageLoaded
,
100 LdrInitDebug(PLOADER_MODULE Module
, PWCH Name
);
102 PVOID
LdrSafePEProcessModule(
103 PVOID ModuleLoadBase
,
105 PVOID ImportModuleBase
,
109 LdrLoadModule(PUNICODE_STRING Filename
,
110 PMODULE_OBJECT
*ModuleObject
);
113 LdrUnloadModule(PMODULE_OBJECT ModuleObject
);
116 LdrGetModuleObject(PUNICODE_STRING ModuleName
);
118 #endif /* __INCLUDE_INTERNAL_LDR_H */