Files
exectos/xtoskrnl/se/access.cc
Aiken Harris 130e797dd9
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 27s
Builds / ExectOS (i686, debug) (push) Successful in 43s
Builds / ExectOS (amd64, release) (push) Successful in 45s
Builds / ExectOS (i686, release) (push) Successful in 31s
Add security access and audit interfaces
2026-07-10 13:01:36 +02:00

55 lines
1.6 KiB
C++

/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/se/access.cc
* DESCRIPTION: Security access state check routines
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
*/
#include <xtos.hh>
/**
* Computes the access rights that are requested but not granted.
*
* @param GrantedAccessMask
* Supplies the mask of access rights currently granted to the subject.
*
* @param DesiredAccessMask
* Supplies the mask of access rights requested by the subject.
*
* @return This routine returns an access mask with the bits in DesiredAccess that are not present in GrantedAccess.
*
* @since XT 1.0
*/
XTFASTCALL
ACCESS_MASK
SE::Access::ComputeDeniedAccesses(IN ACCESS_MASK GrantedAccessMask,
IN ACCESS_MASK DesiredAccessMask)
{
/* Return the desired denied accesses */
return ~GrantedAccessMask & DesiredAccessMask;
}
/**
* Computes the access rights that are both requested and granted.
*
* @param GrantedAccessMask
* Supplies the mask of access rights currently granted to the subject.
*
* @param DesiredAccessMask
* Supplies the mask of access rights requested by the subject.
*
* @return This routine returns an access mask containing the intersection of DesiredAccess and GrantedAccess bits.
*
* @since XT 1.0
*/
XTFASTCALL
ACCESS_MASK
SE::Access::ComputeGrantedAccesses(IN ACCESS_MASK GrantedAccessMask,
IN ACCESS_MASK DesiredAccessMask)
{
/* Return the desired granted accesses */
return GrantedAccessMask & DesiredAccessMask;
}