summaryrefslogtreecommitdiffstats
path: root/perl
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2009-04-18 22:33:15 +0100
committerRichard Jones <rjones@redhat.com>2009-04-18 22:33:15 +0100
commitbb07a7f858da5d07c57360e62c0ddfd24ce6be45 (patch)
tree56201f1c514d8d79a56251b104c3d8a135fcbd39 /perl
parent7bf3e1a43512293b1a3f78f880b57e7bbd372eae (diff)
downloadlibguestfs-bb07a7f858da5d07c57360e62c0ddfd24ce6be45.tar.gz
libguestfs-bb07a7f858da5d07c57360e62c0ddfd24ce6be45.tar.xz
libguestfs-bb07a7f858da5d07c57360e62c0ddfd24ce6be45.zip
Begin to add the upload and download commands.
Diffstat (limited to 'perl')
-rw-r--r--perl/Guestfs.xs24
-rw-r--r--perl/lib/Sys/Guestfs.pm18
2 files changed, 42 insertions, 0 deletions
diff --git a/perl/Guestfs.xs b/perl/Guestfs.xs
index e4a1b502..e498842d 100644
--- a/perl/Guestfs.xs
+++ b/perl/Guestfs.xs
@@ -1297,3 +1297,27 @@ PREINIT:
if (r == -1)
croak ("blockdev_rereadpt: %s", guestfs_last_error (g));
+void
+upload (g, filename, remotefilename)
+ guestfs_h *g;
+ char *filename;
+ char *remotefilename;
+PREINIT:
+ int r;
+ PPCODE:
+ r = guestfs_upload (g, filename, remotefilename);
+ if (r == -1)
+ croak ("upload: %s", guestfs_last_error (g));
+
+void
+download (g, remotefilename, filename)
+ guestfs_h *g;
+ char *remotefilename;
+ char *filename;
+PREINIT:
+ int r;
+ PPCODE:
+ r = guestfs_download (g, remotefilename, filename);
+ if (r == -1)
+ croak ("download: %s", guestfs_last_error (g));
+
diff --git a/perl/lib/Sys/Guestfs.pm b/perl/lib/Sys/Guestfs.pm
index 71223145..f624c246 100644
--- a/perl/lib/Sys/Guestfs.pm
+++ b/perl/lib/Sys/Guestfs.pm
@@ -389,6 +389,15 @@ The first character of C<param> string must be a C<-> (dash).
C<value> can be NULL.
+=item $h->download ($remotefilename, $filename);
+
+Download file C<remotefilename> and save it as C<filename>
+on the local machine.
+
+C<filename> can also be a named pipe.
+
+See also C<$h-E<gt>upload>, C<$h-E<gt>cat>.
+
=item $existsflag = $h->exists ($path);
This returns C<true> if and only if there is a file, directory
@@ -742,6 +751,15 @@ This unmounts all mounted filesystems.
Some internal mounts are not unmounted by this call.
+=item $h->upload ($filename, $remotefilename);
+
+Upload local file C<filename> to C<remotefilename> on the
+filesystem.
+
+C<filename> can also be a named pipe.
+
+See also C<$h-E<gt>download>.
+
=item $h->vgcreate ($volgroup, \@physvols);
This creates an LVM volume group called C<volgroup>