aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hle/kernel/svc_common.h
diff options
context:
space:
mode:
authorbunnei <[email protected]>2021-04-24 02:40:31 -0700
committerbunnei <[email protected]>2021-05-05 16:40:53 -0700
commit4b03e6e776e6421c2b2c290b0822b9e5a8556a4c (patch)
tree87c2925a7adf4109a77b4f015cd36d803d4221fc /src/core/hle/kernel/svc_common.h
parent8f5052a514706eb8a15d4f2d80573b1291f37b69 (diff)
downloadyuzu-mainline-4b03e6e776e6421c2b2c290b0822b9e5a8556a4c.tar.gz
yuzu-mainline-4b03e6e776e6421c2b2c290b0822b9e5a8556a4c.zip
hle: kernel: Migrate to KHandleTable.
Diffstat (limited to 'src/core/hle/kernel/svc_common.h')
-rw-r--r--src/core/hle/kernel/svc_common.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/hle/kernel/svc_common.h b/src/core/hle/kernel/svc_common.h
index 4af049551..8a8f347b5 100644
--- a/src/core/hle/kernel/svc_common.h
+++ b/src/core/hle/kernel/svc_common.h
@@ -6,9 +6,24 @@
#include "common/common_types.h"
+namespace Kernel {
+using Handle = u32;
+}
+
namespace Kernel::Svc {
constexpr s32 ArgumentHandleCountMax = 0x40;
constexpr u32 HandleWaitMask{1u << 30};
+constexpr inline Handle InvalidHandle = Handle(0);
+
+enum PseudoHandle : Handle {
+ CurrentThread = 0xFFFF8000,
+ CurrentProcess = 0xFFFF8001,
+};
+
+constexpr bool IsPseudoHandle(const Handle& handle) {
+ return handle == PseudoHandle::CurrentProcess || handle == PseudoHandle::CurrentThread;
+}
+
} // namespace Kernel::Svc