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