|
|
@ -13,8 +13,8 @@ enum class ApplicationRecordType : u8 { |
|
|
Installing = 2, |
|
|
Installing = 2, |
|
|
Installed = 3, |
|
|
Installed = 3, |
|
|
GameCardNotInserted = 5, |
|
|
GameCardNotInserted = 5, |
|
|
Archived = 0xB, |
|
|
|
|
|
GameCard = 0x10, |
|
|
|
|
|
|
|
|
Archived = 11, |
|
|
|
|
|
GameCard = 16, |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
enum class ApplicationControlSource : u8 { |
|
|
enum class ApplicationControlSource : u8 { |
|
|
@ -37,31 +37,34 @@ struct ApplicationRecord { |
|
|
u8 unknown2; |
|
|
u8 unknown2; |
|
|
INSERT_PADDING_BYTES_NOINIT(0x7); |
|
|
INSERT_PADDING_BYTES_NOINIT(0x7); |
|
|
}; |
|
|
}; |
|
|
static_assert(sizeof(ApplicationRecord) == 0x18, "ApplicationRecord is an invalid size"); |
|
|
|
|
|
|
|
|
static_assert(sizeof(ApplicationRecord) == 0x18, "ApplicationRecord has incorrect size."); |
|
|
|
|
|
|
|
|
/// ApplicationView |
|
|
/// ApplicationView |
|
|
struct ApplicationView { |
|
|
struct ApplicationView { |
|
|
u64 application_id; ///< ApplicationId. |
|
|
|
|
|
u32 unk; ///< Unknown. |
|
|
|
|
|
u32 flags; ///< Flags. |
|
|
|
|
|
u8 unk_x10[0x10]; ///< Unknown. |
|
|
|
|
|
u32 unk_x20; ///< Unknown. |
|
|
|
|
|
u16 unk_x24; ///< Unknown. |
|
|
|
|
|
u8 unk_x26[0x2]; ///< Unknown. |
|
|
|
|
|
u8 unk_x28[0x8]; ///< Unknown. |
|
|
|
|
|
u8 unk_x30[0x10]; ///< Unknown. |
|
|
|
|
|
u32 unk_x40; ///< Unknown. |
|
|
|
|
|
u8 unk_x44; ///< Unknown. |
|
|
|
|
|
u8 unk_x45[0xb]; ///< Unknown. |
|
|
|
|
|
|
|
|
u64 application_id; ///< ApplicationId. |
|
|
|
|
|
u32 unk; ///< Unknown. |
|
|
|
|
|
u32 flags; ///< Flags. |
|
|
|
|
|
std::array<u8, 0x10> unk_x10; ///< Unknown. |
|
|
|
|
|
u32 unk_x20; ///< Unknown. |
|
|
|
|
|
u16 unk_x24; ///< Unknown. |
|
|
|
|
|
std::array<u8, 0x2> unk_x26; ///< Unknown. |
|
|
|
|
|
std::array<u8, 0x8> unk_x28; ///< Unknown. |
|
|
|
|
|
std::array<u8, 0x10> unk_x30; ///< Unknown. |
|
|
|
|
|
u32 unk_x40; ///< Unknown. |
|
|
|
|
|
u8 unk_x44; ///< Unknown. |
|
|
|
|
|
std::array<u8, 0xb> unk_x45; ///< Unknown. |
|
|
}; |
|
|
}; |
|
|
|
|
|
static_assert(sizeof(ApplicationView) == 0x50, "ApplicationView has incorrect size."); |
|
|
|
|
|
|
|
|
struct ApplicationRightsOnClient { |
|
|
struct ApplicationRightsOnClient { |
|
|
u64 application_id; |
|
|
u64 application_id; |
|
|
Common::UUID uid; |
|
|
Common::UUID uid; |
|
|
u8 flags; |
|
|
u8 flags; |
|
|
u8 flags2; |
|
|
u8 flags2; |
|
|
INSERT_PADDING_BYTES(0x6); |
|
|
|
|
|
|
|
|
INSERT_PADDING_BYTES_NOINIT(0x6); |
|
|
}; |
|
|
}; |
|
|
|
|
|
static_assert(sizeof(ApplicationRightsOnClient) == 0x20, |
|
|
|
|
|
"ApplicationRightsOnClient has incorrect size."); |
|
|
|
|
|
|
|
|
/// NsPromotionInfo |
|
|
/// NsPromotionInfo |
|
|
struct PromotionInfo { |
|
|
struct PromotionInfo { |
|
|
@ -74,12 +77,15 @@ struct PromotionInfo { |
|
|
///< remaining_time is set. |
|
|
///< remaining_time is set. |
|
|
INSERT_PADDING_BYTES_NOINIT(0x3); |
|
|
INSERT_PADDING_BYTES_NOINIT(0x3); |
|
|
}; |
|
|
}; |
|
|
|
|
|
static_assert(sizeof(PromotionInfo) == 0x20, "PromotionInfo has incorrect size."); |
|
|
|
|
|
|
|
|
/// NsApplicationViewWithPromotionInfo |
|
|
/// NsApplicationViewWithPromotionInfo |
|
|
struct ApplicationViewWithPromotionInfo { |
|
|
struct ApplicationViewWithPromotionInfo { |
|
|
ApplicationView view; ///< \ref NsApplicationView |
|
|
ApplicationView view; ///< \ref NsApplicationView |
|
|
PromotionInfo promotion; ///< \ref NsPromotionInfo |
|
|
PromotionInfo promotion; ///< \ref NsPromotionInfo |
|
|
}; |
|
|
}; |
|
|
|
|
|
static_assert(sizeof(ApplicationViewWithPromotionInfo) == 0x70, |
|
|
|
|
|
"ApplicationViewWithPromotionInfo has incorrect size."); |
|
|
|
|
|
|
|
|
struct ApplicationOccupiedSizeEntity { |
|
|
struct ApplicationOccupiedSizeEntity { |
|
|
FileSys::StorageId storage_id; |
|
|
FileSys::StorageId storage_id; |
|
|
@ -93,10 +99,13 @@ static_assert(sizeof(ApplicationOccupiedSizeEntity) == 0x20, |
|
|
struct ApplicationOccupiedSize { |
|
|
struct ApplicationOccupiedSize { |
|
|
std::array<ApplicationOccupiedSizeEntity, 4> entities; |
|
|
std::array<ApplicationOccupiedSizeEntity, 4> entities; |
|
|
}; |
|
|
}; |
|
|
|
|
|
static_assert(sizeof(ApplicationOccupiedSize) == 0x80, |
|
|
|
|
|
"ApplicationOccupiedSize has incorrect size."); |
|
|
|
|
|
|
|
|
struct ContentPath { |
|
|
struct ContentPath { |
|
|
u8 file_system_proxy_type; |
|
|
u8 file_system_proxy_type; |
|
|
u64 program_id; |
|
|
u64 program_id; |
|
|
}; |
|
|
}; |
|
|
|
|
|
static_assert(sizeof(ContentPath) == 0x10, "ContentPath has incorrect size."); |
|
|
|
|
|
|
|
|
} // namespace Service::NS |
|
|
} // namespace Service::NS |