218397d72cfe8d236b05d1d223bdf086a6ae18ec
[reactos.git] / include / xdk / pstypes.h
1 /******************************************************************************
2 * Process Manager Types *
3 ******************************************************************************/
4
5 #define QUOTA_LIMITS_HARDWS_MIN_ENABLE 0x00000001
6 #define QUOTA_LIMITS_HARDWS_MIN_DISABLE 0x00000002
7 #define QUOTA_LIMITS_HARDWS_MAX_ENABLE 0x00000004
8 #define QUOTA_LIMITS_HARDWS_MAX_DISABLE 0x00000008
9 #define QUOTA_LIMITS_USE_DEFAULT_LIMITS 0x00000010
10
11 /* Process Qoutas */
12 typedef struct _QUOTA_LIMITS {
13 SIZE_T PagedPoolLimit;
14 SIZE_T NonPagedPoolLimit;
15 SIZE_T MinimumWorkingSetSize;
16 SIZE_T MaximumWorkingSetSize;
17 SIZE_T PagefileLimit;
18 LARGE_INTEGER TimeLimit;
19 } QUOTA_LIMITS, *PQUOTA_LIMITS;
20
21 /* Thread Access Rights */
22 #define THREAD_TERMINATE 0x0001
23 #define THREAD_SUSPEND_RESUME 0x0002
24 #define THREAD_ALERT 0x0004
25 #define THREAD_GET_CONTEXT 0x0008
26 #define THREAD_SET_CONTEXT 0x0010
27 #define THREAD_SET_INFORMATION 0x0020
28 #define THREAD_SET_LIMITED_INFORMATION 0x0400
29 #define THREAD_QUERY_LIMITED_INFORMATION 0x0800
30
31 #define PROCESS_DUP_HANDLE (0x0040)
32
33 #if (NTDDI_VERSION >= NTDDI_VISTA)
34 #define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF)
35 #else
36 #define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF)
37 #endif
38
39 #if (NTDDI_VERSION >= NTDDI_VISTA)
40 #define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF)
41 #else
42 #define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF)
43 #endif
44
45 #define ES_SYSTEM_REQUIRED 0x00000001
46 #define ES_DISPLAY_REQUIRED 0x00000002
47 #define ES_USER_PRESENT 0x00000004
48 #define ES_CONTINUOUS 0x80000000
49
50 #define LOW_PRIORITY 0
51 #define LOW_REALTIME_PRIORITY 16
52 #define HIGH_PRIORITY 31
53 #define MAXIMUM_PRIORITY 32
54