1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef QEMU_ERROR_H
14#define QEMU_ERROR_H
15
16#include <stdarg.h>
17
18typedef struct Location {
19
20 enum { LOC_NONE, LOC_CMDLINE, LOC_FILE } kind;
21 int num;
22 const void *ptr;
23 struct Location *prev;
24} Location;
25
26Location *loc_push_restore(Location *loc);
27Location *loc_push_none(Location *loc);
28Location *loc_pop(Location *loc);
29Location *loc_save(Location *loc);
30void loc_restore(Location *loc);
31void loc_set_none(void);
32void loc_set_cmdline(char **argv, int idx, int cnt);
33void loc_set_file(const char *fname, int lno);
34
35void error_vprintf(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0);
36void error_printf(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
37void error_printf_unless_qmp(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
38void error_print_loc(void);
39void error_set_progname(const char *argv0);
40void error_report(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
41const char *error_get_progname(void);
42
43#endif
44