aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hle/hle.h
diff options
context:
space:
mode:
authorGravatar bunnei <ericbunnie@gmail.com>2014-04-10 19:58:28 -0400
committerGravatar bunnei <ericbunnie@gmail.com>2014-04-10 19:58:28 -0400
commitf68de21ad1cd267029b60ee3767d219c46f5fba0 (patch)
tree47d44cfed0c2bd071c75b03a157e7b8a61d85b0d /src/core/hle/hle.h
parentfccbfc208c53ef6c3424531d8f4a42d3d23b200a (diff)
added initial modules for setting up SysCall HLE
Diffstat (limited to 'src/core/hle/hle.h')
-rw-r--r--src/core/hle/hle.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/core/hle/hle.h b/src/core/hle/hle.h
new file mode 100644
index 00000000..6780b52c
--- /dev/null
+++ b/src/core/hle/hle.h
@@ -0,0 +1,35 @@
+// Copyright 2014 Citra Emulator Project
+// Licensed under GPLv2
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "common/common_types.h"
+#include "core/core.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+typedef void (*HLEFunc)();
+typedef void (*SysCallFunc)();
+
+struct HLEFunction {
+ u32 id;
+ HLEFunc func;
+ const char* name;
+ u32 flags;
+};
+
+struct HLEModule {
+ const char* name;
+ int num_funcs;
+ const HLEFunction* func_table;
+};
+
+struct SysCall {
+ u8 id;
+ SysCallFunc func;
+ const char* name;
+};
+
+#define PARAM(n) Core::g_app_core->GetReg(n)
+#define RETURN(n) Core::g_app_core->SetReg(0, n)