mirror of
https://github.com/ARMSX2/ARMSX1.git
synced 2026-08-24 16:53:35 -07:00
48 lines
1.4 KiB
C
48 lines
1.4 KiB
C
#ifndef FRONTEND_DIAGNOSTICS_H
|
|
#define FRONTEND_DIAGNOSTICS_H
|
|
|
|
#include <stdarg.h>
|
|
#include <stdio.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef void (*psxe_diag_crash_context_cb)(const char* reason, void* userdata);
|
|
|
|
void psxe_diag_initialize(const char* pref_path);
|
|
void psxe_diag_shutdown(void);
|
|
const char* psxe_diag_log_path(void);
|
|
void psxe_diag_set_enabled(int enabled);
|
|
int psxe_diag_is_enabled(void);
|
|
|
|
void psxe_diag_log_line(const char* source, const char* line);
|
|
void psxe_diag_logf(const char* source, const char* fmt, ...);
|
|
void psxe_diag_vlogf(const char* source, const char* fmt, va_list args);
|
|
|
|
void psxe_diag_breadcrumb_line(const char* line);
|
|
void psxe_diag_breadcrumbf(const char* fmt, ...);
|
|
void psxe_diag_dump_breadcrumbs(void);
|
|
|
|
void psxe_diag_set_crash_context_callback(psxe_diag_crash_context_cb callback, void* userdata);
|
|
void psxe_diag_write_native_stacktrace(void);
|
|
|
|
int psxe_diag_printf(const char* fmt, ...);
|
|
int psxe_diag_fprintf(FILE* stream, const char* fmt, ...);
|
|
int psxe_diag_puts(const char* str);
|
|
int psxe_diag_putc(int ch, FILE* stream);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#if !defined(PSXE_DIAG_STDIO_DISABLE)
|
|
#define printf(...) psxe_diag_printf(__VA_ARGS__)
|
|
#define fprintf(stream, ...) psxe_diag_fprintf((stream), __VA_ARGS__)
|
|
#define puts(str) psxe_diag_puts((str))
|
|
#define putc(ch, stream) psxe_diag_putc((ch), (stream))
|
|
#define fputc(ch, stream) psxe_diag_putc((ch), (stream))
|
|
#endif
|
|
|
|
#endif
|