Use free Windows DDK and compile with latest MinGW releases.
[reactos.git] / reactos / ntoskrnl / se / access.c
1 /* $Id: access.c,v 1.2 2002/09/07 15:13:06 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
16 #define NDEBUG
17 #include <internal/debug.h>
18
19
20 /* FUNCTIONS ***************************************************************/
21
22 BOOLEAN
23 STDCALL
24 RtlAreAllAccessesGranted (
25 ACCESS_MASK GrantedAccess,
26 ACCESS_MASK DesiredAccess
27 )
28 {
29 return ((GrantedAccess & DesiredAccess) == DesiredAccess);
30 }
31
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 VOID
45 STDCALL
46 RtlMapGenericMask (
47 PACCESS_MASK AccessMask,
48 PGENERIC_MAPPING GenericMapping
49 )
50 {
51 if (*AccessMask & GENERIC_READ)
52 *AccessMask |= GenericMapping->GenericRead;
53
54 if (*AccessMask & GENERIC_WRITE)
55 *AccessMask |= GenericMapping->GenericWrite;
56
57 if (*AccessMask & GENERIC_EXECUTE)
58 *AccessMask |= GenericMapping->GenericExecute;
59
60 if (*AccessMask & GENERIC_ALL)
61 *AccessMask |= GenericMapping->GenericAll;
62
63 *AccessMask &= 0x0FFFFFFF;
64 }
65
66 /* EOF */