SSBM Decomp
Loading...
Searching...
No Matches
debug.h
Go to the documentation of this file.
1#ifndef SYSDOLPHIN_BASELIB_DEBUG_H
2#define SYSDOLPHIN_BASELIB_DEBUG_H
3
4#include <Runtime/platform.h>
5
6#include <dolphin/os.h> // IWYU pragma: keep
7
8typedef void (*ReportCallback)(const unsigned char*, size_t);
9typedef void (*PanicCallback)(OSContext*, ...);
10
11ATTRIBUTE_NORETURN void __assert(char*, u32, char*);
12
13void HSD_LogInit(void);
14ATTRIBUTE_NORETURN void HSD_Panic(char*, u32, char*);
15
17#ifdef MUST_MATCH
18#define HSD_ASSERT(line, cond) \
19 ((cond) ? ((void) 0) : __assert(__FILE__, line, #cond))
20#define HSD_ASSERTMSG(line, cond, msg) \
21 ((cond) ? ((void) 0) : __assert(__FILE__, line, msg))
22#define HSD_ASSERTREPORT(line, cond, ...) \
23 ((cond) ? (void) 0 \
24 : (OSReport(__VA_ARGS__), __assert(__FILE__, line, #cond)))
25#else
26#define HSD_ASSERT(line, cond) \
27 ((cond) ? ((void) 0) : __assert(__FILE__, __LINE__, #cond))
28#define HSD_ASSERTMSG(line, cond, msg) \
29 ((cond) ? ((void) 0) : __assert(__FILE__, __LINE__, msg))
30#define HSD_ASSERTREPORT(line, cond, ...) \
31 ((cond) ? (void) 0 \
32 : (OSReport(__VA_ARGS__), __assert(__FILE__, __LINE__, #cond)))
33#endif
34
37
38#endif
ATTRIBUTE_NORETURN void HSD_Panic(char *, u32, char *)
Definition debug.c:45
void(* PanicCallback)(OSContext *,...)
Definition debug.h:9
void HSD_SetReportCallback(ReportCallback cb)
Definition debug.c:55
void HSD_LogInit(void)
Definition debug.c:30
ATTRIBUTE_NORETURN void __assert(char *, u32, char *)
Definition debug.c:39
void(* ReportCallback)(const unsigned char *, size_t)
Definition debug.h:8
void HSD_SetPanicCallback(PanicCallback cb)
Definition debug.c:60
unsigned long u32
Definition types.h:9
#define ATTRIBUTE_NORETURN
Definition platform.h:94
unsigned long size_t
Definition stddef.h:6
Definition OSContext.h:138