Plasma Engine  2.0
Loading...
Searching...
No Matches
ThreadingDeclarations_win.h
1#pragma once
2
3// Deactivate Doxygen document generation for the following block.
5
6#include <Foundation/Basics/Platform/Win/MinWindows.h>
7
8#if PL_ENABLED(PL_PLATFORM_32BIT)
9struct alignas(4) plMutexHandle
10{
11 plUInt8 data[24];
12};
13#else
14struct alignas(8) plMutexHandle
15{
16 plUInt8 data[40];
17};
18#endif
19
20
21#if PL_ENABLED(PL_PLATFORM_32BIT)
22struct alignas(4) plConditionVariableHandle
23{
24 plUInt8 data[4];
25};
26#else
27struct alignas(8) plConditionVariableHandle
28{
29 plUInt8 data[8];
30};
31#endif
32
33
34
35using plThreadHandle = plMinWindows::HANDLE;
36using plThreadID = plMinWindows::DWORD;
37using plOSThreadEntryPoint = plMinWindows::DWORD(__stdcall*)(void* lpThreadParameter);
38using plSemaphoreHandle = plMinWindows::HANDLE;
39
40#define PL_THREAD_CLASS_ENTRY_POINT plMinWindows::DWORD __stdcall plThreadClassEntryPoint(void* lpThreadParameter);
41
42struct plConditionVariableData
43{
44 plConditionVariableHandle m_ConditionVariable;
45};
46