diff options
author | Subv <subv2112@gmail.com> | 2015-02-27 03:13:08 +0100 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2015-03-04 03:48:08 +0100 |
commit | 83a8975cb89b908b4737d647a210c19775f25ed7 (patch) | |
tree | 53fd0e37dcab9c3a5328338273315b159381d949 /src/core/hle/service/ptm/ptm.h | |
parent | Merge pull request #622 from Subv/titles (diff) | |
download | yuzu-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.h | 65 |
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 |