diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/sm/controller.cpp | 19 | ||||
| -rw-r--r-- | src/core/hle/service/sm/controller.h | 1 |
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 | /** | 24 | void 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 | |
| 32 | void Controller::QueryPointerBufferSize(Kernel::HLERequestContext& ctx) { | 32 | void 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 | ||
| 17 | private: | 17 | private: |
| 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 | ||