1. added irql checks to various rtl and security functions
[reactos.git] / reactos / ntoskrnl / se / access.c
1 /* $Id$
2 *
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * FILE: ntoskrnl/se/access.c
6 * PURPOSE: Access rights handling functions
7 *
8 * PROGRAMMERS: Eric Kohl <eric.kohl@t-online.de>
9 */
10
11 /* INCLUDES *****************************************************************/
12
13 #include <ntoskrnl.h>
14 #define NDEBUG
15 #include <internal/debug.h>
16
17 /* FUNCTIONS ***************************************************************/
18
19 /*
20 * @implemented
21 */
22 BOOLEAN
23 STDCALL
24 RtlAreAllAccessesGranted (
25 ACCESS_MASK GrantedAccess,
26 ACCESS_MASK DesiredAccess
27 )
28 {
29 PAGED_CODE_RTL();
30
31 return ((GrantedAccess & DesiredAccess) == DesiredAccess);
32 }
33
34
35 /*
36 * @implemented
37 */
38 BOOLEAN
39 STDCALL
40 RtlAreAnyAccessesGranted (
41 ACCESS_MASK GrantedAccess,
42 ACCESS_MASK DesiredAccess
43 )
44 {
45 PAGED_CODE_RTL();
46
47 return ((GrantedAccess & DesiredAccess) != 0);
48 }
49
50
51 /*
52 * @implemented
53 */
54 VOID
55 STDCALL
56 RtlMapGenericMask (
57 PACCESS_MASK AccessMask,
58 PGENERIC_MAPPING GenericMapping
59 )
60 {
61 PAGED_CODE_RTL();
62
63 if (*AccessMask & GENERIC_READ)
64 *AccessMask |= GenericMapping->GenericRead;
65
66 if (*AccessMask & GENERIC_WRITE)
67 *AccessMask |= GenericMapping->GenericWrite;
68
69 if (*AccessMask & GENERIC_EXECUTE)
70 *AccessMask |= GenericMapping->GenericExecute;
71
72 if (*AccessMask & GENERIC_ALL)
73 *AccessMask |= GenericMapping->GenericAll;
74
75 *AccessMask &= 0x0FFFFFFF;
76 }
77
78 /*
79 * @unimplemented
80 */
81 NTSTATUS
82 STDCALL
83 SeCreateAccessState(
84 PACCESS_STATE AccessState,
85 PVOID AuxData,
86 ACCESS_MASK Access,
87 PGENERIC_MAPPING GenericMapping
88 )
89 {
90 UNIMPLEMENTED;
91 return STATUS_NOT_IMPLEMENTED;
92 }
93
94 /*
95 * @unimplemented
96 */
97 VOID
98 STDCALL
99 SeDeleteAccessState(
100 IN PACCESS_STATE AccessState
101 )
102 {
103 UNIMPLEMENTED;
104 }
105
106 /*
107 * @unimplemented
108 */
109 VOID
110 STDCALL
111 SeSetAccessStateGenericMapping(
112 PACCESS_STATE AccessState,
113 PGENERIC_MAPPING GenericMapping
114 )
115 {
116 UNIMPLEMENTED;
117 }
118
119 /* EOF */