Files
exectos/xtoskrnl/ob/data.cc
Aiken Harris 195c749396
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
Implement core Object Manager subsystem
2026-07-09 08:11:44 +02:00

41 lines
1.5 KiB
C++

/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/ob/data.cc
* DESCRIPTION: Object Manager global and static data
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
*/
#include <xtos.hh>
/* Synchronizes shared read and exclusive write access to system device map structures */
KPUSH_LOCK OB::DeviceMap::DeviceMapLock;
/* Indicates whether the system employs unique device maps */
BOOLEAN OB::DeviceMap::UniqueDeviceMaps;
/* System work queue item responsible for scheduling the deferred object deletion */
WORK_QUEUE_ITEM OB::LifeCycle::RemoveObjectWorkItem;
/* Default kernel event utilized by the Object Manager */
KEVENT OB::TypeRegistry::DefaultEvent;
/* Fundamental Type object type */
POBJECT_TYPE OB::TypeRegistry::MasterObjectType;
/* Points to the Object Types directory */
POBJECT_DIRECTORY OB::TypeRegistry::ObjectTypeDirectory;
/* Index-based lookup for all registered object types */
POBJECT_TYPE OB::TypeRegistry::ObjectTypesTable[OBJECT_MAX_DEFINED_OBJECT_TYPES];
/* General lookaside list used for allocation and deallocation of OBJECT_CREATE_INFORMATION structures */
GENERAL_LOOKASIDE OB::Manager::CreateInfoList;
/* General lookaside list used for allocation and deallocation buffers for Unicode object names */
GENERAL_LOOKASIDE OB::Manager::NameBufferList;
/* The list head for tracking objects that have been marked for deferred deletion */
PVOID OB::LifeCycle::RemoveObjectList;