WIP context objects
[imager.git] / imerror.h
CommitLineData
af070d99
TC
1#ifndef IMAGER_IMERROR_H
2#define IMAGER_IMERROR_H
3
4/* error handling
5 see error.c for documentation
6 the error information is currently global
7*/
d03fd5a4
TC
8typedef struct {
9 char *msg;
10 int code;
11} i_errmsg;
12
af070d99
TC
13typedef void (*i_error_cb)(int code, char const *msg);
14typedef void (*i_failed_cb)(i_errmsg *msgs);
15extern i_error_cb i_set_error_cb(i_error_cb);
16extern i_failed_cb i_set_failed_cb(i_failed_cb);
17extern void i_set_argv0(char const *);
18extern int i_set_errors_fatal(int new_fatal);
d03fd5a4 19extern i_errmsg *i_errors(void);
af070d99 20
d03fd5a4 21extern void i_push_error(int code, char const *msg);
8d14daab 22extern void i_push_errorf(int code, char const *fmt, ...) I_FORMAT_ATTR(2, 3);
d03fd5a4
TC
23extern void i_push_errorvf(int code, char const *fmt, va_list);
24extern void i_clear_error(void);
af070d99
TC
25extern int i_failed(int code, char const *msg);
26
27#endif