mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-02 21:11:17 +12:00
40 lines
1,022 B
C++
40 lines
1,022 B
C++
#pragma once
|
|
|
|
struct romfs_header_t
|
|
{
|
|
uint32 header_magic;
|
|
uint32be header_size;
|
|
uint64be dir_hash_table_ofs;
|
|
uint64be dir_hash_table_size;
|
|
uint64be dir_table_ofs;
|
|
uint64be dir_table_size;
|
|
uint64be file_hash_table_ofs;
|
|
uint64be file_hash_table_size;
|
|
uint64be file_table_ofs;
|
|
uint64be file_table_size;
|
|
uint64be file_partition_ofs;
|
|
};
|
|
|
|
struct romfs_direntry_t
|
|
{
|
|
uint32be parent;
|
|
uint32be listNext; // offset to next directory entry in linked list of parent directory (aka "sibling")
|
|
uint32be dirListHead; // offset to first entry in linked list of directory entries (aka "child")
|
|
uint32be fileListHead; // offset to first entry in linked list of file entries (aka "file")
|
|
uint32be hash;
|
|
uint32be name_size;
|
|
std::string name;
|
|
};
|
|
|
|
struct romfs_fentry_t
|
|
{
|
|
uint32be parent;
|
|
uint32be listNext; // offset to next file entry in linked list of parent directory (aka "sibling")
|
|
uint64be offset;
|
|
uint64be size;
|
|
uint32be hash;
|
|
uint32be name_size;
|
|
std::string name;
|
|
};
|
|
|
|
#define ROMFS_ENTRY_EMPTY 0xFFFFFFFF
|