3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * PURPOSE: Access rights handling functions
6 * FILE: lib/ntdll/rtl/access.c
7 * PROGRAMER: Eric Kohl <ekohl@rz-online.de>
12 /* INCLUDES *****************************************************************/
14 #include <ddk/ntddk.h>
16 #include <ntdll/ntdll.h>
18 /* FUNCTIONS ***************************************************************/
22 RtlAreAllAccessesGranted (
23 ACCESS_MASK GrantedAccess,
24 ACCESS_MASK DesiredAccess
27 return ((GrantedAccess & DesiredAccess) == DesiredAccess);
33 RtlAreAnyAccessesGranted (
34 ACCESS_MASK GrantedAccess,
35 ACCESS_MASK DesiredAccess
38 return ((GrantedAccess & DesiredAccess) != 0);
45 PACCESS_MASK AccessMask,
46 PGENERIC_MAPPING GenericMapping
49 if (*AccessMask & GENERIC_READ)
50 *AccessMask |= GenericMapping->GenericRead;
52 if (*AccessMask & GENERIC_WRITE)
53 *AccessMask |= GenericMapping->GenericWrite;
55 if (*AccessMask & GENERIC_EXECUTE)
56 *AccessMask |= GenericMapping->GenericExecute;
58 if (*AccessMask & GENERIC_ALL)
59 *AccessMask |= GenericMapping->GenericAll;
61 *AccessMask &= 0x0FFFFFFF;