Implement handle table management interface
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 45s
Builds / ExectOS (i686, release) (push) Successful in 35s
Builds / ExectOS (amd64, release) (push) Successful in 39s
Builds / ExectOS (i686, debug) (push) Successful in 42s

This commit is contained in:
2026-07-09 19:16:01 +02:00
parent 4ddc0c91c0
commit 2b1ff4aa9f
4 changed files with 341 additions and 0 deletions

View File

@@ -11,6 +11,7 @@
#include <xtos.hh>
#include <ex/handle.hh>
#include <ex/laslist.hh>
#include <ex/resource.hh>
#include <ex/rundown.hh>

View File

@@ -0,0 +1,37 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/includes/ex/handle.hh
* DESCRIPTION: Handle Table management interface
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
*/
#ifndef __XTOSKRNL_EX_HANDLE_HH
#define __XTOSKRNL_EX_HANDLE_HH
#include <xtos.hh>
/* Kernel Executive */
namespace EX
{
class Handle
{
public:
STATIC XTFASTCALL PHANDLE_TABLE_ENTRY_INFO GetHandleInformation(IN PHANDLE_TABLE HandleTable,
IN HANDLE Handle,
IN BOOLEAN Locked);
STATIC XTAPI BOOLEAN LockHandleTableEntry(IN PHANDLE_TABLE HandleTable,
IN PHANDLE_TABLE_ENTRY HandleTableEntry);
STATIC XTAPI PHANDLE_TABLE_ENTRY MapHandleToPointer(IN PHANDLE_TABLE HandleTable,
IN HANDLE Handle);
STATIC XTAPI VOID UnlockHandleTableEntry(IN PHANDLE_TABLE HandleTable,
IN PHANDLE_TABLE_ENTRY HandleTableEntry);
private:
STATIC XTAPI PHANDLE_TABLE_ENTRY LookupHandleTableEntry(IN PHANDLE_TABLE HandleTable,
IN EXHANDLE Handle);
};
}
#endif /* __XTOSKRNL_EX_HANDLE_HH */