aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/time/time.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-11-12 20:13:47 -0800
committerGitHub <noreply@github.com>2018-11-12 20:13:47 -0800
commitfd72d889bfa1d83d24d66d8df7f638e0d8bb716c (patch)
tree86850edac374450223ee3fcc07bab0e8aefbdb37 /src/core/hle/service/time/time.h
parentc8b3f09876e796f3c249f17f7f39e78bc1e3de74 (diff)
parent48cd61d9c865aa0d93789cf05b647b272bccab4e (diff)
Merge pull request #1665 from ogniK5377/GetClockSnapshot
Implement GetClockSnapshot, ToPosixTime & ToPosixTimeWithMyRule
Diffstat (limited to 'src/core/hle/service/time/time.h')
-rw-r--r--src/core/hle/service/time/time.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/core/hle/service/time/time.h b/src/core/hle/service/time/time.h
index 5659ecad3..77871ae07 100644
--- a/src/core/hle/service/time/time.h
+++ b/src/core/hle/service/time/time.h
@@ -5,6 +5,7 @@
#pragma once
#include <array>
+#include "common/common_funcs.h"
#include "core/hle/service/service.h"
namespace Service::Time {
@@ -53,6 +54,23 @@ struct SystemClockContext {
static_assert(sizeof(SystemClockContext) == 0x20,
"SystemClockContext structure has incorrect size");
+struct ClockSnapshot {
+ SystemClockContext user_clock_context;
+ SystemClockContext network_clock_context;
+ s64_le system_posix_time;
+ s64_le network_posix_time;
+ CalendarTime system_calendar_time;
+ CalendarTime network_calendar_time;
+ CalendarAdditionalInfo system_calendar_info;
+ CalendarAdditionalInfo network_calendar_info;
+ SteadyClockTimePoint steady_clock_timepoint;
+ LocationName location_name;
+ u8 clock_auto_adjustment_enabled;
+ u8 ipc_u8;
+ INSERT_PADDING_BYTES(2);
+};
+static_assert(sizeof(ClockSnapshot) == 0xd0, "ClockSnapshot is an invalid size");
+
class Module final {
public:
class Interface : public ServiceFramework<Interface> {
@@ -65,6 +83,7 @@ public:
void GetStandardSteadyClock(Kernel::HLERequestContext& ctx);
void GetTimeZoneService(Kernel::HLERequestContext& ctx);
void GetStandardLocalSystemClock(Kernel::HLERequestContext& ctx);
+ void GetClockSnapshot(Kernel::HLERequestContext& ctx);
protected:
std::shared_ptr<Module> time;