2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: lib/rtl/access.c
5 * PURPOSE: Access rights handling functions
7 * PROGRAMMERS: Eric Kohl
10 /* INCLUDES *****************************************************************/
17 /* FUNCTIONS ***************************************************************/
23 RtlAreAllAccessesGranted(ACCESS_MASK GrantedAccess
,
24 ACCESS_MASK DesiredAccess
)
27 return ((GrantedAccess
& DesiredAccess
) == DesiredAccess
);
35 RtlAreAnyAccessesGranted(ACCESS_MASK GrantedAccess
,
36 ACCESS_MASK DesiredAccess
)
39 return ((GrantedAccess
& DesiredAccess
) != 0);
47 RtlMapGenericMask(PACCESS_MASK AccessMask
,
48 PGENERIC_MAPPING GenericMapping
)
52 if (*AccessMask
& GENERIC_READ
)
53 *AccessMask
|= GenericMapping
->GenericRead
;
55 if (*AccessMask
& GENERIC_WRITE
)
56 *AccessMask
|= GenericMapping
->GenericWrite
;
58 if (*AccessMask
& GENERIC_EXECUTE
)
59 *AccessMask
|= GenericMapping
->GenericExecute
;
61 if (*AccessMask
& GENERIC_ALL
)
62 *AccessMask
|= GenericMapping
->GenericAll
;
64 *AccessMask
&= ~(GENERIC_READ
| GENERIC_WRITE
| GENERIC_EXECUTE
| GENERIC_ALL
);