mirror of
https://github.com/devkitPro/wut.git
synced 2026-08-12 20:56:21 -05:00
coreinit/debug: Add OSSendFatalError
Some checks failed
C/C++ CI / ubuntu-latest (push) Has been cancelled
Some checks failed
C/C++ CI / ubuntu-latest (push) Has been cancelled
This commit is contained in:
@@ -11,6 +11,8 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct OSFatalError OSFatalError;
|
||||
|
||||
typedef void (*DisassemblyPrintFn)(const char *fmt, ...);
|
||||
|
||||
typedef uint32_t (*DisassemblyFindSymbolFn)(uint32_t addr, char *symbolNameBuf, uint32_t symbolNameBufSize);
|
||||
@@ -20,6 +22,39 @@ typedef enum DisassemblePPCFlags
|
||||
DISASSEMBLE_PPC_FLAGS_NONE = 0,
|
||||
} DisassemblePPCFlags;
|
||||
|
||||
typedef enum OSFatalErrorMessageType
|
||||
{
|
||||
OS_FATAL_ERROR_UNKOWN = 0,
|
||||
OS_FATAL_ERROR_GENERAL = 1,
|
||||
|
||||
//! These are only valid for errorCode 1600200 - 1609999
|
||||
OS_FATAL_ERROR_CORRUPTION = 2,
|
||||
OS_FATAL_ERROR_FATAL_SYSTEM_OR_USB = 3,
|
||||
OS_FATAL_ERROR_CORRUPTION_SLC = 4,
|
||||
OS_FATAL_ERROR_CORRUPTION_USB = 5,
|
||||
OS_FATAL_ERROR_STORAGE_REMOVED = 6,
|
||||
OS_FATAL_ERROR_DISC_REMOVED = 7,
|
||||
OS_FATAL_ERROR_CORRUPTION_DISC = 8,
|
||||
OS_FATAL_ERROR_WRITE_PROTECT = 9,
|
||||
} OSFatalErrorMessageType;
|
||||
|
||||
struct OSFatalError
|
||||
{
|
||||
OSFatalErrorMessageType messageType;
|
||||
uint32_t errorCode;
|
||||
uint32_t processId;
|
||||
uint32_t internalErrorCode;
|
||||
uint32_t line;
|
||||
char functionName[64];
|
||||
WUT_UNKNOWN_BYTES(0x80);
|
||||
};
|
||||
WUT_CHECK_OFFSET(OSFatalError, 0x00, messageType);
|
||||
WUT_CHECK_OFFSET(OSFatalError, 0x04, errorCode);
|
||||
WUT_CHECK_OFFSET(OSFatalError, 0x08, processId);
|
||||
WUT_CHECK_OFFSET(OSFatalError, 0x0C, internalErrorCode);
|
||||
WUT_CHECK_OFFSET(OSFatalError, 0x10, line);
|
||||
WUT_CHECK_OFFSET(OSFatalError, 0x14, functionName);
|
||||
WUT_CHECK_SIZE(OSFatalError, 0xD4);
|
||||
|
||||
void
|
||||
OSConsoleWrite(const char *msg,
|
||||
@@ -54,6 +89,10 @@ OSPanic(const char *file,
|
||||
void
|
||||
OSFatal(const char *msg);
|
||||
|
||||
void
|
||||
OSSendFatalError(OSFatalError *error,
|
||||
const char *functionName,
|
||||
uint32_t line);
|
||||
|
||||
uint32_t
|
||||
OSGetSymbolName(uint32_t addr,
|
||||
|
||||
Reference in New Issue
Block a user