summaryrefslogtreecommitdiff
path: root/src/core/hle/function_wrappers.h
diff options
context:
space:
mode:
authorGravatar Yuri Kunde Schlesner2015-01-23 03:36:58 -0200
committerGravatar Yuri Kunde Schlesner2015-01-30 11:49:44 -0200
commit44f90340dcf8dc0686bf63ad2244567c55e08e70 (patch)
tree80812091281f821ee4dd7f24305e6e4d31182ab0 /src/core/hle/function_wrappers.h
parentKernel: Convert Event to not use Handles (diff)
downloadyuzu-44f90340dcf8dc0686bf63ad2244567c55e08e70.tar.gz
yuzu-44f90340dcf8dc0686bf63ad2244567c55e08e70.tar.xz
yuzu-44f90340dcf8dc0686bf63ad2244567c55e08e70.zip
SVC: Change return type of handlers to ResultCode
Diffstat (limited to 'src/core/hle/function_wrappers.h')
-rw-r--r--src/core/hle/function_wrappers.h79
1 files changed, 37 insertions, 42 deletions
diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h
index a2f51b41b..ebb6ba1af 100644
--- a/src/core/hle/function_wrappers.h
+++ b/src/core/hle/function_wrappers.h
@@ -33,114 +33,109 @@ static inline void FuncReturn64(u64 res) {
33} 33}
34 34
35//////////////////////////////////////////////////////////////////////////////////////////////////// 35////////////////////////////////////////////////////////////////////////////////////////////////////
36// Function wrappers that return type s32 36// Function wrappers that return type ResultCode
37 37
38template<s32 func(u32, u32, u32, u32)> void Wrap() { 38template<ResultCode func(u32, u32, u32, u32)> void Wrap() {
39 FuncReturn(func(PARAM(0), PARAM(1), PARAM(2), PARAM(3))); 39 FuncReturn(func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)).raw);
40} 40}
41 41
42template<s32 func(u32, u32, u32, u32, u32)> void Wrap() { 42template<ResultCode func(u32, u32, u32, u32, u32)> void Wrap() {
43 FuncReturn(func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4))); 43 FuncReturn(func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)).raw);
44} 44}
45 45
46template<s32 func(u32*, u32, u32, u32, u32, u32)> void Wrap(){ 46template<ResultCode func(u32*, u32, u32, u32, u32, u32)> void Wrap(){
47 u32 param_1 = 0; 47 u32 param_1 = 0;
48 u32 retval = func(&param_1, PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 48 u32 retval = func(&param_1, PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)).raw;
49 Core::g_app_core->SetReg(1, param_1); 49 Core::g_app_core->SetReg(1, param_1);
50 FuncReturn(retval); 50 FuncReturn(retval);
51} 51}
52 52
53template<s32 func(s32*, u32*, s32, bool, s64)> void Wrap() { 53template<ResultCode func(s32*, u32*, s32, bool, s64)> void Wrap() {
54 s32 param_1 = 0; 54 s32 param_1 = 0;
55 s32 retval = func(&param_1, (Handle*)Memory::GetPointer(PARAM(1)), (s32)PARAM(2), 55 s32 retval = func(&param_1, (Handle*)Memory::GetPointer(PARAM(1)), (s32)PARAM(2),
56 (PARAM(3) != 0), (((s64)PARAM(4) << 32) | PARAM(0))); 56 (PARAM(3) != 0), (((s64)PARAM(4) << 32) | PARAM(0))).raw;
57 Core::g_app_core->SetReg(1, (u32)param_1); 57 Core::g_app_core->SetReg(1, (u32)param_1);
58 FuncReturn(retval); 58 FuncReturn(retval);
59} 59}
60 60
61// TODO(bunnei): Is this correct? Probably not - Last parameter looks wrong for ArbitrateAddress 61template<ResultCode func(u32, u32, u32, u32, s64)> void Wrap() {
62template<s32 func(u32, u32, u32, u32, s64)> void Wrap() { 62 FuncReturn(func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), (((s64)PARAM(5) << 32) | PARAM(4))).raw);
63 FuncReturn(func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), (((s64)PARAM(5) << 32) | PARAM(4))));
64} 63}
65 64
66template<s32 func(u32*)> void Wrap(){ 65template<ResultCode func(u32*)> void Wrap(){
67 u32 param_1 = 0; 66 u32 param_1 = 0;
68 u32 retval = func(&param_1); 67 u32 retval = func(&param_1).raw;
69 Core::g_app_core->SetReg(1, param_1); 68 Core::g_app_core->SetReg(1, param_1);
70 FuncReturn(retval); 69 FuncReturn(retval);
71} 70}
72 71
73template<s32 func(u32, s64)> void Wrap() { 72template<ResultCode func(u32, s64)> void Wrap() {
74 FuncReturn(func(PARAM(0), (((s64)PARAM(3) << 32) | PARAM(2)))); 73 FuncReturn(func(PARAM(0), (((s64)PARAM(3) << 32) | PARAM(2))).raw);
75} 74}
76 75
77template<s32 func(void*, void*, u32)> void Wrap(){ 76template<ResultCode func(void*, void*, u32)> void Wrap(){
78 FuncReturn(func(Memory::GetPointer(PARAM(0)), Memory::GetPointer(PARAM(1)), PARAM(2))); 77 FuncReturn(func(Memory::GetPointer(PARAM(0)), Memory::GetPointer(PARAM(1)), PARAM(2)).raw);
79} 78}
80 79
81template<s32 func(s32*, u32)> void Wrap(){ 80template<ResultCode func(s32*, u32)> void Wrap(){
82 s32 param_1 = 0; 81 s32 param_1 = 0;
83 u32 retval = func(&param_1, PARAM(1)); 82 u32 retval = func(&param_1, PARAM(1)).raw;
84 Core::g_app_core->SetReg(1, param_1); 83 Core::g_app_core->SetReg(1, param_1);
85 FuncReturn(retval); 84 FuncReturn(retval);
86} 85}
87 86
88template<s32 func(u32, s32)> void Wrap() { 87template<ResultCode func(u32, s32)> void Wrap() {
89 FuncReturn(func(PARAM(0), (s32)PARAM(1))); 88 FuncReturn(func(PARAM(0), (s32)PARAM(1)).raw);
90} 89}
91 90
92template<s32 func(u32*, u32)> void Wrap(){ 91template<ResultCode func(u32*, u32)> void Wrap(){
93 u32 param_1 = 0; 92 u32 param_1 = 0;
94 u32 retval = func(&param_1, PARAM(1)); 93 u32 retval = func(&param_1, PARAM(1)).raw;
95 Core::g_app_core->SetReg(1, param_1); 94 Core::g_app_core->SetReg(1, param_1);
96 FuncReturn(retval); 95 FuncReturn(retval);
97} 96}
98 97
99template<s32 func(u32)> void Wrap() { 98template<ResultCode func(u32)> void Wrap() {
100 FuncReturn(func(PARAM(0))); 99 FuncReturn(func(PARAM(0)).raw);
101} 100}
102 101
103template<s32 func(void*)> void Wrap() { 102template<ResultCode func(s64*, u32, void*, s32)> void Wrap(){
104 FuncReturn(func(Memory::GetPointer(PARAM(0))));
105}
106
107template<s32 func(s64*, u32, void*, s32)> void Wrap(){
108 FuncReturn(func((s64*)Memory::GetPointer(PARAM(0)), PARAM(1), Memory::GetPointer(PARAM(2)), 103 FuncReturn(func((s64*)Memory::GetPointer(PARAM(0)), PARAM(1), Memory::GetPointer(PARAM(2)),
109 (s32)PARAM(3))); 104 (s32)PARAM(3)).raw);
110} 105}
111 106
112template<s32 func(u32*, const char*)> void Wrap() { 107template<ResultCode func(u32*, const char*)> void Wrap() {
113 u32 param_1 = 0; 108 u32 param_1 = 0;
114 u32 retval = func(&param_1, Memory::GetCharPointer(PARAM(1))); 109 u32 retval = func(&param_1, Memory::GetCharPointer(PARAM(1))).raw;
115 Core::g_app_core->SetReg(1, param_1); 110 Core::g_app_core->SetReg(1, param_1);
116 FuncReturn(retval); 111 FuncReturn(retval);
117} 112}
118 113
119template<s32 func(u32*, s32, s32)> void Wrap() { 114template<ResultCode func(u32*, s32, s32)> void Wrap() {
120 u32 param_1 = 0; 115 u32 param_1 = 0;
121 u32 retval = func(&param_1, PARAM(1), PARAM(2)); 116 u32 retval = func(&param_1, PARAM(1), PARAM(2)).raw;
122 Core::g_app_core->SetReg(1, param_1); 117 Core::g_app_core->SetReg(1, param_1);
123 FuncReturn(retval); 118 FuncReturn(retval);
124} 119}
125 120
126template<s32 func(s32*, u32, s32)> void Wrap() { 121template<ResultCode func(s32*, u32, s32)> void Wrap() {
127 s32 param_1 = 0; 122 s32 param_1 = 0;
128 u32 retval = func(&param_1, PARAM(1), PARAM(2)); 123 u32 retval = func(&param_1, PARAM(1), PARAM(2)).raw;
129 Core::g_app_core->SetReg(1, param_1); 124 Core::g_app_core->SetReg(1, param_1);
130 FuncReturn(retval); 125 FuncReturn(retval);
131} 126}
132 127
133template<s32 func(u32*, u32, u32, u32, u32)> void Wrap() { 128template<ResultCode func(u32*, u32, u32, u32, u32)> void Wrap() {
134 u32 param_1 = 0; 129 u32 param_1 = 0;
135 u32 retval = func(&param_1, PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 130 u32 retval = func(&param_1, PARAM(1), PARAM(2), PARAM(3), PARAM(4)).raw;
136 Core::g_app_core->SetReg(1, param_1); 131 Core::g_app_core->SetReg(1, param_1);
137 FuncReturn(retval); 132 FuncReturn(retval);
138} 133}
139 134
140template<s32 func(u32, s64, s64)> void Wrap() { 135template<ResultCode func(u32, s64, s64)> void Wrap() {
141 s64 param1 = ((u64)PARAM(3) << 32) | PARAM(2); 136 s64 param1 = ((u64)PARAM(3) << 32) | PARAM(2);
142 s64 param2 = ((u64)PARAM(4) << 32) | PARAM(1); 137 s64 param2 = ((u64)PARAM(4) << 32) | PARAM(1);
143 FuncReturn(func(PARAM(0), param1, param2)); 138 FuncReturn(func(PARAM(0), param1, param2).raw);
144} 139}
145 140
146//////////////////////////////////////////////////////////////////////////////////////////////////// 141////////////////////////////////////////////////////////////////////////////////////////////////////