-/*
- * PROJECT: ReactOS Native Headers
- * FILE: include/ndk/ldrtypes.h
- * PURPOSE: Definitions for Loader Types not defined in DDK/IFS
- * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
- * UPDATE HISTORY:
- * Created 06/10/04
- */
+/*++ NDK Version: 0095
+
+Copyright (c) Alex Ionescu. All rights reserved.
+
+Header Name:
+
+ ldrtypes.h
+
+Abstract:
+
+ Type definitions for the Loader.
+
+Author:
+
+ Alex Ionescu (alex.ionescu@reactos.com) 06-Oct-2004
+
+--*/
+
#ifndef _LDRTYPES_H
#define _LDRTYPES_H
-/* DEPENDENCIES **************************************************************/
-
-/* EXPORTED DATA *************************************************************/
-
-/* CONSTANTS *****************************************************************/
-#define RESOURCE_TYPE_LEVEL 0
-#define RESOURCE_NAME_LEVEL 1
-#define RESOURCE_LANGUAGE_LEVEL 2
-#define RESOURCE_DATA_LEVEL 3
-
-/* LDR_DATA_TABLE_ENTRY Flags */
-#define LDRP_STATIC_LINK 0x00000002
-#define LDRP_IMAGE_DLL 0x00000004
-#define LDRP_LOAD_IN_PROGRESS 0x00001000
-#define LDRP_UNLOAD_IN_PROGRESS 0x00002000
-#define LDRP_ENTRY_PROCESSED 0x00004000
-#define LDRP_ENTRY_INSERTED 0x00008000
-#define LDRP_CURRENT_LOAD 0x00010000
-#define LDRP_FAILED_BUILTIN_LOAD 0x00020000
-#define LDRP_DONT_CALL_FOR_THREADS 0x00040000
-#define LDRP_PROCESS_ATTACH_CALLED 0x00080000
-#define LDRP_DEBUG_SYMBOLS_LOADED 0x00100000
-#define LDRP_IMAGE_NOT_AT_BASE 0x00200000
-#define LDRP_COR_IMAGE 0x00400000
-#define LDR_COR_OWNS_UNMAP 0x00800000
-#define LDRP_REDIRECTED 0x10000000
-
-/* ENUMERATIONS **************************************************************/
-
-/* TYPES *********************************************************************/
+//
+// Dependencies
+//
+
+//
+// Resource Type Levels
+//
+#define RESOURCE_TYPE_LEVEL 0
+#define RESOURCE_NAME_LEVEL 1
+#define RESOURCE_LANGUAGE_LEVEL 2
+#define RESOURCE_DATA_LEVEL 3
+
+//
+// Loader Data Table Entry Flags
+//
+#define LDRP_STATIC_LINK 0x00000002
+#define LDRP_IMAGE_DLL 0x00000004
+#define LDRP_LOAD_IN_PROGRESS 0x00001000
+#define LDRP_UNLOAD_IN_PROGRESS 0x00002000
+#define LDRP_ENTRY_PROCESSED 0x00004000
+#define LDRP_ENTRY_INSERTED 0x00008000
+#define LDRP_CURRENT_LOAD 0x00010000
+#define LDRP_FAILED_BUILTIN_LOAD 0x00020000
+#define LDRP_DONT_CALL_FOR_THREADS 0x00040000
+#define LDRP_PROCESS_ATTACH_CALLED 0x00080000
+#define LDRP_DEBUG_SYMBOLS_LOADED 0x00100000
+#define LDRP_IMAGE_NOT_AT_BASE 0x00200000
+#define LDRP_COR_IMAGE 0x00400000
+#define LDR_COR_OWNS_UNMAP 0x00800000
+#define LDRP_REDIRECTED 0x10000000
+
+//
+// Loader Data stored in the PEB
+//
typedef struct _PEB_LDR_DATA
{
- ULONG Length;
- BOOLEAN Initialized;
- PVOID SsHandle;
- LIST_ENTRY InLoadOrderModuleList;
- LIST_ENTRY InMemoryOrderModuleList;
- LIST_ENTRY InInitializationOrderModuleList;
- PVOID EntryInProgress;
+ ULONG Length;
+ BOOLEAN Initialized;
+ PVOID SsHandle;
+ LIST_ENTRY InLoadOrderModuleList;
+ LIST_ENTRY InMemoryOrderModuleList;
+ LIST_ENTRY InInitializationOrderModuleList;
+ PVOID EntryInProgress;
} PEB_LDR_DATA, *PPEB_LDR_DATA;
+//
+// Loader Data Table Entry
+//
typedef struct _LDR_DATA_TABLE_ENTRY
{
LIST_ENTRY InLoadOrderModuleList;
PVOID PatchInformation;
} LDR_DATA_TABLE_ENTRY, *PLDR_DATA_TABLE_ENTRY;
+//
+// Loader Resource Information
+//
typedef struct _LDR_RESOURCE_INFO
{
ULONG Type;