Merge 25584, 25588.
[reactos.git] / reactos / ntoskrnl / include / internal / ldr.h
1 #ifndef __INCLUDE_INTERNAL_LDR_H
2 #define __INCLUDE_INTERNAL_LDR_H
3
4 #define KERNEL_MODULE_NAME L"ntoskrnl.exe"
5 #define HAL_MODULE_NAME L"hal.dll"
6 #define DRIVER_ROOT_NAME L"\\Driver\\"
7 #define FILESYSTEM_ROOT_NAME L"\\FileSystem\\"
8
9 extern ULONG_PTR LdrHalBase;
10
11 NTSTATUS
12 NTAPI
13 LdrLoadInitialProcess(
14 PHANDLE ProcessHandle,
15 PHANDLE ThreadHandle
16 );
17
18 VOID
19 NTAPI
20 LdrLoadAutoConfigDrivers(VOID);
21
22 NTSTATUS
23 NTAPI
24 LdrpMapImage(
25 HANDLE ProcessHandle,
26 HANDLE SectionHandle,
27 PVOID *ImageBase
28 );
29
30 NTSTATUS
31 NTAPI
32 LdrpLoadImage(
33 PUNICODE_STRING DriverName,
34 PVOID *ModuleBase,
35 PVOID *SectionPointer,
36 PVOID *EntryPoint,
37 PVOID *ExportDirectory
38 );
39
40 NTSTATUS
41 NTAPI
42 LdrpUnloadImage(PVOID ModuleBase);
43
44 NTSTATUS
45 NTAPI
46 LdrpLoadAndCallImage(PUNICODE_STRING DriverName);
47
48 NTSTATUS
49 NTAPI
50 LdrpQueryModuleInformation(
51 PVOID Buffer,
52 ULONG Size,
53 PULONG ReqSize
54 );
55
56 VOID
57 NTAPI
58 LdrInit1(VOID);
59
60 VOID
61 NTAPI
62 LdrInitDebug(
63 PLOADER_MODULE Module,
64 PWCH Name
65 );
66
67 NTSTATUS
68 NTAPI
69 LdrLoadModule(
70 PUNICODE_STRING Filename,
71 PLDR_DATA_TABLE_ENTRY *ModuleObject
72 );
73
74 NTSTATUS
75 NTAPI
76 LdrUnloadModule(PLDR_DATA_TABLE_ENTRY ModuleObject);
77
78 PLDR_DATA_TABLE_ENTRY
79 NTAPI
80 LdrGetModuleObject(PUNICODE_STRING ModuleName);
81
82 #endif /* __INCLUDE_INTERNAL_LDR_H */