summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/ptm/ptm.h
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2015-02-27 03:13:08 +0100
committerSubv <subv2112@gmail.com>2015-03-04 03:48:08 +0100
commit83a8975cb89b908b4737d647a210c19775f25ed7 (patch)
tree53fd0e37dcab9c3a5328338273315b159381d949 /src/core/hle/service/ptm/ptm.h
parentMerge pull request #622 from Subv/titles (diff)
downloadyuzu-83a8975cb89b908b4737d647a210c19775f25ed7.tar
yuzu-83a8975cb89b908b4737d647a210c19775f25ed7.tar.gz
yuzu-83a8975cb89b908b4737d647a210c19775f25ed7.tar.bz2
yuzu-83a8975cb89b908b4737d647a210c19775f25ed7.tar.lz
yuzu-83a8975cb89b908b4737d647a210c19775f25ed7.tar.xz
yuzu-83a8975cb89b908b4737d647a210c19775f25ed7.tar.zst
yuzu-83a8975cb89b908b4737d647a210c19775f25ed7.zip
Diffstat (limited to 'src/core/hle/service/ptm/ptm.h')
-rw-r--r--src/core/hle/service/ptm/ptm.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/core/hle/service/ptm/ptm.h b/src/core/hle/service/ptm/ptm.h
new file mode 100644
index 000000000..f697aae4d
--- /dev/null
+++ b/src/core/hle/service/ptm/ptm.h
@@ -0,0 +1,65 @@
+// Copyright 2015 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <array>
+#include "core/hle/result.h"
+
+namespace Service {
+namespace PTM {
+
+/// Charge levels used by PTM functions
+enum class ChargeLevels : u32 {
+ CriticalBattery = 1,
+ LowBattery = 2,
+ HalfFull = 3,
+ MostlyFull = 4,
+ CompletelyFull = 5,
+};
+
+/**
+ * Represents the gamecoin file structure in the SharedExtData archive
+ * More information in 3dbrew (http://www.3dbrew.org/wiki/Extdata#Shared_Extdata_0xf000000b_gamecoin.dat)
+ */
+struct GameCoin {
+ u32 magic; ///< Magic number: 0x4F00
+ u16 total_coins; ///< Total Play Coins
+ u16 total_coins_on_date; ///< Total Play Coins obtained on the date stored below.
+ u32 step_count; ///< Total step count at the time a new Play Coin was obtained.
+ u32 last_step_count; ///< Step count for the day the last Play Coin was obtained
+ u16 year;
+ u8 month;
+ u8 day;
+};
+
+/**
+ * Returns whether the battery is charging or not.
+ * It is unknown if GetAdapterState is the same as GetBatteryChargeState,
+ * it is likely to just be a duplicate function of GetBatteryChargeState
+ * that controls another part of the HW.
+ * @returns 1 if the battery is charging, and 0 otherwise.
+ */
+u32 GetAdapterState();
+
+/**
+ * Returns whether the 3DS's physical shell casing is open or closed
+ * @returns 1 if the shell is open, and 0 if otherwise
+ */
+u32 GetShellState();
+
+/**
+ * Get the current battery's charge level.
+ * @returns The battery's charge level.
+ */
+ChargeLevels GetBatteryLevel();
+
+/// Initialize the PTM service
+void PTMInit();
+
+/// Shutdown the PTM service
+void PTMShutdown();
+
+} // namespace PTM
+} // namespace Service