aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/set/set_sys.h
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-11-26 09:49:53 -0500
committerGitHub <noreply@github.com>2023-11-26 09:49:53 -0500
commit257a1c884d078f84e8ce7c240eefeb123e6bae75 (patch)
treef3b0842f7f44917d6df5f6f2feef2b83c781fe6c /src/core/hle/service/set/set_sys.h
parentc100d7e802b6a5d2f6b21d9f4bbe4b155a7d576b (diff)
parent2d4e7c826422fdbfa7e0ba837ab65f58801e3251 (diff)
Merge pull request #12156 from german77/firmwarevs
yuzu: Display firmware version
Diffstat (limited to 'src/core/hle/service/set/set_sys.h')
-rw-r--r--src/core/hle/service/set/set_sys.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/core/hle/service/set/set_sys.h b/src/core/hle/service/set/set_sys.h
index 93023c6dd..5f770fd32 100644
--- a/src/core/hle/service/set/set_sys.h
+++ b/src/core/hle/service/set/set_sys.h
@@ -4,6 +4,7 @@
#pragma once
#include "common/uuid.h"
+#include "core/hle/result.h"
#include "core/hle/service/service.h"
#include "core/hle/service/time/clock_types.h"
@@ -12,6 +13,29 @@ class System;
}
namespace Service::Set {
+enum class LanguageCode : u64;
+enum class GetFirmwareVersionType {
+ Version1,
+ Version2,
+};
+
+struct FirmwareVersionFormat {
+ u8 major;
+ u8 minor;
+ u8 micro;
+ INSERT_PADDING_BYTES(1);
+ u8 revision_major;
+ u8 revision_minor;
+ INSERT_PADDING_BYTES(2);
+ std::array<char, 0x20> platform;
+ std::array<u8, 0x40> version_hash;
+ std::array<char, 0x18> display_version;
+ std::array<char, 0x80> display_title;
+};
+static_assert(sizeof(FirmwareVersionFormat) == 0x100, "FirmwareVersionFormat is an invalid size");
+
+Result GetFirmwareVersionImpl(FirmwareVersionFormat& out_firmware, Core::System& system,
+ GetFirmwareVersionType type);
class SET_SYS final : public ServiceFramework<SET_SYS> {
public: