X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;ds=sidebyside;f=perl%2Flib%2FSys%2FGuestfs.pm;h=7706ae408506a8f00b900ad3e0d8441eb3869318;hb=c168ce1c91c8f4f615ec53e140970e0017ad750d;hp=c0a9b79fa3a79fc9763a7ff1b23de5d18b5cde0a;hpb=1ee6da96efe8340a7d3904a865d80cd59d9d3fde;p=libguestfs.git diff --git a/perl/lib/Sys/Guestfs.pm b/perl/lib/Sys/Guestfs.pm index c0a9b79..7706ae4 100644 --- a/perl/lib/Sys/Guestfs.pm +++ b/perl/lib/Sys/Guestfs.pm @@ -91,6 +91,27 @@ sub new { return $self; } +=item $h->add_cdrom (filename); + +This function adds a virtual CD-ROM disk image to the guest. + +This is equivalent to the qemu parameter C<-cdrom filename>. + +=item $h->add_drive (filename); + +This function adds a virtual machine disk image C to the +guest. The first time you call this function, the disk appears as IDE +disk 0 (C) in the guest, the second time as C, and +so on. + +You don't necessarily need to be root when using libguestfs. However +you obviously do need sufficient permissions to access the filename +for whatever operations you want to perform (ie. read access if you +just want to read the image or write access if you want to modify the +image). + +This is equivalent to the qemu parameter C<-drive file=filename>. + =item $content = $h->cat (path); Return the contents of the file named C. @@ -104,6 +125,44 @@ Because of the message protocol, there is a transfer limit of somewhere between 2MB and 4MB. To transfer large files you should use FTP. +=item $h->config (qemuparam, qemuvalue); + +This can be used to add arbitrary qemu command line parameters +of the form C<-param value>. Actually it's not quite arbitrary - we +prevent you from setting some parameters which would interfere with +parameters that we use. + +The first character of C string must be a C<-> (dash). + +C can be NULL. + +=item $autosync = $h->get_autosync (); + +Get the autosync flag. + +=item $path = $h->get_path (); + +Return the current search path. + +This is always non-NULL. If it wasn't set already, then this will +return the default path. + +=item $verbose = $h->get_verbose (); + +This returns the verbose messages flag. + +=item $h->kill_subprocess (); + +This kills the qemu subprocess. You should never need to call this. + +=item $h->launch (); + +Internally libguestfs is implemented by running a virtual machine +using L. + +You should call this after configuring the handle +(eg. adding drives) but before performing any actions. + =item @devices = $h->list_devices (); List all the block devices. @@ -185,6 +244,43 @@ See also C<$h-Epvs_full>. List all the physical volumes detected. This is the equivalent of the L command. The "full" version includes all fields. +=item @lines = $h->read_lines (path); + +Return the contents of the file named C. + +The file contents are returned as a list of lines. Trailing +C and C character sequences are I returned. + +Note that this function cannot correctly handle binary files +(specifically, files containing C<\0> character which is treated +as end of line). For those you need to use the C<$h-Eread_file> +function which has a more complex interface. + +=item $h->set_autosync (autosync); + +If C is true, this enables autosync. Libguestfs will make a +best effort attempt to run C<$h-Esync> when the handle is closed +(also if the program exits without closing handles). + +=item $h->set_path (path); + +Set the path that libguestfs searches for kernel and initrd.img. + +The default is C<$libdir/guestfs> unless overridden by setting +C environment variable. + +The string C is stashed in the libguestfs handle, so the caller +must make sure it remains valid for the lifetime of the handle. + +Setting C to C restores the default path. + +=item $h->set_verbose (verbose); + +If C is true, this turns on verbose messages (to C). + +Verbose messages are disabled unless the environment variable +C is defined and set to C<1>. + =item $h->sync (); This syncs the disk, so that any writes are flushed through to the @@ -214,6 +310,14 @@ See also C<$h-Evgs_full>. List all the volumes groups detected. This is the equivalent of the L command. The "full" version includes all fields. +=item $h->wait_ready (); + +Internally libguestfs is implemented by running a virtual machine +using L. + +You should call this after C<$h-Elaunch> to wait for the launch +to complete. + =cut 1;