#pragma once #include #include #include #include namespace nx { // Also known to the public as IVFC namespace hierarchicalintegrity { const std::string kStructSig = "IVFC"; static const uint32_t kRomfsTypeId = 0x20000; static const size_t kDefaultLayerNum = 6; static const size_t kHeaderAlignLen = 0x20; } #pragma pack(push,1) struct sHierarchicalIntegrityHeader { char signature[4]; le_uint32_t type_id; le_uint32_t master_hash_size; le_uint32_t layer_num; }; struct sHierarchicalIntegrityLayerInfo // sizeof(0x18) { le_uint64_t offset; le_uint64_t size; le_uint32_t block_size; byte_t reserved[4]; }; #pragma pack(pop) }