xref: /reactos/modules/rostests/kmtests/ntos_se/se.h (revision 84344399)
1 /*
2  * PROJECT:         ReactOS kernel-mode tests
3  * LICENSE:         LGPLv2.1+ - See COPYING.LIB in the top level directory
4  * PURPOSE:         Kernel-Mode Test Suite Se helper declarations
5  * PROGRAMMER:      Thomas Faber <thomas.faber@reactos.org>
6  */
7 
8 #ifndef _KMTEST_SE_H_
9 #define _KMTEST_SE_H_
10 
11 NTSTATUS
12 RtlxAddAuditAccessAceEx(
13     _Inout_ PACL Acl,
14     _In_ ULONG Revision,
15     _In_ ULONG Flags,
16     _In_ ACCESS_MASK AccessMask,
17     _In_ PSID Sid,
18     _In_ BOOLEAN Success,
19     _In_ BOOLEAN Failure);
20 
21 NTSTATUS
22 RtlxAddMandatoryLabelAceEx(
23     _Inout_ PACL Acl,
24     _In_ ULONG Revision,
25     _In_ ULONG Flags,
26     _In_ ACCESS_MASK AccessMask,
27     _In_ PSID Sid);
28 
29 #define NO_SIZE ((ULONG)-1)
30 
31 #define CheckSid(Sid, SidSize, ExpectedSid) CheckSid_(Sid, SidSize, ExpectedSid, __FILE__, __LINE__)
32 #define CheckSid_(Sid, SidSize, ExpectedSid, file, line) CheckSid__(Sid, SidSize, ExpectedSid, file ":" KMT_STRINGIZE(line))
33 VOID
34 CheckSid__(
35     _In_ PSID Sid,
36     _In_ ULONG SidSize,
37     _In_ PISID ExpectedSid,
38     _In_ PCSTR FileAndLine);
39 
40 VOID
41 VCheckAcl__(
42     _In_ PACL Acl,
43     _In_ ULONG AceCount,
44     _In_ PCSTR FileAndLine,
45     _In_ va_list Arguments);
46 
47 #define CheckAcl(Acl, AceCount, ...) CheckAcl_(Acl, AceCount, __FILE__, __LINE__, ##__VA_ARGS__)
48 #define CheckAcl_(Acl, AceCount, file, line, ...) CheckAcl__(Acl, AceCount, file ":" KMT_STRINGIZE(line), ##__VA_ARGS__)
49 VOID
50 CheckAcl__(
51     _In_ PACL Acl,
52     _In_ ULONG AceCount,
53     _In_ PCSTR FileAndLine,
54     ...);
55 
56 #endif /* !defined _KMTEST_SE_H_ */
57