43} loadfile_elf32_ehdr_t;
55} loadfile_elf32_phdr_t;
69} loadfile_elf32_shdr_t;
77 loadfile_elf32_ehdr_t elf_header;
78 loadfile_elf32_phdr_t *program_header;
79 loadfile_elf32_shdr_t *section_headers;
81} loadfile_file_load_handler_struct_t;
89} loadfile_ee_elf_ringbuffer_content_t;
93 int read_buffer_length;
94 int read_buffer_offset;
95 loadfile_ee_elf_ringbuffer_content_t ring_buffer_contents[2];
96 int ring_buffer_index;
98} loadfile_allocate_handler_struct_t;
100typedef int (*loadfile_read_chunk_callback_t)(
int fd, loadfile_allocate_handler_struct_t *allocate_info,
void *read_callback_userdata);
101typedef int (*loadfile_elf_load_proc_callback_t)(loadfile_allocate_handler_struct_t *allocate_info, loadfile_file_load_handler_struct_t *flhs,
void *read_callback_userdata, loadfile_read_chunk_callback_t read_callback);
102typedef int (*loadfile_check_valid_ee_elf_callback_t)(loadfile_allocate_handler_struct_t *allocate_info, loadfile_file_load_handler_struct_t *flhs);
103typedef int (*loadfile_elf_get_program_header_callback_t)(loadfile_allocate_handler_struct_t *allocate_info, loadfile_file_load_handler_struct_t *flhs);
104typedef void *(*loadfile_elf_load_alloc_buffer_from_heap_callback_t)(u32 size);
105typedef void (*loadfile_elf_load_dealloc_buffer_from_heap_callback_t)(
void *buffer);
106typedef int (*loadfile_load_kelf_from_card_callback_t)(loadfile_allocate_handler_struct_t *allocate_info, loadfile_file_load_handler_struct_t *flhs,
int port,
int slot,
int *result_out,
int *result_module_out);
107typedef int (*loadfile_load_kelf_from_disk_callback_t)(loadfile_allocate_handler_struct_t *allocate_info, loadfile_file_load_handler_struct_t *flhs,
int *result_out,
int *result_module_out);
111 loadfile_elf_load_proc_callback_t elf_load_proc;
112 loadfile_check_valid_ee_elf_callback_t check_valid_ee_elf;
113 loadfile_elf_get_program_header_callback_t elf_get_program_header;
114 loadfile_elf_load_alloc_buffer_from_heap_callback_t elf_load_alloc_buffer_from_heap;
115 loadfile_elf_load_dealloc_buffer_from_heap_callback_t elf_load_dealloc_buffer_from_heap;
116 loadfile_load_kelf_from_card_callback_t load_kelf_from_card;
117 loadfile_load_kelf_from_disk_callback_t load_kelf_from_disk;
118} SetLoadfileCallbacks_struct_t;
120typedef void *(*SecrCardBootFile_callback_t)(
int port,
int slot,
void *buffer);
121typedef void *(*SecrDiskBootFile_callback_t)(
void *buffer);
122typedef void (*SetLoadfileCallbacks_callback_t)(SetLoadfileCallbacks_struct_t *callbackinfo);
123typedef int (*CheckKelfPath_callback_t)(
const char *filename,
int *port,
int *slot);
125extern void GetModloadInternalData(
void **pInternalData);
127extern int ReBootStart(
const char *command,
unsigned int flags);
128extern int LoadModuleAddress(
const char *name,
void *addr,
int offset);
129extern int LoadModule(
const char *name);
130extern int LoadStartModule(
const char *name,
int arglen,
const char *args,
int *result);
131extern int StartModule(
int modid,
const char *name,
int arglen,
const char *args,
int *result);
132extern int LoadModuleBufferAddress(
void *buffer,
void *addr,
int offset);
133extern int LoadModuleBuffer(
void *buffer);
134extern int LoadStartKelfModule(
const char *name,
int arglen,
const char *args,
int *result);
135extern void SetSecrmanCallbacks(SecrCardBootFile_callback_t SecrCardBootFile_fnc, SecrDiskBootFile_callback_t SecrDiskBootFile_fnc, SetLoadfileCallbacks_callback_t SetLoadfileCallbacks_fnc);
136extern void SetCheckKelfPathCallback(CheckKelfPath_callback_t CheckKelfPath_fnc);
137extern void GetLoadfileCallbacks(CheckKelfPath_callback_t *CheckKelfPath_fnc, SetLoadfileCallbacks_callback_t *SetLoadfileCallbacks_fnc);
138extern int IsIllegalBootDevice(
const char *path);
140#define modload_IMPORTS_start DECLARE_IMPORT_TABLE(modload, 1, 1)
141#define modload_IMPORTS_end END_IMPORT_TABLE
143#define I_GetModloadInternalData DECLARE_IMPORT(3, GetModloadInternalData);
144#define I_ReBootStart DECLARE_IMPORT(4, ReBootStart)
145#define I_LoadModuleAddress DECLARE_IMPORT(5, LoadModuleAddress)
146#define I_LoadModule DECLARE_IMPORT(6, LoadModule)
147#define I_LoadStartModule DECLARE_IMPORT(7, LoadStartModule)
148#define I_StartModule DECLARE_IMPORT(8, StartModule)
149#define I_LoadModuleBufferAddress DECLARE_IMPORT(9, LoadModuleBufferAddress)
150#define I_LoadModuleBuffer DECLARE_IMPORT(10, LoadModuleBuffer)
151#define I_LoadStartKelfModule DECLARE_IMPORT(11, LoadStartKelfModule)
152#define I_SetSecrmanCallbacks DECLARE_IMPORT(12, SetSecrmanCallbacks)
153#define I_SetCheckKelfPathCallback DECLARE_IMPORT(13, SetCheckKelfPathCallback)
154#define I_GetLoadfileCallbacks DECLARE_IMPORT(14, GetLoadfileCallbacks)
155#define I_IsIllegalBootDevice DECLARE_IMPORT(15, IsIllegalBootDevice)