2025-02-10 11:20:42 -08:00
|
|
|
#ifndef _DOLPHIN_OSEXEC_H_
|
|
|
|
|
#define _DOLPHIN_OSEXEC_H_
|
2021-03-28 22:49:05 +02:00
|
|
|
|
2025-02-10 11:20:42 -08:00
|
|
|
#include <dolphin/types.h>
|
2021-03-28 22:49:05 +02:00
|
|
|
|
2022-08-30 14:22:17 -07:00
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
2023-11-27 11:00:11 +02:00
|
|
|
typedef struct {
|
2025-02-10 11:20:42 -08:00
|
|
|
BOOL valid;
|
|
|
|
|
u32 restartCode;
|
|
|
|
|
u32 bootDol;
|
|
|
|
|
void* regionStart;
|
|
|
|
|
void* regionEnd;
|
|
|
|
|
int argsUseDefault;
|
|
|
|
|
void* argsAddr;
|
2023-11-27 11:00:11 +02:00
|
|
|
} 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*);
|
|
|
|
|
|
2025-02-10 11:20:42 -08:00
|
|
|
OSExecParams* __OSExecParams AT_ADDRESS(0x800030F0);
|
|
|
|
|
s32 __OSAppLoaderOffset AT_ADDRESS(0x800030F4);
|
|
|
|
|
|
|
|
|
|
void OSExecv(const char* dolfile, const char** argv);
|
|
|
|
|
void OSExecl(const char* dolfile, const char* arg0, ...);
|
2022-08-30 14:22:17 -07:00
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
2025-02-10 11:20:42 -08:00
|
|
|
}
|
2022-08-30 14:22:17 -07:00
|
|
|
#endif
|
|
|
|
|
|
2025-02-10 11:20:42 -08:00
|
|
|
#endif
|