summaryrefslogtreecommitdiffhomepage
path: root/Public/Kits/System.Core/Threading.hxx
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-18 20:01:38 +0100
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-18 20:01:38 +0100
commit98347089c7e4e2b306d25a0db77e00aa2ea50882 (patch)
treea0b3a1130bff9068055aea87f3e3b964dc9fce0a /Public/Kits/System.Core/Threading.hxx
parent4c714f2c24c5df78bae2f35c42c73107de4c8c71 (diff)
unstable, secret: Very important changes done to the system API, add
threading functions. Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Public/Kits/System.Core/Threading.hxx')
-rw-r--r--Public/Kits/System.Core/Threading.hxx35
1 files changed, 35 insertions, 0 deletions
diff --git a/Public/Kits/System.Core/Threading.hxx b/Public/Kits/System.Core/Threading.hxx
new file mode 100644
index 00000000..5d5ed0a6
--- /dev/null
+++ b/Public/Kits/System.Core/Threading.hxx
@@ -0,0 +1,35 @@
+/* -------------------------------------------
+
+ Copyright Mahrouss Logic
+
+------------------------------------------- */
+
+//
+// Created by Amlal on 3/18/24
+//
+
+#ifndef __THREAD_API__
+#define __THREAD_API__
+
+#include <System.Core/Defs.hxx>
+
+/// @brief Thread Information Block variant for scheduling.
+struct ThreadInformationBlock final {
+ const CHAR Name[255]; // Module Name
+ const UINT_PTR StartAddress; // Start Address
+ const UINT_PTR StartHeap; // Allocation Heap
+ const UINT_PTR StartStack; // Stack Pointer.
+ const DWORD Arch; // Architecture and/or platform.
+ const WORD TID; // Execution Thread ID.
+};
+
+ThreadInformationBlock* HcCreateThread(_Input PVOID Start,
+ _Optional _InOut PVOID HeapOpt, _Optional _InOut PVOID StackOpt);
+
+BOOL HcDestroyThread(_Input ThreadInformationBlock* TIB);
+
+BOOL HcStopThread(_Input ThreadInformationBlock* TIB);
+
+BOOL HcResumeThread(_Input ThreadInformationBlock* TIB);
+
+#endif // __THREAD_API__