+static void lvresize_stub (XDR *xdr_in)
+{
+ int r;
+ struct guestfs_lvresize_args args;
+ char *device;
+ int mbytes;
+
+ memset (&args, 0, sizeof args);
+
+ if (!xdr_guestfs_lvresize_args (xdr_in, &args)) {
+ reply_with_error ("%s: daemon failed to decode procedure arguments", "lvresize");
+ return;
+ }
+ device = args.device;
+ mbytes = args.mbytes;
+
+ r = do_lvresize (device, mbytes);
+ if (r == -1)
+ /* do_lvresize has already called reply_with_error */
+ goto done;
+
+ reply (NULL, NULL);
+done:
+ xdr_free ((xdrproc_t) xdr_guestfs_lvresize_args, (char *) &args);
+}
+
+static void resize2fs_stub (XDR *xdr_in)
+{
+ int r;
+ struct guestfs_resize2fs_args args;
+ char *device;
+
+ memset (&args, 0, sizeof args);
+
+ if (!xdr_guestfs_resize2fs_args (xdr_in, &args)) {
+ reply_with_error ("%s: daemon failed to decode procedure arguments", "resize2fs");
+ return;
+ }
+ device = args.device;
+
+ r = do_resize2fs (device);
+ if (r == -1)
+ /* do_resize2fs has already called reply_with_error */
+ goto done;
+
+ reply (NULL, NULL);
+done:
+ xdr_free ((xdrproc_t) xdr_guestfs_resize2fs_args, (char *) &args);
+}
+
+static void find_stub (XDR *xdr_in)
+{
+ char **r;
+ struct guestfs_find_args args;
+ char *directory;
+
+ memset (&args, 0, sizeof args);
+
+ if (!xdr_guestfs_find_args (xdr_in, &args)) {
+ reply_with_error ("%s: daemon failed to decode procedure arguments", "find");
+ return;
+ }
+ directory = args.directory;
+
+ r = do_find (directory);
+ if (r == NULL)
+ /* do_find has already called reply_with_error */
+ goto done;
+
+ struct guestfs_find_ret ret;
+ ret.names.names_len = count_strings (r);
+ ret.names.names_val = r;
+ reply ((xdrproc_t) &xdr_guestfs_find_ret, (char *) &ret);
+ free_strings (r);
+done:
+ xdr_free ((xdrproc_t) xdr_guestfs_find_args, (char *) &args);
+}
+
+static void e2fsck_f_stub (XDR *xdr_in)
+{
+ int r;
+ struct guestfs_e2fsck_f_args args;
+ char *device;
+
+ memset (&args, 0, sizeof args);
+
+ if (!xdr_guestfs_e2fsck_f_args (xdr_in, &args)) {
+ reply_with_error ("%s: daemon failed to decode procedure arguments", "e2fsck_f");
+ return;
+ }
+ device = args.device;
+
+ r = do_e2fsck_f (device);
+ if (r == -1)
+ /* do_e2fsck_f has already called reply_with_error */
+ goto done;
+
+ reply (NULL, NULL);
+done:
+ xdr_free ((xdrproc_t) xdr_guestfs_e2fsck_f_args, (char *) &args);
+}
+
+static void sleep_stub (XDR *xdr_in)
+{
+ int r;
+ struct guestfs_sleep_args args;
+ int secs;
+
+ memset (&args, 0, sizeof args);
+
+ if (!xdr_guestfs_sleep_args (xdr_in, &args)) {
+ reply_with_error ("%s: daemon failed to decode procedure arguments", "sleep");
+ return;
+ }
+ secs = args.secs;
+
+ r = do_sleep (secs);
+ if (r == -1)
+ /* do_sleep has already called reply_with_error */
+ goto done;
+
+ reply (NULL, NULL);
+done:
+ xdr_free ((xdrproc_t) xdr_guestfs_sleep_args, (char *) &args);
+}
+
+static void ntfs_3g_probe_stub (XDR *xdr_in)
+{
+ int r;
+ struct guestfs_ntfs_3g_probe_args args;
+ int rw;
+ char *device;
+
+ memset (&args, 0, sizeof args);
+
+ if (!xdr_guestfs_ntfs_3g_probe_args (xdr_in, &args)) {
+ reply_with_error ("%s: daemon failed to decode procedure arguments", "ntfs_3g_probe");
+ return;
+ }
+ rw = args.rw;
+ device = args.device;
+
+ r = do_ntfs_3g_probe (rw, device);
+ if (r == -1)
+ /* do_ntfs_3g_probe has already called reply_with_error */
+ goto done;
+
+ struct guestfs_ntfs_3g_probe_ret ret;
+ ret.status = r;
+ reply ((xdrproc_t) &xdr_guestfs_ntfs_3g_probe_ret, (char *) &ret);
+done:
+ xdr_free ((xdrproc_t) xdr_guestfs_ntfs_3g_probe_args, (char *) &args);
+}
+