summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTilka <tilkax@gmail.com>2024-08-17 04:19:23 +0100
committerGitHub <noreply@github.com>2024-08-17 04:19:23 +0100
commit5f39db5876cebc343409c2bc84feef0f9b39d03b (patch)
treec0460b1347a043660001d28bc063b994c8929acc
parentb3652a6fe7518578a0eeac24c3486a1bee2068db (diff)
parent7bc09bba87ea310af66e48162838b50bd9969fb4 (diff)
Merge pull request #13008 from noahpistilli/kd-get-time-triggers
IOS/KD: Implement Get Time Triggers
-rw-r--r--Source/Core/Core/IOS/Network/KD/NetKDRequest.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/Core/Core/IOS/Network/KD/NetKDRequest.cpp b/Source/Core/Core/IOS/Network/KD/NetKDRequest.cpp
index 6715a6c339..14553199d6 100644
--- a/Source/Core/Core/IOS/Network/KD/NetKDRequest.cpp
+++ b/Source/Core/Core/IOS/Network/KD/NetKDRequest.cpp
@@ -1179,6 +1179,25 @@ std::optional<IPCReply> NetKDRequestDevice::IOCtl(const IOCtlRequest& request)
return_value = IPC_SUCCESS;
break;
}
+ case IOCTL_NWC24_KD_GET_TIME_TRIGGERS:
+ {
+ if (request.buffer_out == 0 || request.buffer_out % 4 != 0 || request.buffer_out_size < 12)
+ {
+ return_value = IPC_EINVAL;
+ ERROR_LOG_FMT(IOS_WC24, "NET_KD_REQ: IOCTL_NWC24_KD_GET_TIME_TRIGGERS = IPC_EINVAL");
+ break;
+ }
+
+ INFO_LOG_FMT(IOS_WC24, "NET_KD_REQ: IOCTL_NWC24_KD_GET_TIME_TRIGGERS");
+
+ std::lock_guard lg(m_scheduler_buffer_lock);
+ memory.Write_U32(m_mail_span, request.buffer_out + 4);
+ memory.Write_U32(m_download_span, request.buffer_out + 8);
+ WriteReturnValue(memory, NWC24::WC24_OK, request.buffer_out);
+
+ return_value = IPC_SUCCESS;
+ break;
+ }
default:
request.Log(GetDeviceName(), Common::Log::LogType::IOS_WC24);