summaryrefslogtreecommitdiff
path: root/src/core/hle/service/srv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service/srv.cpp')
-rw-r--r--src/core/hle/service/srv.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/core/hle/service/srv.cpp b/src/core/hle/service/srv.cpp
index 071741444..ff6da8f1c 100644
--- a/src/core/hle/service/srv.cpp
+++ b/src/core/hle/service/srv.cpp
@@ -16,18 +16,24 @@ void Initialize(Service::Interface* self) {
16 NOTICE_LOG(OSHLE, "SRV::Sync - Initialize"); 16 NOTICE_LOG(OSHLE, "SRV::Sync - Initialize");
17} 17}
18 18
19void GetProcSemaphore(Service::Interface* self) {
20 // Get process semaphore?
21 u32* cmd_buff = Service::GetCommandBuffer();
22 cmd_buff[3] = 0xDEADBEEF; // Return something... 0 == NULL, raises an exception
23}
24
19void GetServiceHandle(Service::Interface* self) { 25void GetServiceHandle(Service::Interface* self) {
20 Syscall::Result res = 0; 26 Result res = 0;
21 u32* cmd_buff = Service::GetCommandBuffer(); 27 u32* cmd_buff = Service::GetCommandBuffer();
22 28
23 std::string port_name = std::string((const char*)&cmd_buff[1], 0, Service::kMaxPortSize); 29 std::string port_name = std::string((const char*)&cmd_buff[1], 0, Service::kMaxPortSize);
24 Service::Interface* service = Service::g_manager->FetchFromPortName(port_name); 30 Service::Interface* service = Service::g_manager->FetchFromPortName(port_name);
25 31
26 NOTICE_LOG(OSHLE, "SRV::Sync - GetHandle - port: %s, handle: 0x%08X", port_name.c_str(), 32 NOTICE_LOG(OSHLE, "SRV::Sync - GetHandle - port: %s, handle: 0x%08X", port_name.c_str(),
27 service->GetUID()); 33 service->GetHandle());
28 34
29 if (NULL != service) { 35 if (NULL != service) {
30 cmd_buff[3] = service->GetUID(); 36 cmd_buff[3] = service->GetHandle();
31 } else { 37 } else {
32 ERROR_LOG(OSHLE, "Service %s does not exist", port_name.c_str()); 38 ERROR_LOG(OSHLE, "Service %s does not exist", port_name.c_str());
33 res = -1; 39 res = -1;
@@ -39,7 +45,7 @@ void GetServiceHandle(Service::Interface* self) {
39 45
40const Interface::FunctionInfo FunctionTable[] = { 46const Interface::FunctionInfo FunctionTable[] = {
41 {0x00010002, Initialize, "Initialize"}, 47 {0x00010002, Initialize, "Initialize"},
42 {0x00020000, NULL, "GetProcSemaphore"}, 48 {0x00020000, GetProcSemaphore, "GetProcSemaphore"},
43 {0x00030100, NULL, "RegisterService"}, 49 {0x00030100, NULL, "RegisterService"},
44 {0x000400C0, NULL, "UnregisterService"}, 50 {0x000400C0, NULL, "UnregisterService"},
45 {0x00050100, GetServiceHandle, "GetServiceHandle"}, 51 {0x00050100, GetServiceHandle, "GetServiceHandle"},