2022-06-30 07:30:34 +00:00
|
|
|
#ifndef __GARGOYLE_DELUSION_H_
|
|
|
|
#define __GARGOYLE_DELUSION_H_
|
|
|
|
|
|
|
|
#include <gargoyle/codex.h>
|
|
|
|
|
2022-06-30 08:07:48 +00:00
|
|
|
#define GARGOYLE_MAX_ERR_SZ 256
|
|
|
|
#define GARGOYLE_MAX_FUNC_SZ 33
|
2022-06-30 07:30:34 +00:00
|
|
|
|
|
|
|
struct gargoyle_err {
|
|
|
|
gargoyle_err_type code;
|
|
|
|
int errno;
|
|
|
|
char func[GARGOYLE_MAX_FUNC_SZ];
|
|
|
|
char errno_func[GARGOYLE_MAX_FUNC_SZ];
|
|
|
|
char msg[GARGOYLE_MAX_ERR_SZ];
|
|
|
|
};
|
|
|
|
|
|
|
|
void gargoyle_emit_err(struct gargoyle_err *err);
|
2022-07-01 17:41:50 +00:00
|
|
|
void gargoyle_fill_err(struct gargoyle_err *err, gargoyle_err_type code, int errno_code, const char *func, const char *errno_func, const char *fmt, ...);
|
|
|
|
|
|
|
|
#define GARGOYLE_MK_ERR(err, code, fmt, ...) gargoyle_fill_err(err, code, 0, __func__, NULL, fmt, __VA_ARGS__)
|
2022-07-01 21:33:54 +00:00
|
|
|
#define GARGOYLE_NEW_ERR(err) gargoyle_fill_err(err, 0, 0, __func__, NULL, "")
|
2022-07-01 17:41:50 +00:00
|
|
|
#define GARGOYLE_SYS_ERR(err, code, errno_code, errno_func, fmt, ...) gargoyle_fill_err(err, code, errno_code, __func__, errno_func, fmt, __VA_ARGS__)
|
2022-06-30 07:30:34 +00:00
|
|
|
|
|
|
|
#endif
|