- Add msvc compatible version of ProveForRead(U)LargeInteger
[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 VOID
23 NTAPI
24 LdrInitModuleManagement(VOID);
25
26 NTSTATUS
27 NTAPI
28 LdrpMapImage(
29 HANDLE ProcessHandle,
30 HANDLE SectionHandle,
31 PVOID *ImageBase
32 );
33
34 NTSTATUS
35 NTAPI
36 LdrpLoadImage(
37 PUNICODE_STRING DriverName,
38 PVOID *ModuleBase,
39 PVOID *SectionPointer,
40 PVOID *EntryPoint,
41 PVOID *ExportDirectory
42 );
43
44 NTSTATUS
45 NTAPI
46 LdrpUnloadImage(PVOID ModuleBase);
47
48 NTSTATUS
49 NTAPI
50 LdrpLoadAndCallImage(PUNICODE_STRING DriverName);
51
52 NTSTATUS
53 NTAPI
54 LdrpQueryModuleInformation(
55 PVOID Buffer,
56 ULONG Size,
57 PULONG ReqSize
58 );
59
60 VOID
61 NTAPI
62 LdrInit1(VOID);
63
64 VOID
65 NTAPI
66 LdrInitDebug(
67 PLOADER_MODULE Module,
68 PWCH Name
69 );
70
71 PVOID
72 NTAPI
73 LdrSafePEProcessModule(
74 PVOID ModuleLoadBase,
75 PVOID DriverBase,
76 PVOID ImportModuleBase,
77 PULONG DriverSize
78 );
79
80 NTSTATUS
81 NTAPI
82 LdrLoadModule(
83 PUNICODE_STRING Filename,
84 PLDR_DATA_TABLE_ENTRY *ModuleObject
85 );
86
87 NTSTATUS
88 NTAPI
89 LdrUnloadModule(PLDR_DATA_TABLE_ENTRY ModuleObject);
90
91 PLDR_DATA_TABLE_ENTRY
92 NTAPI
93 LdrGetModuleObject(PUNICODE_STRING ModuleName);
94
95 #endif /* __INCLUDE_INTERNAL_LDR_H */