qemu-error.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. * Error reporting
  3. *
  4. * Copyright (C) 2010 Red Hat Inc.
  5. *
  6. * Authors:
  7. * Markus Armbruster <armbru@redhat.com>,
  8. *
  9. * This work is licensed under the terms of the GNU GPL, version 2 or later.
  10. * See the COPYING file in the top-level directory.
  11. */
  12. #ifndef QEMU_ERROR_H
  13. #define QEMU_ERROR_H
  14. typedef struct Location {
  15. /* all members are private to qemu-error.c */
  16. enum { LOC_NONE, LOC_CMDLINE, LOC_FILE } kind;
  17. int num;
  18. const void *ptr;
  19. struct Location *prev;
  20. } Location;
  21. Location *loc_push_restore(Location *loc);
  22. Location *loc_push_none(Location *loc);
  23. Location *loc_pop(Location *loc);
  24. Location *loc_save(Location *loc);
  25. void loc_restore(Location *loc);
  26. void loc_set_none(void);
  27. void loc_set_cmdline(char **argv, int idx, int cnt);
  28. void loc_set_file(const char *fname, int lno);
  29. void error_vprintf(const char *fmt, va_list ap) GCC_FMT_ATTR(1, 0);
  30. void error_printf(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
  31. void error_printf_unless_qmp(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
  32. void error_print_loc(void);
  33. void error_set_progname(const char *argv0);
  34. void error_report(const char *fmt, ...) GCC_FMT_ATTR(1, 2);
  35. const char *error_get_progname(void);
  36. #endif