1
0
Fork 0
mirror of https://github.com/Atmosphere-NX/Atmosphere.git synced 2024-11-05 19:51:45 +00:00
Atmosphere/fusee/fusee-secondary/src/loader.h
2018-04-26 04:47:22 -06:00

41 lines
No EOL
978 B
C

#ifndef FUSEE_LOADER_H
#define FUSEE_LOADER_H
#include "utils.h"
typedef void (*entrypoint_t)(int argc, void **argv);
typedef struct {
char path[0x300];
const char *key;
uintptr_t load_address;
size_t load_size;
} load_file_t;
typedef struct {
const char *bct0;
entrypoint_t chainload_entrypoint;
load_file_t package2_loadfile;
load_file_t exosphere_loadfile;
load_file_t tsecfw_loadfile;
load_file_t warmboot_loadfile;
char custom_splash_path[0x300];
} loader_ctx_t;
#define LOADER_ENTRYPOINT_KEY "entrypoint"
#define LOADER_LOADLIST_KEY "loadlist"
#define LOADER_CUSTOMSPLASH_KEY "custom_splash"
#define LOADER_PACKAGE2_KEY "package2"
#define LOADER_EXOSPHERE_KEY "exosphere"
#define LOADER_TSECFW_KEY "tsecfw"
#define LOADER_WARMBOOT_KEY "warmboot"
/* TODO: Should we allow files bigger than 16 MB? */
#define LOADER_FILESIZE_MAX 0x01000000
loader_ctx_t *get_loader_ctx(void);
void load_payload(const char *bct0);
#endif