update for HEAD-2003091401
[reactos.git] / ntoskrnl / se / access.c
1 /* $Id$
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 <ddk/ntddk.h>
15
16
17 /* FUNCTIONS ***************************************************************/
18
19 BOOLEAN
20 STDCALL
21 RtlAreAllAccessesGranted (
22         ACCESS_MASK     GrantedAccess,
23         ACCESS_MASK     DesiredAccess
24         )
25 {
26         return ((GrantedAccess & DesiredAccess) == DesiredAccess);
27 }
28
29
30 /*
31  * @implemented
32  */
33 BOOLEAN
34 STDCALL
35 RtlAreAnyAccessesGranted (
36         ACCESS_MASK     GrantedAccess,
37         ACCESS_MASK     DesiredAccess
38         )
39 {
40         return ((GrantedAccess & DesiredAccess) != 0);
41 }
42
43
44 /*
45  * @implemented
46  */
47 VOID
48 STDCALL
49 RtlMapGenericMask (
50         PACCESS_MASK            AccessMask,
51         PGENERIC_MAPPING        GenericMapping
52         )
53 {
54         if (*AccessMask & GENERIC_READ)
55                 *AccessMask |= GenericMapping->GenericRead;
56
57         if (*AccessMask & GENERIC_WRITE)
58                 *AccessMask |= GenericMapping->GenericWrite;
59
60         if (*AccessMask & GENERIC_EXECUTE)
61                 *AccessMask |= GenericMapping->GenericExecute;
62
63         if (*AccessMask & GENERIC_ALL)
64                 *AccessMask |= GenericMapping->GenericAll;
65
66         *AccessMask &= 0x0FFFFFFF;
67 }
68
69 /* EOF */