]> git.proxmox.com Git - qemu.git/blobdiff - error.h
fdc-test: split test_media_change() test, so insert part can be reused
[qemu.git] / error.h
diff --git a/error.h b/error.h
index 96fc20328f97f80b4d38b2f9c05f37c7dcb6a70c..4d52e7369e9af5096b86984d84fac7b5b8b640db 100644 (file)
--- a/error.h
+++ b/error.h
@@ -29,6 +29,21 @@ typedef struct Error Error;
  */
 void error_set(Error **err, ErrorClass err_class, const char *fmt, ...) GCC_FMT_ATTR(3, 4);
 
+/**
+ * Set an indirect pointer to an error given a ErrorClass value and a
+ * printf-style human message, followed by a strerror() string if
+ * @os_error is not zero.
+ */
+void error_set_errno(Error **err, int os_error, ErrorClass err_class, const char *fmt, ...) GCC_FMT_ATTR(4, 5);
+
+/**
+ * Same as error_set(), but sets a generic error
+ */
+#define error_setg(err, fmt, ...) \
+    error_set(err, ERROR_CLASS_GENERIC_ERROR, fmt, ## __VA_ARGS__)
+#define error_setg_errno(err, os_error, fmt, ...) \
+    error_set_errno(err, os_error, ERROR_CLASS_GENERIC_ERROR, fmt, ## __VA_ARGS__)
+
 /**
  * Returns true if an indirect pointer to an error is pointing to a valid
  * error object.