2 * PROJECT: ReactOS Native Headers
3 * FILE: include/ndk/ldrtypes.h
4 * PURPOSE: Definitions for Loader Types not defined in DDK/IFS
5 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
12 /* DEPENDENCIES **************************************************************/
14 /* EXPORTED DATA *************************************************************/
16 /* CONSTANTS *****************************************************************/
17 #define RESOURCE_TYPE_LEVEL 0
18 #define RESOURCE_NAME_LEVEL 1
19 #define RESOURCE_LANGUAGE_LEVEL 2
20 #define RESOURCE_DATA_LEVEL 3
22 /* LDR_DATA_TABLE_ENTRY Flags */
23 #define LDRP_STATIC_LINK 0x00000002
24 #define LDRP_IMAGE_DLL 0x00000004
25 #define LDRP_LOAD_IN_PROGRESS 0x00001000
26 #define LDRP_UNLOAD_IN_PROGRESS 0x00002000
27 #define LDRP_ENTRY_PROCESSED 0x00004000
28 #define LDRP_ENTRY_INSERTED 0x00008000
29 #define LDRP_CURRENT_LOAD 0x00010000
30 #define LDRP_FAILED_BUILTIN_LOAD 0x00020000
31 #define LDRP_DONT_CALL_FOR_THREADS 0x00040000
32 #define LDRP_PROCESS_ATTACH_CALLED 0x00080000
33 #define LDRP_DEBUG_SYMBOLS_LOADED 0x00100000
34 #define LDRP_IMAGE_NOT_AT_BASE 0x00200000
35 #define LDRP_COR_IMAGE 0x00400000
36 #define LDR_COR_OWNS_UNMAP 0x00800000
37 #define LDRP_REDIRECTED 0x10000000
39 /* ENUMERATIONS **************************************************************/
41 /* TYPES *********************************************************************/
42 typedef struct _PEB_LDR_DATA
47 LIST_ENTRY InLoadOrderModuleList
;
48 LIST_ENTRY InMemoryOrderModuleList
;
49 LIST_ENTRY InInitializationOrderModuleList
;
50 PVOID EntryInProgress
;
51 } PEB_LDR_DATA
, *PPEB_LDR_DATA
;
53 typedef struct _LDR_DATA_TABLE_ENTRY
55 LIST_ENTRY InLoadOrderModuleList
;
56 LIST_ENTRY InMemoryOrderModuleList
;
57 LIST_ENTRY InInitializationOrderModuleList
;
61 UNICODE_STRING FullDllName
;
62 UNICODE_STRING BaseDllName
;
77 PVOID EntryPointActivationContext
;
78 PVOID PatchInformation
;
79 #if defined(DBG) || defined(KDBG)
80 /* FIXME: THIS _REALLY_ NEEDS TO GO SOMEWHERE ELSE */
83 } LDR_DATA_TABLE_ENTRY
, *PLDR_DATA_TABLE_ENTRY
;
85 typedef struct _LDR_RESOURCE_INFO
90 } LDR_RESOURCE_INFO
, *PLDR_RESOURCE_INFO
;