summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/sm/controller.cpp19
-rw-r--r--src/core/hle/service/sm/controller.h1
2 files changed, 11 insertions, 9 deletions
diff --git a/src/core/hle/service/sm/controller.cpp b/src/core/hle/service/sm/controller.cpp
index 1d7ab3a1c..8d17e0ef6 100644
--- a/src/core/hle/service/sm/controller.cpp
+++ b/src/core/hle/service/sm/controller.cpp
@@ -21,19 +21,20 @@ void Controller::ConvertSessionToDomain(Kernel::HLERequestContext& ctx) {
21 LOG_DEBUG(Service, "called, domain=%d", domain->GetObjectId()); 21 LOG_DEBUG(Service, "called, domain=%d", domain->GetObjectId());
22} 22}
23 23
24/** 24void Controller::DuplicateSession(Kernel::HLERequestContext& ctx) {
25 * Controller::QueryPointerBufferSize service function 25 IPC::RequestBuilder rb{ctx, 1, 0, 1};
26 * Inputs: 26 rb.Push(RESULT_SUCCESS);
27 * 0: 0x00000003 27 rb.PushObjects(ctx.ServerSession());
28 * Outputs: 28
29 * 0: ResultCode 29 LOG_DEBUG(Service, "called");
30 * 2: Size of memory 30}
31 */ 31
32void Controller::QueryPointerBufferSize(Kernel::HLERequestContext& ctx) { 32void Controller::QueryPointerBufferSize(Kernel::HLERequestContext& ctx) {
33 IPC::RequestBuilder rb{ctx, 3}; 33 IPC::RequestBuilder rb{ctx, 3};
34 rb.Push(RESULT_SUCCESS); 34 rb.Push(RESULT_SUCCESS);
35 rb.Skip(1, true); 35 rb.Skip(1, true);
36 rb.Push<u32>(0x500); 36 rb.Push<u32>(0x500);
37
37 LOG_WARNING(Service, "(STUBBED) called"); 38 LOG_WARNING(Service, "(STUBBED) called");
38} 39}
39 40
@@ -41,7 +42,7 @@ Controller::Controller() : ServiceFramework("IpcController") {
41 static const FunctionInfo functions[] = { 42 static const FunctionInfo functions[] = {
42 {0x00000000, &Controller::ConvertSessionToDomain, "ConvertSessionToDomain"}, 43 {0x00000000, &Controller::ConvertSessionToDomain, "ConvertSessionToDomain"},
43 {0x00000001, nullptr, "ConvertDomainToSession"}, 44 {0x00000001, nullptr, "ConvertDomainToSession"},
44 {0x00000002, nullptr, "DuplicateSession"}, 45 {0x00000002, &Controller::DuplicateSession, "DuplicateSession"},
45 {0x00000003, &Controller::QueryPointerBufferSize, "QueryPointerBufferSize"}, 46 {0x00000003, &Controller::QueryPointerBufferSize, "QueryPointerBufferSize"},
46 {0x00000004, nullptr, "DuplicateSessionEx"}, 47 {0x00000004, nullptr, "DuplicateSessionEx"},
47 }; 48 };
diff --git a/src/core/hle/service/sm/controller.h b/src/core/hle/service/sm/controller.h
index e68676ab6..9b0765ca7 100644
--- a/src/core/hle/service/sm/controller.h
+++ b/src/core/hle/service/sm/controller.h
@@ -16,6 +16,7 @@ public:
16 16
17private: 17private:
18 void ConvertSessionToDomain(Kernel::HLERequestContext& ctx); 18 void ConvertSessionToDomain(Kernel::HLERequestContext& ctx);
19 void DuplicateSession(Kernel::HLERequestContext& ctx);
19 void QueryPointerBufferSize(Kernel::HLERequestContext& ctx); 20 void QueryPointerBufferSize(Kernel::HLERequestContext& ctx);
20}; 21};
21 22