optimize hide curs lite. so it does not tryung update the underlying surface hold...
[reactos.git] / reactos / include / ndk / setypes.h
1 /*++ NDK Version: 0095
2
3 Copyright (c) Alex Ionescu. All rights reserved.
4
5 Header Name:
6
7 setypes.h
8
9 Abstract:
10
11 Type definitions for the security manager.
12
13 Author:
14
15 Alex Ionescu (alex.ionescu@reactos.com) 06-Oct-2004
16
17 --*/
18
19 #ifndef _SETYPES_H
20 #define _SETYPES_H
21
22 //
23 // Dependencies
24 //
25 #include <umtypes.h>
26
27 #ifdef NTOS_MODE_USER
28
29 //
30 // Privilege constants
31 //
32 #define SE_MIN_WELL_KNOWN_PRIVILEGE (2L)
33 #define SE_CREATE_TOKEN_PRIVILEGE (2L)
34 #define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE (3L)
35 #define SE_LOCK_MEMORY_PRIVILEGE (4L)
36 #define SE_INCREASE_QUOTA_PRIVILEGE (5L)
37 #define SE_UNSOLICITED_INPUT_PRIVILEGE (6L)
38 #define SE_MACHINE_ACCOUNT_PRIVILEGE (6L)
39 #define SE_TCB_PRIVILEGE (7L)
40 #define SE_SECURITY_PRIVILEGE (8L)
41 #define SE_TAKE_OWNERSHIP_PRIVILEGE (9L)
42 #define SE_LOAD_DRIVER_PRIVILEGE (10L)
43 #define SE_SYSTEM_PROFILE_PRIVILEGE (11L)
44 #define SE_SYSTEMTIME_PRIVILEGE (12L)
45 #define SE_PROF_SINGLE_PROCESS_PRIVILEGE (13L)
46 #define SE_INC_BASE_PRIORITY_PRIVILEGE (14L)
47 #define SE_CREATE_PAGEFILE_PRIVILEGE (15L)
48 #define SE_CREATE_PERMANENT_PRIVILEGE (16L)
49 #define SE_BACKUP_PRIVILEGE (17L)
50 #define SE_RESTORE_PRIVILEGE (18L)
51 #define SE_SHUTDOWN_PRIVILEGE (19L)
52 #define SE_DEBUG_PRIVILEGE (20L)
53 #define SE_AUDIT_PRIVILEGE (21L)
54 #define SE_SYSTEM_ENVIRONMENT_PRIVILEGE (22L)
55 #define SE_CHANGE_NOTIFY_PRIVILEGE (23L)
56 #define SE_REMOTE_SHUTDOWN_PRIVILEGE (24L)
57 #define SE_MAX_WELL_KNOWN_PRIVILEGE (SE_REMOTE_SHUTDOWN_PRIVILEGE)
58 #else
59
60 //
61 // Audit and Policy Structures
62 //
63 typedef struct _SEP_AUDIT_POLICY_CATEGORIES
64 {
65 UCHAR System:4;
66 UCHAR Logon:4;
67 UCHAR ObjectAccess:4;
68 UCHAR PrivilegeUse:4;
69 UCHAR DetailedTracking:4;
70 UCHAR PolicyChange:4;
71 UCHAR AccountManagement:4;
72 UCHAR DirectoryServiceAccess:4;
73 UCHAR AccountLogon:4;
74 } SEP_AUDIT_POLICY_CATEGORIES, *PSEP_AUDIT_POLICY_CATEGORIES;
75
76 typedef struct _SEP_AUDIT_POLICY_OVERLAY
77 {
78 ULONGLONG PolicyBits:36;
79 UCHAR SetBit:1;
80 } SEP_AUDIT_POLICY_OVERLAY, *PSEP_AUDIT_POLICY_OVERLAY;
81
82 typedef struct _SEP_AUDIT_POLICY
83 {
84 union
85 {
86 SEP_AUDIT_POLICY_CATEGORIES PolicyElements;
87 SEP_AUDIT_POLICY_OVERLAY PolicyOverlay;
88 ULONGLONG Overlay;
89 };
90 } SEP_AUDIT_POLICY, *PSEP_AUDIT_POLICY;
91
92 typedef struct _SE_AUDIT_PROCESS_CREATION_INFO
93 {
94 POBJECT_NAME_INFORMATION ImageFileName;
95 } SE_AUDIT_PROCESS_CREATION_INFO, *PSE_AUDIT_PROCESS_CREATION_INFO;
96
97 //
98 // Token and auxiliary data
99 //
100 typedef struct _TOKEN
101 {
102 TOKEN_SOURCE TokenSource; /* 0x00 */
103 LUID TokenId; /* 0x10 */
104 LUID AuthenticationId; /* 0x18 */
105 LUID ParentTokenId; /* 0x20 */
106 LARGE_INTEGER ExpirationTime; /* 0x28 */
107 struct _ERESOURCE *TokenLock; /* 0x30 */
108 SEP_AUDIT_POLICY AuditPolicy; /* 0x38 */
109 LUID ModifiedId; /* 0x40 */
110 ULONG SessionId; /* 0x48 */
111 ULONG UserAndGroupCount; /* 0x4C */
112 ULONG RestrictedSidCount; /* 0x50 */
113 ULONG PrivilegeCount; /* 0x54 */
114 ULONG VariableLength; /* 0x58 */
115 ULONG DynamicCharged; /* 0x5C */
116 ULONG DynamicAvailable; /* 0x60 */
117 ULONG DefaultOwnerIndex; /* 0x64 */
118 PSID_AND_ATTRIBUTES UserAndGroups; /* 0x68 */
119 PSID_AND_ATTRIBUTES RestrictedSids; /* 0x6C */
120 PSID PrimaryGroup; /* 0x70 */
121 PLUID_AND_ATTRIBUTES Privileges; /* 0x74 */
122 PULONG DynamicPart; /* 0x78 */
123 PACL DefaultDacl; /* 0x7C */
124 TOKEN_TYPE TokenType; /* 0x80 */
125 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; /* 0x84 */
126 ULONG TokenFlags; /* 0x88 */
127 BOOLEAN TokenInUse; /* 0x8C */
128 PVOID ProxyData; /* 0x90 */
129 PVOID AuditData; /* 0x94 */
130 LUID OriginatingLogonSession; /* 0x98 */
131 ULONG VariablePart; /* 0xA0 */
132 } TOKEN, *PTOKEN;
133
134 typedef struct _AUX_DATA
135 {
136 PPRIVILEGE_SET PrivilegeSet;
137 GENERIC_MAPPING GenericMapping;
138 ULONG Reserved;
139 } AUX_DATA, *PAUX_DATA;
140
141 #endif
142 #endif