if a node was created.
This function returns a C<struct guestfs_int_bool *>.
-I<The caller must call C<guestfs_free_int_bool> after use.>.
+I<The caller must call C<guestfs_free_int_bool> after use>.
=head2 guestfs_aug_defvar
Look up the value associated with C<path>. If C<path>
matches exactly one node, the C<value> is returned.
-This function returns a string or NULL on error.
+This function returns a string, or NULL on error.
I<The caller must free the returned string after use>.
=head2 guestfs_aug_init
=over 4
-=item 1 C<AUG_SAVE_BACKUP>
+=item C<AUG_SAVE_BACKUP> = 1
Keep the original file with a C<.augsave> extension.
-=item 2 C<AUG_SAVE_NEWFILE>
+=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 4 C<AUG_TYPE_CHECK>
+=item C<AUG_TYPE_CHECK> = 4
Typecheck lenses (can be expensive).
-=item 8 C<AUG_NO_STDINC>
+=item C<AUG_NO_STDINC> = 8
Do not use standard load path for modules.
-=item 16 C<AUG_SAVE_NOOP>
+=item C<AUG_SAVE_NOOP> = 16
Make save a no-op, just record what would have been changed.
-=item 32 C<AUG_NO_LOAD>
+=item C<AUG_NO_LOAD> = 32
Do not load the tree in C<guestfs_aug_init>.
This function returns 0 on success or -1 on error.
+=head2 guestfs_aug_ls
+
+ char **guestfs_aug_ls (guestfs_h *handle,
+ const char *path);
+
+This is just a shortcut for listing C<guestfs_aug_match>
+C<path/*> and sorting the resulting nodes into alphabetical order.
+
+This function returns a NULL-terminated array of strings
+(like L<environ(3)>), or NULL if there was an error.
+I<The caller must free the strings and the array after use>.
+
=head2 guestfs_aug_match
char **guestfs_aug_match (guestfs_h *handle,
as end of string). For those you need to use the C<guestfs_read_file>
function which has a more complex interface.
-This function returns a string or NULL on error.
+This function returns a string, or NULL on error.
I<The caller must free the returned string after use>.
Because of the message protocol, there is a transfer limit
of somewhere between 2MB and 4MB. To transfer large files you should use
FTP.
+=head2 guestfs_chmod
+
+ int guestfs_chmod (guestfs_h *handle,
+ int mode,
+ const char *path);
+
+Change the mode (permissions) of C<path> to C<mode>. Only
+numeric modes are supported.
+
+This function returns 0 on success or -1 on error.
+
+=head2 guestfs_chown
+
+ int guestfs_chown (guestfs_h *handle,
+ int owner,
+ int group,
+ const char *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).
+
+This function returns 0 on success or -1 on error.
+
+=head2 guestfs_command
+
+ char *guestfs_command (guestfs_h *handle,
+ char * const* const arguments);
+
+This call runs a command from the guest filesystem. The
+filesystem must be mounted, and must contain a compatible
+operating system (ie. something Linux, with the same
+or compatible processor architecture).
+
+The single parameter is an argv-style list of arguments.
+The first element is the name of the program to run.
+Subsequent elements are parameters. The list must be
+non-empty (ie. must contain a program name).
+
+The C<$PATH> environment variable will contain at least
+C</usr/bin> and C</bin>. If you require a program from
+another location, you should provide the full path in the
+first parameter.
+
+Shared libraries and data files required by the program
+must be available on filesystems which are mounted in the
+correct places. It is the caller's responsibility to ensure
+all filesystems that are needed are mounted at the right
+locations.
+
+This function returns a string, or NULL on error.
+I<The caller must free the returned string after use>.
+
+=head2 guestfs_command_lines
+
+ char **guestfs_command_lines (guestfs_h *handle,
+ char * const* const arguments);
+
+This is the same as C<guestfs_command>, but splits the
+result into a list of lines.
+
+This function returns a NULL-terminated array of strings
+(like L<environ(3)>), or NULL if there was an error.
+I<The caller must free the strings and the array after use>.
+
=head2 guestfs_config
int guestfs_config (guestfs_h *handle,
This function returns 0 on success or -1 on error.
+=head2 guestfs_exists
+
+ int guestfs_exists (guestfs_h *handle,
+ const char *path);
+
+This returns C<true> if and only if there is a file, directory
+(or anything) with the given C<path> name.
+
+See also C<guestfs_is_file>, C<guestfs_is_dir>, C<guestfs_stat>.
+
+This function returns a C truth value on success or -1 on error.
+
+=head2 guestfs_file
+
+ char *guestfs_file (guestfs_h *handle,
+ const char *path);
+
+This call uses the standard L<file(1)> command to determine
+the type or contents of the file. This also works on devices,
+for example to find out whether a partition contains a filesystem.
+
+The exact command which runs is C<file -bsL path>. Note in
+particular that the filename is not prepended to the output
+(the C<-b> option).
+
+This function returns a string, or NULL on error.
+I<The caller must free the returned string after use>.
+
=head2 guestfs_get_autosync
int guestfs_get_autosync (guestfs_h *handle);
This is always non-NULL. If it wasn't set already, then this will
return the default path.
-This function returns a string or NULL on error.
+This function returns a string, or NULL on error.
The string is owned by the guest handle and must I<not> be freed.
=head2 guestfs_get_verbose
This function returns a C truth value on success or -1 on error.
+=head2 guestfs_is_dir
+
+ int guestfs_is_dir (guestfs_h *handle,
+ const char *path);
+
+This returns C<true> if and only if there is a directory
+with the given C<path> name. Note that it returns false for
+other objects like files.
+
+See also C<guestfs_stat>.
+
+This function returns a C truth value on success or -1 on error.
+
+=head2 guestfs_is_file
+
+ int guestfs_is_file (guestfs_h *handle,
+ const char *path);
+
+This returns C<true> if and only if there is a file
+with the given C<path> name. Note that it returns false for
+other objects like directories.
+
+See also C<guestfs_stat>.
+
+This function returns a C truth value on success or -1 on error.
+
=head2 guestfs_kill_subprocess
int guestfs_kill_subprocess (guestfs_h *handle);
This command is mostly useful for interactive sessions. It
is I<not> intended that you try to parse the output string.
-This function returns a string or NULL on error.
+This function returns a string, or NULL on error.
I<The caller must free the returned string after use>.
=head2 guestfs_ls
(like L<environ(3)>), or NULL if there was an error.
I<The caller must free the strings and the array after use>.
+=head2 guestfs_lvcreate
+
+ int guestfs_lvcreate (guestfs_h *handle,
+ const char *logvol,
+ const char *volgroup,
+ int mbytes);
+
+This creates an LVM volume group called C<logvol>
+on the volume group C<volgroup>, with C<size> megabytes.
+
+This function returns 0 on success or -1 on error.
+
+=head2 guestfs_lvm_remove_all
+
+ int guestfs_lvm_remove_all (guestfs_h *handle);
+
+This command removes all LVM logical volumes, volume groups
+and physical volumes.
+
+This function returns 0 on success or -1 on error.
+
+B<This command is dangerous. Without careful use you
+can easily destroy all your data>.
+
=head2 guestfs_lvs
char **guestfs_lvs (guestfs_h *handle);
of the L<lvs(8)> command. The "full" version includes all fields.
This function returns a C<struct guestfs_lvm_lv_list *>.
-I<The caller must call C<guestfs_free_lvm_lv_list> after use.>.
+I<The caller must call C<guestfs_free_lvm_lv_list> after use>.
+
+=head2 guestfs_mkdir
+
+ int guestfs_mkdir (guestfs_h *handle,
+ const char *path);
+
+Create a directory named C<path>.
+
+This function returns 0 on success or -1 on error.
+
+=head2 guestfs_mkdir_p
+
+ int guestfs_mkdir_p (guestfs_h *handle,
+ const char *path);
+
+Create a directory named C<path>, creating any parent directories
+as necessary. This is like the C<mkdir -p> shell command.
+
+This function returns 0 on success or -1 on error.
+
+=head2 guestfs_mkfs
+
+ int guestfs_mkfs (guestfs_h *handle,
+ const char *fstype,
+ const char *device);
+
+This creates a filesystem on C<device> (usually a partition
+of LVM logical volume). The filesystem type is C<fstype>, for
+example C<ext3>.
+
+This function returns 0 on success or -1 on error.
=head2 guestfs_mount
This function returns 0 on success or -1 on error.
+=head2 guestfs_mounts
+
+ char **guestfs_mounts (guestfs_h *handle);
+
+This returns the list of currently mounted filesystems. It returns
+the list of devices (eg. C</dev/sda1>, C</dev/VG/LV>).
+
+Some internal mounts are not shown.
+
+This function returns a NULL-terminated array of strings
+(like L<environ(3)>), or NULL if there was an error.
+I<The caller must free the strings and the array after use>.
+
+=head2 guestfs_pvcreate
+
+ int guestfs_pvcreate (guestfs_h *handle,
+ const char *device);
+
+This creates an LVM physical volume on the named C<device>,
+where C<device> should usually be a partition name such
+as C</dev/sda1>.
+
+This function returns 0 on success or -1 on error.
+
=head2 guestfs_pvs
char **guestfs_pvs (guestfs_h *handle);
of the L<pvs(8)> command. The "full" version includes all fields.
This function returns a C<struct guestfs_lvm_pv_list *>.
-I<The caller must call C<guestfs_free_lvm_pv_list> after use.>.
+I<The caller must call C<guestfs_free_lvm_pv_list> after use>.
=head2 guestfs_read_lines
(like L<environ(3)>), or NULL if there was an error.
I<The caller must free the strings and the array after use>.
+=head2 guestfs_rm
+
+ int guestfs_rm (guestfs_h *handle,
+ const char *path);
+
+Remove the single file C<path>.
+
+This function returns 0 on success or -1 on error.
+
+=head2 guestfs_rm_rf
+
+ int guestfs_rm_rf (guestfs_h *handle,
+ const char *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.
+
+This function returns 0 on success or -1 on error.
+
+=head2 guestfs_rmdir
+
+ int guestfs_rmdir (guestfs_h *handle,
+ const char *path);
+
+Remove the single directory C<path>.
+
+This function returns 0 on success or -1 on error.
+
=head2 guestfs_set_autosync
int guestfs_set_autosync (guestfs_h *handle,
This function returns 0 on success or -1 on error.
+=head2 guestfs_sfdisk
+
+ int guestfs_sfdisk (guestfs_h *handle,
+ const char *device,
+ int cyls,
+ int heads,
+ int sectors,
+ char * const* const lines);
+
+This is a direct interface to the L<sfdisk(8)> program for creating
+partitions on block devices.
+
+C<device> should be a block device, for example C</dev/sda>.
+
+C<cyls>, C<heads> and C<sectors> are the number of cylinders, heads
+and sectors on the device, which are passed directly to sfdisk as
+the I<-C>, I<-H> and I<-S> parameters. If you pass C<0> for any
+of these, then the corresponding parameter is omitted. Usually for
+'large' disks, you can just pass C<0> for these, but for small
+(floppy-sized) disks, sfdisk (or rather, the kernel) cannot work
+out the right geometry and you will need to tell it.
+
+C<lines> is a list of lines that we feed to C<sfdisk>. For more
+information refer to the L<sfdisk(8)> manpage.
+
+To create a single partition occupying the whole disk, you would
+pass C<lines> as a single element list, when the single element being
+the string C<,> (comma).
+
+This function returns 0 on success or -1 on error.
+
+B<This command is dangerous. Without careful use you
+can easily destroy all your data>.
+
=head2 guestfs_sync
int guestfs_sync (guestfs_h *handle);
This function returns 0 on success or -1 on error.
+=head2 guestfs_umount
+
+ int guestfs_umount (guestfs_h *handle,
+ const char *pathordevice);
+
+This unmounts the given filesystem. The filesystem may be
+specified either by its mountpoint (path) or the device which
+contains the filesystem.
+
+This function returns 0 on success or -1 on error.
+
+=head2 guestfs_umount_all
+
+ int guestfs_umount_all (guestfs_h *handle);
+
+This unmounts all mounted filesystems.
+
+Some internal mounts are not unmounted by this call.
+
+This function returns 0 on success or -1 on error.
+
+=head2 guestfs_vgcreate
+
+ int guestfs_vgcreate (guestfs_h *handle,
+ const char *volgroup,
+ char * const* const physvols);
+
+This creates an LVM volume group called C<volgroup>
+from the non-empty list of physical volumes C<physvols>.
+
+This function returns 0 on success or -1 on error.
+
=head2 guestfs_vgs
char **guestfs_vgs (guestfs_h *handle);
of the L<vgs(8)> command. The "full" version includes all fields.
This function returns a C<struct guestfs_lvm_vg_list *>.
-I<The caller must call C<guestfs_free_lvm_vg_list> after use.>.
+I<The caller must call C<guestfs_free_lvm_vg_list> after use>.
=head2 guestfs_wait_ready
This function returns 0 on success or -1 on error.
+=head2 guestfs_write_file
+
+ int guestfs_write_file (guestfs_h *handle,
+ const char *path,
+ const char *content,
+ int size);
+
+This call creates a file called C<path>. The contents of the
+file is the string C<content> (which can contain any 8 bit data),
+with length C<size>.
+
+As a special case, if C<size> is C<0>
+then the length is calculated using C<strlen> (so in this case
+the content cannot contain embedded ASCII NULs).
+
+This function returns 0 on success or -1 on error.
+
+Because of the message protocol, there is a transfer limit
+of somewhere between 2MB and 4MB. To transfer large files you should use
+FTP.
+