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 | |
696cb85d TC |
21 | extern void im_push_error(pIMCTX, int code, char const *msg); |
22 | #define i_push_error(code, msg) im_push_error(aIMCTX, code, msg) | |
8d14daab | 23 | extern void i_push_errorf(int code, char const *fmt, ...) I_FORMAT_ATTR(2, 3); |
696cb85d | 24 | extern void im_push_errorf(pIMCTX, int code, char const *fmt, ...) I_FORMAT_ATTR(3, 4); |
d03fd5a4 | 25 | extern void i_push_errorvf(int code, char const *fmt, va_list); |
696cb85d TC |
26 | extern void im_clear_error(pIMCTX); |
27 | #define i_clear_error() im_clear_error(aIMCTX); | |
af070d99 TC |
28 | extern int i_failed(int code, char const *msg); |
29 | ||
30 | #endif |