- Define DECLSPEC_ADDRSAFE and FORCEINLINE for gcc in winnt.h
[reactos.git] / reactos / include / ndk / ldrtypes.h
index 5f74d5d..664482a 100644 (file)
@@ -1,55 +1,72 @@
-/*
- * 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;
@@ -78,6 +95,9 @@ typedef struct _LDR_DATA_TABLE_ENTRY
     PVOID PatchInformation;
 } LDR_DATA_TABLE_ENTRY, *PLDR_DATA_TABLE_ENTRY;
 
+//
+// Loader Resource Information
+//
 typedef struct _LDR_RESOURCE_INFO
 {
     ULONG Type;