diff options
| author | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-03-19 10:05:31 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-03-19 10:05:31 +0100 |
| commit | baf2afd8cd672dcb9c13d956dfdd73b61dfee558 (patch) | |
| tree | 0734d2fe6d480e9805121e1c7d5e42f20bf4e8f4 /Private/ObjectKit/ObjectKit.hxx | |
| parent | 98347089c7e4e2b306d25a0db77e00aa2ea50882 (diff) | |
unstable, secret: See below.
System.Core:
- Add RunTime init function.
- Add ReadMe.md
Kernel:
- Improve TLS code, use Encoder class instead of casting directly.
- Refactor process team to include processscheduler.hpp instead.
ObjectKit:
- Rename Object.hxx to ObjectKit.hxx
Builtins/AHCI:
- Rename API.hxx to Interface.hxx
Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Private/ObjectKit/ObjectKit.hxx')
| -rw-r--r-- | Private/ObjectKit/ObjectKit.hxx | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Private/ObjectKit/ObjectKit.hxx b/Private/ObjectKit/ObjectKit.hxx new file mode 100644 index 00000000..329b2c78 --- /dev/null +++ b/Private/ObjectKit/ObjectKit.hxx @@ -0,0 +1,37 @@ +/* ------------------------------------------- + + Copyright Mahrouss Logic + +------------------------------------------- */ + +#pragma once + +#include <NewKit/Defines.hpp> +#include <CFKit/GUIDWrapper.hpp> + +#define kObjectGlobalNamespaceSystem "HCORE_ROOT\\" +#define kObjectGlobalNamespaceUser "HCORE_USER_ROOT\\" + +enum { + kObjectTypeProcess, + kObjectTypeFile, + kObjectTypeDevice, + kObjectTypeNetwork, + kObjectTypeInvalid, + KObjectTypeUserDefined = 0xCF, + kObjectTypeCount = 5, +}; + +/// \brief Object handle. +/// \author Amlal El Mahrouss +typedef struct Object final { + HCore::Char ObjectName[255]; + HCore::Int32 ObjectType; + HCore::Char ObjectNamespace[255]; + + HCore::Void(*Release)(struct Object* Self); + HCore::IntPtr(*Invoke)(struct Object* Self, HCore::Int32 Sel, ...); + HCore::Void(*Query)(struct Object* Self, HCore::VoidPtr* Dst, HCore::SizeT SzDst, HCore::XRN::GUIDSequence GuidOf); +} Object, *ObjectPtr; + +#define object_cast reinterpret_cast |
