/* COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries * FILE: lib/rtl/access.c * PURPOSE: Access rights handling functions * PROGRAMMERS: Eric Kohl */ /* INCLUDES *****************************************************************/ #include #define NDEBUG #include /* FUNCTIONS ***************************************************************/ /* * @implemented */ BOOLEAN NTAPI RtlAreAllAccessesGranted(ACCESS_MASK GrantedAccess, ACCESS_MASK DesiredAccess) { PAGED_CODE_RTL(); return ((GrantedAccess & DesiredAccess) == DesiredAccess); } /* * @implemented */ BOOLEAN NTAPI RtlAreAnyAccessesGranted(ACCESS_MASK GrantedAccess, ACCESS_MASK DesiredAccess) { PAGED_CODE_RTL(); return ((GrantedAccess & DesiredAccess) != 0); } /* * @implemented */ VOID NTAPI RtlMapGenericMask(PACCESS_MASK AccessMask, PGENERIC_MAPPING GenericMapping) { PAGED_CODE_RTL(); if (*AccessMask & GENERIC_READ) *AccessMask |= GenericMapping->GenericRead; if (*AccessMask & GENERIC_WRITE) *AccessMask |= GenericMapping->GenericWrite; if (*AccessMask & GENERIC_EXECUTE) *AccessMask |= GenericMapping->GenericExecute; if (*AccessMask & GENERIC_ALL) *AccessMask |= GenericMapping->GenericAll; *AccessMask &= ~(GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE | GENERIC_ALL); } /* EOF */