Commit | Line | Data |
---|---|---|
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 |
8 | typedef struct { |
9 | char *msg; | |
10 | int code; | |
11 | } i_errmsg; | |
12 | ||
af070d99 TC |
13 | typedef void (*i_error_cb)(int code, char const *msg); |
14 | typedef void (*i_failed_cb)(i_errmsg *msgs); | |
15 | extern i_error_cb i_set_error_cb(i_error_cb); | |
16 | extern i_failed_cb i_set_failed_cb(i_failed_cb); | |
17 | extern void i_set_argv0(char const *); | |
18 | extern int i_set_errors_fatal(int new_fatal); | |
d03fd5a4 | 19 | extern i_errmsg *i_errors(void); |
af070d99 | 20 | |
d03fd5a4 | 21 | extern void i_push_error(int code, char const *msg); |
8d14daab | 22 | extern void i_push_errorf(int code, char const *fmt, ...) I_FORMAT_ATTR(2, 3); |
d03fd5a4 TC |
23 | extern void i_push_errorvf(int code, char const *fmt, va_list); |
24 | extern void i_clear_error(void); | |
af070d99 TC |
25 | extern int i_failed(int code, char const *msg); |
26 | ||
27 | #endif |