Implement core Object Manager subsystem
Some checks failed
Builds / ExectOS (i686, debug) (push) Failing after 27s
Builds / ExectOS (amd64, release) (push) Failing after 39s
Builds / ExectOS (i686, release) (push) Failing after 36s
Builds / ExectOS (amd64, debug) (push) Failing after 28s

This commit is contained in:
2026-07-09 08:11:44 +02:00
parent 96502d5db6
commit 195c749396
16 changed files with 3182 additions and 0 deletions

60
xtoskrnl/ob/security.cc Normal file
View File

@@ -0,0 +1,60 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/ob/security.cc
* DESCRIPTION: Object Manager Security API
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
*/
#include <xtos.hh>
/**
* Provides the default security procedure for handling object security descriptors.
*
* @param Object
* Supplies a pointer to the object whose security descriptor is being processed.
*
* @param OperationCode
* Supplies the specific security operation to perform (e.g., Assign, Delete, Query, Set).
*
* @param SecurityInformation
* Supplies a bitmask indicating which specific components of the security descriptor are involved.
*
* @param SecurityDescriptor
* Supplies a pointer to a caller-allocated buffer. For a set/assign operation, this contains the new
* security data. For a query operation, it receives the requested data.
*
* @param Length
* Supplies a pointer to a variable that specifies the size of the SecurityDescriptor buffer.
* On return for a query operation, it receives the actual number of bytes required.
*
* @param OldSecurityDescriptor
* Supplies a pointer to a variable that holds the current security descriptor of the object.
*
* @param PoolType
* Supplies the type of memory pool to use if a new security descriptor must be allocated.
*
* @param GenericMapping
* Supplies a pointer to the generic access mapping associated with the object's type.
*
* @return This routine returns a status code indicating the success or failure of the operation.
*
* @since XT 1.0
*/
XTAPI
XTSTATUS
OB::Security::ProcessObjectSecurityDescriptor(IN PVOID Object,
IN SECURITY_OPERATION_CODE OperationCode,
IN PSECURITY_INFORMATION SecurityInformation,
IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
IN OUT PULONG Length,
IN OUT PSECURITY_DESCRIPTOR *OldSecurityDescriptor,
IN MMPOOL_TYPE PoolType,
IN PGENERIC_MAPPING GenericMapping)
{
UNIMPLEMENTED;
/* Return success */
return STATUS_SUCCESS;
}