+=head2 add-cdrom | cdrom
+
+ 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>.
+
+=head2 add-drive | add
+
+ 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>.
+
+=head2 aug-close
+
+ aug-close
+
+Close the current Augeas handle and free up any resources
+used by it. After calling this, you have to call
+C<aug_init> again before you can use any other
+Augeas functions.
+
+=head2 aug-defnode
+
+ aug-defnode name expr val
+
+Defines a variable C<name> whose value is the result of
+evaluating C<expr>.
+
+If C<expr> evaluates to an empty nodeset, a node is created,
+equivalent to calling C<aug_set> C<expr>, C<value>.
+C<name> will be the nodeset containing that single node.
+
+On success this returns a pair containing the
+number of nodes in the nodeset, and a boolean flag
+if a node was created.
+
+=head2 aug-defvar
+
+ aug-defvar name expr
+
+Defines an Augeas variable C<name> whose value is the result
+of evaluating C<expr>. If C<expr> is NULL, then C<name> is
+undefined.
+
+On success this returns the number of nodes in C<expr>, or
+C<0> if C<expr> evaluates to something which is not a nodeset.
+
+=head2 aug-get
+
+ aug-get path
+
+Look up the value associated with C<path>. If C<path>
+matches exactly one node, the C<value> is returned.
+
+=head2 aug-init
+
+ aug-init root flags
+
+Create a new Augeas handle for editing configuration files.
+If there was any previous Augeas handle associated with this
+guestfs session, then it is closed.
+
+You must call this before using any other C<aug_*>
+commands.
+
+C<root> is the filesystem root. C<root> must not be NULL,
+use C</> instead.
+
+The flags are the same as the flags defined in
+E<lt>augeas.hE<gt>, the logical I<or> of the following
+integers:
+
+=over 4
+
+=item C<AUG_SAVE_BACKUP> = 1
+
+Keep the original file with a C<.augsave> extension.
+
+=item C<AUG_SAVE_NEWFILE> = 2
+
+Save changes into a file with extension C<.augnew>, and
+do not overwrite original. Overrides C<AUG_SAVE_BACKUP>.
+
+=item C<AUG_TYPE_CHECK> = 4
+
+Typecheck lenses (can be expensive).
+
+=item C<AUG_NO_STDINC> = 8
+
+Do not use standard load path for modules.
+
+=item C<AUG_SAVE_NOOP> = 16
+
+Make save a no-op, just record what would have been changed.
+
+=item C<AUG_NO_LOAD> = 32
+
+Do not load the tree in C<aug_init>.
+
+=back
+
+To close the handle, you can call C<aug_close>.
+
+To find out more about Augeas, see L<http://augeas.net/>.
+
+=head2 aug-insert
+
+ aug-insert path label true|false
+
+Create a new sibling C<label> for C<path>, inserting it into
+the tree before or after C<path> (depending on the boolean
+flag C<before>).
+
+C<path> must match exactly one existing node in the tree, and
+C<label> must be a label, ie. not contain C</>, C<*> or end
+with a bracketed index C<[N]>.
+
+=head2 aug-load
+
+ aug-load
+
+Load files into the tree.
+
+See C<aug_load> in the Augeas documentation for the full gory
+details.
+
+=head2 aug-ls
+
+ aug-ls path
+
+This is just a shortcut for listing C<aug_match>
+C<path/*> and sorting the resulting nodes into alphabetical order.
+
+=head2 aug-match
+
+ aug-match path
+
+Returns a list of paths which match the path expression C<path>.
+The returned paths are sufficiently qualified so that they match
+exactly one node in the current tree.
+
+=head2 aug-mv
+
+ aug-mv src dest
+
+Move the node C<src> to C<dest>. C<src> must match exactly
+one node. C<dest> is overwritten if it exists.
+
+=head2 aug-rm
+
+ aug-rm path
+
+Remove C<path> and all of its children.
+
+On success this returns the number of entries which were removed.
+
+=head2 aug-save
+
+ aug-save
+
+This writes all pending changes to disk.
+
+The flags which were passed to C<aug_init> affect exactly
+how files are saved.
+
+=head2 aug-set
+
+ aug-set path val
+
+Set the value associated with C<path> to C<value>.
+
=head2 cat
cat path
Note that this function cannot correctly handle binary files
(specifically, files containing C<\0> character which is treated
-as end of string). For those you need to use the C<guestfs_read_file>
+as end of string). For those you need to use the C<read_file>
function which has a more complex interface.
+=head2 chmod
+
+ chmod mode path
+
+Change the mode (permissions) of C<path> to C<mode>. Only
+numeric modes are supported.
+
+=head2 chown
+
+ chown owner group path
+
+Change the file owner to C<owner> and group to C<group>.
+
+Only numeric uid and gid are supported. If you want to use
+names, you will need to locate and parse the password file
+yourself (Augeas support makes this relatively easy).
+
+=head2 config
+
+ 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.
+
+=head2 get-autosync
+
+ get-autosync
+
+Get the autosync flag.
+
+=head2 get-path
+
+ 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.
+
+=head2 get-verbose
+
+ get-verbose
+
+This returns the verbose messages flag.
+
+=head2 kill-subprocess
+
+ kill-subprocess
+
+This kills the qemu subprocess. You should never need to call this.
+
+=head2 launch | run
+
+ 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.
+
=head2 list-devices
list-devices
The full block device names are returned, eg. C</dev/sda>
-
=head2 list-partitions
list-partitions
The full partition device names are returned, eg. C</dev/sda1>
This does not return logical volumes. For that you will need to
-call C<guestfs_lvs>.
+call C<lvs>.
=head2 ll
hidden files are shown.
This command is mostly useful for interactive sessions. Programs
-should probably use C<guestfs_readdir> instead.
+should probably use C<readdir> instead.
=head2 lvs
This returns a list of the logical volume device names
(eg. C</dev/VolGroup00/LogVol00>).
-See also C<guestfs_lvs_full>.
+See also C<lvs_full>.
=head2 lvs-full
List all the logical volumes detected. This is the equivalent
of the L<lvs(8)> command. The "full" version includes all fields.
+=head2 mkdir
+
+ mkdir path
+
+Create a directory named C<path>.
+
+=head2 mkdir-p
+
+ mkdir-p path
+
+Create a directory named C<path>, creating any parent directories
+as necessary. This is like the C<mkdir -p> shell command.
+
=head2 mount
mount device mountpoint
This returns a list of just the device names that contain
PVs (eg. C</dev/sda2>).
-See also C<guestfs_pvs_full>.
+See also C<pvs_full>.
=head2 pvs-full
List all the physical volumes detected. This is the equivalent
of the L<pvs(8)> command. The "full" version includes all fields.
+=head2 read-lines
+
+ 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<read_file>
+function which has a more complex interface.
+
+=head2 rm
+
+ rm path
+
+Remove the single file C<path>.
+
+=head2 rm-rf
+
+ rm-rf path
+
+Remove the file or directory C<path>, recursively removing the
+contents if its a directory. This is like the C<rm -rf> shell
+command.
+
+=head2 rmdir
+
+ rmdir path
+
+Remove the single directory C<path>.
+
+=head2 set-autosync | autosync
+
+ set-autosync true|false
+
+If C<autosync> is true, this enables autosync. Libguestfs will make a
+best effort attempt to run C<sync> when the handle is closed
+(also if the program exits without closing handles).
+
+=head2 set-path | path
+
+ 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.
+
+=head2 set-verbose | verbose
+
+ set-verbose true|false
+
+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>.
+
=head2 sync
sync
underlying disk image.
You should always call this if you have modified a disk image, before
-calling C<guestfs_close>.
+closing the handle.
=head2 touch
This returns a list of just the volume group names that were
detected (eg. C<VolGroup00>).
-See also C<guestfs_vgs_full>.
+See also C<vgs_full>.
=head2 vgs-full