1 /* COPYRIGHT: See COPYING in the top level directory
2 * PROJECT: ReactOS system libraries
3 * FILE: lib/rtl/access.c
4 * PURPOSE: Access rights handling functions
5 * PROGRAMMERS: Eric Kohl
8 /* INCLUDES *****************************************************************/
15 /* FUNCTIONS ***************************************************************/
22 RtlAreAllAccessesGranted(ACCESS_MASK GrantedAccess
,
23 ACCESS_MASK DesiredAccess
)
26 return ((GrantedAccess
& DesiredAccess
) == DesiredAccess
);
34 RtlAreAnyAccessesGranted(ACCESS_MASK GrantedAccess
,
35 ACCESS_MASK DesiredAccess
)
38 return ((GrantedAccess
& DesiredAccess
) != 0);
46 RtlMapGenericMask(PACCESS_MASK AccessMask
,
47 PGENERIC_MAPPING GenericMapping
)
51 if (*AccessMask
& GENERIC_READ
) *AccessMask
|= GenericMapping
->GenericRead
;
53 if (*AccessMask
& GENERIC_WRITE
) *AccessMask
|= GenericMapping
->GenericWrite
;
55 if (*AccessMask
& GENERIC_EXECUTE
) *AccessMask
|= GenericMapping
->GenericExecute
;
57 if (*AccessMask
& GENERIC_ALL
) *AccessMask
|= GenericMapping
->GenericAll
;
59 *AccessMask
&= ~(GENERIC_READ
| GENERIC_WRITE
| GENERIC_EXECUTE
| GENERIC_ALL
);