summaryrefslogtreecommitdiffstats
path: root/src/guestfs-internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/guestfs-internal.h')
-rw-r--r--src/guestfs-internal.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h
index 17903d30..4a12de76 100644
--- a/src/guestfs-internal.h
+++ b/src/guestfs-internal.h
@@ -180,6 +180,13 @@ extern struct attach_ops attach_ops_appliance;
extern struct attach_ops attach_ops_libvirt;
extern struct attach_ops attach_ops_unix;
+/* Stack of old error handlers. */
+struct error_cb_stack {
+ struct error_cb_stack *next;
+ guestfs_error_handler_cb error_cb;
+ void * error_cb_data;
+};
+
struct guestfs_h
{
struct guestfs_h *next; /* Linked list of open handles. */
@@ -248,10 +255,13 @@ struct guestfs_h
char *int_tmpdir; /* $LIBGUESTFS_TMPDIR or guestfs_set_tmpdir or NULL */
char *int_cachedir; /* $LIBGUESTFS_CACHEDIR or guestfs_set_cachedir or NULL */
- /* Callbacks. */
- guestfs_abort_cb abort_cb;
+ /* Error handler, plus stack of old error handlers. */
guestfs_error_handler_cb error_cb;
void * error_cb_data;
+ struct error_cb_stack *error_cb_stack;
+
+ /* Out of memory error handler. */
+ guestfs_abort_cb abort_cb;
/* Events. */
struct event *events;