|
1 /* |
|
2 * libtu/errorlog.h |
|
3 * |
|
4 * Copyright (c) Tuomo Valkonen 1999-2004. |
|
5 * |
|
6 * You may distribute and modify this library under the terms of either |
|
7 * the Clarified Artistic License or the GNU LGPL, version 2.1 or later. |
|
8 */ |
|
9 |
|
10 #ifndef LIBTU_ERRORLOG_H |
|
11 #define LIBTU_ERRORLOG_H |
|
12 |
|
13 #include <stdio.h> |
|
14 |
|
15 #include "types.h" |
|
16 #include "obj.h" |
|
17 #include "output.h" |
|
18 |
|
19 #define ERRORLOG_MAX_SIZE (1024*4) |
|
20 |
|
21 INTRSTRUCT(ErrorLog); |
|
22 DECLSTRUCT(ErrorLog){ |
|
23 char *msgs; |
|
24 int msgs_len; |
|
25 FILE *file; |
|
26 bool errors; |
|
27 ErrorLog *prev; |
|
28 WarnHandler *old_handler; |
|
29 }; |
|
30 |
|
31 /* el is assumed to be uninitialised */ |
|
32 extern void errorlog_begin(ErrorLog *el); |
|
33 extern void errorlog_begin_file(ErrorLog *el, FILE *file); |
|
34 /* For errorlog_end el Must be the one errorlog_begin was last called with */ |
|
35 extern bool errorlog_end(ErrorLog *el); |
|
36 extern void errorlog_deinit(ErrorLog *el); |
|
37 |
|
38 #endif /* LIBTU_ERRORLOG_H */ |