diff options
| -rw-r--r-- | src/core/hle/service/apt.cpp | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/core/hle/service/apt.cpp b/src/core/hle/service/apt.cpp index d73dadf5a..3753f1107 100644 --- a/src/core/hle/service/apt.cpp +++ b/src/core/hle/service/apt.cpp | |||
| @@ -73,6 +73,36 @@ void ReceiveParameter(Service::Interface* self) { | |||
| 73 | WARN_LOG(KERNEL, "(STUBBED) called app_id=0x%08X, buffer_size=0x%08X", app_id, buffer_size); | 73 | WARN_LOG(KERNEL, "(STUBBED) called app_id=0x%08X, buffer_size=0x%08X", app_id, buffer_size); |
| 74 | } | 74 | } |
| 75 | 75 | ||
| 76 | /** | ||
| 77 | * APT_U::GlanceParameter service function | ||
| 78 | * Inputs: | ||
| 79 | * 1 : AppID | ||
| 80 | * 2 : Parameter buffer size, max size is 0x1000 | ||
| 81 | * Outputs: | ||
| 82 | * 1 : Result of function, 0 on success, otherwise error code | ||
| 83 | * 2 : Unknown, for now assume AppID of the process which sent these parameters | ||
| 84 | * 3 : Unknown, for now assume Signal type | ||
| 85 | * 4 : Actual parameter buffer size, this is <= to the the input size | ||
| 86 | * 5 : Value | ||
| 87 | * 6 : Handle from the source process which set the parameters, likely used for shared memory | ||
| 88 | * 7 : Size | ||
| 89 | * 8 : Output parameter buffer ptr | ||
| 90 | */ | ||
| 91 | void GlanceParameter(Service::Interface* self) { | ||
| 92 | u32* cmd_buff = Service::GetCommandBuffer(); | ||
| 93 | u32 app_id = cmd_buff[1]; | ||
| 94 | u32 buffer_size = cmd_buff[2]; | ||
| 95 | cmd_buff[1] = 0; // No error | ||
| 96 | cmd_buff[2] = 0; | ||
| 97 | cmd_buff[3] = static_cast<u32>(SignalType::AppJustStarted); // Signal type | ||
| 98 | cmd_buff[4] = 0; | ||
| 99 | cmd_buff[5] = 0; | ||
| 100 | cmd_buff[6] = 0; | ||
| 101 | cmd_buff[7] = 0; | ||
| 102 | cmd_buff[8] = 0; | ||
| 103 | WARN_LOG(KERNEL, "(STUBBED) called app_id=0x%08X, buffer_size=0x%08X", app_id, buffer_size); | ||
| 104 | } | ||
| 105 | |||
| 76 | const Interface::FunctionInfo FunctionTable[] = { | 106 | const Interface::FunctionInfo FunctionTable[] = { |
| 77 | {0x00010040, GetLockHandle, "GetLockHandle"}, | 107 | {0x00010040, GetLockHandle, "GetLockHandle"}, |
| 78 | {0x00020080, Initialize, "Initialize"}, | 108 | {0x00020080, Initialize, "Initialize"}, |
| @@ -87,7 +117,7 @@ const Interface::FunctionInfo FunctionTable[] = { | |||
| 87 | {0x000B0040, InquireNotification, "InquireNotification"}, | 117 | {0x000B0040, InquireNotification, "InquireNotification"}, |
| 88 | {0x000C0104, nullptr, "SendParameter"}, | 118 | {0x000C0104, nullptr, "SendParameter"}, |
| 89 | {0x000D0080, ReceiveParameter, "ReceiveParameter"}, | 119 | {0x000D0080, ReceiveParameter, "ReceiveParameter"}, |
| 90 | {0x000E0080, nullptr, "GlanceParameter"}, | 120 | {0x000E0080, GlanceParameter, "GlanceParameter"}, |
| 91 | {0x000F0100, nullptr, "CancelParameter"}, | 121 | {0x000F0100, nullptr, "CancelParameter"}, |
| 92 | {0x001000C2, nullptr, "DebugFunc"}, | 122 | {0x001000C2, nullptr, "DebugFunc"}, |
| 93 | {0x001100C0, nullptr, "MapProgramIdForDebug"}, | 123 | {0x001100C0, nullptr, "MapProgramIdForDebug"}, |