[XDK]
[reactos.git] / include / xdk / sefuncs.h
1 /******************************************************************************
2 * Security Manager Functions *
3 ******************************************************************************/
4
5 #if (NTDDI_VERSION >= NTDDI_WIN2K)
6 $if (_NTDDK_)
7 NTKERNELAPI
8 BOOLEAN
9 NTAPI
10 SeSinglePrivilegeCheck(
11 IN LUID PrivilegeValue,
12 IN KPROCESSOR_MODE PreviousMode);
13 $endif
14
15 $if (_WDMDDK_)
16 NTKERNELAPI
17 BOOLEAN
18 NTAPI
19 SeAccessCheck(
20 IN PSECURITY_DESCRIPTOR SecurityDescriptor,
21 IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
22 IN BOOLEAN SubjectContextLocked,
23 IN ACCESS_MASK DesiredAccess,
24 IN ACCESS_MASK PreviouslyGrantedAccess,
25 OUT PPRIVILEGE_SET *Privileges OPTIONAL,
26 IN PGENERIC_MAPPING GenericMapping,
27 IN KPROCESSOR_MODE AccessMode,
28 OUT PACCESS_MASK GrantedAccess,
29 OUT PNTSTATUS AccessStatus);
30
31 NTKERNELAPI
32 NTSTATUS
33 NTAPI
34 SeAssignSecurity(
35 IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
36 IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL,
37 OUT PSECURITY_DESCRIPTOR *NewDescriptor,
38 IN BOOLEAN IsDirectoryObject,
39 IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
40 IN PGENERIC_MAPPING GenericMapping,
41 IN POOL_TYPE PoolType);
42
43 NTKERNELAPI
44 NTSTATUS
45 NTAPI
46 SeAssignSecurityEx(
47 IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
48 IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL,
49 OUT PSECURITY_DESCRIPTOR *NewDescriptor,
50 IN GUID *ObjectType OPTIONAL,
51 IN BOOLEAN IsDirectoryObject,
52 IN ULONG AutoInheritFlags,
53 IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
54 IN PGENERIC_MAPPING GenericMapping,
55 IN POOL_TYPE PoolType);
56
57 NTKERNELAPI
58 NTSTATUS
59 NTAPI
60 SeDeassignSecurity(
61 IN OUT PSECURITY_DESCRIPTOR *SecurityDescriptor);
62
63 NTKERNELAPI
64 BOOLEAN
65 NTAPI
66 SeValidSecurityDescriptor(
67 IN ULONG Length,
68 IN PSECURITY_DESCRIPTOR SecurityDescriptor);
69
70 NTKERNELAPI
71 ULONG
72 NTAPI
73 SeObjectCreateSaclAccessBits(
74 IN PSECURITY_DESCRIPTOR SecurityDescriptor);
75
76 NTKERNELAPI
77 VOID
78 NTAPI
79 SeReleaseSubjectContext(
80 IN OUT PSECURITY_SUBJECT_CONTEXT SubjectContext);
81
82 NTKERNELAPI
83 VOID
84 NTAPI
85 SeUnlockSubjectContext(
86 IN PSECURITY_SUBJECT_CONTEXT SubjectContext);
87
88 NTKERNELAPI
89 VOID
90 NTAPI
91 SeCaptureSubjectContext(
92 OUT PSECURITY_SUBJECT_CONTEXT SubjectContext);
93
94 NTKERNELAPI
95 VOID
96 NTAPI
97 SeLockSubjectContext(
98 IN PSECURITY_SUBJECT_CONTEXT SubjectContext);
99 $endif
100
101 #endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
102
103 $if (_WDMDDK_)
104 #if (NTDDI_VERSION >= NTDDI_WS03SP1)
105
106 NTSTATUS
107 NTAPI
108 SeSetAuditParameter(
109 IN OUT PSE_ADT_PARAMETER_ARRAY AuditParameters,
110 IN SE_ADT_PARAMETER_TYPE Type,
111 IN ULONG Index,
112 IN PVOID Data);
113
114 NTSTATUS
115 NTAPI
116 SeReportSecurityEvent(
117 IN ULONG Flags,
118 IN PUNICODE_STRING SourceName,
119 IN PSID UserSid OPTIONAL,
120 IN PSE_ADT_PARAMETER_ARRAY AuditParameters);
121
122 #endif /* (NTDDI_VERSION >= NTDDI_WS03SP1) */
123
124 #if (NTDDI_VERSION >= NTDDI_VISTA)
125
126 NTKERNELAPI
127 ULONG
128 NTAPI
129 SeComputeAutoInheritByObjectType(
130 IN PVOID ObjectType,
131 IN PSECURITY_DESCRIPTOR SecurityDescriptor OPTIONAL,
132 IN PSECURITY_DESCRIPTOR ParentSecurityDescriptor OPTIONAL);
133
134 #ifdef SE_NTFS_WORLD_CACHE
135 VOID
136 NTAPI
137 SeGetWorldRights(
138 IN PSECURITY_DESCRIPTOR SecurityDescriptor,
139 IN PGENERIC_MAPPING GenericMapping,
140 OUT PACCESS_MASK GrantedAccess);
141 #endif /* SE_NTFS_WORLD_CACHE */
142
143 #endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
144 $endif