SSBM Decomp
Loading...
Searching...
No Matches
archive.h
Go to the documentation of this file.
1#ifndef _archive_h_
2#define _archive_h_
3
4#include <platform.h>
5
6#include "baselib/forward.h" // IWYU pragma: export
7
8#define HSD_ARCHIVE_DONT_FREE 1
9
11 u32 file_size; /* 0x00 */
12 u32 data_size; /* 0x04 */
13 u32 nb_reloc; /* 0x08 */
14 u32 nb_public; /* 0x0C */
15 u32 nb_extern; /* 0x10 */
16 u8 version[4]; /* 0x14 */
17 u32 pad[2]; /* 0x18 */
18};
19STATIC_ASSERT(sizeof(struct HSD_ArchiveHeader) == 0x20);
20
24
26 u32 offset; /* 0x00 */
27 u32 symbol; /* 0x04 */
28};
29
31 u32 offset; /* 0x00 */
32 u32 symbol; /* 0x04 */
33};
34
37 u8* data; /* 0x20 */
41 char* symbols; /* 0x30 */
42 HSD_Archive* next; /* 0x34 */
43 char* name; /* 0x38 */
44 u32 flags; /* 0x3C */
45 void* top_ptr; /* 0x40 */
46};
47STATIC_ASSERT(sizeof(struct HSD_Archive) == 0x44);
48
49s32 HSD_ArchiveParse(HSD_Archive*, u8*, size_t file_size);
50void* HSD_ArchiveGetPublicAddress(HSD_Archive*, const char*);
52void HSD_ArchiveLocateExtern(HSD_Archive*, const char*, void*);
53
54#endif
void HSD_ArchiveLocateExtern(HSD_Archive *, const char *, void *)
Definition archive.c:93
char * HSD_ArchiveGetExtern(HSD_Archive *, int)
Definition archive.c:84
s32 HSD_ArchiveParse(HSD_Archive *, u8 *, size_t file_size)
Definition archive.c:17
void * HSD_ArchiveGetPublicAddress(HSD_Archive *, const char *)
Definition archive.c:67
unsigned long u32
Definition types.h:9
signed long s32
Definition hsd_3B2B.h:1
unsigned char u8
Definition hsd_3B2B.h:2
#define STATIC_ASSERT(cond)
Definition platform.h:132
Definition archive.h:30
u32 symbol
Definition archive.h:32
u32 offset
Definition archive.h:31
Definition archive.h:10
u32 pad[2]
Definition archive.h:17
u32 nb_reloc
Definition archive.h:13
u32 nb_extern
Definition archive.h:15
u32 data_size
Definition archive.h:12
u8 version[4]
Definition archive.h:16
u32 nb_public
Definition archive.h:14
u32 file_size
Definition archive.h:11
Definition archive.h:25
u32 offset
Definition archive.h:26
u32 symbol
Definition archive.h:27
Definition archive.h:21
u32 offset
Definition archive.h:22
Definition archive.h:35
u32 flags
Definition archive.h:44
HSD_ArchiveRelocationInfo * reloc_info
Definition archive.h:38
HSD_ArchiveExternInfo * extern_info
Definition archive.h:40
HSD_ArchivePublicInfo * public_info
Definition archive.h:39
u8 * data
Definition archive.h:37
char * symbols
Definition archive.h:41
HSD_Archive * next
Definition archive.h:42
void * top_ptr
Definition archive.h:45
HSD_ArchiveHeader header
Definition archive.h:36
char * name
Definition archive.h:43