Merge amd64 NDK from amd64 branch:
[reactos.git] / reactos / include / ndk / pstypes.h
index ad7e9dd..a2006a2 100644 (file)
@@ -171,6 +171,25 @@ Author:
                                                  SYNCHRONIZE | \
                                                  31)
 
+//
+// Job Limit Flags
+//
+#define JOB_OBJECT_LIMIT_WORKINGSET             0x1
+#define JOB_OBJECT_LIMIT_PROCESS_TIME           0x2
+#define JOB_OBJECT_LIMIT_JOB_TIME               0x4
+#define JOB_OBJECT_LIMIT_ACTIVE_PROCESS         0x8
+#define JOB_OBJECT_LIMIT_AFFINITY               0x10
+#define JOB_OBJECT_LIMIT_PRIORITY_CLASS         0x20
+#define JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME      0x40
+#define JOB_OBJECT_LIMIT_SCHEDULING_CLASS       0x80
+#define JOB_OBJECT_LIMIT_PROCESS_MEMORY         0x100
+#define JOB_OBJECT_LIMIT_JOB_MEMORY             0x200
+#define JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION 0x400
+#define JOB_OBJECT_LIMIT_BREAKAWAY_OK           0x800
+#define JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK    0x1000
+#define JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE      0x2000
+
+
 //
 // Cross Thread Flags
 //
@@ -729,7 +748,7 @@ typedef struct _TEB
 {
     NT_TIB Tib;
     PVOID EnvironmentPointer;
-    CLIENT_ID Cid;
+    CLIENT_ID ClientId;
     PVOID ActiveRpcHandle;
     PVOID ThreadLocalStoragePointer;
     struct _PEB *ProcessEnvironmentBlock;
@@ -1017,7 +1036,6 @@ typedef struct _PSP_RATE_APC
 typedef struct _ETHREAD
 {
     KTHREAD Tcb;
-    PVOID Padding;
     LARGE_INTEGER CreateTime;
     union
     {
@@ -1059,7 +1077,7 @@ typedef struct _ETHREAD
 #endif
     PPS_IMPERSONATION_INFORMATION ImpersonationInfo;
     LIST_ENTRY IrpList;
-    ULONG TopLevelIrp;
+    ULONG_PTR TopLevelIrp;
     PDEVICE_OBJECT DeviceToVerify;
 #if (NTDDI_VERSION >= NTDDI_LONGHORN)
     PPSP_RATE_APC RateControlApc;
@@ -1169,7 +1187,7 @@ typedef struct _ETHREAD
     KSEMAPHORE AlpcWaitSemaphore;
     ULONG CacheManagerCount;
 #endif
-} ETHREAD, *PETHREAD;
+} ETHREAD;
 
 //
 // Executive Process (EPROCESS)
@@ -1361,7 +1379,7 @@ typedef struct _EPROCESS
     UCHAR PriorityClass;
     MM_AVL_TABLE VadRoot;
     ULONG Cookie;
-} EPROCESS, *PEPROCESS;
+} EPROCESS;
 
 //
 // Job Token Filter Data
@@ -1426,9 +1444,9 @@ typedef struct _EJOB
     ULONG PeakProcessMemoryUsed;
     ULONG PeakJobMemoryUsed;
     ULONG CurrentJobMemoryUsed;
-#if (NTDDI_VERSION == NTDDI_WINXP)
+#if (NTDDI_VERSION >= NTDDI_WINXP) && (NTDDI_VERSION < NTDDI_WS03)
     FAST_MUTEX MemoryLimitsLock;
-#elif (NTDDI_VERSION == NTDDI_WS03)
+#elif (NTDDI_VERSION >= NTDDI_WS03) && (NTDDI_VERSION < NTDDI_LONGHORN)
     KGUARDED_MUTEX MemoryLimitsLock;
 #elif (NTDDI_VERSION >= NTDDI_LONGHORN)
     EX_PUSH_LOCK MemoryLimitsLock;