summaryrefslogtreecommitdiffstats
path: root/src/guestfs.h
diff options
context:
space:
mode:
authorrjones <rjones>2009-03-03 15:35:50 +0000
committerrjones <rjones>2009-03-03 15:35:50 +0000
commitb6233d1fff5d9a6bbc61e7123a57bdd7d8cbc792 (patch)
tree4cd7d3feb9ff7c741a8524c6b9521c76524c4b81 /src/guestfs.h
parent407caabfd04a8bb6338a7fcf4f46d85d75e709df (diff)
downloadlibguestfs-b6233d1fff5d9a6bbc61e7123a57bdd7d8cbc792.tar.gz
libguestfs-b6233d1fff5d9a6bbc61e7123a57bdd7d8cbc792.tar.xz
libguestfs-b6233d1fff5d9a6bbc61e7123a57bdd7d8cbc792.zip
Running qemu as a subprocess.
Diffstat (limited to 'src/guestfs.h')
-rw-r--r--src/guestfs.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/guestfs.h b/src/guestfs.h
new file mode 100644
index 00000000..9b84e315
--- /dev/null
+++ b/src/guestfs.h
@@ -0,0 +1,55 @@
+/* libguestfs
+ * Copyright (C) 2009 Red Hat Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef GUESTFS_H_
+#define GUESTFS_H_
+
+/* For API documentation, please read the manual page guestfs(3). */
+
+typedef struct guestfs_h guestfs_h;
+
+/* Create and destroy the guest handle. */
+extern guestfs_h *guestfs_create (void);
+extern void guestfs_free (guestfs_h *g);
+
+/* Guest configuration. */
+extern int guestfs_config (guestfs_h *g,
+ const char *qemu_param, const char *qemu_value);
+extern int guestfs_add_drive (guestfs_h *g, const char *filename);
+extern int guestfs_add_cdrom (guestfs_h *g, const char *filename);
+
+/* Steps to start up the guest. */
+extern int guestfs_launch (guestfs_h *g);
+extern int guestfs_wait_ready (guestfs_h *g);
+extern int guestfs_ready (guestfs_h *g);
+
+/* Kill the guest subprocess. */
+extern int guestfs_kill_subprocess (guestfs_h *g);
+
+/* Error handling. */
+typedef void (*guestfs_abort_fn) (void);
+extern void guestfs_set_out_of_memory_handler (guestfs_h *g, guestfs_abort_fn);
+extern guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);
+
+extern void guestfs_set_exit_on_error (guestfs_h *g, int exit_on_error);
+extern int guestfs_get_exit_on_error (guestfs_h *g);
+
+extern void guestfs_set_verbose (guestfs_h *g, int verbose);
+extern int guestfs_get_verbose (guestfs_h *g);
+
+#endif /* GUESTFS_H_ */