[NDK]
[reactos.git] / reactos / include / ndk / amd64 / ketypes.h
index b75c9bf..8e4d421 100644 (file)
@@ -58,12 +58,15 @@ Author:
 //
 #define RPL_MASK                0x0003
 #define MODE_MASK               0x0001
-#define KGDT_64_R0_CODE         0x0010
-#define KGDT_64_R0_SS           0x0018
-#define KGDT_64_DATA            0x0028 // 2b
-#define KGDT_64_R3_CODE         0x0030 // 33
-#define KGDT_TSS                0x0040
-#define KGDT_32_R3_TEB          0x0050 // 53
+#define KGDT64_NULL             0x0000
+#define KGDT64_R0_CODE          0x0010
+#define KGDT64_R0_DATA          0x0018
+#define KGDT64_R3_CMCODE        0x0020
+#define KGDT64_R3_DATA          0x0028
+#define KGDT64_R3_CODE          0x0030
+#define KGDT64_SYS_TSS          0x0040
+#define KGDT64_R3_CMTEB         0x0050
+
 
 //
 // CR4
@@ -115,7 +118,7 @@ Author:
 //
 // HAL Variables
 //
-#define INITIAL_STALL_COUNT     0x64
+#define INITIAL_STALL_COUNT     100
 
 //
 // IOPM Definitions
@@ -230,13 +233,27 @@ typedef struct _KTRAP_FRAME
     LONG CodePatchCycle;
 } KTRAP_FRAME, *PKTRAP_FRAME;
 
+//
+// Defines the Callback Stack Layout for User Mode Callbacks
+//
+typedef struct _KCALLOUT_FRAME
+{
+    ULONG64 InitialStack;
+    ULONG64 TrapFrame;
+    ULONG64 CallbackStack;
+    ULONG64 Rdi;
+    ULONG64 Rsi;
+    ULONG64 Rbx;
+    ULONG64 Rbp;
+    ULONG64 ReturnAddress;
+    ULONG64 Result;
+    ULONG64 ResultLength;
+} KCALLOUT_FRAME, *PKCALLOUT_FRAME;
+
 //
 // Dummy LDT_ENTRY
 //
-#ifndef _LDT_ENTRY_DEFINED
-#define _LDT_ENTRY_DEFINED
 typedef ULONG LDT_ENTRY;
-#endif
 
 //
 // GDT Entry Definition