summaryrefslogtreecommitdiffstats
path: root/guestfs-actions.pod
diff options
context:
space:
mode:
authorRichard Jones <rjones@centos5x32.home.annexia.org>2009-07-03 00:22:14 +0100
committerRichard Jones <rjones@centos5x32.home.annexia.org>2009-07-03 00:22:14 +0100
commit6fb57e430c8daa06d8d938ac02a104c8aadbbda5 (patch)
tree38586363a6a7d68e5559347d1cc7671593c81aed /guestfs-actions.pod
parentb7e094fa14b306fe776b9b2695cf82fa32d4923f (diff)
parentee4c49fad5a3e36c6e909ab90bcb7d719c9395b3 (diff)
downloadlibguestfs-6fb57e430c8daa06d8d938ac02a104c8aadbbda5.tar.gz
libguestfs-6fb57e430c8daa06d8d938ac02a104c8aadbbda5.tar.xz
libguestfs-6fb57e430c8daa06d8d938ac02a104c8aadbbda5.zip
Merge branch 'master' of git+ssh://192.168.122.1/home/rjones/d/libguestfs
Diffstat (limited to 'guestfs-actions.pod')
-rw-r--r--guestfs-actions.pod2014
1 files changed, 0 insertions, 2014 deletions
diff --git a/guestfs-actions.pod b/guestfs-actions.pod
deleted file mode 100644
index f37ec50b..00000000
--- a/guestfs-actions.pod
+++ /dev/null
@@ -1,2014 +0,0 @@
-=head2 guestfs_add_cdrom
-
- int guestfs_add_cdrom (guestfs_h *handle,
- const char *filename);
-
-This function adds a virtual CD-ROM disk image to the guest.
-
-This is equivalent to the qemu parameter C<-cdrom filename>.
-
-Note that this call checks for the existence of C<filename>. This
-stops you from specifying other types of drive which are supported
-by qemu such as C<nbd:> and C<http:> URLs. To specify those, use
-the general C<guestfs_config> call instead.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_add_drive
-
- int guestfs_add_drive (guestfs_h *handle,
- const char *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>.
-
-Note that this call checks for the existence of C<filename>. This
-stops you from specifying other types of drive which are supported
-by qemu such as C<nbd:> and C<http:> URLs. To specify those, use
-the general C<guestfs_config> call instead.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_add_drive_ro
-
- int guestfs_add_drive_ro (guestfs_h *handle,
- const char *filename);
-
-This adds a drive in snapshot mode, making it effectively
-read-only.
-
-Note that writes to the device are allowed, and will be seen for
-the duration of the guestfs handle, but they are written
-to a temporary file which is discarded as soon as the guestfs
-handle is closed. We don't currently have any method to enable
-changes to be committed, although qemu can support this.
-
-This is equivalent to the qemu parameter
-C<-drive file=filename,snapshot=on>.
-
-Note that this call checks for the existence of C<filename>. This
-stops you from specifying other types of drive which are supported
-by qemu such as C<nbd:> and C<http:> URLs. To specify those, use
-the general C<guestfs_config> call instead.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_aug_close
-
- int guestfs_aug_close (guestfs_h *handle);
-
-Close the current Augeas handle and free up any resources
-used by it. After calling this, you have to call
-C<guestfs_aug_init> again before you can use any other
-Augeas functions.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_aug_defnode
-
- struct guestfs_int_bool *guestfs_aug_defnode (guestfs_h *handle,
- const char *name,
- const char *expr,
- const char *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<guestfs_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.
-
-This function returns a C<struct guestfs_int_bool *>,
-or NULL if there was an error.
-I<The caller must call C<guestfs_free_int_bool> after use>.
-
-=head2 guestfs_aug_defvar
-
- int guestfs_aug_defvar (guestfs_h *handle,
- const char *name,
- const char *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.
-
-On error this function returns -1.
-
-=head2 guestfs_aug_get
-
- char *guestfs_aug_get (guestfs_h *handle,
- const char *path);
-
-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.
-I<The caller must free the returned string after use>.
-
-=head2 guestfs_aug_init
-
- int guestfs_aug_init (guestfs_h *handle,
- const char *root,
- int 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<guestfs_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<guestfs_aug_init>.
-
-=back
-
-To close the handle, you can call C<guestfs_aug_close>.
-
-To find out more about Augeas, see L<http://augeas.net/>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_aug_insert
-
- int guestfs_aug_insert (guestfs_h *handle,
- const char *path,
- const char *label,
- int before);
-
-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]>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_aug_load
-
- int guestfs_aug_load (guestfs_h *handle);
-
-Load files into the tree.
-
-See C<aug_load> in the Augeas documentation for the full gory
-details.
-
-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,
- const char *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.
-
-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_mv
-
- int guestfs_aug_mv (guestfs_h *handle,
- const char *src,
- const char *dest);
-
-Move the node C<src> to C<dest>. C<src> must match exactly
-one node. C<dest> is overwritten if it exists.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_aug_rm
-
- int guestfs_aug_rm (guestfs_h *handle,
- const char *path);
-
-Remove C<path> and all of its children.
-
-On success this returns the number of entries which were removed.
-
-On error this function returns -1.
-
-=head2 guestfs_aug_save
-
- int guestfs_aug_save (guestfs_h *handle);
-
-This writes all pending changes to disk.
-
-The flags which were passed to C<guestfs_aug_init> affect exactly
-how files are saved.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_aug_set
-
- int guestfs_aug_set (guestfs_h *handle,
- const char *path,
- const char *val);
-
-Set the value associated with C<path> to C<value>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_blockdev_flushbufs
-
- int guestfs_blockdev_flushbufs (guestfs_h *handle,
- const char *device);
-
-This tells the kernel to flush internal buffers associated
-with C<device>.
-
-This uses the L<blockdev(8)> command.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_blockdev_getbsz
-
- int guestfs_blockdev_getbsz (guestfs_h *handle,
- const char *device);
-
-This returns the block size of a device.
-
-(Note this is different from both I<size in blocks> and
-I<filesystem block size>).
-
-This uses the L<blockdev(8)> command.
-
-On error this function returns -1.
-
-=head2 guestfs_blockdev_getro
-
- int guestfs_blockdev_getro (guestfs_h *handle,
- const char *device);
-
-Returns a boolean indicating if the block device is read-only
-(true if read-only, false if not).
-
-This uses the L<blockdev(8)> command.
-
-This function returns a C truth value on success or -1 on error.
-
-=head2 guestfs_blockdev_getsize64
-
- int64_t guestfs_blockdev_getsize64 (guestfs_h *handle,
- const char *device);
-
-This returns the size of the device in bytes.
-
-See also C<guestfs_blockdev_getsz>.
-
-This uses the L<blockdev(8)> command.
-
-On error this function returns -1.
-
-=head2 guestfs_blockdev_getss
-
- int guestfs_blockdev_getss (guestfs_h *handle,
- const char *device);
-
-This returns the size of sectors on a block device.
-Usually 512, but can be larger for modern devices.
-
-(Note, this is not the size in sectors, use C<guestfs_blockdev_getsz>
-for that).
-
-This uses the L<blockdev(8)> command.
-
-On error this function returns -1.
-
-=head2 guestfs_blockdev_getsz
-
- int64_t guestfs_blockdev_getsz (guestfs_h *handle,
- const char *device);
-
-This returns the size of the device in units of 512-byte sectors
-(even if the sectorsize isn't 512 bytes ... weird).
-
-See also C<guestfs_blockdev_getss> for the real sector size of
-the device, and C<guestfs_blockdev_getsize64> for the more
-useful I<size in bytes>.
-
-This uses the L<blockdev(8)> command.
-
-On error this function returns -1.
-
-=head2 guestfs_blockdev_rereadpt
-
- int guestfs_blockdev_rereadpt (guestfs_h *handle,
- const char *device);
-
-Reread the partition table on C<device>.
-
-This uses the L<blockdev(8)> command.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_blockdev_setbsz
-
- int guestfs_blockdev_setbsz (guestfs_h *handle,
- const char *device,
- int blocksize);
-
-This sets the block size of a device.
-
-(Note this is different from both I<size in blocks> and
-I<filesystem block size>).
-
-This uses the L<blockdev(8)> command.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_blockdev_setro
-
- int guestfs_blockdev_setro (guestfs_h *handle,
- const char *device);
-
-Sets the block device named C<device> to read-only.
-
-This uses the L<blockdev(8)> command.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_blockdev_setrw
-
- int guestfs_blockdev_setrw (guestfs_h *handle,
- const char *device);
-
-Sets the block device named C<device> to read-write.
-
-This uses the L<blockdev(8)> command.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_cat
-
- char *guestfs_cat (guestfs_h *handle,
- const char *path);
-
-Return the contents of the file named C<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_download>
-function which has a more complex interface.
-
-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_checksum
-
- char *guestfs_checksum (guestfs_h *handle,
- const char *csumtype,
- const char *path);
-
-This call computes the MD5, SHAx or CRC checksum of the
-file named C<path>.
-
-The type of checksum to compute is given by the C<csumtype>
-parameter which must have one of the following values:
-
-=over 4
-
-=item C<crc>
-
-Compute the cyclic redundancy check (CRC) specified by POSIX
-for the C<cksum> command.
-
-=item C<md5>
-
-Compute the MD5 hash (using the C<md5sum> program).
-
-=item C<sha1>
-
-Compute the SHA1 hash (using the C<sha1sum> program).
-
-=item C<sha224>
-
-Compute the SHA224 hash (using the C<sha224sum> program).
-
-=item C<sha256>
-
-Compute the SHA256 hash (using the C<sha256sum> program).
-
-=item C<sha384>
-
-Compute the SHA384 hash (using the C<sha384sum> program).
-
-=item C<sha512>
-
-Compute the SHA512 hash (using the C<sha512sum> program).
-
-=back
-
-The checksum is returned as a printable string.
-
-This function returns a string, or NULL on error.
-I<The caller must free the returned string after use>.
-
-=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 return value is anything printed to I<stdout> by
-the command.
-
-If the command returns a non-zero exit status, then
-this function returns an error message. The error message
-string is the content of I<stderr> from the command.
-
-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>.
-
-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_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>.
-
-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_config
-
- int guestfs_config (guestfs_h *handle,
- const char *qemuparam,
- const char *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.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_cp
-
- int guestfs_cp (guestfs_h *handle,
- const char *src,
- const char *dest);
-
-This copies a file from C<src> to C<dest> where C<dest> is
-either a destination filename or destination directory.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_cp_a
-
- int guestfs_cp_a (guestfs_h *handle,
- const char *src,
- const char *dest);
-
-This copies a file or directory from C<src> to C<dest>
-recursively using the C<cp -a> command.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_debug
-
- char *guestfs_debug (guestfs_h *handle,
- const char *subcmd,
- char * const* const extraargs);
-
-The C<guestfs_debug> command exposes some internals of
-C<guestfsd> (the guestfs daemon) that runs inside the
-qemu subprocess.
-
-There is no comprehensive help for this command. You have
-to look at the file C<daemon/debug.c> in the libguestfs source
-to find out what you can do.
-
-This function returns a string, or NULL on error.
-I<The caller must free the returned string after use>.
-
-=head2 guestfs_dmesg
-
- char *guestfs_dmesg (guestfs_h *handle);
-
-This returns the kernel messages (C<dmesg> output) from
-the guest kernel. This is sometimes useful for extended
-debugging of problems.
-
-Another way to get the same information is to enable
-verbose messages with C<guestfs_set_verbose> or by setting
-the environment variable C<LIBGUESTFS_DEBUG=1> before
-running the program.
-
-This function returns a string, or NULL on error.
-I<The caller must free the returned string after use>.
-
-=head2 guestfs_download
-
- int guestfs_download (guestfs_h *handle,
- const char *remotefilename,
- const char *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<guestfs_upload>, C<guestfs_cat>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_drop_caches
-
- int guestfs_drop_caches (guestfs_h *handle,
- int whattodrop);
-
-This instructs the guest kernel to drop its page cache,
-and/or dentries and inode caches. The parameter C<whattodrop>
-tells the kernel what precisely to drop, see
-L<http://linux-mm.org/Drop_Caches>
-
-Setting C<whattodrop> to 3 should drop everything.
-
-This automatically calls L<sync(2)> before the operation,
-so that the maximum guest memory is freed.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_e2fsck_f
-
- int guestfs_e2fsck_f (guestfs_h *handle,
- const char *device);
-
-This runs C<e2fsck -p -f device>, ie. runs the ext2/ext3
-filesystem checker on C<device>, noninteractively (C<-p>),
-even if the filesystem appears to be clean (C<-f>).
-
-This command is only needed because of C<guestfs_resize2fs>
-(q.v.). Normally you should use C<guestfs_fsck>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_end_busy
-
- int guestfs_end_busy (guestfs_h *handle);
-
-This sets the state to C<READY>, or if in C<CONFIG> then it leaves the
-state as is. This is only used when implementing
-actions using the low-level API.
-
-For more information on states, see L<guestfs(3)>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_equal
-
- int guestfs_equal (guestfs_h *handle,
- const char *file1,
- const char *file2);
-
-This compares the two files C<file1> and C<file2> and returns
-true if their content is exactly equal, or false otherwise.
-
-The external L<cmp(1)> program is used for the comparison.
-
-This function returns a C truth value 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_find
-
- char **guestfs_find (guestfs_h *handle,
- const char *directory);
-
-This command lists out all files and directories, recursively,
-starting at C<directory>. It is essentially equivalent to
-running the shell command C<find directory -print> but some
-post-processing happens on the output, described below.
-
-This returns a list of strings I<without any prefix>. Thus
-if the directory structure was:
-
- /tmp/a
- /tmp/b
- /tmp/c/d
-
-then the returned list from C<guestfs_find> C</tmp> would be
-4 elements:
-
- a
- b
- c
- c/d
-
-If C<directory> is not a directory, then this command returns
-an error.
-
-The returned list is sorted.
-
-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_fsck
-
- int guestfs_fsck (guestfs_h *handle,
- const char *fstype,
- const char *device);
-
-This runs the filesystem checker (fsck) on C<device> which
-should have filesystem type C<fstype>.
-
-The returned integer is the status. See L<fsck(8)> for the
-list of status codes from C<fsck>.
-
-Notes:
-
-=over 4
-
-=item *
-
-Multiple status codes can be summed together.
-
-=item *
-
-A non-zero return code can mean "success", for example if
-errors have been corrected on the filesystem.
-
-=item *
-
-Checking or repairing NTFS volumes is not supported
-(by linux-ntfs).
-
-=back
-
-This command is entirely equivalent to running C<fsck -a -t fstype device>.
-
-On error this function returns -1.
-
-=head2 guestfs_get_append
-
- const char *guestfs_get_append (guestfs_h *handle);
-
-Return the additional kernel options which are added to the
-guest kernel command line.
-
-If C<NULL> then no options are added.
-
-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_autosync
-
- int guestfs_get_autosync (guestfs_h *handle);
-
-Get the autosync flag.
-
-This function returns a C truth value on success or -1 on error.
-
-=head2 guestfs_get_e2label
-
- char *guestfs_get_e2label (guestfs_h *handle,
- const char *device);
-
-This returns the ext2/3/4 filesystem label of the filesystem on
-C<device>.
-
-This function returns a string, or NULL on error.
-I<The caller must free the returned string after use>.
-
-=head2 guestfs_get_e2uuid
-
- char *guestfs_get_e2uuid (guestfs_h *handle,
- const char *device);
-
-This returns the ext2/3/4 filesystem UUID of the filesystem on
-C<device>.
-
-This function returns a string, or NULL on error.
-I<The caller must free the returned string after use>.
-
-=head2 guestfs_get_path
-
- const char *guestfs_get_path (guestfs_h *handle);
-
-Return the current search path.
-
-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.
-The string is owned by the guest handle and must I<not> be freed.
-
-=head2 guestfs_get_qemu
-
- const char *guestfs_get_qemu (guestfs_h *handle);
-
-Return the current qemu binary.
-
-This is always non-NULL. If it wasn't set already, then this will
-return the default qemu binary name.
-
-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_state
-
- int guestfs_get_state (guestfs_h *handle);
-
-This returns the current state as an opaque integer. This is
-only useful for printing debug and internal error messages.
-
-For more information on states, see L<guestfs(3)>.
-
-On error this function returns -1.
-
-=head2 guestfs_get_verbose
-
- int guestfs_get_verbose (guestfs_h *handle);
-
-This returns the verbose messages flag.
-
-This function returns a C truth value on success or -1 on error.
-
-=head2 guestfs_grub_install
-
- int guestfs_grub_install (guestfs_h *handle,
- const char *root,
- const char *device);
-
-This command installs GRUB (the Grand Unified Bootloader) on
-C<device>, with the root directory being C<root>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_hexdump
-
- char *guestfs_hexdump (guestfs_h *handle,
- const char *path);
-
-This runs C<hexdump -C> on the given C<path>. The result is
-the human-readable, canonical hex dump of the file.
-
-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_is_busy
-
- int guestfs_is_busy (guestfs_h *handle);
-
-This returns true iff this handle is busy processing a command
-(in the C<BUSY> state).
-
-For more information on states, see L<guestfs(3)>.
-
-This function returns a C truth value on success or -1 on error.
-
-=head2 guestfs_is_config
-
- int guestfs_is_config (guestfs_h *handle);
-
-This returns true iff this handle is being configured
-(in the C<CONFIG> state).
-
-For more information on states, see L<guestfs(3)>.
-
-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_is_launching
-
- int guestfs_is_launching (guestfs_h *handle);
-
-This returns true iff this handle is launching the subprocess
-(in the C<LAUNCHING> state).
-
-For more information on states, see L<guestfs(3)>.
-
-This function returns a C truth value on success or -1 on error.
-
-=head2 guestfs_is_ready
-
- int guestfs_is_ready (guestfs_h *handle);
-
-This returns true iff this handle is ready to accept commands
-(in the C<READY> state).
-
-For more information on states, see L<guestfs(3)>.
-
-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 kills the qemu subprocess. You should never need to call this.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_launch
-
- int guestfs_launch (guestfs_h *handle);
-
-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.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_list_devices
-
- char **guestfs_list_devices (guestfs_h *handle);
-
-List all the block devices.
-
-The full block device names are returned, eg. C</dev/sda>
-
-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_list_partitions
-
- char **guestfs_list_partitions (guestfs_h *handle);
-
-List all the partitions detected on all block devices.
-
-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>.
-
-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_ll
-
- char *guestfs_ll (guestfs_h *handle,
- const char *directory);
-
-List the files in C<directory> (relative to the root directory,
-there is no cwd) in the format of 'ls -la'.
-
-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.
-I<The caller must free the returned string after use>.
-
-=head2 guestfs_ls
-
- char **guestfs_ls (guestfs_h *handle,
- const char *directory);
-
-List the files in C<directory> (relative to the root directory,
-there is no cwd). The '.' and '..' entries are not returned, but
-hidden files are shown.
-
-This command is mostly useful for interactive sessions. Programs
-should probably use C<guestfs_readdir> instead.
-
-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_lstat
-
- struct guestfs_stat *guestfs_lstat (guestfs_h *handle,
- const char *path);
-
-Returns file information for the given C<path>.
-
-This is the same as C<guestfs_stat> except that if C<path>
-is a symbolic link, then the link is stat-ed, not the file it
-refers to.
-
-This is the same as the C<lstat(2)> system call.
-
-This function returns a C<struct guestfs_stat *>
-(see L<stat(2)> and E<lt>guestfs-structs.hE<gt>),
-or NULL if there was an error.
-I<The caller must call C<free> 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_lvremove
-
- int guestfs_lvremove (guestfs_h *handle,
- const char *device);
-
-Remove an LVM logical volume C<device>, where C<device> is
-the path to the LV, such as C</dev/VG/LV>.
-
-You can also remove all LVs in a volume group by specifying
-the VG name, C</dev/VG>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_lvresize
-
- int guestfs_lvresize (guestfs_h *handle,
- const char *device,
- int mbytes);
-
-This resizes (expands or shrinks) an existing LVM logical
-volume to C<mbytes>. When reducing, data in the reduced part
-is lost.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_lvs
-
- char **guestfs_lvs (guestfs_h *handle);
-
-List all the logical volumes detected. This is the equivalent
-of the L<lvs(8)> command.
-
-This returns a list of the logical volume device names
-(eg. C</dev/VolGroup00/LogVol00>).
-
-See also C<guestfs_lvs_full>.
-
-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_lvs_full
-
- struct guestfs_lvm_lv_list *guestfs_lvs_full (guestfs_h *handle);
-
-List all the logical volumes detected. This is the equivalent
-of the L<lvs(8)> command. The "full" version includes all fields.
-
-This function returns a C<struct guestfs_lvm_lv_list *>
-(see E<lt>guestfs-structs.hE<gt>),
-or NULL if there was an error.
-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
-or 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
-
- int guestfs_mount (guestfs_h *handle,
- const char *device,
- const char *mountpoint);
-
-Mount a guest disk at a position in the filesystem. Block devices
-are named C</dev/sda>, C</dev/sdb> and so on, as they were added to
-the guest. If those block devices contain partitions, they will have
-the usual names (eg. C</dev/sda1>). Also LVM C</dev/VG/LV>-style
-names can be used.
-
-The rules are the same as for L<mount(2)>: A filesystem must
-first be mounted on C</> before others can be mounted. Other
-filesystems can only be mounted on directories which already
-exist.
-
-The mounted filesystem is writable, if we have sufficient permissions
-on the underlying device.
-
-The filesystem options C<sync> and C<noatime> are set with this
-call, in order to improve reliability.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_mount_options
-
- int guestfs_mount_options (guestfs_h *handle,
- const char *options,
- const char *device,
- const char *mountpoint);
-
-This is the same as the C<guestfs_mount> command, but it
-allows you to set the mount options as for the
-L<mount(8)> I<-o> flag.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_mount_ro
-
- int guestfs_mount_ro (guestfs_h *handle,
- const char *device,
- const char *mountpoint);
-
-This is the same as the C<guestfs_mount> command, but it
-mounts the filesystem with the read-only (I<-o ro>) flag.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_mount_vfs
-
- int guestfs_mount_vfs (guestfs_h *handle,
- const char *options,
- const char *vfstype,
- const char *device,
- const char *mountpoint);
-
-This is the same as the C<guestfs_mount> command, but it
-allows you to set both the mount options and the vfstype
-as for the L<mount(8)> I<-o> and I<-t> flags.
-
-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_mv
-
- int guestfs_mv (guestfs_h *handle,
- const char *src,
- const char *dest);
-
-This moves a file from C<src> to C<dest> where C<dest> is
-either a destination filename or destination directory.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_ntfs_3g_probe
-
- int guestfs_ntfs_3g_probe (guestfs_h *handle,
- int rw,
- const char *device);
-
-This command runs the L<ntfs-3g.probe(8)> command which probes
-an NTFS C<device> for mountability. (Not all NTFS volumes can
-be mounted read-write, and some cannot be mounted at all).
-
-C<rw> is a boolean flag. Set it to true if you want to test
-if the volume can be mounted read-write. Set it to false if
-you want to test if the volume can be mounted read-only.
-
-The return value is an integer which C<0> if the operation
-would succeed, or some non-zero value documented in the
-L<ntfs-3g.probe(8)> manual page.
-
-On error this function returns -1.
-
-=head2 guestfs_ping_daemon
-
- int guestfs_ping_daemon (guestfs_h *handle);
-
-This is a test probe into the guestfs daemon running inside
-the qemu subprocess. Calling this function checks that the
-daemon responds to the ping message, without affecting the daemon
-or attached block device(s) in any other way.
-
-This function returns 0 on success or -1 on error.
-
-=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_pvremove
-
- int guestfs_pvremove (guestfs_h *handle,
- const char *device);
-
-This wipes a physical volume C<device> so that LVM will no longer
-recognise it.
-
-The implementation uses the C<pvremove> command which refuses to
-wipe physical volumes that contain any volume groups, so you have
-to remove those first.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_pvresize
-
- int guestfs_pvresize (guestfs_h *handle,
- const char *device);
-
-This resizes (expands or shrinks) an existing LVM physical
-volume to match the new size of the underlying device.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_pvs
-
- char **guestfs_pvs (guestfs_h *handle);
-
-List all the physical volumes detected. This is the equivalent
-of the L<pvs(8)> command.
-
-This returns a list of just the device names that contain
-PVs (eg. C</dev/sda2>).
-
-See also C<guestfs_pvs_full>.
-
-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_pvs_full
-
- struct guestfs_lvm_pv_list *guestfs_pvs_full (guestfs_h *handle);
-
-List all the physical volumes detected. This is the equivalent
-of the L<pvs(8)> command. The "full" version includes all fields.
-
-This function returns a C<struct guestfs_lvm_pv_list *>
-(see E<lt>guestfs-structs.hE<gt>),
-or NULL if there was an error.
-I<The caller must call C<guestfs_free_lvm_pv_list> after use>.
-
-=head2 guestfs_read_lines
-
- char **guestfs_read_lines (guestfs_h *handle,
- const char *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<guestfs_read_file>
-function which has a more complex interface.
-
-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_resize2fs
-
- int guestfs_resize2fs (guestfs_h *handle,
- const char *device);
-
-This resizes an ext2 or ext3 filesystem to match the size of
-the underlying device.
-
-I<Note:> It is sometimes required that you run C<guestfs_e2fsck_f>
-on the C<device> before calling this command. For unknown reasons
-C<resize2fs> sometimes gives an error about this and sometimes not.
-In any case, it is always safe to call C<guestfs_e2fsck_f> before
-calling this function.
-
-This function returns 0 on success or -1 on error.
-
-=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_append
-
- int guestfs_set_append (guestfs_h *handle,
- const char *append);
-
-This function is used to add additional options to the
-guest kernel command line.
-
-The default is C<NULL> unless overridden by setting
-C<LIBGUESTFS_APPEND> environment variable.
-
-Setting C<append> to C<NULL> means I<no> additional options
-are passed (libguestfs always adds a few of its own).
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_set_autosync
-
- int guestfs_set_autosync (guestfs_h *handle,
- int autosync);
-
-If C<autosync> is true, this enables autosync. Libguestfs will make a
-best effort attempt to run C<guestfs_umount_all> followed by
-C<guestfs_sync> when the handle is closed
-(also if the program exits without closing handles).
-
-This is disabled by default (except in guestfish where it is
-enabled by default).
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_set_busy
-
- int guestfs_set_busy (guestfs_h *handle);
-
-This sets the state to C<BUSY>. This is only used when implementing
-actions using the low-level API.
-
-For more information on states, see L<guestfs(3)>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_set_e2label
-
- int guestfs_set_e2label (guestfs_h *handle,
- const char *device,
- const char *label);
-
-This sets the ext2/3/4 filesystem label of the filesystem on
-C<device> to C<label>. Filesystem labels are limited to
-16 characters.
-
-You can use either C<guestfs_tune2fs_l> or C<guestfs_get_e2label>
-to return the existing label on a filesystem.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_set_e2uuid
-
- int guestfs_set_e2uuid (guestfs_h *handle,
- const char *device,
- const char *uuid);
-
-This sets the ext2/3/4 filesystem UUID of the filesystem on
-C<device> to C<uuid>. The format of the UUID and alternatives
-such as C<clear>, C<random> and C<time> are described in the
-L<tune2fs(8)> manpage.
-
-You can use either C<guestfs_tune2fs_l> or C<guestfs_get_e2uuid>
-to return the existing UUID of a filesystem.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_set_path
-
- int guestfs_set_path (guestfs_h *handle,
- const char *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.
-
-Setting C<path> to C<NULL> restores the default path.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_set_qemu
-
- int guestfs_set_qemu (guestfs_h *handle,
- const char *qemu);
-
-Set the qemu binary that we will use.
-
-The default is chosen when the library was compiled by the
-configure script.
-
-You can also override this by setting the C<LIBGUESTFS_QEMU>
-environment variable.
-
-Setting C<qemu> to C<NULL> restores the default qemu binary.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_set_ready
-
- int guestfs_set_ready (guestfs_h *handle);
-
-This sets the state to C<READY>. This is only used when implementing
-actions using the low-level API.
-
-For more information on states, see L<guestfs(3)>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_set_verbose
-
- int guestfs_set_verbose (guestfs_h *handle,
- int 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>.
-
-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).
-
-See also: C<guestfs_sfdisk_l>, C<guestfs_sfdisk_N>
-
-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_sfdisk_N
-
- int guestfs_sfdisk_N (guestfs_h *handle,
- const char *device,
- int n,
- int cyls,
- int heads,
- int sectors,
- const char *line);
-
-This runs L<sfdisk(8)> option to modify just the single
-partition C<n> (note: C<n> counts from 1).
-
-For other parameters, see C<guestfs_sfdisk>. You should usually
-pass C<0> for the cyls/heads/sectors parameters.
-
-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_sfdisk_disk_geometry
-
- char *guestfs_sfdisk_disk_geometry (guestfs_h *handle,
- const char *device);
-
-This displays the disk geometry of C<device> read from the
-partition table. Especially in the case where the underlying
-block device has been resized, this can be different from the
-kernel's idea of the geometry (see C<guestfs_sfdisk_kernel_geometry>).
-
-The result is in human-readable format, and not designed to
-be parsed.
-
-This function returns a string, or NULL on error.
-I<The caller must free the returned string after use>.
-
-=head2 guestfs_sfdisk_kernel_geometry
-
- char *guestfs_sfdisk_kernel_geometry (guestfs_h *handle,
- const char *device);
-
-This displays the kernel's idea of the geometry of C<device>.
-
-The result is in human-readable format, and not designed to
-be parsed.
-
-This function returns a string, or NULL on error.
-I<The caller must free the returned string after use>.
-
-=head2 guestfs_sfdisk_l
-
- char *guestfs_sfdisk_l (guestfs_h *handle,
- const char *device);
-
-This displays the partition table on C<device>, in the
-human-readable output of the L<sfdisk(8)> command. It is
-not intended to be parsed.
-
-This function returns a string, or NULL on error.
-I<The caller must free the returned string after use>.
-
-=head2 guestfs_sleep
-
- int guestfs_sleep (guestfs_h *handle,
- int secs);
-
-Sleep for C<secs> seconds.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_stat
-
- struct guestfs_stat *guestfs_stat (guestfs_h *handle,
- const char *path);
-
-Returns file information for the given C<path>.
-
-This is the same as the C<stat(2)> system call.
-
-This function returns a C<struct guestfs_stat *>
-(see L<stat(2)> and E<lt>guestfs-structs.hE<gt>),
-or NULL if there was an error.
-I<The caller must call C<free> after use>.
-
-=head2 guestfs_statvfs
-
- struct guestfs_statvfs *guestfs_statvfs (guestfs_h *handle,
- const char *path);
-
-Returns file system statistics for any mounted file system.
-C<path> should be a file or directory in the mounted file system
-(typically it is the mount point itself, but it doesn't need to be).
-
-This is the same as the C<statvfs(2)> system call.
-
-This function returns a C<struct guestfs_statvfs *>
-(see L<statvfs(2)> and E<lt>guestfs-structs.hE<gt>),
-or NULL if there was an error.
-I<The caller must call C<free> after use>.
-
-=head2 guestfs_strings
-
- char **guestfs_strings (guestfs_h *handle,
- const char *path);
-
-This runs the L<strings(1)> command on a file and returns
-the list of printable strings found.
-
-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>.
-
-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_strings_e
-
- char **guestfs_strings_e (guestfs_h *handle,
- const char *encoding,
- const char *path);
-
-This is like the C<guestfs_strings> command, but allows you to
-specify the encoding.
-
-See the L<strings(1)> manpage for the full list of encodings.
-
-Commonly useful encodings are C<l> (lower case L) which will
-show strings inside Windows/x86 files.
-
-The returned strings are transcoded to UTF-8.
-
-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>.
-
-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_sync
-
- int guestfs_sync (guestfs_h *handle);
-
-This syncs the disk, so that any writes are flushed through to the
-underlying disk image.
-
-You should always call this if you have modified a disk image, before
-closing the handle.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_tar_in
-
- int guestfs_tar_in (guestfs_h *handle,
- const char *tarfile,
- const char *directory);
-
-This command uploads and unpacks local file C<tarfile> (an
-I<uncompressed> tar file) into C<directory>.
-
-To upload a compressed tarball, use C<guestfs_tgz_in>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_tar_out
-
- int guestfs_tar_out (guestfs_h *handle,
- const char *directory,
- const char *tarfile);
-
-This command packs the contents of C<directory> and downloads
-it to local file C<tarfile>.
-
-To download a compressed tarball, use C<guestfs_tgz_out>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_tgz_in
-
- int guestfs_tgz_in (guestfs_h *handle,
- const char *tarball,
- const char *directory);
-
-This command uploads and unpacks local file C<tarball> (a
-I<gzip compressed> tar file) into C<directory>.
-
-To upload an uncompressed tarball, use C<guestfs_tar_in>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_tgz_out
-
- int guestfs_tgz_out (guestfs_h *handle,
- const char *directory,
- const char *tarball);
-
-This command packs the contents of C<directory> and downloads
-it to local file C<tarball>.
-
-To download an uncompressed tarball, use C<guestfs_tar_out>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_touch
-
- int guestfs_touch (guestfs_h *handle,
- const char *path);
-
-Touch acts like the L<touch(1)> command. It can be used to
-update the timestamps on a file, or, if the file does not exist,
-to create a new zero-length file.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_tune2fs_l
-
- char **guestfs_tune2fs_l (guestfs_h *handle,
- const char *device);
-
-This returns the contents of the ext2, ext3 or ext4 filesystem
-superblock on C<device>.
-
-It is the same as running C<tune2fs -l device>. See L<tune2fs(8)>
-manpage for more details. The list of fields returned isn't
-clearly defined, and depends on both the version of C<tune2fs>
-that libguestfs was built against, and the filesystem itself.
-
-This function returns a NULL-terminated array of
-strings, or NULL if there was an error.
-The array of strings will always have length C<2n+1>, where
-C<n> keys and values alternate, followed by the trailing NULL entry.
-I<The caller must free the strings and the array after use>.
-
-=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_upload
-
- int guestfs_upload (guestfs_h *handle,
- const char *filename,
- const char *remotefilename);
-
-Upload local file C<filename> to C<remotefilename> on the
-filesystem.
-
-C<filename> can also be a named pipe.
-
-See also C<guestfs_download>.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_vg_activate
-
- int guestfs_vg_activate (guestfs_h *handle,
- int activate,
- char * const* const volgroups);
-
-This command activates or (if C<activate> is false) deactivates
-all logical volumes in the listed volume groups C<volgroups>.
-If activated, then they are made known to the
-kernel, ie. they appear as C</dev/mapper> devices. If deactivated,
-then those devices disappear.
-
-This command is the same as running C<vgchange -a y|n volgroups...>
-
-Note that if C<volgroups> is an empty list then B<all> volume groups
-are activated or deactivated.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_vg_activate_all
-
- int guestfs_vg_activate_all (guestfs_h *handle,
- int activate);
-
-This command activates or (if C<activate> is false) deactivates
-all logical volumes in all volume groups.
-If activated, then they are made known to the
-kernel, ie. they appear as C</dev/mapper> devices. If deactivated,
-then those devices disappear.
-
-This command is the same as running C<vgchange -a y|n>
-
-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_vgremove
-
- int guestfs_vgremove (guestfs_h *handle,
- const char *vgname);
-
-Remove an LVM volume group C<vgname>, (for example C<VG>).
-
-This also forcibly removes all logical volumes in the volume
-group (if any).
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_vgs
-
- char **guestfs_vgs (guestfs_h *handle);
-
-List all the volumes groups detected. This is the equivalent
-of the L<vgs(8)> command.
-
-This returns a list of just the volume group names that were
-detected (eg. C<VolGroup00>).
-
-See also C<guestfs_vgs_full>.
-
-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_vgs_full
-
- struct guestfs_lvm_vg_list *guestfs_vgs_full (guestfs_h *handle);
-
-List all the volumes groups detected. This is the equivalent
-of the L<vgs(8)> command. The "full" version includes all fields.
-
-This function returns a C<struct guestfs_lvm_vg_list *>
-(see E<lt>guestfs-structs.hE<gt>),
-or NULL if there was an error.
-I<The caller must call C<guestfs_free_lvm_vg_list> after use>.
-
-=head2 guestfs_wait_ready
-
- int guestfs_wait_ready (guestfs_h *handle);
-
-Internally libguestfs is implemented by running a virtual machine
-using L<qemu(1)>.
-
-You should call this after C<guestfs_launch> to wait for the launch
-to complete.
-
-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).
-
-I<NB.> Owing to a bug, writing content containing ASCII NUL
-characters does I<not> work, even if the length is specified.
-We hope to resolve this bug in a future version. In the meantime
-use C<guestfs_upload>.
-
-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.
-
-=head2 guestfs_zero
-
- int guestfs_zero (guestfs_h *handle,
- const char *device);
-
-This command writes zeroes over the first few blocks of C<device>.
-
-How many blocks are zeroed isn't specified (but it's I<not> enough
-to securely wipe the device). It should be sufficient to remove
-any partition tables, filesystem superblocks and so on.
-
-This function returns 0 on success or -1 on error.
-
-=head2 guestfs_zerofree
-
- int guestfs_zerofree (guestfs_h *handle,
- const char *device);
-
-This runs the I<zerofree> program on C<device>. This program
-claims to zero unused inodes and disk blocks on an ext2/3
-filesystem, thus making it possible to compress the filesystem
-more effectively.
-
-You should B<not> run this program if the filesystem is
-mounted.
-
-It is possible that using this program can damage the filesystem
-or data on the filesystem.
-
-This function returns 0 on success or -1 on error.
-