Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566/* * 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 <rtl.h>#define NDEBUG#include <debug.h>
/* FUNCTIONS ***************************************************************/
/* * @implemented */BOOLEANNTAPIRtlAreAllAccessesGranted(IN ACCESS_MASK GrantedAccess, IN ACCESS_MASK DesiredAccess){ PAGED_CODE_RTL();
/* Return if there's no leftover bits after granting all of them */ return !(~GrantedAccess & DesiredAccess);}
/* * @implemented */BOOLEANNTAPIRtlAreAnyAccessesGranted(IN ACCESS_MASK GrantedAccess, IN ACCESS_MASK DesiredAccess){ PAGED_CODE_RTL();
/* Return if there's any leftover bits after granting all of them */ return ((GrantedAccess & DesiredAccess) != 0);}
/* * @implemented */VOIDNTAPIRtlMapGenericMask(IN OUT PACCESS_MASK AccessMask, IN PGENERIC_MAPPING GenericMapping){ PAGED_CODE_RTL();
/* Convert mappings */ 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;
/* Clear generic flags */ *AccessMask &= ~(GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE | GENERIC_ALL);}
/* EOF */