ReXGlue SDK
Loading...
Searching...
No Matches
semaphore_object.h
Go to the documentation of this file.
1
17
18#pragma once
19
20#include <memory>
21
22#include <rex/assert.h>
28#include <rex/module.h>
29#include <rex/platform.h>
30#include <rex/platform/sync.h>
31#include <rex/platform/thread.h>
32#include <rex/platform/timer.h>
33#include <rex/result.h>
34#include <rex/types.h>
35
36namespace rex::kernel {
37
44 REX_KERNEL_API SemaphoreObject(i32 initial_count, i32 maximum_count_in);
45
52
55 u32 maximum_count = 0;
56
63 REX_KERNEL_API bool Release(i32 release_count, i32* out_previous_count);
64};
65
66} // namespace rex::kernel
Definition object.h:190
Virtual memory flags and typed guest pointers.
Guest list and spin lock structures.
Interfaces, factory and module declaration.
Definition export.h:24
Platform flags, packing macros and export markers.
#define REX_KERNEL_API
Definition platform.h:297
PublishedPtr< rex::platform::Semaphore > semaphore
Definition semaphore_object.h:54
bool Release(i32 release_count, i32 *out_previous_count)
SemaphoreObject(const X_KSEMAPHORE &header)
SemaphoreObject(i32 initial_count, i32 maximum_count_in)
Definition thread.h:101
Wait objects and wait functions.
Integer types, byte order wrappers and size literals.