qemu/qerror.h
Luiz Capitulino 9f9daf9a63 Introduce QError
QError is a high-level data type which represents an exception
in QEMU, it stores the following error information:

- class          Error class name (eg. "ServiceUnavailable")
- description    A detailed error description, which can contain
                 references to run-time error data
- filename       The file name of where the error occurred
- line number    The exact line number of the error
- function       The function name of where the error occurred
- run-time data  Any run-time error data

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-12-03 09:41:20 -06:00

43 lines
910 B
C

/*
* QError header file.
*
* Copyright (C) 2009 Red Hat Inc.
*
* Authors:
* Luiz Capitulino <lcapitulino@redhat.com>
*
* This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
* See the COPYING.LIB file in the top-level directory.
*/
#ifndef QERROR_H
#define QERROR_H
#include "qdict.h"
#include <stdarg.h>
typedef struct QErrorStringTable {
const char *desc;
const char *error_fmt;
} QErrorStringTable;
typedef struct QError {
QObject_HEAD;
QDict *error;
int linenr;
const char *file;
const char *func;
const QErrorStringTable *entry;
} QError;
QError *qerror_new(void);
QError *qerror_from_info(const char *file, int linenr, const char *func,
const char *fmt, va_list *va);
void qerror_print(const QError *qerror);
QError *qobject_to_qerror(const QObject *obj);
/*
* QError class list
*/
#endif /* QERROR_H */