summaryrefslogtreecommitdiffstats
path: root/src/guestfs-actions.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/guestfs-actions.c')
-rw-r--r--src/guestfs-actions.c157
1 files changed, 157 insertions, 0 deletions
diff --git a/src/guestfs-actions.c b/src/guestfs-actions.c
new file mode 100644
index 00000000..db701efc
--- /dev/null
+++ b/src/guestfs-actions.c
@@ -0,0 +1,157 @@
+/* libguestfs generated file
+ * WARNING: THIS FILE IS GENERATED BY 'src/generator.ml'.
+ * ANY CHANGES YOU MAKE TO THIS FILE WILL BE LOST.
+ *
+ * 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
+ */
+
+struct mount_rv {
+ int err_code; /* 0 or -1 */
+ char err_str[256];
+};
+
+static void mount_cb (guestfs_h *g, void *data, XDR *xdr)
+{
+ struct mount_rv *rv = (struct mount_rv *) data;
+
+ /* XXX */ rv.code = 0;
+ main_loop.main_loop_quit (g);
+}
+
+int guestfs_mount (guestfs_h *g,
+ const char *device,
+ const char *mountpoint)
+{
+ struct guestfs_mount_args args;
+ struct mount_rv rv;
+
+ if (g->state != READY) {
+ error (g, "guestfs_mount called from the wrong state, %d != READY",
+ g->state);
+ return -1;
+ }
+
+ args.device = (char *) device;
+ args.mountpoint = (char *) mountpoint;
+ if (dispatch (g, (xdrproc_t) xdr_guestfs_mount_args, (char *) &args) == -1)
+ return -1;
+
+ rv.err_code = 42;
+ g->reply_cb_internal = mount_cb;
+ g->reply_cb_internal_data = &rv;
+ main_loop.main_loop_run (g);
+ g->reply_cb_internal = NULL;
+ g->reply_cb_internal_data = NULL;
+ if (rv.err_code == 42) { /* callback wasn't called */
+ error (g, "guestfs_mount failed, see earlier error messages");
+ return -1;
+ }
+ else if (rv.err_code == -1) { /* error from remote end */
+ error (g, "%s", rv.err_str);
+ return -1;
+ }
+
+ return 0;
+}
+
+struct sync_rv {
+ int err_code; /* 0 or -1 */
+ char err_str[256];
+};
+
+static void sync_cb (guestfs_h *g, void *data, XDR *xdr)
+{
+ struct sync_rv *rv = (struct sync_rv *) data;
+
+ /* XXX */ rv.code = 0;
+ main_loop.main_loop_quit (g);
+}
+
+int guestfs_sync (guestfs_h *g)
+{
+ struct sync_rv rv;
+
+ if (g->state != READY) {
+ error (g, "guestfs_sync called from the wrong state, %d != READY",
+ g->state);
+ return -1;
+ }
+ rv.err_code = 42;
+ g->reply_cb_internal = sync_cb;
+ g->reply_cb_internal_data = &rv;
+ main_loop.main_loop_run (g);
+ g->reply_cb_internal = NULL;
+ g->reply_cb_internal_data = NULL;
+ if (rv.err_code == 42) { /* callback wasn't called */
+ error (g, "guestfs_sync failed, see earlier error messages");
+ return -1;
+ }
+ else if (rv.err_code == -1) { /* error from remote end */
+ error (g, "%s", rv.err_str);
+ return -1;
+ }
+
+ return 0;
+}
+
+struct touch_rv {
+ int err_code; /* 0 or -1 */
+ char err_str[256];
+};
+
+static void touch_cb (guestfs_h *g, void *data, XDR *xdr)
+{
+ struct touch_rv *rv = (struct touch_rv *) data;
+
+ /* XXX */ rv.code = 0;
+ main_loop.main_loop_quit (g);
+}
+
+int guestfs_touch (guestfs_h *g,
+ const char *path)
+{
+ struct guestfs_touch_args args;
+ struct touch_rv rv;
+
+ if (g->state != READY) {
+ error (g, "guestfs_touch called from the wrong state, %d != READY",
+ g->state);
+ return -1;
+ }
+
+ args.path = (char *) path;
+ if (dispatch (g, (xdrproc_t) xdr_guestfs_touch_args, (char *) &args) == -1)
+ return -1;
+
+ rv.err_code = 42;
+ g->reply_cb_internal = touch_cb;
+ g->reply_cb_internal_data = &rv;
+ main_loop.main_loop_run (g);
+ g->reply_cb_internal = NULL;
+ g->reply_cb_internal_data = NULL;
+ if (rv.err_code == 42) { /* callback wasn't called */
+ error (g, "guestfs_touch failed, see earlier error messages");
+ return -1;
+ }
+ else if (rv.err_code == -1) { /* error from remote end */
+ error (g, "%s", rv.err_str);
+ return -1;
+ }
+
+ return 0;
+}
+