mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
error, qerror: add ErrorClass argument to error functions
The new argument is added to functions qerror_report() and error_set(). It's stored in Error and QError. qerror_report_err() is also updated to take care of it. The QERR_ macros are changed to contain a place holder value for the new argument, so that the value is used on all current calls to qerror_report() and error_set() (and also to initialize qerror_table[]). Next commit will update the QERR_ macros with a proper ErrorClass value. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
85465051e0
commit
13f59ae815
4 changed files with 90 additions and 78 deletions
5
error.h
5
error.h
|
@ -13,6 +13,7 @@
|
|||
#define ERROR_H
|
||||
|
||||
#include "compiler.h"
|
||||
#include "qapi-types.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
/**
|
||||
|
@ -26,7 +27,7 @@ typedef struct Error Error;
|
|||
* Currently, qerror.h defines these error formats. This function is not
|
||||
* meant to be used outside of QEMU.
|
||||
*/
|
||||
void error_set(Error **err, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
|
||||
void error_set(Error **err, ErrorClass err_class, const char *fmt, ...) GCC_FMT_ATTR(3, 4);
|
||||
|
||||
/**
|
||||
* Returns true if an indirect pointer to an error is pointing to a valid
|
||||
|
@ -70,6 +71,6 @@ void error_free(Error *err);
|
|||
* Determine if an error is of a speific type (based on the qerror format).
|
||||
* Non-QEMU users should get the `class' field to identify the error type.
|
||||
*/
|
||||
bool error_is_type(Error *err, const char *fmt);
|
||||
bool error_is_type(Error *err, ErrorClass err_class, const char *fmt);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue