diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2025-05-23 19:41:40 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2025-06-05 20:24:51 +0200 |
commit | 8714d366e7e29d3ca8cebc8504e18c4cd7b5cf48 (patch) | |
tree | ab3b4f54e16fa44d5c65e388c67a1bb0eecc1734 | |
parent | bfe0f6b02a4d76bcdc05f50e03667447f6069445 (diff) | |
download | qemu-8714d366e7e29d3ca8cebc8504e18c4cd7b5cf48.zip qemu-8714d366e7e29d3ca8cebc8504e18c4cd7b5cf48.tar.gz qemu-8714d366e7e29d3ca8cebc8504e18c4cd7b5cf48.tar.bz2 |
util/error: expose Error definition to Rust code
This is used to preserve the file and line in a roundtrip from
C Error to Rust and back to C.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | include/qapi/error-internal.h | 26 | ||||
-rw-r--r-- | rust/wrapper.h | 1 | ||||
-rw-r--r-- | util/error.c | 10 |
3 files changed, 28 insertions, 9 deletions
diff --git a/include/qapi/error-internal.h b/include/qapi/error-internal.h new file mode 100644 index 0000000..d5c3904 --- /dev/null +++ b/include/qapi/error-internal.h @@ -0,0 +1,26 @@ +/* + * QEMU Error Objects - struct definition + * + * Copyright IBM, Corp. 2011 + * Copyright (C) 2011-2015 Red Hat, Inc. + * + * Authors: + * Anthony Liguori <aliguori@us.ibm.com> + * Markus Armbruster <armbru@redhat.com>, + * + * This work is licensed under the terms of the GNU LGPL, version 2. See + * the COPYING.LIB file in the top-level directory. + */ + +#ifndef QAPI_ERROR_INTERNAL_H + +struct Error +{ + char *msg; + ErrorClass err_class; + const char *src, *func; + int line; + GString *hint; +}; + +#endif diff --git a/rust/wrapper.h b/rust/wrapper.h index beddd9a..6060d3b 100644 --- a/rust/wrapper.h +++ b/rust/wrapper.h @@ -60,6 +60,7 @@ typedef enum memory_order { #include "hw/qdev-properties-system.h" #include "hw/irq.h" #include "qapi/error.h" +#include "qapi/error-internal.h" #include "migration/vmstate.h" #include "chardev/char-serial.h" #include "exec/memattrs.h" diff --git a/util/error.c b/util/error.c index 673011b..e5bcb7c 100644 --- a/util/error.c +++ b/util/error.c @@ -15,15 +15,7 @@ #include "qemu/osdep.h" #include "qapi/error.h" #include "qemu/error-report.h" - -struct Error -{ - char *msg; - ErrorClass err_class; - const char *src, *func; - int line; - GString *hint; -}; +#include "qapi/error-internal.h" Error *error_abort; Error *error_fatal; |