You should call these two functions after configuring the handle
(eg. adding drives) but before performing any actions.
+=head2 guestfs_kill_subprocess
+
+ int guestfs_kill_subprocess (guestfs_h *handle);
+
+This kills the qemu subprocess. You should never need to call this.
+
=head1 CONFIGURATION MANAGEMENT
The configuration functions allow you to configure which drive images
=head2 guestfs_set_error_handler
- typedef void (*guestfs_error_handler_cb) (void *data, const char *msg);
+ typedef void (*guestfs_error_handler_cb) (guestfs_h *handle,
+ void *data,
+ const char *msg);
void guestfs_set_error_handler (guestfs_h *handle,
guestfs_error_handler_cb cb,
void *data);
=head2 guestfs_get_error_handler
- guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *handle);
+ guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *handle,
+ void **data_rtn);
Returns the current error handler callback.
/* returns immediately */
}
- my_cb (guestfs_h *handle, void *data)
+ my_cb (guestfs_h *handle, void *data, XDR *xdr)
{
- retval = guestfs_nb_[action]_r (handle);
+ retval = guestfs_nb_[action]_r (handle, xdr);
/* ... */
}
=head2 guestfs_set_reply_callback
+ typedef void (*guestfs_reply_cb) (guestfs_h *g, void *opaque, XDR *xdr);
void guestfs_set_reply_callback (guestfs_h *handle,
guestfs_reply_cb cb,
void *opaque);
received from the child process. (This corresponds to a transition
from the BUSY state to the READY state).
-Note (I<important!>) that high-level API calls overwrite this
-callback.
-
=head2 guestfs_set_log_message_callback
+ typedef void (*guestfs_log_message_cb) (guestfs_h *g, void *opaque,
+ char *buf, int len);
void guestfs_set_log_message_callback (guestfs_h *handle,
guestfs_log_message_cb cb,
void *opaque);
=head2 guestfs_set_subprocess_quit_callback
+ typedef void (*guestfs_subprocess_quit_cb) (guestfs_h *g, void *opaque);
void guestfs_set_subprocess_quit_callback (guestfs_h *handle,
guestfs_subprocess_quit_cb cb,
void *opaque);
=head2 guestfs_set_launch_done_callback
+ typedef void (*guestfs_launch_done_cb) (guestfs_h *g, void *opaque);
void guestfs_set_launch_done_callback (guestfs_h *handle,
guestfs_ready_cb cb,
void *opaque);
=over 4
-=item libguestfs-poll
+=item libguestfs-select
-A simple main loop that is implemented using L<poll(2)>.
+A simple main loop that is implemented using L<select(2)>.
This is the default main loop unless you call C<guestfs_set_main_loop>
or C<guestfs_glib_set_main_loop>.
=head2 WRITING A CUSTOM MAIN LOOP
-This isn't documented. Please see the libguestfs-poll and libguestfs-glib
-implementations.
+This isn't documented. Please see the libguestfs-select and
+libguestfs-glib implementations.
=head1 SEE ALSO