38 lines
849 B
C
38 lines
849 B
C
|
#pragma once
|
||
|
#include <3ds/types.h>
|
||
|
#include "ifile.h"
|
||
|
|
||
|
#define _3GX_MAGIC (0x3130303024584733) /* "3GX$0001" */
|
||
|
|
||
|
typedef struct PACKED
|
||
|
{
|
||
|
u32 authorLen;
|
||
|
const char * authorMsg;
|
||
|
u32 titleLen;
|
||
|
const char * titleMsg;
|
||
|
u32 summaryLen;
|
||
|
const char * summaryMsg;
|
||
|
u32 descriptionLen;
|
||
|
const char * descriptionMsg;
|
||
|
} _3gx_Infos;
|
||
|
|
||
|
typedef struct PACKED
|
||
|
{
|
||
|
u32 count;
|
||
|
u32 * titles;
|
||
|
} _3gx_Targets;
|
||
|
|
||
|
typedef struct PACKED
|
||
|
{
|
||
|
u64 magic;
|
||
|
u32 version;
|
||
|
u32 codeSize;
|
||
|
u32 * code;
|
||
|
_3gx_Infos infos;
|
||
|
_3gx_Targets targets;
|
||
|
} _3gx_Header;
|
||
|
|
||
|
|
||
|
Result Read_3gx_Header(IFile *file, _3gx_Header *header);
|
||
|
Result Read_3gx_Code(IFile *file, _3gx_Header *header, void *dst);
|