summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorSketch <75850871+SketchMaster2001@users.noreply.github.com>2024-08-14 21:44:36 -0400
committerSketch <75850871+SketchMaster2001@users.noreply.github.com>2024-08-14 21:44:36 -0400
commit7bc09bba87ea310af66e48162838b50bd9969fb4 (patch)
tree68bfeae0a6ce5643ea8fe4f5639c5a16882896bf /Source
parent18ac8bf4055093d5aece0e631d04e4d38ec8f0c6 (diff)
IOS/KD: Implement Get Time Triggers
Diffstat (limited to 'Source')
-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);