From 98347089c7e4e2b306d25a0db77e00aa2ea50882 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 18 Mar 2024 20:01:38 +0100 Subject: unstable, secret: Very important changes done to the system API, add threading functions. Signed-off-by: Amlal El Mahrouss --- Public/Kits/System.Core/Threading.hxx | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Public/Kits/System.Core/Threading.hxx (limited to 'Public/Kits/System.Core/Threading.hxx') 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 + +/// @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__ -- cgit v1.2.3