e2169219930e711e8659e0cce05832dbc8d745c4
[reactos.git] / include / ntos / ps.h
1 /*
2  * COPYRIGHT:    See COPYING in the top level directory
3  * PROJECT:      ReactOS kernel
4  * FILE:         include/ntos/ps.h
5  * PURPOSE:      Process/thread declarations used by all the parts of the 
6  *               system
7  * PROGRAMMER:   David Welch <welch@cwcom.net>
8  * UPDATE HISTORY: 
9  *               27/06/00: Created
10  */
11
12
13 #ifndef __INCLUDE_PS_H
14 #define __INCLUDE_PS_H
15
16 #define THREAD_READ                     (0x020048L)
17 #define THREAD_WRITE                    (0x020037L)
18 #define THREAD_EXECUTE                  (0x120000L)
19
20 #define PROCESS_READ                    (0x020410L)
21 #define PROCESS_WRITE                   (0x020bebL)
22 #define PROCESS_EXECUTE                 (0x120000L)
23
24 /* Thread priorities */
25 #define THREAD_PRIORITY_BELOW_NORMAL    (-1)
26 #define THREAD_PRIORITY_IDLE    (-15)
27 #define THREAD_PRIORITY_LOWEST  (-2)
28
29 #ifndef __USE_W32API
30
31 /* Thread access rights */
32 #define THREAD_TERMINATE                (0x0001L)
33 #define THREAD_SUSPEND_RESUME           (0x0002L)
34 #define THREAD_GET_CONTEXT              (0x0008L)
35 #define THREAD_SET_CONTEXT              (0x0010L)
36 #define THREAD_SET_INFORMATION          (0x0020L)
37 #define THREAD_QUERY_INFORMATION        (0x0040L)
38 #define THREAD_SET_THREAD_TOKEN         (0x0080L)
39 #define THREAD_IMPERSONATE              (0x0100L)
40 #define THREAD_DIRECT_IMPERSONATION     (0x0200L)
41
42 #define THREAD_ALL_ACCESS               (0x1f03ffL)
43
44 /* Process access rights */
45 #define PROCESS_TERMINATE               (0x0001L)
46 #define PROCESS_CREATE_THREAD           (0x0002L)
47 #define PROCESS_SET_SESSIONID           (0x0004L)
48 #define PROCESS_VM_OPERATION            (0x0008L)
49 #define PROCESS_VM_READ                 (0x0010L)
50 #define PROCESS_VM_WRITE                (0x0020L)
51 #define PROCESS_DUP_HANDLE              (0x0040L)
52 #define PROCESS_CREATE_PROCESS          (0x0080L)
53 #define PROCESS_SET_QUOTA               (0x0100L)
54 #define PROCESS_SET_INFORMATION         (0x0200L)
55 #define PROCESS_QUERY_INFORMATION       (0x0400L)
56
57 #define PROCESS_ALL_ACCESS              (0x1f0fffL)
58
59 /* Thread priorities */
60 #define THREAD_PRIORITY_ABOVE_NORMAL    (1)
61 #define THREAD_PRIORITY_HIGHEST (2)
62 #define THREAD_PRIORITY_NORMAL  (0)
63 #define THREAD_PRIORITY_TIME_CRITICAL   (15)
64 #define THREAD_PRIORITY_ERROR_RETURN    (2147483647)
65
66 /* CreateProcess */
67 #define CREATE_DEFAULT_ERROR_MODE       (67108864)
68 #define CREATE_NEW_CONSOLE      (16)
69 #define CREATE_NEW_PROCESS_GROUP        (512)
70 #define CREATE_SEPARATE_WOW_VDM (2048)
71 #define CREATE_SUSPENDED        (4)
72 #define CREATE_UNICODE_ENVIRONMENT      (1024)
73 #define DEBUG_PROCESS   (1)
74 #define DEBUG_ONLY_THIS_PROCESS (2)
75 #define DETACHED_PROCESS        (8)
76 #define HIGH_PRIORITY_CLASS     (128)
77 #define IDLE_PRIORITY_CLASS     (64)
78 #define NORMAL_PRIORITY_CLASS   (32)
79 #define REALTIME_PRIORITY_CLASS (256)
80
81 /* ResumeThread / SuspendThread */
82 #define MAXIMUM_SUSPEND_COUNT   (0x7f)
83
84 #endif /* !__USE_W32API */
85
86 #endif /* __INCLUDE_PS_H */