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 /* FIXME: USE CORRRECT LDR_ FLAGS */
23 #define IMAGE_DLL 0x00000004
24 #define LOAD_IN_PROGRESS 0x00001000
25 #define UNLOAD_IN_PROGRESS 0x00002000
26 #define ENTRY_PROCESSED 0x00004000
27 #define DONT_CALL_FOR_THREAD 0x00040000
28 #define PROCESS_ATTACH_CALLED 0x00080000
29 #define IMAGE_NOT_AT_BASE 0x00200000
31 /* ENUMERATIONS **************************************************************/
33 /* TYPES *********************************************************************/
34 /* FIXME: Update with _LDR_DATA_TABLE_ENTRY and LDR_ flags */
35 typedef struct _PEB_LDR_DATA
40 LIST_ENTRY InLoadOrderModuleList
;
41 LIST_ENTRY InMemoryOrderModuleList
;
42 LIST_ENTRY InInitializationOrderModuleList
;
43 PVOID EntryInProgress
;
44 } PEB_LDR_DATA
, *PPEB_LDR_DATA
;
46 typedef struct _LDR_DATA_TABLE_ENTRY
48 LIST_ENTRY InLoadOrderModuleList
;
49 LIST_ENTRY InMemoryOrderModuleList
;
50 LIST_ENTRY InInitializationOrderModuleList
;
54 UNICODE_STRING FullDllName
;
55 UNICODE_STRING BaseDllName
;
57 USHORT LoadCount
; /* FIXME: HACK!!! FIX ASAP */
58 USHORT TlsIndex
; /* FIXME: HACK!!! FIX ASAP */
64 PVOID EntryPointActivationContext
;
65 PVOID PatchInformation
;
66 #if defined(DBG) || defined(KDBG)
67 /* FIXME: THIS _REALLY_ NEEDS TO GO SOMEWHERE ELSE */
70 } LDR_DATA_TABLE_ENTRY
, *PLDR_DATA_TABLE_ENTRY
;
72 typedef struct _LDR_RESOURCE_INFO
77 } LDR_RESOURCE_INFO
, *PLDR_RESOURCE_INFO
;