41 lines
915 B
C
41 lines
915 B
C
#ifndef REPORT_H
|
|
#define REPORT_H
|
|
|
|
#define REPORT_GENERIC 1
|
|
#define REPORT_WARNING 2
|
|
#define REPORT_ERROR 4
|
|
#define REPORT_SEVERE 8
|
|
#define REPORT_DEBUG 16
|
|
#define REPORT_NIL 32
|
|
#define REPORT_ALL REPORT_GENERIC|REPORT_WARNING|REPORT_ERROR|REPORT_SEVERE|REPORT_DEBUG|REPORT_NIL
|
|
#define REPORT_NORMAL REPORT_ERROR|REPORT_SEVERE
|
|
|
|
#define GENERIC 0
|
|
#define WARNING 1
|
|
#define ERROR 2
|
|
#define SEVERE 3
|
|
#define DEBUG 4
|
|
#define NIL 5
|
|
extern char severity_names[][4];
|
|
extern int severity_levels[];
|
|
|
|
struct Report* reports[128];
|
|
extern int report_count;
|
|
|
|
void (*doReport)(const char *message, ...);
|
|
|
|
extern int report_level;
|
|
|
|
struct ReportEntry {
|
|
int severity; // DEFAULT, WARNING, ERROR, etc.
|
|
char *context;
|
|
char *message;
|
|
};
|
|
|
|
// Breaking my own syntax here, with a function name as a var name, but w/e
|
|
void report(int severity, const char *context, const char *message, ...);
|
|
|
|
int setReportLevel(int flags);
|
|
|
|
#endif
|