2021-03-28 22:49:05 +02:00
|
|
|
#ifndef OSEXEC_H
|
|
|
|
|
#define OSEXEC_H
|
|
|
|
|
|
|
|
|
|
#include "dolphin/types.h"
|
|
|
|
|
|
2022-08-30 14:22:17 -07:00
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
2023-11-27 11:00:11 +02:00
|
|
|
typedef struct {
|
|
|
|
|
/* 0x00 */ BOOL valid;
|
|
|
|
|
/* 0x04 */ u32 restartCode;
|
|
|
|
|
/* 0x08 */ u32 bootDol;
|
|
|
|
|
/* 0x0C */ void* regionStart;
|
|
|
|
|
/* 0x10 */ void* regionEnd;
|
|
|
|
|
/* 0x18 */ BOOL argsUseDefault;
|
|
|
|
|
/* 0x14 */ void* argsAddr; // valid only when argsUseDefault = FALSE
|
|
|
|
|
} OSExecParams;
|
|
|
|
|
|
2024-10-10 07:29:58 -07:00
|
|
|
typedef int (*appGetNextCallback)(void*, u32*, u32*);
|
|
|
|
|
typedef void (*appInitCallback)(void (*)(char*));
|
|
|
|
|
typedef void* (*appGetEntryCallback)();
|
|
|
|
|
typedef void (*AppLoaderCallback)(appInitCallback*, appGetNextCallback*, appGetEntryCallback*);
|
|
|
|
|
|
2023-11-27 11:00:11 +02:00
|
|
|
void __OSGetExecParams(OSExecParams* param_0);
|
2024-10-10 07:29:58 -07:00
|
|
|
void __OSBootDolSimple(u32 doloffset, u32 restartCode, void* regionStart, void* regionEnd, BOOL argsUseDefault, s32 argc, char** argv);
|
|
|
|
|
void __OSBootDol(u32 doloffset, u32 restartCode, const char** argv);
|
2022-08-30 14:22:17 -07:00
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
};
|
|
|
|
|
#endif
|
|
|
|
|
|
2021-03-28 22:49:05 +02:00
|
|
|
#endif /* OSEXEC_H */
|