#pragma once #include #include #include #include namespace ctrff { class NCCH : public BinFile { public: NCCH() {} ~NCCH() {} PD::u8 Sig[0x100]; PD::u32 Magic; PD::u32 ContentLen; // 1 (Media Unit) = 0x200 bytes PD::u64 PartitionID; PD::u16 MarkerCode; PD::u16 Version; PD::u32 Wtf; PD::u64 ProgramID; PD::u8 Reserved[0x10]; PD::u8 LogoHash[0x20]; // Firm 5.0.0-11+ PD::u8 ProdCode[0x10]; PD::u8 ExHeaderHash[0x20]; PD::u32 ExHeaderLen; PD::u32 Reserved1; PD::u64 Flags; PD::u32 PlainRegionOff; // In Media Units PD::u32 PlainRegionSize; PD::u32 LogoRegionOff; PD::u32 LogoRegionSize; PD::u32 ExeFsOff; PD::u32 ExeFsSize; PD::u32 ExeFsHashRegionSize; PD::u32 Reserved2; PD::u32 RomFsOff; PD::u32 RomFsSize; PD::u32 RomFsHashRegionSize; PD::u32 Reserved; PD::u8 ExeFsSuperBlockHash[0x20]; PD::u8 RomFsSuperBlockHash[0x20]; }; } // namespace ctrff