coreinit/launch: Add OSLaunchTitle* functions

This commit is contained in:
GaryOderNichts 2023-01-30 15:24:16 +01:00 committed by fincs
parent 7530dd5818
commit a53d2bda6e

View File

@ -12,15 +12,129 @@
extern "C" {
#endif
/**
* Magic title ID used for launching the current coldboot title.
*/
#define OS_TITLE_ID_COLDBOOT 0xFFFFFFFFFFFFFFFDllu
/**
* Magic title ID used for triggering a full system reboot.
*/
#define OS_TITLE_ID_REBOOT 0xFFFFFFFFFFFFFFFEllu
/**
* Forces a OS relaunch on the next title launch.
*/
void
OSForceFullRelaunch();
/**
* Restarts the currently running title.
*
* \param argc
* The amount of arguments in \p argv.
*
* \param argv
* An array of argument strings.
*/
void
OSRestartGame(int argc, char *argv[]);
OSRestartGame(int argc,
char *argv[]);
/**
* Shuts down the system.
*/
BOOL
OSShutdown();
/**
* Launches a title by path.
*
* \param path
* The path to launch the title from.
*
* \param pathSize
* The size of the path string.
*
* \param argc
* The amount of argument strings.
*
* \param ...
* Argument strings passed to the title as \c argv.
*
* \note
* Prefer using sysapp to launch titles instead.
*/
void
OSLaunchTitleByPathl(const char *path,
uint32_t pathSize,
int argc,
...);
/**
* Launches a title by path.
*
* \param path
* The path to launch the title from.
*
* \param pathSize
* The size of the path string.
*
* \param argc
* The amount of arguments in \p argv.
*
* \param argv
* An array of argument strings.
*
* \note
* Prefer using sysapp to launch titles instead.
*/
void
OSLaunchTitleByPathv(const char *path,
uint32_t pathSize,
int argc,
char *argv[]);
/**
* Launches a title by its title ID.
*
* \param titleId
* The ID of the title to launch.
*
* \param argc
* The amount of argument strings.
*
* \param ...
* Argument strings passed to the title as \c argv.
*
* \note
* Prefer using sysapp to launch titles instead.
*/
void
OSLaunchTitlel(uint64_t titleId,
int argc,
...);
/**
* Launches a title by its title ID.
*
* \param titleId
* The ID of the title to launch.
*
* \param argc
* The amount of arguments in \p argv.
*
* \param argv
* An array of argument strings.
*
* \note
* Prefer using sysapp to launch titles instead.
*/
void
OSLaunchTitlev(uint64_t titleId,
int argc,
char *argv[]);
#ifdef __cplusplus
}
#endif