ReXGlue SDK
Toggle main menu visibility
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
>
23
#include <
rex/kernel/object/object.h
>
24
#include <
rex/kernel/types/list.h
>
25
#include <
rex/kernel/types/memory.h
>
26
#include <
rex/kernel/types/status.h
>
27
#include <
rex/kernel/types/thread.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
36
namespace
rex::kernel
{
37
38
struct
SemaphoreObject
{
44
REX_KERNEL_API
SemaphoreObject
(i32 initial_count, i32 maximum_count_in);
45
51
REX_KERNEL_API
explicit
SemaphoreObject
(
const
X_KSEMAPHORE
& header);
52
54
PublishedPtr<rex::platform::Semaphore>
semaphore
;
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
assert.h
rex::kernel::PublishedPtr
Definition
object.h:190
memory.h
Virtual memory flags and typed guest pointers.
thread.h
list.h
Guest list and spin lock structures.
module.h
Interfaces, factory and module declaration.
rex::kernel
Definition
export.h:24
object.h
thread.h
platform.h
Platform flags, packing macros and export markers.
REX_KERNEL_API
#define REX_KERNEL_API
Definition
platform.h:297
result.h
status.h
rex::kernel::SemaphoreObject::semaphore
PublishedPtr< rex::platform::Semaphore > semaphore
Definition
semaphore_object.h:54
rex::kernel::SemaphoreObject::Release
bool Release(i32 release_count, i32 *out_previous_count)
rex::kernel::SemaphoreObject::SemaphoreObject
SemaphoreObject(const X_KSEMAPHORE &header)
rex::kernel::SemaphoreObject::SemaphoreObject
SemaphoreObject(i32 initial_count, i32 maximum_count_in)
rex::kernel::X_KSEMAPHORE
Definition
thread.h:101
sync.h
Wait objects and wait functions.
timer.h
types.h
Integer types, byte order wrappers and size literals.
rex
kernel
object
semaphore_object.h
Generated by
1.18.0