Makes a series of non-trivial calls.
[libguestfs.git] / daemon / stubs.c
index 81c5b72..54fa8e0 100644 (file)
@@ -22,7 +22,7 @@
 #include <rpc/types.h>
 #include <rpc/xdr.h>
 #include "daemon.h"
-#include "../src/guest_protocol.h"
+#include "../src/guestfs_protocol.h"
 #include "actions.h"
 
 static void mount_stub (XDR *xdr_in)
@@ -32,6 +32,8 @@ static void mount_stub (XDR *xdr_in)
   const char *device;
   const char *mountpoint;
 
+  memset (&args, 0, sizeof args);
+
   if (!xdr_guestfs_mount_args (xdr_in, &args)) {
     reply_with_error ("mount: daemon failed to decode procedure arguments");
     return;
@@ -65,6 +67,8 @@ static void touch_stub (XDR *xdr_in)
   struct guestfs_touch_args args;
   const char *path;
 
+  memset (&args, 0, sizeof args);
+
   if (!xdr_guestfs_touch_args (xdr_in, &args)) {
     reply_with_error ("touch: daemon failed to decode procedure arguments");
     return;
@@ -79,3 +83,19 @@ static void touch_stub (XDR *xdr_in)
   reply (NULL, NULL);
 }
 
+void dispatch_incoming_message (XDR *xdr_in)
+{
+  switch (proc_nr) {
+    case GUESTFS_PROC_MOUNT:
+      mount_stub (xdr_in);
+      break;
+    case GUESTFS_PROC_SYNC:
+      sync_stub (xdr_in);
+      break;
+    case GUESTFS_PROC_TOUCH:
+      touch_stub (xdr_in);
+      break;
+    default:
+      reply_with_error ("dispatch_incoming_message: unknown procedure number %d", proc_nr);
+  }
+}