summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/mutex.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/mutex.h')
-rw-r--r--src/core/hle/kernel/mutex.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/hle/kernel/mutex.h b/src/core/hle/kernel/mutex.h
index 38db21005..310923087 100644
--- a/src/core/hle/kernel/mutex.h
+++ b/src/core/hle/kernel/mutex.h
@@ -77,6 +77,18 @@ public:
/// Sets the has_waiters bit in the guest state.
void SetHasWaiters(bool has_waiters);
+ /// Flag that indicates that a mutex still has threads waiting for it.
+ static constexpr u32 MutexHasWaitersFlag = 0x40000000;
+ /// Mask of the bits in a mutex address value that contain the mutex owner.
+ static constexpr u32 MutexOwnerMask = 0xBFFFFFFF;
+
+ /// Attempts to acquire a mutex at the specified address.
+ static ResultCode TryAcquire(VAddr address, Handle holding_thread_handle,
+ Handle requesting_thread_handle);
+
+ /// Releases the mutex at the specified address.
+ static ResultCode Release(VAddr address);
+
private:
Mutex();
~Mutex() override;