]> 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 da7fed399e680cea77a566e7a87ee597ebc5a8a7..4d52e7369e9af5096b86984d84fac7b5b8b640db 100644 (file)
--- a/error.h
+++ b/error.h
@@ -29,11 +29,20 @@ 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