Generated code for new guestfs_read_lines API call.
[libguestfs.git] / perl / lib / Sys / Guestfs.pm
index c0a9b79..7706ae4 100644 (file)
@@ -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<filename> to the
+guest.  The first time you call this function, the disk appears as IDE
+disk 0 (C</dev/sda>) in the guest, the second time as C</dev/sdb>, 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<path>.
@@ -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<param> string must be a C<-> (dash).
+
+C<value> 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<qemu(1)>.
+
+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-E<gt>pvs_full>.
 List all the physical volumes detected.  This is the equivalent
 of the L<pvs(8)> command.  The "full" version includes all fields.
 
+=item @lines = $h->read_lines (path);
+
+Return the contents of the file named C<path>.
+
+The file contents are returned as a list of lines.  Trailing
+C<LF> and C<CRLF> character sequences are I<not> 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-E<gt>read_file>
+function which has a more complex interface.
+
+=item $h->set_autosync (autosync);
+
+If C<autosync> is true, this enables autosync.  Libguestfs will make a
+best effort attempt to run C<$h-E<gt>sync> 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<LIBGUESTFS_PATH> environment variable.
+
+The string C<path> is stashed in the libguestfs handle, so the caller
+must make sure it remains valid for the lifetime of the handle.
+
+Setting C<path> to C<NULL> restores the default path.
+
+=item $h->set_verbose (verbose);
+
+If C<verbose> is true, this turns on verbose messages (to C<stderr>).
+
+Verbose messages are disabled unless the environment variable
+C<LIBGUESTFS_DEBUG> 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-E<gt>vgs_full>.
 List all the volumes groups detected.  This is the equivalent
 of the L<vgs(8)> command.  The "full" version includes all fields.
 
+=item $h->wait_ready ();
+
+Internally libguestfs is implemented by running a virtual machine
+using L<qemu(1)>.
+
+You should call this after C<$h-E<gt>launch> to wait for the launch
+to complete.
+
 =cut
 
 1;