virt-cat: Handle Windows paths and drive letters (RHBZ#693359).
[libguestfs.git] / cat / virt-cat.pod
index 4ec9a0b..a4b54b8 100755 (executable)
@@ -92,7 +92,8 @@ not used at all.
 
 =item B<--domain> guest
 
-Add all the disks from the named libvirt guest.
+Add all the disks from the named libvirt guest.  Domain UUIDs can be
+used instead of names.
 
 =item B<--echo-keys>
 
@@ -164,6 +165,46 @@ name as a guest.
 
 For compatibility the old style is still supported.
 
+=head1 WINDOWS PATHS
+
+C<virt-cat> has a limited ability to understand Windows drive letters
+and paths (eg. C<E:\foo\bar.txt>).
+
+If and only if the guest is running Windows then:
+
+=over 4
+
+=item *
+
+Drive letter prefixes like C<C:> are resolved against the
+Windows Registry to the correct filesystem.
+
+=item *
+
+Any backslash (C<\>) characters in the path are replaced
+with forward slashes so that libguestfs can process it.
+
+=item *
+
+The path is resolved case insensitively to locate the file
+that should be displayed.
+
+=back
+
+There are some known shortcomings:
+
+=over 4
+
+=item *
+
+Some NTFS symbolic links may not be followed correctly.
+
+=item *
+
+NTFS junction points that cross filesystems are not followed.
+
+=back
+
 =head1 USING GUESTFISH
 
 L<guestfish(1)> is a more powerful, lower level tool which you can use
@@ -185,8 +226,7 @@ file from a disk image directly, use:
  guestfish --ro -a disk.img -m /dev/sda1 download file -
 
 where C<disk.img> is the disk image, C</dev/sda1> is the filesystem
-within the disk image to edit, and C<file> is the full path to the
-file.
+within the disk image, and C<file> is the full path to the file.
 
 =head1 SHELL QUOTING
 
@@ -195,6 +235,11 @@ have meaning to the shell such as C<#> and space.  You may need to
 quote or escape these characters on the command line.  See the shell
 manual page L<sh(1)> for details.
 
+=head1 EXIT STATUS
+
+This program returns 0 if successful, or non-zero if there was an
+error.
+
 =head1 SEE ALSO
 
 L<guestfs(3)>,