New API: mkfs_opts, mkfs with optional arguments.
[libguestfs.git] / src / guestfs.pod
index b50f608..7cb05a6 100644 (file)
@@ -52,6 +52,9 @@ need enough permissions to access the disk images.
 Libguestfs is a large API because it can do many things.  For a gentle
 introduction, please read the L</API OVERVIEW> section next.
 
+There are also some example programs in the L<guestfs-examples(3)>
+manual page.
+
 =head1 API OVERVIEW
 
 This section provides a gentler overview of the libguestfs API.  We
@@ -576,7 +579,9 @@ inspection and caches the results in the guest handle.  Subsequent
 calls to C<guestfs_inspect_get_*> return this cached information, but
 I<do not> re-read the disks.  If you change the content of the guest
 disks, you can redo inspection by calling L</guestfs_inspect_os>
-again.
+again.  (L</guestfs_inspect_list_applications> works a little
+differently from the other calls and does read the disks.  See
+documentation for that function for details).
 
 =head2 SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS
 
@@ -652,7 +657,7 @@ with libguestfs.
 
 =item B<OCaml>
 
-For documentation see the file C<guestfs.mli>.
+For documentation see L<guestfs-ocaml(3)>.
 
 =item B<Perl>
 
@@ -667,16 +672,11 @@ The PHP binding only works correctly on 64 bit machines.
 
 =item B<Python>
 
-For documentation do:
-
- $ python
- >>> import guestfs
- >>> help (guestfs)
+For documentation see L<guestfs-python(3)>.
 
 =item B<Ruby>
 
-Use the Guestfs module.  There is no Ruby-specific documentation, but
-you can find examples written in Ruby in the libguestfs source.
+For documentation see L<guestfs-ruby(3)>.
 
 =item B<shell scripts>
 
@@ -1093,6 +1093,14 @@ data.  Callers should be careful to escape these before printing them
 to a structured file (for example, use HTML escaping if creating a web
 page).
 
+Guest configuration may be altered in unusual ways by the
+administrator of the virtual machine, and may not reflect reality
+(particularly for untrusted or actively malicious guests).  For
+example we parse the hostname from configuration files like
+C</etc/sysconfig/network> that we find in the guest, but the guest
+administrator can easily manipulate these files to provide the wrong
+hostname.
+
 The inspection API parses guest configuration using two external
 libraries: Augeas (Linux configuration) and hivex (Windows Registry).
 Both are designed to be robust in the face of malicious data, although
@@ -1847,6 +1855,14 @@ The header contains the procedure number (C<guestfs_proc>) which is
 how the receiver knows what type of args structure to expect, or none
 at all.
 
+For functions that take optional arguments, the optional arguments are
+encoded in the C<guestfs_I<foo>_args> structure in the same way as
+ordinary arguments.  A bitmask in the header indicates which optional
+arguments are meaningful.  The bitmask is also checked to see if it
+contains bits set which the daemon does not know about (eg. if more
+optional arguments were added in a later version of the library), and
+this causes the call to be rejected.
+
 The reply message for ordinary functions is:
 
  total length (header + ret,
@@ -2073,11 +2089,16 @@ enough.
 
 =head1 SEE ALSO
 
+L<guestfs-examples(3)>,
+L<guestfs-ocaml(3)>,
+L<guestfs-python(3)>,
+L<guestfs-ruby(3)>,
 L<guestfish(1)>,
 L<guestmount(1)>,
 L<virt-cat(1)>,
 L<virt-df(1)>,
 L<virt-edit(1)>,
+L<virt-filesystems(1)>,
 L<virt-inspector(1)>,
 L<virt-list-filesystems(1)>,
 L<virt-list-partitions(1)>,