+static void vg_activate_all_stub (XDR *xdr_in)
+{
+ int r;
+ struct guestfs_vg_activate_all_args args;
+ int activate;
+
+ memset (&args, 0, sizeof args);
+
+ if (!xdr_guestfs_vg_activate_all_args (xdr_in, &args)) {
+ reply_with_error ("%s: daemon failed to decode procedure arguments", "vg_activate_all");
+ return;
+ }
+ activate = args.activate;
+
+ r = do_vg_activate_all (activate);
+ if (r == -1)
+ /* do_vg_activate_all has already called reply_with_error */
+ goto done;
+
+ reply (NULL, NULL);
+done:
+ xdr_free ((xdrproc_t) xdr_guestfs_vg_activate_all_args, (char *) &args);
+}
+
+static void vg_activate_stub (XDR *xdr_in)
+{
+ int r;
+ struct guestfs_vg_activate_args args;
+ int activate;
+ char **volgroups;
+
+ memset (&args, 0, sizeof args);
+
+ if (!xdr_guestfs_vg_activate_args (xdr_in, &args)) {
+ reply_with_error ("%s: daemon failed to decode procedure arguments", "vg_activate");
+ return;
+ }
+ activate = args.activate;
+ volgroups = realloc (args.volgroups.volgroups_val,
+ sizeof (char *) * (args.volgroups.volgroups_len+1));
+ if (volgroups == NULL) {
+ reply_with_perror ("realloc");
+ goto done;
+ }
+ volgroups[args.volgroups.volgroups_len] = NULL;
+ args.volgroups.volgroups_val = volgroups;
+
+ r = do_vg_activate (activate, volgroups);
+ if (r == -1)
+ /* do_vg_activate has already called reply_with_error */
+ goto done;
+
+ reply (NULL, NULL);
+done:
+ xdr_free ((xdrproc_t) xdr_guestfs_vg_activate_args, (char *) &args);
+}
+
+static void lvresize_stub (XDR *xdr_in)
+{
+ int r;
+ struct guestfs_lvresize_args args;
+ const 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;
+ const 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;
+ const 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;
+ const 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);
+}
+