mirror of
https://github.com/devkitPro/wut.git
synced 2026-09-08 11:15:46 -05:00
coreinit/debug: Add documentation to the functions that kill the console (#450)
Some checks failed
C/C++ CI / ubuntu-latest (push) Has been cancelled
Some checks failed
C/C++ CI / ubuntu-latest (push) Has been cancelled
* coreinit/debug: Add documentation to the functions that kill the console * Add `WUT_NORETURN` and apply to relevant functions * Add `OSSetPanicCallback` * Remove `WUT_NORETURN`
This commit is contained in:
@@ -16,6 +16,7 @@ typedef struct OSFatalError OSFatalError;
|
||||
typedef void (*DisassemblyPrintFn)(const char *fmt, ...);
|
||||
|
||||
typedef uint32_t (*DisassemblyFindSymbolFn)(uint32_t addr, char *symbolNameBuf, uint32_t symbolNameBufSize);
|
||||
typedef void (*OSPanicCallback)(void *userData);
|
||||
|
||||
typedef enum DisassemblePPCFlags
|
||||
{
|
||||
@@ -41,8 +42,11 @@ typedef enum OSFatalErrorMessageType
|
||||
struct OSFatalError
|
||||
{
|
||||
OSFatalErrorMessageType messageType;
|
||||
//! Error code, displayed on screen as unsigned, and printed in log as signed
|
||||
uint32_t errorCode;
|
||||
//! See \link OSGetUPID \endlink
|
||||
uint32_t processId;
|
||||
//! Internal error code printed in log
|
||||
uint32_t internalErrorCode;
|
||||
uint32_t line;
|
||||
char functionName[64];
|
||||
@@ -83,7 +87,14 @@ void
|
||||
OSReportWarn(const char *fmt, ...)
|
||||
WUT_FORMAT_PRINTF(1, 2);
|
||||
|
||||
|
||||
/**
|
||||
* Halts the system and logs the cause, traps if debugger is present
|
||||
* \param file name of the file where the panic occurred
|
||||
* \param line position in the file where the panic occurred
|
||||
* \param fmt printf-style format string for logging
|
||||
*
|
||||
* \sa OSSetPanicCallback
|
||||
*/
|
||||
void
|
||||
OSPanic(const char *file,
|
||||
uint32_t line,
|
||||
@@ -91,10 +102,30 @@ OSPanic(const char *file,
|
||||
...)
|
||||
WUT_FORMAT_PRINTF(3, 4);
|
||||
|
||||
/**
|
||||
* Set a callback to be triggered when an \link OSPanic \endlink occurs
|
||||
* \param userData data to pass to the callback
|
||||
*/
|
||||
void
|
||||
OSSetPanicCallback(OSPanicCallback callback,
|
||||
void *userData);
|
||||
|
||||
/**
|
||||
* Displays a message on TV and gamepad screens via OSScreen, and halts the system via \link OSPanic \endlink
|
||||
* \param msg message to be displayed and logged
|
||||
* \sa coreinit_screen
|
||||
*/
|
||||
void
|
||||
OSFatal(const char *msg);
|
||||
|
||||
/**
|
||||
* Switch to the fatal error process ("An error has occured." screen)
|
||||
* \param error structure describing the error
|
||||
* \param functionName function name printed in log
|
||||
* \param line line number printed in log
|
||||
*
|
||||
* The fatal error process displays the error code, firmware version, Wii U model, serial number and status code
|
||||
*/
|
||||
void
|
||||
OSSendFatalError(OSFatalError *error,
|
||||
const char *functionName,
|
||||
|
||||
Reference in New Issue
Block a user