Raw IP and ICMP fixes
[reactos.git] / reactos / ntoskrnl / include / internal / ldr.h
1 /*
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
6 */
7
8 #ifndef __INCLUDE_INTERNAL_LDR_H
9 #define __INCLUDE_INTERNAL_LDR_H
10
11 #include <pe.h>
12 #include <internal/io.h>
13 #include <ntdll/ldr.h>
14
15 NTSTATUS
16 LdrLoadDriver (
17 PUNICODE_STRING Filename,
18 PDEVICE_NODE DeviceNode,
19 BOOLEAN BootDriversOnly
20 );
21 NTSTATUS
22 LdrLoadInitialProcess (
23 VOID
24 );
25 VOID
26 LdrLoadAutoConfigDrivers (
27 VOID
28 );
29 VOID
30 LdrInitModuleManagement (
31 VOID
32 );
33 NTSTATUS
34 LdrProcessDriver (
35 IN PVOID ModuleLoadBase,
36 IN PCHAR FileName,
37 IN ULONG ModuleLength
38 );
39 NTSTATUS
40 LdrpMapSystemDll (
41 HANDLE ProcessHandle,
42 PVOID * LdrStartupAddress
43 );
44 PVOID
45 LdrpGetSystemDllEntryPoint (VOID);
46 PVOID
47 LdrpGetSystemDllApcDispatcher(VOID);
48 PVOID
49 LdrpGetSystemDllExceptionDispatcher(VOID);
50 NTSTATUS
51 LdrpMapImage (
52 HANDLE ProcessHandle,
53 HANDLE SectionHandle,
54 PVOID * ImageBase
55 );
56
57
58 NTSTATUS STDCALL
59 LdrGetProcedureAddress (IN PVOID BaseAddress,
60 IN PANSI_STRING Name,
61 IN ULONG Ordinal,
62 OUT PVOID *ProcedureAddress);
63
64 NTSTATUS LdrLoadGdiDriver (PUNICODE_STRING DriverName,
65 PVOID *ImageAddress,
66 PVOID *SectionPointer,
67 PVOID *EntryPoint,
68 PVOID *ExportSectionPointer);
69
70 NTSTATUS
71 LdrpQueryModuleInformation(PVOID Buffer,
72 ULONG Size,
73 PULONG ReqSize);
74
75 PVOID STDCALL
76 RtlImageDirectoryEntryToData (
77 IN PVOID BaseAddress,
78 IN BOOLEAN ImageLoaded,
79 IN ULONG Directory,
80 OUT PULONG Size);
81 VOID
82 LdrInit1(VOID);
83 VOID
84 LdrInitDebug(PLOADER_MODULE Module, PWCH Name);
85 VOID LdrLoadUserModuleSymbols(PLDR_MODULE ModuleObject);
86
87 #endif /* __INCLUDE_INTERNAL_LDR_H */