:pserver:cvsanon@mok.lvcm.com:/CVS/ReactOS reactos
[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 BOOLEAN
31 STDCALL
32 RtlAreAnyAccessesGranted (
33         ACCESS_MASK     GrantedAccess,
34         ACCESS_MASK     DesiredAccess
35         )
36 {
37         return ((GrantedAccess & DesiredAccess) != 0);
38 }
39
40
41 VOID
42 STDCALL
43 RtlMapGenericMask (
44         PACCESS_MASK            AccessMask,
45         PGENERIC_MAPPING        GenericMapping
46         )
47 {
48         if (*AccessMask & GENERIC_READ)
49                 *AccessMask |= GenericMapping->GenericRead;
50
51         if (*AccessMask & GENERIC_WRITE)
52                 *AccessMask |= GenericMapping->GenericWrite;
53
54         if (*AccessMask & GENERIC_EXECUTE)
55                 *AccessMask |= GenericMapping->GenericExecute;
56
57         if (*AccessMask & GENERIC_ALL)
58                 *AccessMask |= GenericMapping->GenericAll;
59
60         *AccessMask &= 0x0FFFFFFF;
61 }
62
63 /* EOF */