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