2016-11-28 16:30:49 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "common.h"
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
char name[8];
|
|
|
|
u32 offset;
|
|
|
|
u32 size;
|
2019-07-23 14:09:18 -03:00
|
|
|
} PACKED_STRUCT ExeFsFileHeader;
|
2016-11-28 16:30:49 +01:00
|
|
|
|
|
|
|
// see: https://www.3dbrew.org/wiki/ExeFS
|
|
|
|
typedef struct {
|
|
|
|
ExeFsFileHeader files[10];
|
|
|
|
u8 reserved[0x20];
|
|
|
|
u8 hashes[10][0x20];
|
2019-05-08 00:18:34 +02:00
|
|
|
} __attribute__((packed, aligned(16))) ExeFsHeader;
|
2016-11-28 16:30:49 +01:00
|
|
|
|
|
|
|
u32 ValidateExeFsHeader(ExeFsHeader* exefs, u32 size);
|