diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2011-04-12 20:14:51 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2011-04-12 20:14:51 +0100 |
commit | 6e635ac015d94e1d3c624579984eca9ebd8a4662 (patch) | |
tree | 51591ac5f084f400d8b2d9cb1b96502333233a0c /po-docs | |
parent | 189a2f3075aa7073b608409382bd55cfa375f458 (diff) | |
download | libguestfs-6e635ac015d94e1d3c624579984eca9ebd8a4662.tar.gz libguestfs-6e635ac015d94e1d3c624579984eca9ebd8a4662.tar.xz libguestfs-6e635ac015d94e1d3c624579984eca9ebd8a4662.zip |
Version 1.11.0.1.11.0
Diffstat (limited to 'po-docs')
-rw-r--r-- | po-docs/ja.po | 1494 | ||||
-rw-r--r-- | po-docs/libguestfs-docs.pot | 1463 | ||||
-rw-r--r-- | po-docs/uk.po | 1487 |
3 files changed, 2229 insertions, 2215 deletions
diff --git a/po-docs/ja.po b/po-docs/ja.po index 3f4d7d14..ace41fbc 100644 --- a/po-docs/ja.po +++ b/po-docs/ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2011-04-09 18:35+0200\n" +"POT-Creation-Date: 2011-04-12 20:14+0200\n" "PO-Revision-Date: 2010-09-02 14:46+0100\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -914,18 +914,18 @@ msgstr "" #. type: =item #: ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:398 #: ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411 -#: ../src/guestfs.pod:416 ../src/guestfs.pod:421 ../src/guestfs.pod:1088 -#: ../src/guestfs.pod:1092 ../src/guestfs.pod:1096 ../src/guestfs.pod:1101 -#: ../src/guestfs.pod:1109 ../src/guestfs.pod:1128 ../src/guestfs.pod:1136 -#: ../src/guestfs.pod:1158 ../src/guestfs.pod:1162 ../src/guestfs.pod:1166 -#: ../src/guestfs.pod:1170 ../src/guestfs.pod:1174 ../src/guestfs.pod:1178 -#: ../src/guestfs.pod:1660 ../src/guestfs.pod:1665 ../src/guestfs.pod:1669 -#: ../src/guestfs.pod:1770 ../src/guestfs.pod:1775 ../src/guestfs.pod:1779 -#: ../src/guestfs.pod:1789 ../src/guestfs.pod:2023 ../src/guestfs.pod:2028 -#: ../src/guestfs.pod:2034 ../src/guestfs.pod:2042 ../src/guestfs.pod:2396 -#: ../src/guestfs.pod:2402 ../src/guestfs.pod:2407 ../src/guestfs.pod:2413 -#: ../src/guestfs.pod:2878 ../src/guestfs.pod:2882 ../src/guestfs.pod:2886 -#: ../src/guestfs.pod:2890 ../src/guestfs-actions.pod:15 +#: ../src/guestfs.pod:416 ../src/guestfs.pod:421 ../src/guestfs.pod:1087 +#: ../src/guestfs.pod:1091 ../src/guestfs.pod:1095 ../src/guestfs.pod:1100 +#: ../src/guestfs.pod:1108 ../src/guestfs.pod:1127 ../src/guestfs.pod:1135 +#: ../src/guestfs.pod:1157 ../src/guestfs.pod:1161 ../src/guestfs.pod:1165 +#: ../src/guestfs.pod:1169 ../src/guestfs.pod:1173 ../src/guestfs.pod:1177 +#: ../src/guestfs.pod:1659 ../src/guestfs.pod:1664 ../src/guestfs.pod:1668 +#: ../src/guestfs.pod:1769 ../src/guestfs.pod:1774 ../src/guestfs.pod:1778 +#: ../src/guestfs.pod:1788 ../src/guestfs.pod:2022 ../src/guestfs.pod:2027 +#: ../src/guestfs.pod:2033 ../src/guestfs.pod:2041 ../src/guestfs.pod:2395 +#: ../src/guestfs.pod:2401 ../src/guestfs.pod:2406 ../src/guestfs.pod:2412 +#: ../src/guestfs.pod:2877 ../src/guestfs.pod:2881 ../src/guestfs.pod:2885 +#: ../src/guestfs.pod:2889 ../src/guestfs-actions.pod:15 #: ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:577 #: ../src/guestfs-actions.pod:585 ../src/guestfs-actions.pod:592 #: ../src/guestfs-actions.pod:599 ../src/guestfs-actions.pod:1600 @@ -1099,8 +1099,8 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:469 ../src/guestfs.pod:1281 ../src/guestfs.pod:1412 -#: ../src/guestfs.pod:2441 +#: ../src/guestfs.pod:469 ../src/guestfs.pod:1280 ../src/guestfs.pod:1411 +#: ../src/guestfs.pod:2440 msgid "1." msgstr "" @@ -1121,8 +1121,8 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:475 ../src/guestfs.pod:1285 ../src/guestfs.pod:1416 -#: ../src/guestfs.pod:2466 +#: ../src/guestfs.pod:475 ../src/guestfs.pod:1284 ../src/guestfs.pod:1415 +#: ../src/guestfs.pod:2465 msgid "2." msgstr "" @@ -1153,7 +1153,7 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:486 ../src/guestfs.pod:1422 +#: ../src/guestfs.pod:486 ../src/guestfs.pod:1421 msgid "3." msgstr "" @@ -1476,41 +1476,37 @@ msgid "" "might be referred to as C</WINDOWS/System32>." msgstr "" -# type: textblock #. type: textblock #: ../src/guestfs.pod:644 msgid "" -"Drive letter mappings are outside the scope of libguestfs. You have to use " -"libguestfs to read the appropriate Windows Registry and configuration files, " -"to determine yourself how drives are mapped (see also L<hivex(3)> and L<virt-" -"inspector(1)>)." +"Drive letter mappings can be found using inspection (see L</INSPECTION> and " +"L</guestfs_inspect_get_drive_mappings>)" msgstr "" -# type: textblock #. type: textblock -#: ../src/guestfs.pod:649 +#: ../src/guestfs.pod:647 msgid "" -"Replacing backslash characters with forward slash characters is also outside " -"the scope of libguestfs, but something that you can easily do." +"Dealing with separator characters (backslash vs forward slash) is outside " +"the scope of libguestfs, but usually a simple character replacement will " +"work." msgstr "" -# type: textblock #. type: textblock -#: ../src/guestfs.pod:652 +#: ../src/guestfs.pod:651 msgid "" -"Where we can help is in resolving the case insensitivity of paths. For " -"this, call L</guestfs_case_sensitive_path>." +"To resolve the case insensitivity of paths, call L</" +"guestfs_case_sensitive_path>." msgstr "" # type: =head3 #. type: =head3 -#: ../src/guestfs.pod:655 +#: ../src/guestfs.pod:654 msgid "ACCESSING THE WINDOWS REGISTRY" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:657 +#: ../src/guestfs.pod:656 msgid "" "Libguestfs also provides some help for decoding Windows Registry \"hive\" " "files, through the library C<hivex> which is part of the libguestfs project " @@ -1522,13 +1518,13 @@ msgstr "" # type: =head3 #. type: =head3 -#: ../src/guestfs.pod:665 +#: ../src/guestfs.pod:664 msgid "SYMLINKS ON NTFS-3G FILESYSTEMS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:667 +#: ../src/guestfs.pod:666 msgid "" "Ntfs-3g tries to rewrite \"Junction Points\" and NTFS \"symbolic links\" to " "provide something which looks like a Linux symlink. The way it tries to do " @@ -1537,7 +1533,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:671 +#: ../src/guestfs.pod:670 msgid "" "L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-" "symbolic-links/>" @@ -1545,7 +1541,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:673 +#: ../src/guestfs.pod:672 msgid "" "The essential problem is that ntfs-3g simply does not have enough " "information to do a correct job. NTFS links can contain drive letters and " @@ -1556,7 +1552,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:680 +#: ../src/guestfs.pod:679 msgid "" "Instead if you encounter a symbolic link on an ntfs-3g filesystem, use L</" "guestfs_lgetxattr> to read the C<system.ntfs_reparse_data> extended " @@ -1566,13 +1562,13 @@ msgstr "" # type: =head3 #. type: =head3 -#: ../src/guestfs.pod:685 +#: ../src/guestfs.pod:684 msgid "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:687 +#: ../src/guestfs.pod:686 msgid "" "There are other useful extended attributes that can be read from ntfs-3g " "filesystems (using L</guestfs_getxattr>). See:" @@ -1580,27 +1576,27 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:690 +#: ../src/guestfs.pod:689 msgid "" "L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>" msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:692 +#: ../src/guestfs.pod:691 msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:694 +#: ../src/guestfs.pod:693 msgid "" "Although we don't want to discourage you from using the C API, we will " "mention here that the same API is also available in other languages." msgstr "" #. type: textblock -#: ../src/guestfs.pod:697 +#: ../src/guestfs.pod:696 msgid "" "The API is broadly identical in all supported languages. This means that " "the C call C<guestfs_add_drive_ro(g,file)> is C<$g-E<gt>add_drive_ro($file)> " @@ -1611,7 +1607,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:703 +#: ../src/guestfs.pod:702 msgid "" "Error messages are automatically transformed into exceptions if the language " "supports it." @@ -1619,7 +1615,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:706 +#: ../src/guestfs.pod:705 msgid "" "We don't try to \"object orientify\" parts of the API in OO languages, " "although contributors are welcome to write higher level APIs above what we " @@ -1628,13 +1624,13 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:712 +#: ../src/guestfs.pod:711 msgid "B<C++>" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:714 +#: ../src/guestfs.pod:713 msgid "" "You can use the I<guestfs.h> header file from C++ programs. The C++ API is " "identical to the C API. C++ classes and exceptions are not used." @@ -1642,13 +1638,13 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:718 +#: ../src/guestfs.pod:717 msgid "B<C#>" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:720 +#: ../src/guestfs.pod:719 msgid "" "The C# bindings are highly experimental. Please read the warnings at the " "top of C<csharp/Libguestfs.cs>." @@ -1656,13 +1652,13 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:723 +#: ../src/guestfs.pod:722 msgid "B<Haskell>" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:725 +#: ../src/guestfs.pod:724 msgid "" "This is the only language binding that is working but incomplete. Only " "calls which return simple integers have been bound in Haskell, and we are " @@ -1671,13 +1667,13 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:729 +#: ../src/guestfs.pod:728 msgid "B<Java>" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:731 +#: ../src/guestfs.pod:730 msgid "" "Full documentation is contained in the Javadoc which is distributed with " "libguestfs." @@ -1685,35 +1681,35 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:734 +#: ../src/guestfs.pod:733 msgid "B<OCaml>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:736 +#: ../src/guestfs.pod:735 msgid "See L<guestfs-ocaml(3)>." msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:738 +#: ../src/guestfs.pod:737 msgid "B<Perl>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:740 +#: ../src/guestfs.pod:739 msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>." msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:742 +#: ../src/guestfs.pod:741 msgid "B<PHP>" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:744 +#: ../src/guestfs.pod:743 msgid "" "For documentation see C<README-PHP> supplied with libguestfs sources or in " "the php-libguestfs package for your distribution." @@ -1721,52 +1717,52 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:747 +#: ../src/guestfs.pod:746 msgid "The PHP binding only works correctly on 64 bit machines." msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:749 +#: ../src/guestfs.pod:748 msgid "B<Python>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:751 +#: ../src/guestfs.pod:750 msgid "See L<guestfs-python(3)>." msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:753 +#: ../src/guestfs.pod:752 msgid "B<Ruby>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:755 +#: ../src/guestfs.pod:754 msgid "See L<guestfs-ruby(3)>." msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:757 +#: ../src/guestfs.pod:756 msgid "B<shell scripts>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:759 +#: ../src/guestfs.pod:758 msgid "See L<guestfish(1)>." msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:763 +#: ../src/guestfs.pod:762 msgid "LIBGUESTFS GOTCHAS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:765 +#: ../src/guestfs.pod:764 msgid "" "L<http://en.wikipedia.org/wiki/Gotcha_(programming)>: \"A feature of a " "system [...] that works in the way it is documented but is counterintuitive " @@ -1775,7 +1771,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:769 +#: ../src/guestfs.pod:768 msgid "" "Since we developed libguestfs and the associated tools, there are several " "things we would have designed differently, but are now stuck with for " @@ -1785,13 +1781,13 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:777 +#: ../src/guestfs.pod:776 msgid "Autosync / forgetting to sync." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:779 +#: ../src/guestfs.pod:778 msgid "" "When modifying a filesystem from C or another language, you B<must> unmount " "all filesystems and call L</guestfs_sync> explicitly before you close the " @@ -1800,7 +1796,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:783 +#: ../src/guestfs.pod:782 #, no-wrap msgid "" " guestfs_set_autosync (g, 1);\n" @@ -1809,7 +1805,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:785 +#: ../src/guestfs.pod:784 msgid "" "to have the unmount/sync done automatically for you when the handle 'g' is " "closed. (This feature is called \"autosync\", L</guestfs_set_autosync> q.v.)" @@ -1817,7 +1813,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:789 +#: ../src/guestfs.pod:788 msgid "" "If you forget to do this, then it is entirely possible that your changes " "won't be written out, or will be partially written, or (very rarely) that " @@ -1826,7 +1822,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:793 +#: ../src/guestfs.pod:792 msgid "" "Note that in L<guestfish(3)> autosync is the default. So quick and dirty " "guestfish scripts that forget to sync will work just fine, which can make " @@ -1835,7 +1831,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:797 +#: ../src/guestfs.pod:796 msgid "" "Update: Autosync is enabled by default for all API users starting from " "libguestfs 1.5.24." @@ -1843,13 +1839,13 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:800 +#: ../src/guestfs.pod:799 msgid "Mount option C<-o sync> should not be the default." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:802 +#: ../src/guestfs.pod:801 msgid "" "If you use L</guestfs_mount>, then C<-o sync,noatime> are added implicitly. " "However C<-o sync> does not add any reliability benefit, but does have a " @@ -1858,7 +1854,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:806 +#: ../src/guestfs.pod:805 msgid "" "The work around is to use L</guestfs_mount_options> and set the mount " "options that you actually want to use." @@ -1866,13 +1862,13 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:809 +#: ../src/guestfs.pod:808 msgid "Read-only should be the default." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:811 +#: ../src/guestfs.pod:810 msgid "" "In L<guestfish(3)>, I<--ro> should be the default, and you should have to " "specify I<--rw> if you want to make changes to the image." @@ -1880,13 +1876,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:814 +#: ../src/guestfs.pod:813 msgid "This would reduce the potential to corrupt live VM images." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:816 +#: ../src/guestfs.pod:815 msgid "" "Note that many filesystems change the disk when you just mount and unmount, " "even if you didn't perform any writes. You need to use L</" @@ -1895,13 +1891,13 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:820 +#: ../src/guestfs.pod:819 msgid "guestfish command line is hard to use." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:822 +#: ../src/guestfs.pod:821 msgid "" "C<guestfish disk.img> doesn't do what people expect (open C<disk.img> for " "examination). It tries to run a guestfish command C<disk.img> which doesn't " @@ -1912,13 +1908,13 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:829 +#: ../src/guestfs.pod:828 msgid "guestfish megabyte modifiers don't work right on all commands" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:831 +#: ../src/guestfs.pod:830 msgid "" "In recent guestfish you can use C<1M> to mean 1 megabyte (and similarly for " "other modifiers). What guestfish actually does is to multiply the number " @@ -1929,13 +1925,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:838 +#: ../src/guestfs.pod:837 msgid "The most common is L</guestfs_lvcreate>. The guestfish command:" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:840 +#: ../src/guestfs.pod:839 #, no-wrap msgid "" " lvcreate LV VG 100M\n" @@ -1944,7 +1940,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:842 +#: ../src/guestfs.pod:841 msgid "" "does not do what you might expect. Instead because L</guestfs_lvcreate> is " "already expecting megabytes, this tries to create a 100 I<terabyte> (100 " @@ -1954,7 +1950,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:847 +#: ../src/guestfs.pod:846 msgid "" "This could be fixed in the generator by specially marking parameters and " "return values which take bytes or other units." @@ -1962,13 +1958,13 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:850 +#: ../src/guestfs.pod:849 msgid "Ambiguity between devices and paths" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:852 +#: ../src/guestfs.pod:851 msgid "" "There is a subtle ambiguity in the API between a device name (eg. C</dev/" "sdb2>) and a similar pathname. A file might just happen to be called " @@ -1977,7 +1973,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:857 +#: ../src/guestfs.pod:856 msgid "" "In the current API we usually resolve this ambiguity by having two separate " "calls, for example L</guestfs_checksum> and L</guestfs_checksum_device>. " @@ -1987,7 +1983,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:863 +#: ../src/guestfs.pod:862 msgid "" "To avoid both the ambiguity and the need to duplicate some calls, we could " "make paths/devices into structured names. One way to do this would be to " @@ -1998,7 +1994,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:869 +#: ../src/guestfs.pod:868 #, no-wrap msgid "" " type path = Path of string | Device of int | Partition of int * int\n" @@ -2007,13 +2003,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:871 +#: ../src/guestfs.pod:870 msgid "which would allow you to pass arguments like:" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:873 +#: ../src/guestfs.pod:872 #, no-wrap msgid "" " Path \"/foo/bar\"\n" @@ -2025,7 +2021,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:878 +#: ../src/guestfs.pod:877 msgid "" "As you can see there are still problems to resolve even with this " "representation. Also consider how it might work in guestfish." @@ -2033,13 +2029,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:883 +#: ../src/guestfs.pod:882 msgid "PROTOCOL LIMITS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:885 +#: ../src/guestfs.pod:884 msgid "" "Internally libguestfs uses a message-based protocol to pass API calls and " "their responses to and from a small \"appliance\" (see L</INTERNALS> for " @@ -2051,7 +2047,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:893 +#: ../src/guestfs.pod:892 msgid "" "A simple call such as L</guestfs_cat> returns its result (the file data) in " "a simple string. Because this string is at some point internally encoded as " @@ -2061,7 +2057,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:899 +#: ../src/guestfs.pod:898 msgid "" "In order to transfer large files into and out of the guest filesystem, you " "need to use particular calls that support this. The sections L</UPLOADING> " @@ -2070,7 +2066,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:903 +#: ../src/guestfs.pod:902 msgid "" "You might also consider mounting the disk image using our FUSE filesystem " "support (L<guestmount(1)>)." @@ -2078,13 +2074,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:906 +#: ../src/guestfs.pod:905 msgid "KEYS AND PASSPHRASES" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:908 +#: ../src/guestfs.pod:907 msgid "" "Certain libguestfs calls take a parameter that contains sensitive key " "material, passed in as a C string." @@ -2092,7 +2088,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:911 +#: ../src/guestfs.pod:910 msgid "" "In the future we would hope to change the libguestfs implementation so that " "keys are L<mlock(2)>-ed into physical RAM, and thus can never end up in " @@ -2102,7 +2098,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:916 +#: ../src/guestfs.pod:915 msgid "" "Therefore you should be aware that any key parameter you pass to libguestfs " "might end up being written out to the swap partition. If this is a concern, " @@ -2111,13 +2107,13 @@ msgstr "" # type: =head1 #. type: =head2 -#: ../src/guestfs.pod:921 +#: ../src/guestfs.pod:920 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:923 +#: ../src/guestfs.pod:922 msgid "" "All high-level libguestfs actions are synchronous. If you want to use " "libguestfs asynchronously then you must create a thread." @@ -2125,7 +2121,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:926 +#: ../src/guestfs.pod:925 msgid "" "Only use the handle from a single thread. Either use the handle exclusively " "from one thread, or provide your own mutex so that two threads cannot issue " @@ -2134,7 +2130,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:930 +#: ../src/guestfs.pod:929 msgid "" "See the graphical program guestfs-browser for one possible architecture for " "multithreaded programs using libvirt and libguestfs." @@ -2142,12 +2138,12 @@ msgstr "" # type: =head1 #. type: =head2 -#: ../src/guestfs.pod:933 +#: ../src/guestfs.pod:932 msgid "PATH" msgstr "" #. type: textblock -#: ../src/guestfs.pod:935 +#: ../src/guestfs.pod:934 msgid "" "Libguestfs needs a supermin appliance, which it finds by looking along an " "internal path." @@ -2155,7 +2151,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:938 +#: ../src/guestfs.pod:937 msgid "" "By default it looks for these in the directory C<$libdir/guestfs> (eg. C</" "usr/local/lib/guestfs> or C</usr/lib64/guestfs>)." @@ -2163,7 +2159,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:941 +#: ../src/guestfs.pod:940 msgid "" "Use L</guestfs_set_path> or set the environment variable L</LIBGUESTFS_PATH> " "to change the directories that libguestfs will search in. The value is a " @@ -2175,13 +2171,13 @@ msgstr "" # type: =head1 #. type: =head2 -#: ../src/guestfs.pod:948 +#: ../src/guestfs.pod:947 msgid "QEMU WRAPPERS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:950 +#: ../src/guestfs.pod:949 msgid "" "If you want to compile your own qemu, run qemu from a non-standard location, " "or pass extra arguments to qemu, then you can write a shell-script wrapper " @@ -2190,7 +2186,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:954 +#: ../src/guestfs.pod:953 msgid "" "There is one important rule to remember: you I<must C<exec qemu>> as the " "last command in the shell script (so that qemu replaces the shell and " @@ -2200,7 +2196,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:959 +#: ../src/guestfs.pod:958 msgid "" "Here is an example of a wrapper, where I have built my own copy of qemu from " "source:" @@ -2208,7 +2204,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:962 +#: ../src/guestfs.pod:961 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -2219,7 +2215,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:966 +#: ../src/guestfs.pod:965 msgid "" "Save this script as C</tmp/qemu.wrapper> (or wherever), C<chmod +x>, and " "then use it by setting the LIBGUESTFS_QEMU environment variable. For " @@ -2228,7 +2224,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:970 +#: ../src/guestfs.pod:969 #, no-wrap msgid "" " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" @@ -2237,26 +2233,26 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:972 +#: ../src/guestfs.pod:971 msgid "" "Note that libguestfs also calls qemu with the -help and -version options in " "order to determine features." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:975 +#: ../src/guestfs.pod:974 msgid "ATTACHING TO RUNNING DAEMONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:977 +#: ../src/guestfs.pod:976 msgid "" "I<Note (1):> This is B<highly experimental> and has a tendency to eat " "babies. Use with caution." msgstr "" #. type: textblock -#: ../src/guestfs.pod:980 +#: ../src/guestfs.pod:979 msgid "" "I<Note (2):> This section explains how to attach to a running daemon from a " "low level perspective. For most users, simply using virt tools such as " @@ -2264,12 +2260,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:984 +#: ../src/guestfs.pod:983 msgid "Using guestfs_set_attach_method" msgstr "" #. type: textblock -#: ../src/guestfs.pod:986 +#: ../src/guestfs.pod:985 msgid "" "By calling L</guestfs_set_attach_method> you can change how the library " "connects to the C<guestfsd> daemon in L</guestfs_launch> (read L</" @@ -2277,14 +2273,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:990 +#: ../src/guestfs.pod:989 msgid "" "The normal attach method is C<appliance>, where a small appliance is created " "containing the daemon, and then the library connects to this." msgstr "" #. type: textblock -#: ../src/guestfs.pod:993 +#: ../src/guestfs.pod:992 msgid "" "Setting attach method to C<unix:I<path>> (where I<path> is the path of a " "Unix domain socket) causes L</guestfs_launch> to connect to an existing " @@ -2292,7 +2288,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:997 +#: ../src/guestfs.pod:996 msgid "" "The normal use for this is to connect to a running virtual machine that " "contains a C<guestfsd> daemon, and send commands so you can read and write " @@ -2300,12 +2296,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1001 +#: ../src/guestfs.pod:1000 msgid "Using guestfs_add_domain with live flag" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1003 +#: ../src/guestfs.pod:1002 msgid "" "L</guestfs_add_domain> provides some help for getting the correct attach " "method. If you pass the C<live> option to this function, then (if the " @@ -2314,7 +2310,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1009 +#: ../src/guestfs.pod:1008 #, no-wrap msgid "" " <domain>\n" @@ -2332,14 +2328,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1021 +#: ../src/guestfs.pod:1020 msgid "" "L</guestfs_add_domain> extracts C</path/to/socket> and sets the attach " "method to C<unix:/path/to/socket>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1024 +#: ../src/guestfs.pod:1023 msgid "" "Some of the libguestfs tools (including guestfish) support a I<--live> " "option which is passed through to L</guestfs_add_domain> thus allowing you " @@ -2347,7 +2343,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1028 +#: ../src/guestfs.pod:1027 msgid "" "The virtual machine needs to have been set up beforehand so that it has the " "virtio-serial channel and so that guestfsd is running inside it." @@ -2355,13 +2351,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1032 +#: ../src/guestfs.pod:1031 msgid "ABI GUARANTEE" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1034 +#: ../src/guestfs.pod:1033 msgid "" "We guarantee the libguestfs ABI (binary interface), for public, high-level " "actions as outlined in this section. Although we will deprecate some " @@ -2372,13 +2368,13 @@ msgstr "" # type: =head1 #. type: =head2 -#: ../src/guestfs.pod:1040 +#: ../src/guestfs.pod:1039 msgid "BLOCK DEVICE NAMING" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1042 +#: ../src/guestfs.pod:1041 msgid "" "In the kernel there is now quite a profusion of schemata for naming block " "devices (in this context, by I<block device> I mean a physical or virtual " @@ -2393,7 +2389,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1054 +#: ../src/guestfs.pod:1053 msgid "" "As discussed above, libguestfs uses a qemu appliance running an embedded " "Linux kernel to access block devices. We can run a variety of appliances " @@ -2402,7 +2398,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1058 +#: ../src/guestfs.pod:1057 msgid "" "This causes a problem for libguestfs because many API calls use device or " "partition names. Working scripts and the recipe (example) scripts that we " @@ -2411,7 +2407,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1063 +#: ../src/guestfs.pod:1062 msgid "" "Therefore libguestfs defines C</dev/sd*> as the I<standard naming scheme>. " "Internally C</dev/sd*> names are translated, if necessary, to other names as " @@ -2421,7 +2417,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1069 +#: ../src/guestfs.pod:1068 msgid "" "Note that this I<only> applies to parameters. The L</guestfs_list_devices>, " "L</guestfs_list_partitions> and similar calls return the true names of the " @@ -2430,13 +2426,13 @@ msgstr "" # type: =head2 #. type: =head3 -#: ../src/guestfs.pod:1074 +#: ../src/guestfs.pod:1073 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1076 +#: ../src/guestfs.pod:1075 msgid "" "Usually this translation is transparent. However in some (very rare) cases " "you may need to know the exact algorithm. Such cases include where you use " @@ -2446,7 +2442,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1082 +#: ../src/guestfs.pod:1081 msgid "" "The algorithm is applied only to I<parameters> which are known to be either " "device or partition names. Return values from functions such as L</" @@ -2455,19 +2451,19 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1090 +#: ../src/guestfs.pod:1089 msgid "Is the string a parameter which is a device or partition name?" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1094 +#: ../src/guestfs.pod:1093 msgid "Does the string begin with C</dev/sd>?" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1098 +#: ../src/guestfs.pod:1097 msgid "" "Does the named device exist? If so, we use that device. However if I<not> " "then we continue with this algorithm." @@ -2475,43 +2471,43 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1103 +#: ../src/guestfs.pod:1102 msgid "Replace initial C</dev/sd> string with C</dev/hd>." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1105 +#: ../src/guestfs.pod:1104 msgid "For example, change C</dev/sda2> to C</dev/hda2>." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1107 +#: ../src/guestfs.pod:1106 msgid "If that named device exists, use it. If not, continue." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1111 +#: ../src/guestfs.pod:1110 msgid "Replace initial C</dev/sd> string with C</dev/vd>." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1113 +#: ../src/guestfs.pod:1112 msgid "If that named device exists, use it. If not, return an error." msgstr "" # type: =head3 #. type: =head3 -#: ../src/guestfs.pod:1117 +#: ../src/guestfs.pod:1116 msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1119 +#: ../src/guestfs.pod:1118 msgid "" "Although the standard naming scheme and automatic translation is useful for " "simple programs and guestfish scripts, for larger programs it is best not to " @@ -2520,7 +2516,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1123 +#: ../src/guestfs.pod:1122 msgid "" "Where possible for maximum future portability programs using libguestfs " "should use these future-proof techniques:" @@ -2528,7 +2524,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1130 +#: ../src/guestfs.pod:1129 msgid "" "Use L</guestfs_list_devices> or L</guestfs_list_partitions> to list actual " "device names, and then use those names directly." @@ -2536,14 +2532,14 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1133 +#: ../src/guestfs.pod:1132 msgid "" "Since those device names exist by definition, they will never be translated." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1138 +#: ../src/guestfs.pod:1137 msgid "" "Use higher level ways to identify filesystems, such as LVM names, UUIDs and " "filesystem labels." @@ -2551,13 +2547,13 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:1143 +#: ../src/guestfs.pod:1142 msgid "SECURITY" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1145 +#: ../src/guestfs.pod:1144 msgid "" "This section discusses security implications of using libguestfs, " "particularly with untrusted or malicious guests or disk images." @@ -2565,13 +2561,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1148 +#: ../src/guestfs.pod:1147 msgid "GENERAL SECURITY CONSIDERATIONS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1150 +#: ../src/guestfs.pod:1149 msgid "" "Be careful with any files or data that you download from a guest (by " "\"download\" we mean not just the L</guestfs_download> command but any " @@ -2582,49 +2578,49 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1160 +#: ../src/guestfs.pod:1159 msgid "the data (file etc) not being present" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1164 +#: ../src/guestfs.pod:1163 msgid "being present but empty" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1168 +#: ../src/guestfs.pod:1167 msgid "being much larger than normal" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1172 +#: ../src/guestfs.pod:1171 msgid "containing arbitrary 8 bit data" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1176 +#: ../src/guestfs.pod:1175 msgid "being in an unexpected character encoding" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1180 +#: ../src/guestfs.pod:1179 msgid "containing homoglyphs." msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1184 +#: ../src/guestfs.pod:1183 msgid "SECURITY OF MOUNTING FILESYSTEMS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1186 +#: ../src/guestfs.pod:1185 msgid "" "When you mount a filesystem under Linux, mistakes in the kernel filesystem " "(VFS) module can sometimes be escalated into exploits by deliberately " @@ -2641,7 +2637,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1199 +#: ../src/guestfs.pod:1198 msgid "" "That explains why you should never mount a filesystem from an untrusted " "guest on your host kernel. How about libguestfs? We run a Linux kernel " @@ -2656,7 +2652,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1210 +#: ../src/guestfs.pod:1209 msgid "" "In any case callers can reduce the attack surface by forcing the filesystem " "type when mounting (use L</guestfs_mount_vfs>)." @@ -2664,13 +2660,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1213 +#: ../src/guestfs.pod:1212 msgid "PROTOCOL SECURITY" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1215 +#: ../src/guestfs.pod:1214 msgid "" "The protocol is designed to be secure, being based on RFC 4506 (XDR) with a " "defined upper message size. However a program that uses libguestfs must " @@ -2681,13 +2677,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1221 +#: ../src/guestfs.pod:1220 msgid "INSPECTION SECURITY" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1223 +#: ../src/guestfs.pod:1222 msgid "" "Parts of the inspection API (see L</INSPECTION>) return untrusted strings " "directly from the guest, and these could contain any 8 bit data. Callers " @@ -2697,7 +2693,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1229 +#: ../src/guestfs.pod:1228 msgid "" "Guest configuration may be altered in unusual ways by the administrator of " "the virtual machine, and may not reflect reality (particularly for untrusted " @@ -2709,7 +2705,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1237 +#: ../src/guestfs.pod:1236 msgid "" "The inspection API parses guest configuration using two external libraries: " "Augeas (Linux configuration) and hivex (Windows Registry). Both are " @@ -2720,13 +2716,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1243 +#: ../src/guestfs.pod:1242 msgid "RUNNING UNTRUSTED GUEST COMMANDS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1245 +#: ../src/guestfs.pod:1244 msgid "" "Be very cautious about running commands from the guest. By running a " "command in the guest, you are giving CPU time to a binary that you do not " @@ -2737,19 +2733,19 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1251 +#: ../src/guestfs.pod:1250 msgid "CVE-2010-3851" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1253 +#: ../src/guestfs.pod:1252 msgid "https://bugzilla.redhat.com/642934" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1255 +#: ../src/guestfs.pod:1254 msgid "" "This security bug concerns the automatic disk format detection that qemu " "does on disk images." @@ -2757,7 +2753,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1258 +#: ../src/guestfs.pod:1257 msgid "" "A raw disk image is just the raw bytes, there is no header. Other disk " "images like qcow2 contain a special header. Qemu deals with this by looking " @@ -2767,7 +2763,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1263 +#: ../src/guestfs.pod:1262 msgid "" "This allows a guest which has been given a raw disk image to write some " "other header. At next boot (or when the disk image is accessed by " @@ -2777,7 +2773,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1268 +#: ../src/guestfs.pod:1267 msgid "" "This in itself would not be a problem, but qcow2 offers many features, one " "of which is to allow a disk image to refer to another image (called the " @@ -2790,20 +2786,20 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1276 +#: ../src/guestfs.pod:1275 msgid "" "In libguestfs this is rather hard to exploit except under two circumstances:" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1283 +#: ../src/guestfs.pod:1282 msgid "You have enabled the network or have opened the disk in write mode." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1287 +#: ../src/guestfs.pod:1286 msgid "" "You are also running untrusted code from the guest (see L</RUNNING " "COMMANDS>)." @@ -2811,7 +2807,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1292 +#: ../src/guestfs.pod:1291 msgid "" "The way to avoid this is to specify the expected disk format when adding " "disks (the optional C<format> option to L</guestfs_add_drive_opts>). You " @@ -2821,7 +2817,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1297 +#: ../src/guestfs.pod:1296 msgid "" "For disks added from libvirt using calls like L</guestfs_add_domain>, the " "format is fetched from libvirt and passed through." @@ -2829,7 +2825,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1300 +#: ../src/guestfs.pod:1299 msgid "" "For libguestfs tools, use the I<--format> command line parameter as " "appropriate." @@ -2837,19 +2833,19 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:1303 +#: ../src/guestfs.pod:1302 msgid "CONNECTION MANAGEMENT" msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1305 +#: ../src/guestfs.pod:1304 msgid "guestfs_h *" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1307 +#: ../src/guestfs.pod:1306 msgid "" "C<guestfs_h> is the opaque type representing a connection handle. Create a " "handle by calling L</guestfs_create>. Call L</guestfs_close> to free the " @@ -2858,7 +2854,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1311 +#: ../src/guestfs.pod:1310 msgid "" "For information on using multiple handles and threads, see the section L</" "MULTIPLE HANDLES AND MULTIPLE THREADS> below." @@ -2866,13 +2862,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1314 +#: ../src/guestfs.pod:1313 msgid "guestfs_create" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1316 +#: ../src/guestfs.pod:1315 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -2881,13 +2877,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1318 +#: ../src/guestfs.pod:1317 msgid "Create a connection handle." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1320 +#: ../src/guestfs.pod:1319 msgid "" "You have to call L</guestfs_add_drive_opts> (or one of the equivalent calls) " "on the handle at least once." @@ -2895,7 +2891,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1323 +#: ../src/guestfs.pod:1322 msgid "" "This function returns a non-NULL pointer to a handle on success or NULL on " "error." @@ -2903,13 +2899,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1326 +#: ../src/guestfs.pod:1325 msgid "After configuring the handle, you have to call L</guestfs_launch>." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1328 +#: ../src/guestfs.pod:1327 msgid "" "You may also want to configure error handling for the handle. See L</ERROR " "HANDLING> section below." @@ -2917,13 +2913,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1331 +#: ../src/guestfs.pod:1330 msgid "guestfs_close" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1333 +#: ../src/guestfs.pod:1332 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -2932,19 +2928,19 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1335 +#: ../src/guestfs.pod:1334 msgid "This closes the connection handle and frees up all resources used." msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:1337 +#: ../src/guestfs.pod:1336 msgid "ERROR HANDLING" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1339 +#: ../src/guestfs.pod:1338 msgid "" "API functions can return errors. For example, almost all functions that " "return C<int> will return C<-1> to indicate an error." @@ -2952,7 +2948,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1342 +#: ../src/guestfs.pod:1341 msgid "" "Additional information is available for errors: an error message string and " "optionally an error number (errno) if the thing that failed was a system " @@ -2961,7 +2957,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1346 +#: ../src/guestfs.pod:1345 msgid "" "You can get at the additional information about the last error on the handle " "by calling L</guestfs_last_error>, L</guestfs_last_errno>, and/or by setting " @@ -2970,7 +2966,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1351 +#: ../src/guestfs.pod:1350 msgid "" "When the handle is created, a default error handler is installed which " "prints the error message string to C<stderr>. For small short-running " @@ -2979,7 +2975,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1355 +#: ../src/guestfs.pod:1354 #, no-wrap msgid "" " if (guestfs_launch (g) == -1)\n" @@ -2989,7 +2985,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1358 +#: ../src/guestfs.pod:1357 msgid "" "since the default error handler will ensure that an error message has been " "printed to C<stderr> before the program exits." @@ -2997,7 +2993,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1361 +#: ../src/guestfs.pod:1360 msgid "" "For other programs the caller will almost certainly want to install an " "alternate error handler or do error handling in-line like this:" @@ -3005,7 +3001,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1364 +#: ../src/guestfs.pod:1363 #, no-wrap msgid "" " g = guestfs_create ();\n" @@ -3014,7 +3010,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1366 +#: ../src/guestfs.pod:1365 #, no-wrap msgid "" " /* This disables the default behaviour of printing errors\n" @@ -3025,7 +3021,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1370 +#: ../src/guestfs.pod:1369 #, no-wrap msgid "" " if (guestfs_launch (g) == -1) {\n" @@ -3040,7 +3036,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1378 +#: ../src/guestfs.pod:1377 msgid "" "Out of memory errors are handled differently. The default action is to call " "L<abort(3)>. If this is undesirable, then you can set a handler using L</" @@ -3049,7 +3045,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1382 +#: ../src/guestfs.pod:1381 msgid "" "L</guestfs_create> returns C<NULL> if the handle cannot be created, and " "because there is no handle if this happens there is no way to get additional " @@ -3060,13 +3056,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1388 +#: ../src/guestfs.pod:1387 msgid "guestfs_last_error" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1390 +#: ../src/guestfs.pod:1389 #, no-wrap msgid "" " const char *guestfs_last_error (guestfs_h *g);\n" @@ -3075,7 +3071,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1392 +#: ../src/guestfs.pod:1391 msgid "" "This returns the last error message that happened on C<g>. If there has not " "been an error since the handle was created, then this returns C<NULL>." @@ -3083,7 +3079,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1396 +#: ../src/guestfs.pod:1395 msgid "" "The lifetime of the returned string is until the next error occurs, or L</" "guestfs_close> is called." @@ -3091,13 +3087,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1399 +#: ../src/guestfs.pod:1398 msgid "guestfs_last_errno" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1401 +#: ../src/guestfs.pod:1400 #, no-wrap msgid "" " int guestfs_last_errno (guestfs_h *g);\n" @@ -3106,32 +3102,32 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1403 +#: ../src/guestfs.pod:1402 msgid "This returns the last error number (errno) that happened on C<g>." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1405 +#: ../src/guestfs.pod:1404 msgid "If successful, an errno integer not equal to zero is returned." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1407 +#: ../src/guestfs.pod:1406 msgid "" "If no error, this returns 0. This call can return 0 in three situations:" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1414 +#: ../src/guestfs.pod:1413 msgid "There has not been any error on the handle." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1418 +#: ../src/guestfs.pod:1417 msgid "" "There has been an error but the errno was meaningless. This corresponds to " "the case where the error did not come from a failed system call, but for " @@ -3140,7 +3136,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1424 +#: ../src/guestfs.pod:1423 msgid "" "There was an error from a failed system call, but for some reason the errno " "was not captured and returned. This usually indicates a bug in libguestfs." @@ -3148,7 +3144,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1430 +#: ../src/guestfs.pod:1429 msgid "" "Libguestfs tries to convert the errno from inside the applicance into a " "corresponding errno for the caller (not entirely trivial: the appliance " @@ -3160,13 +3156,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1438 +#: ../src/guestfs.pod:1437 msgid "guestfs_set_error_handler" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1440 +#: ../src/guestfs.pod:1439 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -3180,7 +3176,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1447 +#: ../src/guestfs.pod:1446 msgid "" "The callback C<cb> will be called if there is an error. The parameters " "passed to the callback are an opaque data pointer and the error message " @@ -3189,7 +3185,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1451 +#: ../src/guestfs.pod:1450 msgid "" "C<errno> is not passed to the callback. To get that the callback must call " "L</guestfs_last_errno>." @@ -3197,7 +3193,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1454 +#: ../src/guestfs.pod:1453 msgid "" "Note that the message string C<msg> is freed as soon as the callback " "function returns, so if you want to stash it somewhere you must make your " @@ -3206,25 +3202,25 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1458 +#: ../src/guestfs.pod:1457 msgid "The default handler prints messages on C<stderr>." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1460 +#: ../src/guestfs.pod:1459 msgid "If you set C<cb> to C<NULL> then I<no> handler is called." msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1462 +#: ../src/guestfs.pod:1461 msgid "guestfs_get_error_handler" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1464 +#: ../src/guestfs.pod:1463 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -3234,19 +3230,19 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1467 +#: ../src/guestfs.pod:1466 msgid "Returns the current error handler callback." msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1469 +#: ../src/guestfs.pod:1468 msgid "guestfs_set_out_of_memory_handler" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1471 +#: ../src/guestfs.pod:1470 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -3257,7 +3253,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1475 +#: ../src/guestfs.pod:1474 msgid "" "The callback C<cb> will be called if there is an out of memory situation. " "I<Note this callback must not return>." @@ -3265,26 +3261,26 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1478 +#: ../src/guestfs.pod:1477 msgid "The default is to call L<abort(3)>." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1480 +#: ../src/guestfs.pod:1479 msgid "" "You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations." msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1483 +#: ../src/guestfs.pod:1482 msgid "guestfs_get_out_of_memory_handler" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1485 +#: ../src/guestfs.pod:1484 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -3293,49 +3289,49 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1487 +#: ../src/guestfs.pod:1486 msgid "This returns the current out of memory handler." msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:1489 +#: ../src/guestfs.pod:1488 msgid "API CALLS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1491 ../fish/guestfish.pod:1003 +#: ../src/guestfs.pod:1490 ../fish/guestfish.pod:1008 msgid "@ACTIONS@" msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:1493 +#: ../src/guestfs.pod:1492 msgid "STRUCTURES" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1495 +#: ../src/guestfs.pod:1494 msgid "@STRUCTS@" msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:1497 +#: ../src/guestfs.pod:1496 msgid "AVAILABILITY" msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1499 +#: ../src/guestfs.pod:1498 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1501 +#: ../src/guestfs.pod:1500 msgid "" "Using L</guestfs_available> you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -3344,19 +3340,19 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1506 +#: ../src/guestfs.pod:1505 msgid "@AVAILABILITY@" msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1508 +#: ../src/guestfs.pod:1507 msgid "GUESTFISH supported COMMAND" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1510 +#: ../src/guestfs.pod:1509 msgid "" "In L<guestfish(3)> there is a handy interactive command C<supported> which " "prints out the available groups and whether they are supported by this build " @@ -3365,13 +3361,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1515 +#: ../src/guestfs.pod:1514 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1517 +#: ../src/guestfs.pod:1516 msgid "" "Since version 1.5.8, C<E<lt>guestfs.hE<gt>> defines symbols for each C API " "function, such as:" @@ -3379,7 +3375,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1520 +#: ../src/guestfs.pod:1519 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -3388,13 +3384,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1522 +#: ../src/guestfs.pod:1521 msgid "if L</guestfs_dd> is available." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1524 +#: ../src/guestfs.pod:1523 msgid "" "Before version 1.5.8, if you needed to test whether a single libguestfs " "function is available at compile time, we recommended using build tools such " @@ -3403,7 +3399,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1529 +#: ../src/guestfs.pod:1528 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -3413,7 +3409,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1532 +#: ../src/guestfs.pod:1531 msgid "" "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined " "in your program." @@ -3421,13 +3417,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1535 +#: ../src/guestfs.pod:1534 msgid "SINGLE CALLS AT RUN TIME" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1537 +#: ../src/guestfs.pod:1536 msgid "" "Testing at compile time doesn't guarantee that a function really exists in " "the library. The reason is that you might be dynamically linked against a " @@ -3438,7 +3434,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1544 +#: ../src/guestfs.pod:1543 msgid "" "You can use L<dlopen(3)> to test if a function is available at run time, as " "in this example program (note that you still need the compile time check as " @@ -3447,7 +3443,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1548 +#: ../src/guestfs.pod:1547 #, no-wrap msgid "" " #include <stdio.h>\n" @@ -3460,7 +3456,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1554 +#: ../src/guestfs.pod:1553 #, no-wrap msgid "" " main ()\n" @@ -3473,7 +3469,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1560 +#: ../src/guestfs.pod:1559 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -3489,7 +3485,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1569 +#: ../src/guestfs.pod:1568 #, no-wrap msgid "" " if (!has_function)\n" @@ -3509,7 +3505,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1582 +#: ../src/guestfs.pod:1581 msgid "" "You may think the above is an awful lot of hassle, and it is. There are " "other ways outside of the C linking system to ensure that this kind of " @@ -3518,7 +3514,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1587 +#: ../src/guestfs.pod:1586 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -3527,13 +3523,13 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:1589 +#: ../src/guestfs.pod:1588 msgid "CALLS WITH OPTIONAL ARGUMENTS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1591 +#: ../src/guestfs.pod:1590 msgid "" "A recent feature of the API is the introduction of calls which take optional " "arguments. In C these are declared 3 ways. The main way is as a call which " @@ -3542,7 +3538,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1596 +#: ../src/guestfs.pod:1595 #, no-wrap msgid "" " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n" @@ -3551,7 +3547,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1598 +#: ../src/guestfs.pod:1597 msgid "" "Call this with a list of optional arguments, terminated by C<-1>. So to " "call with no optional arguments specified:" @@ -3559,7 +3555,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1601 +#: ../src/guestfs.pod:1600 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename, -1);\n" @@ -3568,13 +3564,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1603 +#: ../src/guestfs.pod:1602 msgid "With a single optional argument:" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1605 +#: ../src/guestfs.pod:1604 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -3585,13 +3581,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1609 +#: ../src/guestfs.pod:1608 msgid "With two:" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1611 +#: ../src/guestfs.pod:1610 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -3603,7 +3599,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1616 +#: ../src/guestfs.pod:1615 msgid "" "and so forth. Don't forget the terminating C<-1> otherwise Bad Things will " "happen!" @@ -3611,13 +3607,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1619 +#: ../src/guestfs.pod:1618 msgid "USING va_list FOR OPTIONAL ARGUMENTS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1621 +#: ../src/guestfs.pod:1620 msgid "" "The second variant has the same name with the suffix C<_va>, which works the " "same way but takes a C<va_list>. See the C manual for details. For the " @@ -3626,7 +3622,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1625 +#: ../src/guestfs.pod:1624 #, no-wrap msgid "" " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n" @@ -3636,13 +3632,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1628 +#: ../src/guestfs.pod:1627 msgid "CONSTRUCTING OPTIONAL ARGUMENTS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1630 +#: ../src/guestfs.pod:1629 msgid "" "The third variant is useful where you need to construct these calls. You " "pass in a structure where you fill in the optional fields. The structure " @@ -3653,7 +3649,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1636 +#: ../src/guestfs.pod:1635 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv {\n" @@ -3669,13 +3665,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1645 +#: ../src/guestfs.pod:1644 msgid "You could call it like this:" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1647 +#: ../src/guestfs.pod:1646 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv optargs = {\n" @@ -3689,7 +3685,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1654 +#: ../src/guestfs.pod:1653 #, no-wrap msgid "" " guestfs_add_drive_opts_argv (g, filename, &optargs);\n" @@ -3698,7 +3694,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1656 ../src/guestfs-actions.pod:11 +#: ../src/guestfs.pod:1655 ../src/guestfs-actions.pod:11 #: ../src/guestfs-actions.pod:1855 ../fish/guestfish-actions.pod:9 #: ../fish/guestfish-actions.pod:1260 ../tools/virt-win-reg.pl:532 msgid "Notes:" @@ -3706,19 +3702,19 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1662 +#: ../src/guestfs.pod:1661 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1667 +#: ../src/guestfs.pod:1666 msgid "You do not need to fill in all fields of the structure." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1671 +#: ../src/guestfs.pod:1670 msgid "" "There must be a one-to-one correspondence between fields of the structure " "that are filled in, and bits set in the bitmask." @@ -3726,13 +3722,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1676 +#: ../src/guestfs.pod:1675 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1678 +#: ../src/guestfs.pod:1677 msgid "" "In other languages, optional arguments are expressed in the way that is " "natural for that language. We refer you to the language-specific " @@ -3741,18 +3737,18 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1682 +#: ../src/guestfs.pod:1681 msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>." msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:1684 +#: ../src/guestfs.pod:1683 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1686 +#: ../src/guestfs.pod:1685 msgid "" "B<Note:> This section documents the generic event mechanism introduced in " "libguestfs 1.10, which you should use in new code if possible. The old " @@ -3764,7 +3760,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1694 +#: ../src/guestfs.pod:1693 msgid "" "Handles generate events when certain things happen, such as log messages " "being generated, progress messages during long-running operations, or the " @@ -3776,7 +3772,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1702 +#: ../src/guestfs.pod:1701 msgid "" "In the current implementation, events are only generated synchronously: that " "means that events (and hence callbacks) can only happen while you are in the " @@ -3785,24 +3781,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1707 +#: ../src/guestfs.pod:1706 msgid "" "Events may contain a payload, usually nothing (void), an array of 64 bit " "unsigned integers, or a message buffer. Payloads are discussed later on." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1711 +#: ../src/guestfs.pod:1710 msgid "CLASSES OF EVENTS" msgstr "" #. type: =item -#: ../src/guestfs.pod:1715 +#: ../src/guestfs.pod:1714 msgid "GUESTFS_EVENT_CLOSE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1718 +#: ../src/guestfs.pod:1717 msgid "" "The callback function will be called while the handle is being closed " "(synchronously from L</guestfs_close>)." @@ -3810,7 +3806,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1721 +#: ../src/guestfs.pod:1720 msgid "" "Note that libguestfs installs an L<atexit(3)> handler to try to clean up " "handles that are open when the program exits. This means that this callback " @@ -3821,19 +3817,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1728 +#: ../src/guestfs.pod:1727 msgid "" "If no callback is registered: the handle is closed without any callback " "being invoked." msgstr "" #. type: =item -#: ../src/guestfs.pod:1731 +#: ../src/guestfs.pod:1730 msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1734 +#: ../src/guestfs.pod:1733 msgid "" "The callback function will be called when the child process quits, either " "asynchronously or if killed by L</guestfs_kill_subprocess>. (This " @@ -3841,17 +3837,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1738 ../src/guestfs.pod:1747 +#: ../src/guestfs.pod:1737 ../src/guestfs.pod:1746 msgid "If no callback is registered: the event is ignored." msgstr "" #. type: =item -#: ../src/guestfs.pod:1740 +#: ../src/guestfs.pod:1739 msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1743 +#: ../src/guestfs.pod:1742 msgid "" "The callback function will be called when the child process becomes ready " "first time after it has been launched. (This corresponds to a transition " @@ -3859,13 +3855,13 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1749 +#: ../src/guestfs.pod:1748 msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1752 +#: ../src/guestfs.pod:1751 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -3875,14 +3871,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1758 +#: ../src/guestfs.pod:1757 msgid "" "The callback receives in the payload four unsigned 64 bit numbers which are " "(in order): C<proc_nr>, C<serial>, C<position>, C<total>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1761 +#: ../src/guestfs.pod:1760 msgid "" "The units of C<total> are not defined, although for some operations C<total> " "may relate in some way to the amount of data to be transferred (eg. in bytes " @@ -3891,13 +3887,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1766 +#: ../src/guestfs.pod:1765 msgid "The only defined and stable parts of the API are:" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1772 +#: ../src/guestfs.pod:1771 msgid "" "The callback can display to the user some type of progress bar or indicator " "which shows the ratio of C<position>:C<total>." @@ -3905,12 +3901,12 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1777 +#: ../src/guestfs.pod:1776 msgid "0 E<lt>= C<position> E<lt>= C<total>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1781 +#: ../src/guestfs.pod:1780 msgid "" "If any progress notification is sent during a call, then a final progress " "notification is always sent when C<position> = C<total> (I<unless> the call " @@ -3919,7 +3915,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1785 +#: ../src/guestfs.pod:1784 msgid "" "This is to simplify caller code, so callers can easily set the progress " "indicator to \"100%\" at the end of the operation, without requiring special " @@ -3927,7 +3923,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1791 +#: ../src/guestfs.pod:1790 msgid "" "For some calls we are unable to estimate the progress of the call, but we " "can still generate progress messages to indicate activity. This is known as " @@ -3936,7 +3932,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1796 +#: ../src/guestfs.pod:1795 msgid "" "For these calls, zero or more progress messages are generated with " "C<position = 0> and C<total = 1>, followed by a final message with " @@ -3944,14 +3940,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1800 +#: ../src/guestfs.pod:1799 msgid "" "As noted above, if the call fails with an error then the final message may " "not be generated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1805 +#: ../src/guestfs.pod:1804 msgid "" "The callback also receives the procedure number (C<proc_nr>) and serial " "number (C<serial>) of the call. These are only useful for debugging " @@ -3960,31 +3956,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1811 +#: ../src/guestfs.pod:1810 msgid "If no callback is registered: progress messages are discarded." msgstr "" #. type: =item -#: ../src/guestfs.pod:1813 +#: ../src/guestfs.pod:1812 msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1816 +#: ../src/guestfs.pod:1815 msgid "" "The callback function is called whenever a log message is generated by qemu, " "the appliance kernel, guestfsd (daemon), or utility programs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1819 +#: ../src/guestfs.pod:1818 msgid "" "If the verbose flag (L</guestfs_set_verbose>) is set before launch (L</" "guestfs_launch>) then additional debug messages are generated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1822 ../src/guestfs.pod:1836 +#: ../src/guestfs.pod:1821 ../src/guestfs.pod:1835 msgid "" "If no callback is registered: the messages are discarded unless the verbose " "flag is set in which case they are sent to stderr. You can override the " @@ -3992,50 +3988,50 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1827 +#: ../src/guestfs.pod:1826 msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1830 +#: ../src/guestfs.pod:1829 msgid "" "The callback function is called whenever a log message is generated by the " "library part of libguestfs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1833 +#: ../src/guestfs.pod:1832 msgid "" "If the verbose flag (L</guestfs_set_verbose>) is set then additional debug " "messages are generated." msgstr "" #. type: =item -#: ../src/guestfs.pod:1841 +#: ../src/guestfs.pod:1840 msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1844 +#: ../src/guestfs.pod:1843 msgid "" "The callback function is called whenever a trace message is generated. This " "only applies if the trace flag (L</guestfs_set_trace>) is set." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1847 +#: ../src/guestfs.pod:1846 msgid "" "If no callback is registered: the messages are sent to stderr. You can " "override the printing of trace messages to stderr by setting up a callback." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1853 +#: ../src/guestfs.pod:1852 msgid "guestfs_set_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1855 +#: ../src/guestfs.pod:1854 #, no-wrap msgid "" " int guestfs_set_event_callback (guestfs_h *g,\n" @@ -4047,14 +4043,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1861 +#: ../src/guestfs.pod:1860 msgid "" "This function registers a callback (C<cb>) for all event classes in the " "C<event_bitmask>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1864 +#: ../src/guestfs.pod:1863 msgid "" "For example, to register for all log message events, you could call this " "function with the bitmask C<GUESTFS_EVENT_APPLIANCE|GUESTFS_EVENT_LIBRARY>. " @@ -4063,40 +4059,40 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1870 +#: ../src/guestfs.pod:1869 msgid "C<flags> should always be passed as 0." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1872 +#: ../src/guestfs.pod:1871 msgid "" "C<opaque> is an opaque pointer which is passed to the callback. You can use " "it for any purpose." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1875 +#: ../src/guestfs.pod:1874 msgid "" "The return value is the event handle (an integer) which you can use to " "delete the callback (see below)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1878 +#: ../src/guestfs.pod:1877 msgid "" "If there is an error, this function returns C<-1>, and sets the error in the " "handle in the usual way (see L</guestfs_last_error> etc.)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1881 +#: ../src/guestfs.pod:1880 msgid "" "Callbacks remain in effect until they are deleted, or until the handle is " "closed." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1884 +#: ../src/guestfs.pod:1883 msgid "" "In the case where multiple callbacks are registered for a particular event " "class, all of the callbacks are called. The order in which multiple " @@ -4104,12 +4100,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1888 +#: ../src/guestfs.pod:1887 msgid "guestfs_delete_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1890 +#: ../src/guestfs.pod:1889 #, no-wrap msgid "" " void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n" @@ -4117,7 +4113,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1892 +#: ../src/guestfs.pod:1891 msgid "" "Delete a callback that was previously registered. C<event_handle> should be " "the integer that was returned by a previous call to " @@ -4125,12 +4121,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1896 +#: ../src/guestfs.pod:1895 msgid "guestfs_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1898 +#: ../src/guestfs.pod:1897 #, no-wrap msgid "" " typedef void (*guestfs_event_callback) (\n" @@ -4145,13 +4141,13 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1907 +#: ../src/guestfs.pod:1906 msgid "" "This is the type of the event callback function that you have to provide." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1910 +#: ../src/guestfs.pod:1909 msgid "" "The basic parameters are: the handle (C<g>), the opaque user pointer " "(C<opaque>), the event class (eg. C<GUESTFS_EVENT_PROGRESS>), the event " @@ -4159,7 +4155,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1914 +#: ../src/guestfs.pod:1913 msgid "" "The remaining parameters contain the event payload (if any). Each event may " "contain a payload, which usually relates to the event class, but for future " @@ -4168,7 +4164,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1919 +#: ../src/guestfs.pod:1918 msgid "" "C<buf> and C<buf_len> contain a message buffer (if C<buf_len == 0>, then " "there is no message buffer). Note that this message buffer can contain " @@ -4176,19 +4172,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1923 +#: ../src/guestfs.pod:1922 msgid "" "C<array> and C<array_len> is an array of 64 bit unsigned integers. At the " "moment this is only used for progress messages." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1926 +#: ../src/guestfs.pod:1925 msgid "EXAMPLE: CAPTURING LOG MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1928 +#: ../src/guestfs.pod:1927 msgid "" "One motivation for the generic event API was to allow GUI programs to " "capture debug and other messages. In libguestfs E<le> 1.8 these were sent " @@ -4196,7 +4192,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1932 +#: ../src/guestfs.pod:1931 msgid "" "Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, " "C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error " @@ -4204,14 +4200,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1937 +#: ../src/guestfs.pod:1936 msgid "" "Programs have to set up a callback to capture the classes of events of " "interest:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1940 +#: ../src/guestfs.pod:1939 #, no-wrap msgid "" " int eh =\n" @@ -4227,14 +4223,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1950 +#: ../src/guestfs.pod:1949 msgid "" "The callback can then direct messages to the appropriate place. In this " "example, messages are directed to syslog:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1953 +#: ../src/guestfs.pod:1952 #, no-wrap msgid "" " static void\n" @@ -4256,12 +4252,12 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:1968 +#: ../src/guestfs.pod:1967 msgid "PRIVATE DATA AREA" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1970 +#: ../src/guestfs.pod:1969 msgid "" "You can attach named pieces of private data to the libguestfs handle, fetch " "them by name, and walk over them, for the lifetime of the handle. This is " @@ -4270,13 +4266,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1975 +#: ../src/guestfs.pod:1974 msgid "To attach a named piece of data, use the following call:" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1977 +#: ../src/guestfs.pod:1976 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -4285,7 +4281,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1979 +#: ../src/guestfs.pod:1978 msgid "" "C<key> is the name to associate with this data, and C<data> is an arbitrary " "pointer (which can be C<NULL>). Any previous item with the same name is " @@ -4294,7 +4290,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1983 +#: ../src/guestfs.pod:1982 msgid "" "You can use any C<key> you want, but names beginning with an underscore " "character are reserved for internal libguestfs purposes (for implementing " @@ -4304,13 +4300,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1988 +#: ../src/guestfs.pod:1987 msgid "To retrieve the pointer, use:" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:1990 +#: ../src/guestfs.pod:1989 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -4319,7 +4315,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:1992 +#: ../src/guestfs.pod:1991 msgid "" "This function returns C<NULL> if either no data is found associated with " "C<key>, or if the user previously set the C<key>'s C<data> pointer to " @@ -4327,7 +4323,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1996 +#: ../src/guestfs.pod:1995 msgid "" "Libguestfs does not try to look at or interpret the C<data> pointer in any " "way. As far as libguestfs is concerned, it need not be a valid pointer at " @@ -4338,12 +4334,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2003 +#: ../src/guestfs.pod:2002 msgid "To walk over all entries, use these two functions:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2005 +#: ../src/guestfs.pod:2004 #, no-wrap msgid "" " void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n" @@ -4351,7 +4347,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2007 +#: ../src/guestfs.pod:2006 #, no-wrap msgid "" " void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n" @@ -4359,7 +4355,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2009 +#: ../src/guestfs.pod:2008 msgid "" "C<guestfs_first_private> returns the first key, pointer pair (\"first\" does " "not have any particular meaning -- keys are not returned in any defined " @@ -4369,7 +4365,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2015 +#: ../src/guestfs.pod:2014 msgid "" "C<guestfs_next_private> returns the next key, pointer pair. The return " "value of this function is also C<NULL> is there are no further entries to " @@ -4377,18 +4373,18 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2019 +#: ../src/guestfs.pod:2018 msgid "Notes about walking over entries:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2025 +#: ../src/guestfs.pod:2024 msgid "" "You must not call C<guestfs_set_private> while walking over the entries." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2030 +#: ../src/guestfs.pod:2029 msgid "" "The handle maintains an internal iterator which is reset when you call " "C<guestfs_first_private>. This internal iterator is invalidated when you " @@ -4396,12 +4392,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2036 +#: ../src/guestfs.pod:2035 msgid "If you have set the data pointer associated with a key to C<NULL>, ie:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2038 +#: ../src/guestfs.pod:2037 #, no-wrap msgid "" " guestfs_set_private (g, key, NULL);\n" @@ -4409,26 +4405,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2040 +#: ../src/guestfs.pod:2039 msgid "then that C<key> is not returned when walking." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2044 +#: ../src/guestfs.pod:2043 msgid "" "C<*key_rtn> is only valid until the next call to C<guestfs_first_private>, " "C<guestfs_next_private> or C<guestfs_set_private>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2050 +#: ../src/guestfs.pod:2049 msgid "" "The following example code shows how to print all keys and data pointers " "that are associated with the handle C<g>:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2053 +#: ../src/guestfs.pod:2052 #, no-wrap msgid "" " const char *key;\n" @@ -4442,14 +4438,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2061 +#: ../src/guestfs.pod:2060 msgid "" "More commonly you are only interested in keys that begin with an application-" "specific prefix C<foo_>. Modify the loop like so:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2064 +#: ../src/guestfs.pod:2063 #, no-wrap msgid "" " const char *key;\n" @@ -4464,7 +4460,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2073 +#: ../src/guestfs.pod:2072 msgid "" "If you need to modify keys while walking, then you have to jump back to the " "beginning of the loop. For example, to delete all keys prefixed with " @@ -4472,7 +4468,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2077 +#: ../src/guestfs.pod:2076 #, no-wrap msgid "" " const char *key;\n" @@ -4494,7 +4490,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2093 +#: ../src/guestfs.pod:2092 msgid "" "Note that the above loop is guaranteed to terminate because the keys are " "being deleted, but other manipulations of keys within the loop might not " @@ -4504,13 +4500,13 @@ msgstr "" # type: =end #. type: =end -#: ../src/guestfs.pod:2098 ../src/guestfs.pod:2103 +#: ../src/guestfs.pod:2097 ../src/guestfs.pod:2102 msgid "html" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2100 +#: ../src/guestfs.pod:2099 msgid "" "<!-- old anchor for the next section --> <a name=" "\"state_machine_and_low_level_event_api\"/>" @@ -4518,13 +4514,13 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:2105 +#: ../src/guestfs.pod:2104 msgid "ARCHITECTURE" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2107 +#: ../src/guestfs.pod:2106 msgid "" "Internally, libguestfs is implemented by running an appliance (a special " "type of small virtual machine) using L<qemu(1)>. Qemu runs as a child " @@ -4533,7 +4529,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:2111 +#: ../src/guestfs.pod:2110 #, no-wrap msgid "" " ___________________\n" @@ -4560,7 +4556,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2131 +#: ../src/guestfs.pod:2130 msgid "" "The library, linked to the main program, creates the child process and hence " "the appliance in the L</guestfs_launch> function." @@ -4568,7 +4564,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2134 +#: ../src/guestfs.pod:2133 msgid "" "Inside the appliance is a Linux kernel and a complete stack of userspace " "tools (such as LVM and ext2 programs) and a small controlling daemon called " @@ -4581,7 +4577,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2143 +#: ../src/guestfs.pod:2142 msgid "" "A common misunderstanding is that the appliance \"is\" the virtual machine. " "Although the disk image you are attached to might also be used by some " @@ -4593,19 +4589,19 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:2150 +#: ../src/guestfs.pod:2149 msgid "STATE MACHINE" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2152 +#: ../src/guestfs.pod:2151 msgid "libguestfs uses a state machine to model the child process:" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:2154 +#: ../src/guestfs.pod:2153 #, no-wrap msgid "" " |\n" @@ -4634,7 +4630,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2176 +#: ../src/guestfs.pod:2175 msgid "" "The normal transitions are (1) CONFIG (when the handle is created, but there " "is no child process), (2) LAUNCHING (when the child process is booting up), " @@ -4644,7 +4640,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2181 +#: ../src/guestfs.pod:2180 msgid "" "The guest may be killed by L</guestfs_kill_subprocess>, or may die " "asynchronously at any time (eg. due to some internal error), and that causes " @@ -4653,7 +4649,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2185 +#: ../src/guestfs.pod:2184 msgid "" "Configuration commands for qemu such as L</guestfs_add_drive> can only be " "issued when in the CONFIG state." @@ -4661,7 +4657,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2188 +#: ../src/guestfs.pod:2187 msgid "" "The API offers one call that goes from CONFIG through LAUNCHING to READY. " "L</guestfs_launch> blocks until the child process is READY to accept " @@ -4671,7 +4667,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2194 +#: ../src/guestfs.pod:2193 msgid "" "API actions such as L</guestfs_mount> can only be issued when in the READY " "state. These API calls block waiting for the command to be carried out (ie. " @@ -4682,7 +4678,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2200 +#: ../src/guestfs.pod:2199 msgid "" "Finally, the child process sends asynchronous messages back to the main " "program, such as kernel log messages. You can register a callback to " @@ -4691,19 +4687,19 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:2204 +#: ../src/guestfs.pod:2203 msgid "INTERNALS" msgstr "" # type: =head2 #. type: =head2 -#: ../src/guestfs.pod:2206 +#: ../src/guestfs.pod:2205 msgid "COMMUNICATION PROTOCOL" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2208 +#: ../src/guestfs.pod:2207 msgid "" "Don't rely on using this protocol directly. This section documents how it " "currently works, but it may change at any time." @@ -4711,7 +4707,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2211 +#: ../src/guestfs.pod:2210 msgid "" "The protocol used to talk between the library and the daemon running inside " "the qemu virtual machine is a simple RPC mechanism built on top of XDR (RFC " @@ -4720,7 +4716,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2215 +#: ../src/guestfs.pod:2214 msgid "" "The detailed format of structures is in C<src/guestfs_protocol.x> (note: " "this file is automatically generated)." @@ -4728,7 +4724,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2218 +#: ../src/guestfs.pod:2217 msgid "" "There are two broad cases, ordinary functions that don't have any C<FileIn> " "and C<FileOut> parameters, which are handled with very simple request/reply " @@ -4739,19 +4735,19 @@ msgstr "" # type: =head3 #. type: =head3 -#: ../src/guestfs.pod:2225 +#: ../src/guestfs.pod:2224 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2227 +#: ../src/guestfs.pod:2226 msgid "For ordinary functions, the request message is:" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:2229 +#: ../src/guestfs.pod:2228 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -4763,7 +4759,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2234 +#: ../src/guestfs.pod:2233 msgid "" "The total length field allows the daemon to allocate a fixed size buffer " "into which it slurps the rest of the message. As a result, the total length " @@ -4773,7 +4769,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2240 +#: ../src/guestfs.pod:2239 msgid "" "Note also that many functions don't take any arguments, in which case the " "C<guestfs_I<foo>_args> is completely omitted." @@ -4781,7 +4777,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2243 +#: ../src/guestfs.pod:2242 msgid "" "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." @@ -4789,7 +4785,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2247 +#: ../src/guestfs.pod:2246 msgid "" "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 " @@ -4802,13 +4798,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2255 +#: ../src/guestfs.pod:2254 msgid "The reply message for ordinary functions is:" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:2257 +#: ../src/guestfs.pod:2256 #, no-wrap msgid "" " total length (header + ret,\n" @@ -4820,7 +4816,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2262 +#: ../src/guestfs.pod:2261 msgid "" "As above the C<guestfs_I<foo>_ret> structure may be completely omitted for " "functions that return no formal return values." @@ -4828,14 +4824,14 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2265 +#: ../src/guestfs.pod:2264 msgid "" "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2268 +#: ../src/guestfs.pod:2267 msgid "" "In the case of an error, a flag is set in the header, and the reply message " "is slightly changed:" @@ -4843,7 +4839,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:2271 +#: ../src/guestfs.pod:2270 #, no-wrap msgid "" " total length (header + error,\n" @@ -4855,7 +4851,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2276 +#: ../src/guestfs.pod:2275 msgid "" "The C<guestfs_message_error> structure contains the error message as a " "string." @@ -4863,13 +4859,13 @@ msgstr "" # type: =head3 #. type: =head3 -#: ../src/guestfs.pod:2279 +#: ../src/guestfs.pod:2278 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2281 +#: ../src/guestfs.pod:2280 msgid "" "A C<FileIn> parameter indicates that we transfer a file I<into> the guest. " "The normal request message is sent (see above). However this is followed by " @@ -4878,7 +4874,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:2285 +#: ../src/guestfs.pod:2284 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -4893,13 +4889,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2293 +#: ../src/guestfs.pod:2292 msgid "The \"sequence of chunks\" is:" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:2295 +#: ../src/guestfs.pod:2294 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -4914,7 +4910,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2303 +#: ../src/guestfs.pod:2302 msgid "" "The final chunk has the C<data_len> field set to zero. Additionally a flag " "is set in the final chunk to indicate either successful completion or early " @@ -4923,7 +4919,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2307 +#: ../src/guestfs.pod:2306 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -4933,7 +4929,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2312 +#: ../src/guestfs.pod:2311 msgid "" "Both the library (sender) I<and> the daemon (receiver) may cancel the " "transfer. The library does this by sending a chunk with a special flag set " @@ -4943,7 +4939,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2318 +#: ../src/guestfs.pod:2317 msgid "" "The daemon may also cancel. It does this by writing a special word " "C<GUESTFS_CANCEL_FLAG> to the socket. The library listens for this during " @@ -4956,7 +4952,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2327 +#: ../src/guestfs.pod:2326 msgid "" "This protocol allows the transfer of arbitrary sized files (no 32 bit " "limit), and also files where the size is not known in advance (eg. from " @@ -4967,13 +4963,13 @@ msgstr "" # type: =head3 #. type: =head3 -#: ../src/guestfs.pod:2333 +#: ../src/guestfs.pod:2332 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2335 +#: ../src/guestfs.pod:2334 msgid "" "The protocol for FileOut parameters is exactly the same as for FileIn " "parameters, but with the roles of daemon and library reversed." @@ -4981,7 +4977,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:2338 +#: ../src/guestfs.pod:2337 #, no-wrap msgid "" " total length (header + ret,\n" @@ -4996,13 +4992,13 @@ msgstr "" # type: =head3 #. type: =head3 -#: ../src/guestfs.pod:2346 +#: ../src/guestfs.pod:2345 msgid "INITIAL MESSAGE" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2348 +#: ../src/guestfs.pod:2347 msgid "" "When the daemon launches it sends an initial word (C<GUESTFS_LAUNCH_FLAG>) " "which indicates that the guest and daemon is alive. This is what L</" @@ -5011,13 +5007,13 @@ msgstr "" # type: =head3 #. type: =head3 -#: ../src/guestfs.pod:2352 +#: ../src/guestfs.pod:2351 msgid "PROGRESS NOTIFICATION MESSAGES" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2354 +#: ../src/guestfs.pod:2353 msgid "" "The daemon may send progress notification messages at any time. These are " "distinguished by the normal length word being replaced by " @@ -5025,7 +5021,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2358 +#: ../src/guestfs.pod:2357 msgid "" "The library turns them into progress callbacks (see L</" "GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards them " @@ -5034,7 +5030,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2362 +#: ../src/guestfs.pod:2361 msgid "" "The daemon self-limits the frequency of progress messages it sends (see " "C<daemon/proto.c:notify_progress>). Not all calls generate progress " @@ -5043,13 +5039,13 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:2366 +#: ../src/guestfs.pod:2365 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2368 +#: ../src/guestfs.pod:2367 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -5058,7 +5054,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:2373 +#: ../src/guestfs.pod:2372 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -5076,13 +5072,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2384 +#: ../src/guestfs.pod:2383 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2386 +#: ../src/guestfs.pod:2385 msgid "" "As time passes we cherry pick fixes from the development branch and backport " "those into the stable branch, the effect being that the stable branch should " @@ -5093,13 +5089,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2392 +#: ../src/guestfs.pod:2391 msgid "Our criteria for backporting changes are:" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2398 +#: ../src/guestfs.pod:2397 msgid "" "Documentation changes which don't affect any code are backported unless the " "documentation refers to a future feature which is not in stable." @@ -5107,7 +5103,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2404 +#: ../src/guestfs.pod:2403 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." @@ -5115,7 +5111,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2409 +#: ../src/guestfs.pod:2408 msgid "" "Simple rearrangements of code which shouldn't affect how it works get " "backported. This is so that the code in the two branches doesn't get too " @@ -5124,7 +5120,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2415 +#: ../src/guestfs.pod:2414 msgid "" "We I<don't> backport new features, new APIs, new tools etc, except in one " "exceptional case: the new feature is required in order to implement an " @@ -5133,7 +5129,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2421 +#: ../src/guestfs.pod:2420 msgid "" "A new stable branch starts when we think the new features in development are " "substantial and compelling enough over the current stable branch to warrant " @@ -5144,17 +5140,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2429 +#: ../src/guestfs.pod:2428 msgid "EXTENDING LIBGUESTFS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2431 +#: ../src/guestfs.pod:2430 msgid "ADDING A NEW API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2433 +#: ../src/guestfs.pod:2432 msgid "" "Large amounts of boilerplate code in libguestfs (RPC, bindings, " "documentation) are generated, and this makes it easy to extend the " @@ -5162,19 +5158,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2437 +#: ../src/guestfs.pod:2436 msgid "To add a new API action there are two changes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2443 +#: ../src/guestfs.pod:2442 msgid "" "You need to add a description of the call (name, parameters, return type, " "tests, documentation) to C<generator/generator_actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2446 +#: ../src/guestfs.pod:2445 msgid "" "There are two sorts of API action, depending on whether the call goes " "through to the daemon in the appliance, or is serviced entirely by the " @@ -5185,7 +5181,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2454 +#: ../src/guestfs.pod:2453 msgid "" "Most new actions are of the first type, and get added to the " "C<daemon_functions> list. Each function has a unique procedure number used " @@ -5195,7 +5191,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2460 +#: ../src/guestfs.pod:2459 msgid "" "For library-only actions of the second type, add to the " "C<non_daemon_functions> list. Since these functions are serviced by the " @@ -5205,36 +5201,36 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2468 +#: ../src/guestfs.pod:2467 msgid "Implement the action (in C):" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2470 +#: ../src/guestfs.pod:2469 msgid "" "For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the " "C<daemon/> directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2473 +#: ../src/guestfs.pod:2472 msgid "" "For library actions, implement the function C<guestfs__E<lt>nameE<gt>> " "(note: double underscore) in the C<src/> directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2476 +#: ../src/guestfs.pod:2475 msgid "In either case, use another function as an example of what to do." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2480 +#: ../src/guestfs.pod:2479 msgid "After making these changes, use C<make> to compile." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2482 +#: ../src/guestfs.pod:2481 msgid "" "Note that you don't need to implement the RPC, language bindings, manual " "pages or anything else. It's all automatically generated from the OCaml " @@ -5242,12 +5238,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2486 +#: ../src/guestfs.pod:2485 msgid "ADDING TESTS FOR AN API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2488 +#: ../src/guestfs.pod:2487 msgid "" "You can supply zero or as many tests as you want per API call. The tests " "can either be added as part of the API description (C<generator/" @@ -5257,61 +5253,61 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2494 +#: ../src/guestfs.pod:2493 msgid "" "The following describes the test environment used when you add an API test " "in C<generator_actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2497 +#: ../src/guestfs.pod:2496 msgid "The test environment has 4 block devices:" msgstr "" #. type: =item -#: ../src/guestfs.pod:2501 +#: ../src/guestfs.pod:2500 msgid "C</dev/sda> 500MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2503 +#: ../src/guestfs.pod:2502 msgid "General block device for testing." msgstr "" #. type: =item -#: ../src/guestfs.pod:2505 +#: ../src/guestfs.pod:2504 msgid "C</dev/sdb> 50MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2507 +#: ../src/guestfs.pod:2506 msgid "" "C</dev/sdb1> is an ext2 filesystem used for testing filesystem write " "operations." msgstr "" #. type: =item -#: ../src/guestfs.pod:2510 +#: ../src/guestfs.pod:2509 msgid "C</dev/sdc> 10MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2512 +#: ../src/guestfs.pod:2511 msgid "Used in a few tests where two block devices are needed." msgstr "" #. type: =item -#: ../src/guestfs.pod:2514 +#: ../src/guestfs.pod:2513 msgid "C</dev/sdd>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2516 +#: ../src/guestfs.pod:2515 msgid "ISO with fixed content (see C<images/test.iso>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2520 +#: ../src/guestfs.pod:2519 msgid "" "To be able to run the tests in a reasonable amount of time, the libguestfs " "appliance and block devices are reused between tests. So don't try testing " @@ -5319,7 +5315,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2524 +#: ../src/guestfs.pod:2523 msgid "" "Each test starts with an initial scenario, selected using one of the " "C<Init*> expressions, described in C<generator/generator_types.ml>. These " @@ -5329,7 +5325,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2530 +#: ../src/guestfs.pod:2529 msgid "" "You can add a prerequisite clause to any individual test. This is a run-" "time check, which, if it fails, causes the test to be skipped. Useful if " @@ -5339,14 +5335,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2536 +#: ../src/guestfs.pod:2535 msgid "" "In addition, packagers can skip individual tests by setting environment " "variables before running C<make check>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2539 +#: ../src/guestfs.pod:2538 #, no-wrap msgid "" " SKIP_TEST_<CMD>_<NUM>=1\n" @@ -5354,17 +5350,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2541 +#: ../src/guestfs.pod:2540 msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2543 +#: ../src/guestfs.pod:2542 msgid "or:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2545 +#: ../src/guestfs.pod:2544 #, no-wrap msgid "" " SKIP_TEST_<CMD>=1\n" @@ -5372,17 +5368,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2547 +#: ../src/guestfs.pod:2546 msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2549 +#: ../src/guestfs.pod:2548 msgid "Packagers can run only certain tests by setting for example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2551 +#: ../src/guestfs.pod:2550 #, no-wrap msgid "" " TEST_ONLY=\"vfs_type zerofree\"\n" @@ -5390,29 +5386,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2553 +#: ../src/guestfs.pod:2552 msgid "" "See C<capitests/tests.c> for more details of how these environment variables " "work." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2556 +#: ../src/guestfs.pod:2555 msgid "DEBUGGING NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2558 +#: ../src/guestfs.pod:2557 msgid "Test new actions work before submitting them." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2560 +#: ../src/guestfs.pod:2559 msgid "You can use guestfish to try out new commands." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2562 +#: ../src/guestfs.pod:2561 msgid "" "Debugging the daemon is a problem because it runs inside a minimal " "environment. However you can fprintf messages in the daemon to stderr, and " @@ -5420,12 +5416,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2566 +#: ../src/guestfs.pod:2565 msgid "FORMATTING CODE AND OTHER CONVENTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2568 +#: ../src/guestfs.pod:2567 msgid "" "Our C source code generally adheres to some basic code-formatting " "conventions. The existing code base is not totally consistent on this " @@ -5435,14 +5431,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2574 +#: ../src/guestfs.pod:2573 msgid "" "If you use Emacs, add the following to one of one of your start-up files (e." "g., ~/.emacs), to help ensure that you get indentation right:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2577 +#: ../src/guestfs.pod:2576 #, no-wrap msgid "" " ;;; In libguestfs, indent with spaces everywhere (not TABs).\n" @@ -5458,7 +5454,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2587 +#: ../src/guestfs.pod:2586 #, no-wrap msgid "" " ;;; When editing C sources in libguestfs, use this style.\n" @@ -5476,12 +5472,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2599 +#: ../src/guestfs.pod:2598 msgid "Enable warnings when compiling (and fix any problems this finds):" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2602 +#: ../src/guestfs.pod:2601 #, no-wrap msgid "" " ./configure --enable-gcc-warnings\n" @@ -5489,12 +5485,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2604 +#: ../src/guestfs.pod:2603 msgid "Useful targets are:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2606 +#: ../src/guestfs.pod:2605 #, no-wrap msgid "" " make syntax-check # checks the syntax of the C code\n" @@ -5503,36 +5499,36 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2609 +#: ../src/guestfs.pod:2608 msgid "DAEMON CUSTOM PRINTF FORMATTERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2611 +#: ../src/guestfs.pod:2610 msgid "" "In the daemon code we have created custom printf formatters C<%Q> and C<%R>, " "which are used to do shell quoting." msgstr "" #. type: =item -#: ../src/guestfs.pod:2616 +#: ../src/guestfs.pod:2615 msgid "%Q" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2618 +#: ../src/guestfs.pod:2617 msgid "" "Simple shell quoted string. Any spaces or other shell characters are " "escaped for you." msgstr "" #. type: =item -#: ../src/guestfs.pod:2621 +#: ../src/guestfs.pod:2620 msgid "%R" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2623 +#: ../src/guestfs.pod:2622 msgid "" "Same as C<%Q> except the string is treated as a path which is prefixed by " "the sysroot." @@ -5540,12 +5536,12 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2628 ../fish/guestfish.pod:240 ../fish/guestfish.pod:613 +#: ../src/guestfs.pod:2627 ../fish/guestfish.pod:240 ../fish/guestfish.pod:613 msgid "For example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2630 +#: ../src/guestfs.pod:2629 #, no-wrap msgid "" " asprintf (&cmd, \"cat %R\", path);\n" @@ -5553,12 +5549,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2632 +#: ../src/guestfs.pod:2631 msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2634 +#: ../src/guestfs.pod:2633 msgid "" "I<Note:> Do I<not> use these when you are passing parameters to the C<command" "{,r,v,rv}()> functions. These parameters do NOT need to be quoted because " @@ -5567,29 +5563,29 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2640 +#: ../src/guestfs.pod:2639 msgid "SUBMITTING YOUR NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2642 +#: ../src/guestfs.pod:2641 msgid "" "Submit patches to the mailing list: L<http://www.redhat.com/mailman/listinfo/" "libguestfs> and CC to L<rjones@redhat.com>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2646 +#: ../src/guestfs.pod:2645 msgid "INTERNATIONALIZATION (I18N) SUPPORT" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2648 +#: ../src/guestfs.pod:2647 msgid "We support i18n (gettext anyhow) in the library." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2650 +#: ../src/guestfs.pod:2649 msgid "" "However many messages come from the daemon, and we don't translate those at " "the moment. One reason is that the appliance generally has all locale files " @@ -5598,98 +5594,98 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2656 +#: ../src/guestfs.pod:2655 msgid "" "Debugging messages are never translated, since they are intended for the " "programmers." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2659 +#: ../src/guestfs.pod:2658 msgid "SOURCE CODE SUBDIRECTORIES" msgstr "" #. type: =item -#: ../src/guestfs.pod:2663 ../src/guestfs-actions.pod:5806 +#: ../src/guestfs.pod:2662 ../src/guestfs-actions.pod:5806 #: ../fish/guestfish-actions.pod:3900 msgid "C<appliance>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2665 +#: ../src/guestfs.pod:2664 msgid "The libguestfs appliance, build scripts and so on." msgstr "" #. type: =item -#: ../src/guestfs.pod:2667 +#: ../src/guestfs.pod:2666 msgid "C<capitests>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2669 +#: ../src/guestfs.pod:2668 msgid "Automated tests of the C API." msgstr "" #. type: =item -#: ../src/guestfs.pod:2671 +#: ../src/guestfs.pod:2670 msgid "C<cat>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2673 +#: ../src/guestfs.pod:2672 msgid "" "The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and " "documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:2676 +#: ../src/guestfs.pod:2675 msgid "C<contrib>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2678 +#: ../src/guestfs.pod:2677 msgid "Outside contributions, experimental parts." msgstr "" #. type: =item -#: ../src/guestfs.pod:2680 +#: ../src/guestfs.pod:2679 msgid "C<daemon>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2682 +#: ../src/guestfs.pod:2681 msgid "" "The daemon that runs inside the libguestfs appliance and carries out actions." msgstr "" #. type: =item -#: ../src/guestfs.pod:2685 +#: ../src/guestfs.pod:2684 msgid "C<df>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2687 +#: ../src/guestfs.pod:2686 msgid "L<virt-df(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:2689 +#: ../src/guestfs.pod:2688 msgid "C<examples>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2691 +#: ../src/guestfs.pod:2690 msgid "C API example code." msgstr "" #. type: =item -#: ../src/guestfs.pod:2693 +#: ../src/guestfs.pod:2692 msgid "C<fish>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2695 +#: ../src/guestfs.pod:2694 msgid "" "L<guestfish(1)>, the command-line shell, and various shell scripts built on " "top such as L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-tar-in(1)>, " @@ -5697,90 +5693,90 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2699 +#: ../src/guestfs.pod:2698 msgid "C<fuse>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2701 +#: ../src/guestfs.pod:2700 msgid "" "L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:2703 +#: ../src/guestfs.pod:2702 msgid "C<generator>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2705 +#: ../src/guestfs.pod:2704 msgid "" "The crucially important generator, used to automatically generate large " "amounts of boilerplate C code for things like RPC and bindings." msgstr "" #. type: =item -#: ../src/guestfs.pod:2708 +#: ../src/guestfs.pod:2707 msgid "C<images>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2710 +#: ../src/guestfs.pod:2709 msgid "Files used by the test suite." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2712 +#: ../src/guestfs.pod:2711 msgid "Some \"phony\" guest images which we test against." msgstr "" #. type: =item -#: ../src/guestfs.pod:2714 +#: ../src/guestfs.pod:2713 msgid "C<inspector>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2716 +#: ../src/guestfs.pod:2715 msgid "L<virt-inspector(1)>, the virtual machine image inspector." msgstr "" #. type: =item -#: ../src/guestfs.pod:2718 +#: ../src/guestfs.pod:2717 msgid "C<logo>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2720 +#: ../src/guestfs.pod:2719 msgid "Logo used on the website. The fish is called Arthur by the way." msgstr "" #. type: =item -#: ../src/guestfs.pod:2722 +#: ../src/guestfs.pod:2721 msgid "C<m4>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2724 +#: ../src/guestfs.pod:2723 msgid "M4 macros used by autoconf." msgstr "" #. type: =item -#: ../src/guestfs.pod:2726 +#: ../src/guestfs.pod:2725 msgid "C<po>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2728 +#: ../src/guestfs.pod:2727 msgid "Translations of simple gettext strings." msgstr "" #. type: =item -#: ../src/guestfs.pod:2730 +#: ../src/guestfs.pod:2729 msgid "C<po-docs>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2732 +#: ../src/guestfs.pod:2731 msgid "" "The build infrastructure and PO files for translations of manpages and POD " "files. Eventually this will be combined with the C<po> directory, but that " @@ -5788,130 +5784,130 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2736 +#: ../src/guestfs.pod:2735 msgid "C<regressions>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2738 +#: ../src/guestfs.pod:2737 msgid "Regression tests." msgstr "" #. type: =item -#: ../src/guestfs.pod:2740 +#: ../src/guestfs.pod:2739 msgid "C<rescue>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2742 +#: ../src/guestfs.pod:2741 msgid "L<virt-rescue(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:2744 +#: ../src/guestfs.pod:2743 msgid "C<src>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2746 +#: ../src/guestfs.pod:2745 msgid "Source code to the C library." msgstr "" #. type: =item -#: ../src/guestfs.pod:2748 +#: ../src/guestfs.pod:2747 msgid "C<tools>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2750 +#: ../src/guestfs.pod:2749 msgid "Command line tools written in Perl (L<virt-resize(1)> and many others)." msgstr "" #. type: =item -#: ../src/guestfs.pod:2752 +#: ../src/guestfs.pod:2751 msgid "C<test-tool>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2754 +#: ../src/guestfs.pod:2753 msgid "" "Test tool for end users to test if their qemu/kernel combination will work " "with libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:2757 +#: ../src/guestfs.pod:2756 msgid "C<csharp>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2759 +#: ../src/guestfs.pod:2758 msgid "C<haskell>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2761 +#: ../src/guestfs.pod:2760 msgid "C<java>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2763 +#: ../src/guestfs.pod:2762 msgid "C<ocaml>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2765 +#: ../src/guestfs.pod:2764 msgid "C<php>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2767 +#: ../src/guestfs.pod:2766 msgid "C<perl>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2769 +#: ../src/guestfs.pod:2768 msgid "C<python>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2771 +#: ../src/guestfs.pod:2770 msgid "C<ruby>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2773 +#: ../src/guestfs.pod:2772 msgid "Language bindings." msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:2777 ../fish/guestfish.pod:1010 +#: ../src/guestfs.pod:2776 ../fish/guestfish.pod:1015 #: ../test-tool/libguestfs-test-tool.pod:82 ../tools/virt-edit.pl:476 msgid "ENVIRONMENT VARIABLES" msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:2781 ../fish/guestfish.pod:1036 +#: ../src/guestfs.pod:2780 ../fish/guestfish.pod:1041 msgid "LIBGUESTFS_APPEND" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2783 ../fish/guestfish.pod:1038 +#: ../src/guestfs.pod:2782 ../fish/guestfish.pod:1043 msgid "Pass additional options to the guest kernel." msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:2785 ../fish/guestfish.pod:1040 +#: ../src/guestfs.pod:2784 ../fish/guestfish.pod:1045 msgid "LIBGUESTFS_DEBUG" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2787 +#: ../src/guestfs.pod:2786 msgid "" "Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages. This has the same " "effect as calling C<guestfs_set_verbose (g, 1)>." @@ -5919,20 +5915,20 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:2790 ../fish/guestfish.pod:1045 +#: ../src/guestfs.pod:2789 ../fish/guestfish.pod:1050 msgid "LIBGUESTFS_MEMSIZE" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2792 ../fish/guestfish.pod:1047 +#: ../src/guestfs.pod:2791 ../fish/guestfish.pod:1052 msgid "" "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" # type: verbatim #. type: verbatim -#: ../src/guestfs.pod:2795 ../fish/guestfish.pod:1050 +#: ../src/guestfs.pod:2794 ../fish/guestfish.pod:1055 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -5941,12 +5937,12 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:2797 ../fish/guestfish.pod:1052 +#: ../src/guestfs.pod:2796 ../fish/guestfish.pod:1057 msgid "LIBGUESTFS_PATH" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2799 +#: ../src/guestfs.pod:2798 msgid "" "Set the path that libguestfs uses to search for a supermin appliance. See " "the discussion of paths in section L</PATH> above." @@ -5954,13 +5950,13 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:2802 ../fish/guestfish.pod:1057 +#: ../src/guestfs.pod:2801 ../fish/guestfish.pod:1062 msgid "LIBGUESTFS_QEMU" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2804 ../fish/guestfish.pod:1059 +#: ../src/guestfs.pod:2803 ../fish/guestfish.pod:1064 msgid "" "Set the default qemu binary that libguestfs uses. If not set, then the qemu " "which was found at compile time by the configure script is used." @@ -5968,19 +5964,19 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2808 +#: ../src/guestfs.pod:2807 msgid "See also L</QEMU WRAPPERS> above." msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:2810 ../fish/guestfish.pod:1063 +#: ../src/guestfs.pod:2809 ../fish/guestfish.pod:1068 msgid "LIBGUESTFS_TRACE" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2812 +#: ../src/guestfs.pod:2811 msgid "" "Set C<LIBGUESTFS_TRACE=1> to enable command traces. This has the same " "effect as calling C<guestfs_set_trace (g, 1)>." @@ -5988,19 +5984,19 @@ msgstr "" # type: =item #. type: =item -#: ../src/guestfs.pod:2815 ../fish/guestfish.pod:1072 +#: ../src/guestfs.pod:2814 ../fish/guestfish.pod:1077 msgid "TMPDIR" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2817 ../fish/guestfish.pod:1074 +#: ../src/guestfs.pod:2816 ../fish/guestfish.pod:1079 msgid "" "Location of temporary directory, defaults to C</tmp> except for the cached " "supermin appliance which defaults to C</var/tmp>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2820 ../fish/guestfish.pod:1077 +#: ../src/guestfs.pod:2819 ../fish/guestfish.pod:1082 msgid "" "If libguestfs was compiled to use the supermin appliance then the real " "appliance is cached in this directory, shared between all handles belonging " @@ -6010,7 +6006,7 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:2828 ../fish/guestfish.pod:1144 +#: ../src/guestfs.pod:2827 ../fish/guestfish.pod:1149 #: ../test-tool/libguestfs-test-tool.pod:87 ../fuse/guestmount.pod:267 #: ../tools/virt-edit.pl:496 ../tools/virt-win-reg.pl:572 #: ../tools/virt-list-filesystems.pl:189 ../tools/virt-tar.pl:286 @@ -6019,7 +6015,7 @@ msgid "SEE ALSO" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2830 +#: ../src/guestfs.pod:2829 msgid "" "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-copy-in" @@ -6032,7 +6028,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2857 +#: ../src/guestfs.pod:2856 msgid "" "Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, L<lvm" "(8)>, L<disktype(1)>." @@ -6040,20 +6036,20 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:2864 ../tools/virt-win-reg.pl:587 +#: ../src/guestfs.pod:2863 ../tools/virt-win-reg.pl:587 #: ../tools/virt-make-fs.pl:553 msgid "BUGS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2866 +#: ../src/guestfs.pod:2865 msgid "To get a list of bugs against libguestfs use this link:" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2868 +#: ../src/guestfs.pod:2867 msgid "" "L<https://bugzilla.redhat.com/buglist.cgi?" "component=libguestfs&product=Virtualization+Tools>" @@ -6061,13 +6057,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2870 +#: ../src/guestfs.pod:2869 msgid "To report a new bug against libguestfs use this link:" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2872 +#: ../src/guestfs.pod:2871 msgid "" "L<https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools>" @@ -6075,31 +6071,31 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2874 +#: ../src/guestfs.pod:2873 msgid "When reporting a bug, please check:" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2880 +#: ../src/guestfs.pod:2879 msgid "That the bug hasn't been reported already." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2884 +#: ../src/guestfs.pod:2883 msgid "That you are testing a recent version." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2888 +#: ../src/guestfs.pod:2887 msgid "Describe the bug accurately, and give a way to reproduce it." msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2892 +#: ../src/guestfs.pod:2891 msgid "" "Run libguestfs-test-tool and paste the B<complete, unedited> output into the " "bug report." @@ -6107,21 +6103,21 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:2897 ../fish/guestfish.pod:1167 +#: ../src/guestfs.pod:2896 ../fish/guestfish.pod:1172 #: ../test-tool/libguestfs-test-tool.pod:93 ../fuse/guestmount.pod:278 msgid "AUTHORS" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2899 ../fish/guestfish.pod:1169 +#: ../src/guestfs.pod:2898 ../fish/guestfish.pod:1174 #: ../test-tool/libguestfs-test-tool.pod:95 ../fuse/guestmount.pod:280 msgid "Richard W.M. Jones (C<rjones at redhat dot com>)" msgstr "" # type: =head1 #. type: =head1 -#: ../src/guestfs.pod:2901 ../fish/guestfish.pod:1171 +#: ../src/guestfs.pod:2900 ../fish/guestfish.pod:1176 #: ../test-tool/libguestfs-test-tool.pod:97 ../fuse/guestmount.pod:282 #: ../tools/virt-edit.pl:514 ../tools/virt-win-reg.pl:602 #: ../tools/virt-list-filesystems.pl:206 ../tools/virt-tar.pl:305 @@ -6130,14 +6126,14 @@ msgid "COPYRIGHT" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2903 ../fish/guestfish.pod:1173 +#: ../src/guestfs.pod:2902 ../fish/guestfish.pod:1178 #: ../test-tool/libguestfs-test-tool.pod:99 msgid "Copyright (C) 2009-2011 Red Hat Inc. L<http://libguestfs.org/>" msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2906 +#: ../src/guestfs.pod:2905 msgid "" "This library is free software; you can redistribute it and/or modify it " "under the terms of the GNU Lesser General Public License as published by the " @@ -6147,7 +6143,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2911 +#: ../src/guestfs.pod:2910 msgid "" "This library is distributed in the hope that it will be useful, but WITHOUT " "ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " @@ -6157,7 +6153,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../src/guestfs.pod:2916 +#: ../src/guestfs.pod:2915 msgid "" "You should have received a copy of the GNU Lesser General Public License " "along with this library; if not, write to the Free Software Foundation, " @@ -21372,7 +21368,7 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:942 +#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:947 #: ../fuse/guestmount.pod:39 ../tools/virt-edit.pl:63 ../tools/virt-tar.pl:50 msgid "EXAMPLES" msgstr "" @@ -21638,7 +21634,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:933 +#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:938 #, no-wrap msgid "" " guestfish -N help | less\n" @@ -23372,17 +23368,17 @@ msgstr "" msgid "WINDOWS PATHS" msgstr "" -# type: textblock #. type: textblock #: ../fish/guestfish.pod:800 msgid "" -"If a path is prefixed with C<win:> then you can use Windows-style paths " -"(with some limitations). The following commands are equivalent:" +"If a path is prefixed with C<win:> then you can use Windows-style drive " +"letters and paths (with some limitations). The following commands are " +"equivalent:" msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:803 +#: ../fish/guestfish.pod:804 #, no-wrap msgid "" " file /WINDOWS/system32/config/system.LOG\n" @@ -23391,49 +23387,53 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:805 +#: ../fish/guestfish.pod:806 #, no-wrap msgid "" -" file win:/windows/system32/config/system.log\n" +" file win:\\windows\\system32\\config\\system.log\n" "\n" msgstr "" -# type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:807 +#: ../fish/guestfish.pod:808 #, no-wrap msgid "" -" file win:\\windows\\system32\\config\\system.log\n" +" file WIN:C:\\Windows\\SYSTEM32\\CONFIG\\SYSTEM.LOG\n" "\n" msgstr "" -# type: verbatim +#. type: textblock +#: ../fish/guestfish.pod:810 +msgid "" +"The parameter is rewritten \"behind the scenes\" by looking up the position " +"where the drive is mounted, prepending that to the path, changing all " +"backslash characters to forward slash, then resolving the result using L</" +"case-sensitive-path>. For example if the E: drive was mounted on C</e> then " +"the parameter might be rewritten like this:" +msgstr "" + #. type: verbatim -#: ../fish/guestfish.pod:809 +#: ../fish/guestfish.pod:816 #, no-wrap msgid "" -" file WIN:C:\\Windows\\SYSTEM32\\conFIG\\SYSTEM.LOG\n" +" win:e:\\foo\\bar => /e/FOO/bar\n" "\n" msgstr "" -# type: textblock #. type: textblock -#: ../fish/guestfish.pod:811 -msgid "" -"This syntax implicitly calls C<case-sensitive-path> (q.v.) so it also " -"handles case insensitivity like Windows would. This only works in argument " -"positions that expect a path." +#: ../fish/guestfish.pod:818 +msgid "This only works in argument positions that expect a path." msgstr "" # type: =head1 #. type: =head1 -#: ../fish/guestfish.pod:815 +#: ../fish/guestfish.pod:820 msgid "UPLOADING AND DOWNLOADING FILES" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:817 +#: ../fish/guestfish.pod:822 msgid "" "For commands such as C<upload>, C<download>, C<tar-in>, C<tar-out> and " "others which upload from or download to a local file, you can use the " @@ -23442,7 +23442,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:821 +#: ../fish/guestfish.pod:826 #, no-wrap msgid "" " upload - /foo\n" @@ -23451,14 +23451,14 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:823 +#: ../fish/guestfish.pod:828 msgid "" "reads stdin and creates from that a file C</foo> in the disk image, and:" msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:826 +#: ../fish/guestfish.pod:831 #, no-wrap msgid "" " tar-out /etc - | tar tf -\n" @@ -23467,7 +23467,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:828 +#: ../fish/guestfish.pod:833 msgid "" "writes the tarball to stdout and then pipes that into the external \"tar\" " "command (see L</PIPES>)." @@ -23475,7 +23475,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:831 +#: ../fish/guestfish.pod:836 msgid "" "When using C<-> to read from stdin, the input is read up to the end of " "stdin. You can also use a special \"heredoc\"-like syntax to read up to " @@ -23484,7 +23484,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:835 +#: ../fish/guestfish.pod:840 #, no-wrap msgid "" " upload -<<END /foo\n" @@ -23497,7 +23497,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:841 +#: ../fish/guestfish.pod:846 msgid "" "Any string of characters can be used instead of C<END>. The end marker must " "appear on a line of its own, without any preceeding or following characters " @@ -23506,7 +23506,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:845 +#: ../fish/guestfish.pod:850 msgid "" "Note that the C<-E<lt>E<lt>> syntax only applies to parameters used to " "upload local files (so-called \"FileIn\" parameters in the generator)." @@ -23514,13 +23514,13 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../fish/guestfish.pod:848 +#: ../fish/guestfish.pod:853 msgid "EXIT ON ERROR BEHAVIOUR" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:850 +#: ../fish/guestfish.pod:855 msgid "" "By default, guestfish will ignore any errors when in interactive mode (ie. " "taking commands from a human over a tty), and will exit on the first error " @@ -23529,7 +23529,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:855 +#: ../fish/guestfish.pod:860 msgid "" "If you prefix a command with a I<-> character, then that command will not " "cause guestfish to exit, even if that (one) command returns an error." @@ -23537,13 +23537,13 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../fish/guestfish.pod:859 +#: ../fish/guestfish.pod:864 msgid "REMOTE CONTROL GUESTFISH OVER A SOCKET" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:861 +#: ../fish/guestfish.pod:866 msgid "" "Guestfish can be remote-controlled over a socket. This is useful " "particularly in shell scripts where you want to make several different " @@ -23553,13 +23553,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:866 +#: ../fish/guestfish.pod:871 msgid "Start a guestfish server process using:" msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:868 +#: ../fish/guestfish.pod:873 #, no-wrap msgid "" " eval \"`guestfish --listen`\"\n" @@ -23568,13 +23568,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:870 +#: ../fish/guestfish.pod:875 msgid "and then send it commands by doing:" msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:872 +#: ../fish/guestfish.pod:877 #, no-wrap msgid "" " guestfish --remote cmd [...]\n" @@ -23583,13 +23583,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:874 +#: ../fish/guestfish.pod:879 msgid "To cause the server to exit, send it the exit command:" msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:876 +#: ../fish/guestfish.pod:881 #, no-wrap msgid "" " guestfish --remote exit\n" @@ -23598,7 +23598,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:878 +#: ../fish/guestfish.pod:883 msgid "" "Note that the server will normally exit if there is an error in a command. " "You can change this in the usual way. See section L</EXIT ON ERROR " @@ -23607,13 +23607,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../fish/guestfish.pod:882 +#: ../fish/guestfish.pod:887 msgid "CONTROLLING MULTIPLE GUESTFISH PROCESSES" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:884 +#: ../fish/guestfish.pod:889 msgid "" "The C<eval> statement sets the environment variable C<$GUESTFISH_PID>, which " "is how the I<--remote> option knows where to send the commands. You can " @@ -23622,7 +23622,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:888 +#: ../fish/guestfish.pod:893 #, no-wrap msgid "" " eval \"`guestfish --listen`\"\n" @@ -23637,13 +23637,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../fish/guestfish.pod:896 +#: ../fish/guestfish.pod:901 msgid "REMOTE CONTROL AND CSH" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:898 +#: ../fish/guestfish.pod:903 msgid "" "When using csh-like shells (csh, tcsh etc) you have to add the I<--csh> " "option:" @@ -23651,7 +23651,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:901 +#: ../fish/guestfish.pod:906 #, no-wrap msgid "" " eval \"`guestfish --listen --csh`\"\n" @@ -23660,13 +23660,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../fish/guestfish.pod:903 +#: ../fish/guestfish.pod:908 msgid "REMOTE CONTROL DETAILS" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:905 +#: ../fish/guestfish.pod:910 msgid "" "Remote control happens over a Unix domain socket called C</tmp/.guestfish-" "$UID/socket-$PID>, where C<$UID> is the effective user ID of the process, " @@ -23675,19 +23675,19 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:909 +#: ../fish/guestfish.pod:914 msgid "Guestfish client and server versions must match exactly." msgstr "" # type: =head1 #. type: =head1 -#: ../fish/guestfish.pod:911 +#: ../fish/guestfish.pod:916 msgid "PREPARED DISK IMAGES" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:913 +#: ../fish/guestfish.pod:918 msgid "" "Use the I<-N type> or I<--new type> parameter to select one of a set of " "preformatted disk images that guestfish can make for you to save typing. " @@ -23698,7 +23698,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:919 +#: ../fish/guestfish.pod:924 msgid "" "The new disk is called C<test1.img> for the first I<-N>, C<test2.img> for " "the second and so on. Existing files in the current directory are " @@ -23707,7 +23707,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:923 +#: ../fish/guestfish.pod:928 msgid "" "The type briefly describes how the disk should be sized, partitioned, how " "filesystem(s) should be created, and how content should be added. " @@ -23720,13 +23720,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:931 +#: ../fish/guestfish.pod:936 msgid "To list the available types and any extra parameters they take, run:" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:935 +#: ../fish/guestfish.pod:940 msgid "" "Note that the prepared filesystem is not mounted. You would usually have to " "use the C<mount /dev/sda1 /> command or add the I<-m /dev/sda1> option." @@ -23734,7 +23734,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:939 +#: ../fish/guestfish.pod:944 msgid "" "If any I<-N> or I<--new> options are given, the guest is automatically " "launched." @@ -23742,13 +23742,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:944 +#: ../fish/guestfish.pod:949 msgid "Create a 100MB disk with an ext4-formatted partition:" msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:946 +#: ../fish/guestfish.pod:951 #, no-wrap msgid "" " guestfish -N fs:ext4\n" @@ -23757,13 +23757,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:948 +#: ../fish/guestfish.pod:953 msgid "Create a 32MB disk with a VFAT-formatted partition, and mount it:" msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:950 +#: ../fish/guestfish.pod:955 #, no-wrap msgid "" " guestfish -N fs:vfat:32M -m /dev/sda1\n" @@ -23772,13 +23772,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:952 +#: ../fish/guestfish.pod:957 msgid "Create a blank 200MB disk:" msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:954 +#: ../fish/guestfish.pod:959 #, no-wrap msgid "" " guestfish -N disk:200M\n" @@ -23787,13 +23787,13 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../fish/guestfish.pod:956 +#: ../fish/guestfish.pod:961 msgid "PROGRESS BARS" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:958 +#: ../fish/guestfish.pod:963 msgid "" "Some (not all) long-running commands send progress notification messages as " "they are running. Guestfish turns these messages into progress bars." @@ -23801,7 +23801,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:962 +#: ../fish/guestfish.pod:967 msgid "" "When a command that supports progress bars takes longer than two seconds to " "run, and if progress bars are enabled, then you will see one appearing below " @@ -23810,7 +23810,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:966 +#: ../fish/guestfish.pod:971 #, no-wrap msgid "" " ><fs> copy-size /large-file /another-file 2048M\n" @@ -23820,7 +23820,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:969 +#: ../fish/guestfish.pod:974 msgid "" "The spinner on the left hand side moves round once for every progress " "notification received from the backend. This is a (reasonably) golden " @@ -23832,7 +23832,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:976 +#: ../fish/guestfish.pod:981 msgid "" "Progress bars are enabled by default when guestfish is used interactively. " "You can enable them even for non-interactive modes using I<--progress-bars>, " @@ -23841,13 +23841,13 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../fish/guestfish.pod:981 +#: ../fish/guestfish.pod:986 msgid "GUESTFISH COMMANDS" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:983 +#: ../fish/guestfish.pod:988 msgid "" "The commands in this section are guestfish convenience commands, in other " "words, they are not part of the L<guestfs(3)> API." @@ -23855,13 +23855,13 @@ msgstr "" # type: =head2 #. type: =head2 -#: ../fish/guestfish.pod:986 +#: ../fish/guestfish.pod:991 msgid "help" msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:988 +#: ../fish/guestfish.pod:993 #, no-wrap msgid "" " help\n" @@ -23871,49 +23871,49 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:991 +#: ../fish/guestfish.pod:996 msgid "Without any parameter, this provides general help." msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:993 +#: ../fish/guestfish.pod:998 msgid "With a C<cmd> parameter, this displays detailed help for that command." msgstr "" # type: =head2 #. type: =head2 -#: ../fish/guestfish.pod:995 +#: ../fish/guestfish.pod:1000 msgid "quit | exit" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:997 +#: ../fish/guestfish.pod:1002 msgid "This exits guestfish. You can also use C<^D> key." msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:999 +#: ../fish/guestfish.pod:1004 msgid "@FISH_COMMANDS@" msgstr "" # type: =head1 #. type: =head1 -#: ../fish/guestfish.pod:1001 +#: ../fish/guestfish.pod:1006 msgid "COMMANDS" msgstr "" # type: =head1 #. type: =head1 -#: ../fish/guestfish.pod:1005 ../test-tool/libguestfs-test-tool.pod:77 +#: ../fish/guestfish.pod:1010 ../test-tool/libguestfs-test-tool.pod:77 msgid "EXIT CODE" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1007 +#: ../fish/guestfish.pod:1012 msgid "" "guestfish returns 0 if the commands completed without error, or 1 if there " "was an error." @@ -23921,13 +23921,13 @@ msgstr "" # type: =item #. type: =item -#: ../fish/guestfish.pod:1014 +#: ../fish/guestfish.pod:1019 msgid "EDITOR" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1016 +#: ../fish/guestfish.pod:1021 msgid "" "The C<edit> command uses C<$EDITOR> as the editor. If not set, it uses " "C<vi>." @@ -23935,13 +23935,13 @@ msgstr "" # type: =item #. type: =item -#: ../fish/guestfish.pod:1019 +#: ../fish/guestfish.pod:1024 msgid "GUESTFISH_PID" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1021 +#: ../fish/guestfish.pod:1026 msgid "" "Used with the I<--remote> option to specify the remote guestfish process to " "control. See section L</REMOTE CONTROL GUESTFISH OVER A SOCKET>." @@ -23949,13 +23949,13 @@ msgstr "" # type: =item #. type: =item -#: ../fish/guestfish.pod:1025 +#: ../fish/guestfish.pod:1030 msgid "HEXEDITOR" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1027 +#: ../fish/guestfish.pod:1032 msgid "" "The L</hexedit> command uses C<$HEXEDITOR> as the external hex editor. If " "not specified, the external L<hexedit(1)> program is used." @@ -23963,13 +23963,13 @@ msgstr "" # type: =item #. type: =item -#: ../fish/guestfish.pod:1031 +#: ../fish/guestfish.pod:1036 msgid "HOME" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1033 +#: ../fish/guestfish.pod:1038 msgid "" "If compiled with GNU readline support, various files in the home directory " "can be used. See L</FILES>." @@ -23977,7 +23977,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1042 +#: ../fish/guestfish.pod:1047 msgid "" "Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages. This has the same " "effect as using the B<-v> option." @@ -23985,7 +23985,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1054 +#: ../fish/guestfish.pod:1059 msgid "" "Set the path that guestfish uses to search for kernel and initrd.img. See " "the discussion of paths in L<guestfs(3)>." @@ -23993,19 +23993,19 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1065 +#: ../fish/guestfish.pod:1070 msgid "Set C<LIBGUESTFS_TRACE=1> to enable command traces." msgstr "" # type: =item #. type: =item -#: ../fish/guestfish.pod:1067 +#: ../fish/guestfish.pod:1072 msgid "PAGER" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1069 +#: ../fish/guestfish.pod:1074 msgid "" "The C<more> command uses C<$PAGER> as the pager. If not set, it uses " "C<more>." @@ -24013,41 +24013,41 @@ msgstr "" # type: =head1 #. type: =head1 -#: ../fish/guestfish.pod:1085 ../fuse/guestmount.pod:252 +#: ../fish/guestfish.pod:1090 ../fuse/guestmount.pod:252 msgid "FILES" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1089 ../fuse/guestmount.pod:256 +#: ../fish/guestfish.pod:1094 ../fuse/guestmount.pod:256 msgid "$HOME/.libguestfs-tools.rc" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1091 ../fuse/guestmount.pod:258 +#: ../fish/guestfish.pod:1096 ../fuse/guestmount.pod:258 msgid "/etc/libguestfs-tools.conf" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1093 ../fuse/guestmount.pod:260 +#: ../fish/guestfish.pod:1098 ../fuse/guestmount.pod:260 msgid "" "This configuration file controls the default read-only or read-write mode " "(I<--ro> or I<--rw>)." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1096 +#: ../fish/guestfish.pod:1101 msgid "See L</OPENING DISKS FOR READ AND WRITE>." msgstr "" # type: =item #. type: =item -#: ../fish/guestfish.pod:1098 +#: ../fish/guestfish.pod:1103 msgid "$HOME/.guestfish" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1100 +#: ../fish/guestfish.pod:1105 msgid "" "If compiled with GNU readline support, then the command history is saved in " "this file." @@ -24055,19 +24055,19 @@ msgstr "" # type: =item #. type: =item -#: ../fish/guestfish.pod:1103 +#: ../fish/guestfish.pod:1108 msgid "$HOME/.inputrc" msgstr "" # type: =item #. type: =item -#: ../fish/guestfish.pod:1105 +#: ../fish/guestfish.pod:1110 msgid "/etc/inputrc" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1107 +#: ../fish/guestfish.pod:1112 msgid "" "If compiled with GNU readline support, then these files can be used to " "configure readline. For further information, please see L<readline(3)/" @@ -24076,13 +24076,13 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1111 +#: ../fish/guestfish.pod:1116 msgid "To write rules which only apply to guestfish, use:" msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:1113 +#: ../fish/guestfish.pod:1118 #, no-wrap msgid "" " $if guestfish\n" @@ -24093,7 +24093,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1117 +#: ../fish/guestfish.pod:1122 msgid "" "Variables that you can set in inputrc that change the behaviour of guestfish " "in useful ways include:" @@ -24101,13 +24101,13 @@ msgstr "" # type: =item #. type: =item -#: ../fish/guestfish.pod:1122 +#: ../fish/guestfish.pod:1127 msgid "completion-ignore-case (default: on)" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1124 +#: ../fish/guestfish.pod:1129 msgid "" "By default, guestfish will ignore case when tab-completing paths on the " "disk. Use:" @@ -24115,7 +24115,7 @@ msgstr "" # type: verbatim #. type: verbatim -#: ../fish/guestfish.pod:1127 +#: ../fish/guestfish.pod:1132 #, no-wrap msgid "" " set completion-ignore-case off\n" @@ -24124,25 +24124,25 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1129 +#: ../fish/guestfish.pod:1134 msgid "to make guestfish case sensitive." msgstr "" # type: =item #. type: =item -#: ../fish/guestfish.pod:1133 +#: ../fish/guestfish.pod:1138 msgid "test1.img" msgstr "" # type: =item #. type: =item -#: ../fish/guestfish.pod:1135 +#: ../fish/guestfish.pod:1140 msgid "test2.img (etc)" msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1137 +#: ../fish/guestfish.pod:1142 msgid "" "When using the C<-N> or C<--new> option, the prepared disk or filesystem " "will be created in the file C<test1.img> in the current directory. The " @@ -24151,7 +24151,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1146 +#: ../fish/guestfish.pod:1151 msgid "" "L<guestfs(3)>, L<http://libguestfs.org/>, L<virt-cat(1)>, L<virt-copy-in(1)" ">, L<virt-copy-out(1)>, L<virt-df(1)>, L<virt-edit(1)>, L<virt-filesystems(1)" @@ -24163,7 +24163,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1176 ../test-tool/libguestfs-test-tool.pod:102 +#: ../fish/guestfish.pod:1181 ../test-tool/libguestfs-test-tool.pod:102 #: ../fuse/guestmount.pod:287 ../tools/virt-edit.pl:518 #: ../tools/virt-win-reg.pl:606 ../tools/virt-list-filesystems.pl:210 #: ../tools/virt-tar.pl:309 ../tools/virt-make-fs.pl:572 @@ -24177,7 +24177,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1181 ../test-tool/libguestfs-test-tool.pod:107 +#: ../fish/guestfish.pod:1186 ../test-tool/libguestfs-test-tool.pod:107 #: ../fuse/guestmount.pod:292 ../tools/virt-edit.pl:523 #: ../tools/virt-win-reg.pl:611 ../tools/virt-list-filesystems.pl:215 #: ../tools/virt-tar.pl:314 ../tools/virt-make-fs.pl:577 @@ -24191,7 +24191,7 @@ msgstr "" # type: textblock #. type: textblock -#: ../fish/guestfish.pod:1186 ../test-tool/libguestfs-test-tool.pod:112 +#: ../fish/guestfish.pod:1191 ../test-tool/libguestfs-test-tool.pod:112 #: ../fuse/guestmount.pod:297 ../tools/virt-edit.pl:528 #: ../tools/virt-win-reg.pl:616 ../tools/virt-list-filesystems.pl:220 #: ../tools/virt-tar.pl:319 ../tools/virt-make-fs.pl:582 diff --git a/po-docs/libguestfs-docs.pot b/po-docs/libguestfs-docs.pot index 91a4dc8f..9fcdc655 100644 --- a/po-docs/libguestfs-docs.pot +++ b/po-docs/libguestfs-docs.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: libguestfs 1.9.18\n" +"Project-Id-Version: libguestfs 1.11.0\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2011-04-09 18:35+0200\n" +"POT-Creation-Date: 2011-04-12 20:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -807,7 +807,7 @@ msgid "There are many limitations to this:" msgstr "" #. type: =item -#: ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:398 ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411 ../src/guestfs.pod:416 ../src/guestfs.pod:421 ../src/guestfs.pod:1088 ../src/guestfs.pod:1092 ../src/guestfs.pod:1096 ../src/guestfs.pod:1101 ../src/guestfs.pod:1109 ../src/guestfs.pod:1128 ../src/guestfs.pod:1136 ../src/guestfs.pod:1158 ../src/guestfs.pod:1162 ../src/guestfs.pod:1166 ../src/guestfs.pod:1170 ../src/guestfs.pod:1174 ../src/guestfs.pod:1178 ../src/guestfs.pod:1660 ../src/guestfs.pod:1665 ../src/guestfs.pod:1669 ../src/guestfs.pod:1770 ../src/guestfs.pod:1775 ../src/guestfs.pod:1779 ../src/guestfs.pod:1789 ../src/guestfs.pod:2023 ../src/guestfs.pod:2028 ../src/guestfs.pod:2034 ../src/guestfs.pod:2042 ../src/guestfs.pod:2396 ../src/guestfs.pod:2402 ../src/guestfs.pod:2407 ../src/guestfs.pod:2413 ../src/guestfs.pod:2878 ../src/guestfs.pod:2882 ../src/guestfs.pod:2886 ../src/guestfs.pod:2890 ../src/guestfs-actions.pod:15 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:577 ../src/guestfs-actions.pod:585 ../src/guestfs-actions.pod:592 ../src/guestfs-actions.pod:599 ../src/guestfs-actions.pod:1600 ../src/guestfs-actions.pod:1604 ../src/guestfs-actions.pod:1608 ../src/guestfs-actions.pod:1612 ../src/guestfs-actions.pod:1620 ../src/guestfs-actions.pod:1624 ../src/guestfs-actions.pod:1628 ../src/guestfs-actions.pod:1638 ../src/guestfs-actions.pod:1642 ../src/guestfs-actions.pod:1646 ../src/guestfs-actions.pod:1784 ../src/guestfs-actions.pod:1788 ../src/guestfs-actions.pod:1793 ../src/guestfs-actions.pod:1798 ../src/guestfs-actions.pod:1859 ../src/guestfs-actions.pod:1863 ../src/guestfs-actions.pod:1868 ../fish/guestfish.pod:443 ../fish/guestfish.pod:447 ../fish/guestfish.pod:451 ../fish/guestfish.pod:455 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:380 ../fish/guestfish-actions.pod:388 ../fish/guestfish-actions.pod:395 ../fish/guestfish-actions.pod:402 ../fish/guestfish-actions.pod:1072 ../fish/guestfish-actions.pod:1076 ../fish/guestfish-actions.pod:1080 ../fish/guestfish-actions.pod:1084 ../fish/guestfish-actions.pod:1092 ../fish/guestfish-actions.pod:1096 ../fish/guestfish-actions.pod:1100 ../fish/guestfish-actions.pod:1110 ../fish/guestfish-actions.pod:1114 ../fish/guestfish-actions.pod:1118 ../fish/guestfish-actions.pod:1208 ../fish/guestfish-actions.pod:1212 ../fish/guestfish-actions.pod:1217 ../fish/guestfish-actions.pod:1222 ../fish/guestfish-actions.pod:1264 ../fish/guestfish-actions.pod:1268 ../fish/guestfish-actions.pod:1273 ../tools/virt-edit.pl:351 ../tools/virt-edit.pl:356 ../tools/virt-edit.pl:361 ../tools/virt-edit.pl:372 ../tools/virt-edit.pl:376 ../tools/virt-win-reg.pl:536 ../tools/virt-win-reg.pl:542 ../tools/virt-win-reg.pl:548 +#: ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:398 ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411 ../src/guestfs.pod:416 ../src/guestfs.pod:421 ../src/guestfs.pod:1087 ../src/guestfs.pod:1091 ../src/guestfs.pod:1095 ../src/guestfs.pod:1100 ../src/guestfs.pod:1108 ../src/guestfs.pod:1127 ../src/guestfs.pod:1135 ../src/guestfs.pod:1157 ../src/guestfs.pod:1161 ../src/guestfs.pod:1165 ../src/guestfs.pod:1169 ../src/guestfs.pod:1173 ../src/guestfs.pod:1177 ../src/guestfs.pod:1659 ../src/guestfs.pod:1664 ../src/guestfs.pod:1668 ../src/guestfs.pod:1769 ../src/guestfs.pod:1774 ../src/guestfs.pod:1778 ../src/guestfs.pod:1788 ../src/guestfs.pod:2022 ../src/guestfs.pod:2027 ../src/guestfs.pod:2033 ../src/guestfs.pod:2041 ../src/guestfs.pod:2395 ../src/guestfs.pod:2401 ../src/guestfs.pod:2406 ../src/guestfs.pod:2412 ../src/guestfs.pod:2877 ../src/guestfs.pod:2881 ../src/guestfs.pod:2885 ../src/guestfs.pod:2889 ../src/guestfs-actions.pod:15 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:577 ../src/guestfs-actions.pod:585 ../src/guestfs-actions.pod:592 ../src/guestfs-actions.pod:599 ../src/guestfs-actions.pod:1600 ../src/guestfs-actions.pod:1604 ../src/guestfs-actions.pod:1608 ../src/guestfs-actions.pod:1612 ../src/guestfs-actions.pod:1620 ../src/guestfs-actions.pod:1624 ../src/guestfs-actions.pod:1628 ../src/guestfs-actions.pod:1638 ../src/guestfs-actions.pod:1642 ../src/guestfs-actions.pod:1646 ../src/guestfs-actions.pod:1784 ../src/guestfs-actions.pod:1788 ../src/guestfs-actions.pod:1793 ../src/guestfs-actions.pod:1798 ../src/guestfs-actions.pod:1859 ../src/guestfs-actions.pod:1863 ../src/guestfs-actions.pod:1868 ../fish/guestfish.pod:443 ../fish/guestfish.pod:447 ../fish/guestfish.pod:451 ../fish/guestfish.pod:455 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:380 ../fish/guestfish-actions.pod:388 ../fish/guestfish-actions.pod:395 ../fish/guestfish-actions.pod:402 ../fish/guestfish-actions.pod:1072 ../fish/guestfish-actions.pod:1076 ../fish/guestfish-actions.pod:1080 ../fish/guestfish-actions.pod:1084 ../fish/guestfish-actions.pod:1092 ../fish/guestfish-actions.pod:1096 ../fish/guestfish-actions.pod:1100 ../fish/guestfish-actions.pod:1110 ../fish/guestfish-actions.pod:1114 ../fish/guestfish-actions.pod:1118 ../fish/guestfish-actions.pod:1208 ../fish/guestfish-actions.pod:1212 ../fish/guestfish-actions.pod:1217 ../fish/guestfish-actions.pod:1222 ../fish/guestfish-actions.pod:1264 ../fish/guestfish-actions.pod:1268 ../fish/guestfish-actions.pod:1273 ../tools/virt-edit.pl:351 ../tools/virt-edit.pl:356 ../tools/virt-edit.pl:361 ../tools/virt-edit.pl:372 ../tools/virt-edit.pl:376 ../tools/virt-win-reg.pl:536 ../tools/virt-win-reg.pl:542 ../tools/virt-win-reg.pl:548 msgid "*" msgstr "" @@ -933,7 +933,7 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:469 ../src/guestfs.pod:1281 ../src/guestfs.pod:1412 ../src/guestfs.pod:2441 +#: ../src/guestfs.pod:469 ../src/guestfs.pod:1280 ../src/guestfs.pod:1411 ../src/guestfs.pod:2440 msgid "1." msgstr "" @@ -951,7 +951,7 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:475 ../src/guestfs.pod:1285 ../src/guestfs.pod:1416 ../src/guestfs.pod:2466 +#: ../src/guestfs.pod:475 ../src/guestfs.pod:1284 ../src/guestfs.pod:1415 ../src/guestfs.pod:2465 msgid "2." msgstr "" @@ -978,7 +978,7 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:486 ../src/guestfs.pod:1422 +#: ../src/guestfs.pod:486 ../src/guestfs.pod:1421 msgid "3." msgstr "" @@ -1275,33 +1275,32 @@ msgstr "" #. type: textblock #: ../src/guestfs.pod:644 msgid "" -"Drive letter mappings are outside the scope of libguestfs. You have to use " -"libguestfs to read the appropriate Windows Registry and configuration files, " -"to determine yourself how drives are mapped (see also L<hivex(3)> and " -"L<virt-inspector(1)>)." +"Drive letter mappings can be found using inspection (see L</INSPECTION> and " +"L</guestfs_inspect_get_drive_mappings>)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:649 +#: ../src/guestfs.pod:647 msgid "" -"Replacing backslash characters with forward slash characters is also outside " -"the scope of libguestfs, but something that you can easily do." +"Dealing with separator characters (backslash vs forward slash) is outside " +"the scope of libguestfs, but usually a simple character replacement will " +"work." msgstr "" #. type: textblock -#: ../src/guestfs.pod:652 +#: ../src/guestfs.pod:651 msgid "" -"Where we can help is in resolving the case insensitivity of paths. For " -"this, call L</guestfs_case_sensitive_path>." +"To resolve the case insensitivity of paths, call " +"L</guestfs_case_sensitive_path>." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:655 +#: ../src/guestfs.pod:654 msgid "ACCESSING THE WINDOWS REGISTRY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:657 +#: ../src/guestfs.pod:656 msgid "" "Libguestfs also provides some help for decoding Windows Registry \"hive\" " "files, through the library C<hivex> which is part of the libguestfs project " @@ -1312,12 +1311,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:665 +#: ../src/guestfs.pod:664 msgid "SYMLINKS ON NTFS-3G FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:667 +#: ../src/guestfs.pod:666 msgid "" "Ntfs-3g tries to rewrite \"Junction Points\" and NTFS \"symbolic links\" to " "provide something which looks like a Linux symlink. The way it tries to do " @@ -1325,12 +1324,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:671 +#: ../src/guestfs.pod:670 msgid "L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-symbolic-links/>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:673 +#: ../src/guestfs.pod:672 msgid "" "The essential problem is that ntfs-3g simply does not have enough " "information to do a correct job. NTFS links can contain drive letters and " @@ -1340,7 +1339,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:680 +#: ../src/guestfs.pod:679 msgid "" "Instead if you encounter a symbolic link on an ntfs-3g filesystem, use " "L</guestfs_lgetxattr> to read the C<system.ntfs_reparse_data> extended " @@ -1349,36 +1348,36 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:685 +#: ../src/guestfs.pod:684 msgid "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:687 +#: ../src/guestfs.pod:686 msgid "" "There are other useful extended attributes that can be read from ntfs-3g " "filesystems (using L</guestfs_getxattr>). See:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:690 +#: ../src/guestfs.pod:689 msgid "L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:692 +#: ../src/guestfs.pod:691 msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:694 +#: ../src/guestfs.pod:693 msgid "" "Although we don't want to discourage you from using the C API, we will " "mention here that the same API is also available in other languages." msgstr "" #. type: textblock -#: ../src/guestfs.pod:697 +#: ../src/guestfs.pod:696 msgid "" "The API is broadly identical in all supported languages. This means that " "the C call C<guestfs_add_drive_ro(g,file)> is C<$g-E<gt>add_drive_ro($file)> " @@ -1388,14 +1387,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:703 +#: ../src/guestfs.pod:702 msgid "" "Error messages are automatically transformed into exceptions if the language " "supports it." msgstr "" #. type: textblock -#: ../src/guestfs.pod:706 +#: ../src/guestfs.pod:705 msgid "" "We don't try to \"object orientify\" parts of the API in OO languages, " "although contributors are welcome to write higher level APIs above what we " @@ -1403,36 +1402,36 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:712 +#: ../src/guestfs.pod:711 msgid "B<C++>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:714 +#: ../src/guestfs.pod:713 msgid "" "You can use the I<guestfs.h> header file from C++ programs. The C++ API is " "identical to the C API. C++ classes and exceptions are not used." msgstr "" #. type: =item -#: ../src/guestfs.pod:718 +#: ../src/guestfs.pod:717 msgid "B<C#>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:720 +#: ../src/guestfs.pod:719 msgid "" "The C# bindings are highly experimental. Please read the warnings at the " "top of C<csharp/Libguestfs.cs>." msgstr "" #. type: =item -#: ../src/guestfs.pod:723 +#: ../src/guestfs.pod:722 msgid "B<Haskell>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:725 +#: ../src/guestfs.pod:724 msgid "" "This is the only language binding that is working but incomplete. Only " "calls which return simple integers have been bound in Haskell, and we are " @@ -1440,91 +1439,91 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:729 +#: ../src/guestfs.pod:728 msgid "B<Java>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:731 +#: ../src/guestfs.pod:730 msgid "" "Full documentation is contained in the Javadoc which is distributed with " "libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:734 +#: ../src/guestfs.pod:733 msgid "B<OCaml>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:736 +#: ../src/guestfs.pod:735 msgid "See L<guestfs-ocaml(3)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:738 +#: ../src/guestfs.pod:737 msgid "B<Perl>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:740 +#: ../src/guestfs.pod:739 msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:742 +#: ../src/guestfs.pod:741 msgid "B<PHP>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:744 +#: ../src/guestfs.pod:743 msgid "" "For documentation see C<README-PHP> supplied with libguestfs sources or in " "the php-libguestfs package for your distribution." msgstr "" #. type: textblock -#: ../src/guestfs.pod:747 +#: ../src/guestfs.pod:746 msgid "The PHP binding only works correctly on 64 bit machines." msgstr "" #. type: =item -#: ../src/guestfs.pod:749 +#: ../src/guestfs.pod:748 msgid "B<Python>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:751 +#: ../src/guestfs.pod:750 msgid "See L<guestfs-python(3)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:753 +#: ../src/guestfs.pod:752 msgid "B<Ruby>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:755 +#: ../src/guestfs.pod:754 msgid "See L<guestfs-ruby(3)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:757 +#: ../src/guestfs.pod:756 msgid "B<shell scripts>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:759 +#: ../src/guestfs.pod:758 msgid "See L<guestfish(1)>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:763 +#: ../src/guestfs.pod:762 msgid "LIBGUESTFS GOTCHAS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:765 +#: ../src/guestfs.pod:764 msgid "" "L<http://en.wikipedia.org/wiki/Gotcha_(programming)>: \"A feature of a " "system [...] that works in the way it is documented but is counterintuitive " @@ -1532,7 +1531,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:769 +#: ../src/guestfs.pod:768 msgid "" "Since we developed libguestfs and the associated tools, there are several " "things we would have designed differently, but are now stuck with for " @@ -1541,12 +1540,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:777 +#: ../src/guestfs.pod:776 msgid "Autosync / forgetting to sync." msgstr "" #. type: textblock -#: ../src/guestfs.pod:779 +#: ../src/guestfs.pod:778 msgid "" "When modifying a filesystem from C or another language, you B<must> unmount " "all filesystems and call L</guestfs_sync> explicitly before you close the " @@ -1554,7 +1553,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:783 +#: ../src/guestfs.pod:782 #, no-wrap msgid "" " guestfs_set_autosync (g, 1);\n" @@ -1562,7 +1561,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:785 +#: ../src/guestfs.pod:784 msgid "" "to have the unmount/sync done automatically for you when the handle 'g' is " "closed. (This feature is called \"autosync\", L</guestfs_set_autosync> " @@ -1570,7 +1569,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:789 +#: ../src/guestfs.pod:788 msgid "" "If you forget to do this, then it is entirely possible that your changes " "won't be written out, or will be partially written, or (very rarely) that " @@ -1578,7 +1577,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:793 +#: ../src/guestfs.pod:792 msgid "" "Note that in L<guestfish(3)> autosync is the default. So quick and dirty " "guestfish scripts that forget to sync will work just fine, which can make " @@ -1586,19 +1585,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:797 +#: ../src/guestfs.pod:796 msgid "" "Update: Autosync is enabled by default for all API users starting from " "libguestfs 1.5.24." msgstr "" #. type: =item -#: ../src/guestfs.pod:800 +#: ../src/guestfs.pod:799 msgid "Mount option C<-o sync> should not be the default." msgstr "" #. type: textblock -#: ../src/guestfs.pod:802 +#: ../src/guestfs.pod:801 msgid "" "If you use L</guestfs_mount>, then C<-o sync,noatime> are added implicitly. " "However C<-o sync> does not add any reliability benefit, but does have a " @@ -1606,31 +1605,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:806 +#: ../src/guestfs.pod:805 msgid "" "The work around is to use L</guestfs_mount_options> and set the mount " "options that you actually want to use." msgstr "" #. type: =item -#: ../src/guestfs.pod:809 +#: ../src/guestfs.pod:808 msgid "Read-only should be the default." msgstr "" #. type: textblock -#: ../src/guestfs.pod:811 +#: ../src/guestfs.pod:810 msgid "" "In L<guestfish(3)>, I<--ro> should be the default, and you should have to " "specify I<--rw> if you want to make changes to the image." msgstr "" #. type: textblock -#: ../src/guestfs.pod:814 +#: ../src/guestfs.pod:813 msgid "This would reduce the potential to corrupt live VM images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:816 +#: ../src/guestfs.pod:815 msgid "" "Note that many filesystems change the disk when you just mount and unmount, " "even if you didn't perform any writes. You need to use " @@ -1638,12 +1637,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:820 +#: ../src/guestfs.pod:819 msgid "guestfish command line is hard to use." msgstr "" #. type: textblock -#: ../src/guestfs.pod:822 +#: ../src/guestfs.pod:821 msgid "" "C<guestfish disk.img> doesn't do what people expect (open C<disk.img> for " "examination). It tries to run a guestfish command C<disk.img> which doesn't " @@ -1653,12 +1652,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:829 +#: ../src/guestfs.pod:828 msgid "guestfish megabyte modifiers don't work right on all commands" msgstr "" #. type: textblock -#: ../src/guestfs.pod:831 +#: ../src/guestfs.pod:830 msgid "" "In recent guestfish you can use C<1M> to mean 1 megabyte (and similarly for " "other modifiers). What guestfish actually does is to multiply the number " @@ -1668,12 +1667,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:838 +#: ../src/guestfs.pod:837 msgid "The most common is L</guestfs_lvcreate>. The guestfish command:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:840 +#: ../src/guestfs.pod:839 #, no-wrap msgid "" " lvcreate LV VG 100M\n" @@ -1681,7 +1680,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:842 +#: ../src/guestfs.pod:841 msgid "" "does not do what you might expect. Instead because L</guestfs_lvcreate> is " "already expecting megabytes, this tries to create a 100 I<terabyte> (100 " @@ -1690,19 +1689,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:847 +#: ../src/guestfs.pod:846 msgid "" "This could be fixed in the generator by specially marking parameters and " "return values which take bytes or other units." msgstr "" #. type: =item -#: ../src/guestfs.pod:850 +#: ../src/guestfs.pod:849 msgid "Ambiguity between devices and paths" msgstr "" #. type: textblock -#: ../src/guestfs.pod:852 +#: ../src/guestfs.pod:851 msgid "" "There is a subtle ambiguity in the API between a device name " "(eg. C</dev/sdb2>) and a similar pathname. A file might just happen to be " @@ -1710,7 +1709,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:857 +#: ../src/guestfs.pod:856 msgid "" "In the current API we usually resolve this ambiguity by having two separate " "calls, for example L</guestfs_checksum> and L</guestfs_checksum_device>. " @@ -1719,7 +1718,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:863 +#: ../src/guestfs.pod:862 msgid "" "To avoid both the ambiguity and the need to duplicate some calls, we could " "make paths/devices into structured names. One way to do this would be to " @@ -1729,7 +1728,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:869 +#: ../src/guestfs.pod:868 #, no-wrap msgid "" " type path = Path of string | Device of int | Partition of int * int\n" @@ -1737,12 +1736,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:871 +#: ../src/guestfs.pod:870 msgid "which would allow you to pass arguments like:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:873 +#: ../src/guestfs.pod:872 #, no-wrap msgid "" " Path \"/foo/bar\"\n" @@ -1753,19 +1752,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:878 +#: ../src/guestfs.pod:877 msgid "" "As you can see there are still problems to resolve even with this " "representation. Also consider how it might work in guestfish." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:883 +#: ../src/guestfs.pod:882 msgid "PROTOCOL LIMITS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:885 +#: ../src/guestfs.pod:884 msgid "" "Internally libguestfs uses a message-based protocol to pass API calls and " "their responses to and from a small \"appliance\" (see L</INTERNALS> for " @@ -1776,7 +1775,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:893 +#: ../src/guestfs.pod:892 msgid "" "A simple call such as L</guestfs_cat> returns its result (the file data) in " "a simple string. Because this string is at some point internally encoded as " @@ -1785,7 +1784,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:899 +#: ../src/guestfs.pod:898 msgid "" "In order to transfer large files into and out of the guest filesystem, you " "need to use particular calls that support this. The sections L</UPLOADING> " @@ -1793,26 +1792,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:903 +#: ../src/guestfs.pod:902 msgid "" "You might also consider mounting the disk image using our FUSE filesystem " "support (L<guestmount(1)>)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:906 +#: ../src/guestfs.pod:905 msgid "KEYS AND PASSPHRASES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:908 +#: ../src/guestfs.pod:907 msgid "" "Certain libguestfs calls take a parameter that contains sensitive key " "material, passed in as a C string." msgstr "" #. type: textblock -#: ../src/guestfs.pod:911 +#: ../src/guestfs.pod:910 msgid "" "In the future we would hope to change the libguestfs implementation so that " "keys are L<mlock(2)>-ed into physical RAM, and thus can never end up in " @@ -1821,7 +1820,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:916 +#: ../src/guestfs.pod:915 msgid "" "Therefore you should be aware that any key parameter you pass to libguestfs " "might end up being written out to the swap partition. If this is a concern, " @@ -1829,19 +1828,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:921 +#: ../src/guestfs.pod:920 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:923 +#: ../src/guestfs.pod:922 msgid "" "All high-level libguestfs actions are synchronous. If you want to use " "libguestfs asynchronously then you must create a thread." msgstr "" #. type: textblock -#: ../src/guestfs.pod:926 +#: ../src/guestfs.pod:925 msgid "" "Only use the handle from a single thread. Either use the handle exclusively " "from one thread, or provide your own mutex so that two threads cannot issue " @@ -1849,33 +1848,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:930 +#: ../src/guestfs.pod:929 msgid "" "See the graphical program guestfs-browser for one possible architecture for " "multithreaded programs using libvirt and libguestfs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:933 +#: ../src/guestfs.pod:932 msgid "PATH" msgstr "" #. type: textblock -#: ../src/guestfs.pod:935 +#: ../src/guestfs.pod:934 msgid "" "Libguestfs needs a supermin appliance, which it finds by looking along an " "internal path." msgstr "" #. type: textblock -#: ../src/guestfs.pod:938 +#: ../src/guestfs.pod:937 msgid "" "By default it looks for these in the directory C<$libdir/guestfs> " "(eg. C</usr/local/lib/guestfs> or C</usr/lib64/guestfs>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:941 +#: ../src/guestfs.pod:940 msgid "" "Use L</guestfs_set_path> or set the environment variable L</LIBGUESTFS_PATH> " "to change the directories that libguestfs will search in. The value is a " @@ -1886,12 +1885,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:948 +#: ../src/guestfs.pod:947 msgid "QEMU WRAPPERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:950 +#: ../src/guestfs.pod:949 msgid "" "If you want to compile your own qemu, run qemu from a non-standard location, " "or pass extra arguments to qemu, then you can write a shell-script wrapper " @@ -1899,7 +1898,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:954 +#: ../src/guestfs.pod:953 msgid "" "There is one important rule to remember: you I<must C<exec qemu>> as the " "last command in the shell script (so that qemu replaces the shell and " @@ -1908,14 +1907,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:959 +#: ../src/guestfs.pod:958 msgid "" "Here is an example of a wrapper, where I have built my own copy of qemu from " "source:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:962 +#: ../src/guestfs.pod:961 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -1926,7 +1925,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:966 +#: ../src/guestfs.pod:965 msgid "" "Save this script as C</tmp/qemu.wrapper> (or wherever), C<chmod +x>, and " "then use it by setting the LIBGUESTFS_QEMU environment variable. For " @@ -1934,7 +1933,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:970 +#: ../src/guestfs.pod:969 #, no-wrap msgid "" " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" @@ -1942,26 +1941,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:972 +#: ../src/guestfs.pod:971 msgid "" "Note that libguestfs also calls qemu with the -help and -version options in " "order to determine features." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:975 +#: ../src/guestfs.pod:974 msgid "ATTACHING TO RUNNING DAEMONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:977 +#: ../src/guestfs.pod:976 msgid "" "I<Note (1):> This is B<highly experimental> and has a tendency to eat " "babies. Use with caution." msgstr "" #. type: textblock -#: ../src/guestfs.pod:980 +#: ../src/guestfs.pod:979 msgid "" "I<Note (2):> This section explains how to attach to a running daemon from a " "low level perspective. For most users, simply using virt tools such as " @@ -1969,12 +1968,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:984 +#: ../src/guestfs.pod:983 msgid "Using guestfs_set_attach_method" msgstr "" #. type: textblock -#: ../src/guestfs.pod:986 +#: ../src/guestfs.pod:985 msgid "" "By calling L</guestfs_set_attach_method> you can change how the library " "connects to the C<guestfsd> daemon in L</guestfs_launch> (read " @@ -1982,14 +1981,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:990 +#: ../src/guestfs.pod:989 msgid "" "The normal attach method is C<appliance>, where a small appliance is created " "containing the daemon, and then the library connects to this." msgstr "" #. type: textblock -#: ../src/guestfs.pod:993 +#: ../src/guestfs.pod:992 msgid "" "Setting attach method to C<unix:I<path>> (where I<path> is the path of a " "Unix domain socket) causes L</guestfs_launch> to connect to an existing " @@ -1997,7 +1996,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:997 +#: ../src/guestfs.pod:996 msgid "" "The normal use for this is to connect to a running virtual machine that " "contains a C<guestfsd> daemon, and send commands so you can read and write " @@ -2005,12 +2004,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1001 +#: ../src/guestfs.pod:1000 msgid "Using guestfs_add_domain with live flag" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1003 +#: ../src/guestfs.pod:1002 msgid "" "L</guestfs_add_domain> provides some help for getting the correct attach " "method. If you pass the C<live> option to this function, then (if the " @@ -2019,7 +2018,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1009 +#: ../src/guestfs.pod:1008 #, no-wrap msgid "" " <domain>\n" @@ -2037,14 +2036,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1021 +#: ../src/guestfs.pod:1020 msgid "" "L</guestfs_add_domain> extracts C</path/to/socket> and sets the attach " "method to C<unix:/path/to/socket>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1024 +#: ../src/guestfs.pod:1023 msgid "" "Some of the libguestfs tools (including guestfish) support a I<--live> " "option which is passed through to L</guestfs_add_domain> thus allowing you " @@ -2052,19 +2051,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1028 +#: ../src/guestfs.pod:1027 msgid "" "The virtual machine needs to have been set up beforehand so that it has the " "virtio-serial channel and so that guestfsd is running inside it." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1032 +#: ../src/guestfs.pod:1031 msgid "ABI GUARANTEE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1034 +#: ../src/guestfs.pod:1033 msgid "" "We guarantee the libguestfs ABI (binary interface), for public, high-level " "actions as outlined in this section. Although we will deprecate some " @@ -2074,12 +2073,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1040 +#: ../src/guestfs.pod:1039 msgid "BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1042 +#: ../src/guestfs.pod:1041 msgid "" "In the kernel there is now quite a profusion of schemata for naming block " "devices (in this context, by I<block device> I mean a physical or virtual " @@ -2094,7 +2093,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1054 +#: ../src/guestfs.pod:1053 msgid "" "As discussed above, libguestfs uses a qemu appliance running an embedded " "Linux kernel to access block devices. We can run a variety of appliances " @@ -2102,7 +2101,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1058 +#: ../src/guestfs.pod:1057 msgid "" "This causes a problem for libguestfs because many API calls use device or " "partition names. Working scripts and the recipe (example) scripts that we " @@ -2110,7 +2109,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1063 +#: ../src/guestfs.pod:1062 msgid "" "Therefore libguestfs defines C</dev/sd*> as the I<standard naming scheme>. " "Internally C</dev/sd*> names are translated, if necessary, to other names as " @@ -2119,7 +2118,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1069 +#: ../src/guestfs.pod:1068 msgid "" "Note that this I<only> applies to parameters. The L</guestfs_list_devices>, " "L</guestfs_list_partitions> and similar calls return the true names of the " @@ -2127,12 +2126,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1074 +#: ../src/guestfs.pod:1073 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1076 +#: ../src/guestfs.pod:1075 msgid "" "Usually this translation is transparent. However in some (very rare) cases " "you may need to know the exact algorithm. Such cases include where you use " @@ -2142,7 +2141,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1082 +#: ../src/guestfs.pod:1081 msgid "" "The algorithm is applied only to I<parameters> which are known to be either " "device or partition names. Return values from functions such as " @@ -2150,54 +2149,54 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1090 +#: ../src/guestfs.pod:1089 msgid "Is the string a parameter which is a device or partition name?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1094 +#: ../src/guestfs.pod:1093 msgid "Does the string begin with C</dev/sd>?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1098 +#: ../src/guestfs.pod:1097 msgid "" "Does the named device exist? If so, we use that device. However if I<not> " "then we continue with this algorithm." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1103 +#: ../src/guestfs.pod:1102 msgid "Replace initial C</dev/sd> string with C</dev/hd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1105 +#: ../src/guestfs.pod:1104 msgid "For example, change C</dev/sda2> to C</dev/hda2>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1107 +#: ../src/guestfs.pod:1106 msgid "If that named device exists, use it. If not, continue." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1111 +#: ../src/guestfs.pod:1110 msgid "Replace initial C</dev/sd> string with C</dev/vd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1113 +#: ../src/guestfs.pod:1112 msgid "If that named device exists, use it. If not, return an error." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1117 +#: ../src/guestfs.pod:1116 msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1119 +#: ../src/guestfs.pod:1118 msgid "" "Although the standard naming scheme and automatic translation is useful for " "simple programs and guestfish scripts, for larger programs it is best not to " @@ -2205,50 +2204,50 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1123 +#: ../src/guestfs.pod:1122 msgid "" "Where possible for maximum future portability programs using libguestfs " "should use these future-proof techniques:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1130 +#: ../src/guestfs.pod:1129 msgid "" "Use L</guestfs_list_devices> or L</guestfs_list_partitions> to list actual " "device names, and then use those names directly." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1133 +#: ../src/guestfs.pod:1132 msgid "Since those device names exist by definition, they will never be translated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1138 +#: ../src/guestfs.pod:1137 msgid "" "Use higher level ways to identify filesystems, such as LVM names, UUIDs and " "filesystem labels." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1143 +#: ../src/guestfs.pod:1142 msgid "SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1145 +#: ../src/guestfs.pod:1144 msgid "" "This section discusses security implications of using libguestfs, " "particularly with untrusted or malicious guests or disk images." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1148 +#: ../src/guestfs.pod:1147 msgid "GENERAL SECURITY CONSIDERATIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1150 +#: ../src/guestfs.pod:1149 msgid "" "Be careful with any files or data that you download from a guest (by " "\"download\" we mean not just the L</guestfs_download> command but any " @@ -2258,42 +2257,42 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1160 +#: ../src/guestfs.pod:1159 msgid "the data (file etc) not being present" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1164 +#: ../src/guestfs.pod:1163 msgid "being present but empty" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1168 +#: ../src/guestfs.pod:1167 msgid "being much larger than normal" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1172 +#: ../src/guestfs.pod:1171 msgid "containing arbitrary 8 bit data" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1176 +#: ../src/guestfs.pod:1175 msgid "being in an unexpected character encoding" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1180 +#: ../src/guestfs.pod:1179 msgid "containing homoglyphs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1184 +#: ../src/guestfs.pod:1183 msgid "SECURITY OF MOUNTING FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1186 +#: ../src/guestfs.pod:1185 msgid "" "When you mount a filesystem under Linux, mistakes in the kernel filesystem " "(VFS) module can sometimes be escalated into exploits by deliberately " @@ -2309,7 +2308,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1199 +#: ../src/guestfs.pod:1198 msgid "" "That explains why you should never mount a filesystem from an untrusted " "guest on your host kernel. How about libguestfs? We run a Linux kernel " @@ -2323,19 +2322,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1210 +#: ../src/guestfs.pod:1209 msgid "" "In any case callers can reduce the attack surface by forcing the filesystem " "type when mounting (use L</guestfs_mount_vfs>)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1213 +#: ../src/guestfs.pod:1212 msgid "PROTOCOL SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1215 +#: ../src/guestfs.pod:1214 msgid "" "The protocol is designed to be secure, being based on RFC 4506 (XDR) with a " "defined upper message size. However a program that uses libguestfs must " @@ -2345,12 +2344,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1221 +#: ../src/guestfs.pod:1220 msgid "INSPECTION SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1223 +#: ../src/guestfs.pod:1222 msgid "" "Parts of the inspection API (see L</INSPECTION>) return untrusted strings " "directly from the guest, and these could contain any 8 bit data. Callers " @@ -2359,7 +2358,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1229 +#: ../src/guestfs.pod:1228 msgid "" "Guest configuration may be altered in unusual ways by the administrator of " "the virtual machine, and may not reflect reality (particularly for untrusted " @@ -2370,7 +2369,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1237 +#: ../src/guestfs.pod:1236 msgid "" "The inspection API parses guest configuration using two external libraries: " "Augeas (Linux configuration) and hivex (Windows Registry). Both are " @@ -2380,12 +2379,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1243 +#: ../src/guestfs.pod:1242 msgid "RUNNING UNTRUSTED GUEST COMMANDS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1245 +#: ../src/guestfs.pod:1244 msgid "" "Be very cautious about running commands from the guest. By running a " "command in the guest, you are giving CPU time to a binary that you do not " @@ -2395,24 +2394,24 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1251 +#: ../src/guestfs.pod:1250 msgid "CVE-2010-3851" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1253 +#: ../src/guestfs.pod:1252 msgid "https://bugzilla.redhat.com/642934" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1255 +#: ../src/guestfs.pod:1254 msgid "" "This security bug concerns the automatic disk format detection that qemu " "does on disk images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1258 +#: ../src/guestfs.pod:1257 msgid "" "A raw disk image is just the raw bytes, there is no header. Other disk " "images like qcow2 contain a special header. Qemu deals with this by looking " @@ -2421,7 +2420,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1263 +#: ../src/guestfs.pod:1262 msgid "" "This allows a guest which has been given a raw disk image to write some " "other header. At next boot (or when the disk image is accessed by " @@ -2430,7 +2429,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1268 +#: ../src/guestfs.pod:1267 msgid "" "This in itself would not be a problem, but qcow2 offers many features, one " "of which is to allow a disk image to refer to another image (called the " @@ -2442,24 +2441,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1276 +#: ../src/guestfs.pod:1275 msgid "In libguestfs this is rather hard to exploit except under two circumstances:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1283 +#: ../src/guestfs.pod:1282 msgid "You have enabled the network or have opened the disk in write mode." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1287 +#: ../src/guestfs.pod:1286 msgid "" "You are also running untrusted code from the guest (see L</RUNNING " "COMMANDS>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1292 +#: ../src/guestfs.pod:1291 msgid "" "The way to avoid this is to specify the expected disk format when adding " "disks (the optional C<format> option to L</guestfs_add_drive_opts>). You " @@ -2468,31 +2467,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1297 +#: ../src/guestfs.pod:1296 msgid "" "For disks added from libvirt using calls like L</guestfs_add_domain>, the " "format is fetched from libvirt and passed through." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1300 +#: ../src/guestfs.pod:1299 msgid "" "For libguestfs tools, use the I<--format> command line parameter as " "appropriate." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1303 +#: ../src/guestfs.pod:1302 msgid "CONNECTION MANAGEMENT" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1305 +#: ../src/guestfs.pod:1304 msgid "guestfs_h *" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1307 +#: ../src/guestfs.pod:1306 msgid "" "C<guestfs_h> is the opaque type representing a connection handle. Create a " "handle by calling L</guestfs_create>. Call L</guestfs_close> to free the " @@ -2500,19 +2499,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1311 +#: ../src/guestfs.pod:1310 msgid "" "For information on using multiple handles and threads, see the section " "L</MULTIPLE HANDLES AND MULTIPLE THREADS> below." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1314 +#: ../src/guestfs.pod:1313 msgid "guestfs_create" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1316 +#: ../src/guestfs.pod:1315 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -2520,43 +2519,43 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1318 +#: ../src/guestfs.pod:1317 msgid "Create a connection handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1320 +#: ../src/guestfs.pod:1319 msgid "" "You have to call L</guestfs_add_drive_opts> (or one of the equivalent calls) " "on the handle at least once." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1323 +#: ../src/guestfs.pod:1322 msgid "" "This function returns a non-NULL pointer to a handle on success or NULL on " "error." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1326 +#: ../src/guestfs.pod:1325 msgid "After configuring the handle, you have to call L</guestfs_launch>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1328 +#: ../src/guestfs.pod:1327 msgid "" "You may also want to configure error handling for the handle. See L</ERROR " "HANDLING> section below." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1331 +#: ../src/guestfs.pod:1330 msgid "guestfs_close" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1333 +#: ../src/guestfs.pod:1332 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -2564,24 +2563,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1335 +#: ../src/guestfs.pod:1334 msgid "This closes the connection handle and frees up all resources used." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1337 +#: ../src/guestfs.pod:1336 msgid "ERROR HANDLING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1339 +#: ../src/guestfs.pod:1338 msgid "" "API functions can return errors. For example, almost all functions that " "return C<int> will return C<-1> to indicate an error." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1342 +#: ../src/guestfs.pod:1341 msgid "" "Additional information is available for errors: an error message string and " "optionally an error number (errno) if the thing that failed was a system " @@ -2589,7 +2588,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1346 +#: ../src/guestfs.pod:1345 msgid "" "You can get at the additional information about the last error on the handle " "by calling L</guestfs_last_error>, L</guestfs_last_errno>, and/or by setting " @@ -2597,7 +2596,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1351 +#: ../src/guestfs.pod:1350 msgid "" "When the handle is created, a default error handler is installed which " "prints the error message string to C<stderr>. For small short-running " @@ -2605,7 +2604,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1355 +#: ../src/guestfs.pod:1354 #, no-wrap msgid "" " if (guestfs_launch (g) == -1)\n" @@ -2614,21 +2613,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1358 +#: ../src/guestfs.pod:1357 msgid "" "since the default error handler will ensure that an error message has been " "printed to C<stderr> before the program exits." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1361 +#: ../src/guestfs.pod:1360 msgid "" "For other programs the caller will almost certainly want to install an " "alternate error handler or do error handling in-line like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1364 +#: ../src/guestfs.pod:1363 #, no-wrap msgid "" " g = guestfs_create ();\n" @@ -2636,7 +2635,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1366 +#: ../src/guestfs.pod:1365 #, no-wrap msgid "" " /* This disables the default behaviour of printing errors\n" @@ -2646,7 +2645,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1370 +#: ../src/guestfs.pod:1369 #, no-wrap msgid "" " if (guestfs_launch (g) == -1) {\n" @@ -2660,7 +2659,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1378 +#: ../src/guestfs.pod:1377 msgid "" "Out of memory errors are handled differently. The default action is to call " "L<abort(3)>. If this is undesirable, then you can set a handler using " @@ -2668,7 +2667,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1382 +#: ../src/guestfs.pod:1381 msgid "" "L</guestfs_create> returns C<NULL> if the handle cannot be created, and " "because there is no handle if this happens there is no way to get additional " @@ -2678,12 +2677,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1388 +#: ../src/guestfs.pod:1387 msgid "guestfs_last_error" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1390 +#: ../src/guestfs.pod:1389 #, no-wrap msgid "" " const char *guestfs_last_error (guestfs_h *g);\n" @@ -2691,26 +2690,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1392 +#: ../src/guestfs.pod:1391 msgid "" "This returns the last error message that happened on C<g>. If there has not " "been an error since the handle was created, then this returns C<NULL>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1396 +#: ../src/guestfs.pod:1395 msgid "" "The lifetime of the returned string is until the next error occurs, or " "L</guestfs_close> is called." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1399 +#: ../src/guestfs.pod:1398 msgid "guestfs_last_errno" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1401 +#: ../src/guestfs.pod:1400 #, no-wrap msgid "" " int guestfs_last_errno (guestfs_h *g);\n" @@ -2718,27 +2717,27 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1403 +#: ../src/guestfs.pod:1402 msgid "This returns the last error number (errno) that happened on C<g>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1405 +#: ../src/guestfs.pod:1404 msgid "If successful, an errno integer not equal to zero is returned." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1407 +#: ../src/guestfs.pod:1406 msgid "If no error, this returns 0. This call can return 0 in three situations:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1414 +#: ../src/guestfs.pod:1413 msgid "There has not been any error on the handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1418 +#: ../src/guestfs.pod:1417 msgid "" "There has been an error but the errno was meaningless. This corresponds to " "the case where the error did not come from a failed system call, but for " @@ -2746,14 +2745,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1424 +#: ../src/guestfs.pod:1423 msgid "" "There was an error from a failed system call, but for some reason the errno " "was not captured and returned. This usually indicates a bug in libguestfs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1430 +#: ../src/guestfs.pod:1429 msgid "" "Libguestfs tries to convert the errno from inside the applicance into a " "corresponding errno for the caller (not entirely trivial: the appliance " @@ -2764,12 +2763,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1438 +#: ../src/guestfs.pod:1437 msgid "guestfs_set_error_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1440 +#: ../src/guestfs.pod:1439 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -2782,7 +2781,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1447 +#: ../src/guestfs.pod:1446 msgid "" "The callback C<cb> will be called if there is an error. The parameters " "passed to the callback are an opaque data pointer and the error message " @@ -2790,14 +2789,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1451 +#: ../src/guestfs.pod:1450 msgid "" "C<errno> is not passed to the callback. To get that the callback must call " "L</guestfs_last_errno>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1454 +#: ../src/guestfs.pod:1453 msgid "" "Note that the message string C<msg> is freed as soon as the callback " "function returns, so if you want to stash it somewhere you must make your " @@ -2805,22 +2804,22 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1458 +#: ../src/guestfs.pod:1457 msgid "The default handler prints messages on C<stderr>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1460 +#: ../src/guestfs.pod:1459 msgid "If you set C<cb> to C<NULL> then I<no> handler is called." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1462 +#: ../src/guestfs.pod:1461 msgid "guestfs_get_error_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1464 +#: ../src/guestfs.pod:1463 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -2829,17 +2828,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1467 +#: ../src/guestfs.pod:1466 msgid "Returns the current error handler callback." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1469 +#: ../src/guestfs.pod:1468 msgid "guestfs_set_out_of_memory_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1471 +#: ../src/guestfs.pod:1470 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -2849,29 +2848,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1475 +#: ../src/guestfs.pod:1474 msgid "" "The callback C<cb> will be called if there is an out of memory situation. " "I<Note this callback must not return>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1478 +#: ../src/guestfs.pod:1477 msgid "The default is to call L<abort(3)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1480 +#: ../src/guestfs.pod:1479 msgid "You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1483 +#: ../src/guestfs.pod:1482 msgid "guestfs_get_out_of_memory_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1485 +#: ../src/guestfs.pod:1484 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -2879,42 +2878,42 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1487 +#: ../src/guestfs.pod:1486 msgid "This returns the current out of memory handler." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1489 +#: ../src/guestfs.pod:1488 msgid "API CALLS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1491 ../fish/guestfish.pod:1003 +#: ../src/guestfs.pod:1490 ../fish/guestfish.pod:1008 msgid "@ACTIONS@" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1493 +#: ../src/guestfs.pod:1492 msgid "STRUCTURES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1495 +#: ../src/guestfs.pod:1494 msgid "@STRUCTS@" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1497 +#: ../src/guestfs.pod:1496 msgid "AVAILABILITY" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1499 +#: ../src/guestfs.pod:1498 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1501 +#: ../src/guestfs.pod:1500 msgid "" "Using L</guestfs_available> you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -2922,17 +2921,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1506 +#: ../src/guestfs.pod:1505 msgid "@AVAILABILITY@" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1508 +#: ../src/guestfs.pod:1507 msgid "GUESTFISH supported COMMAND" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1510 +#: ../src/guestfs.pod:1509 msgid "" "In L<guestfish(3)> there is a handy interactive command C<supported> which " "prints out the available groups and whether they are supported by this build " @@ -2940,19 +2939,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1515 +#: ../src/guestfs.pod:1514 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1517 +#: ../src/guestfs.pod:1516 msgid "" "Since version 1.5.8, C<E<lt>guestfs.hE<gt>> defines symbols for each C API " "function, such as:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1520 +#: ../src/guestfs.pod:1519 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -2960,12 +2959,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1522 +#: ../src/guestfs.pod:1521 msgid "if L</guestfs_dd> is available." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1524 +#: ../src/guestfs.pod:1523 msgid "" "Before version 1.5.8, if you needed to test whether a single libguestfs " "function is available at compile time, we recommended using build tools such " @@ -2973,7 +2972,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1529 +#: ../src/guestfs.pod:1528 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -2982,19 +2981,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1532 +#: ../src/guestfs.pod:1531 msgid "" "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined " "in your program." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1535 +#: ../src/guestfs.pod:1534 msgid "SINGLE CALLS AT RUN TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1537 +#: ../src/guestfs.pod:1536 msgid "" "Testing at compile time doesn't guarantee that a function really exists in " "the library. The reason is that you might be dynamically linked against a " @@ -3004,7 +3003,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1544 +#: ../src/guestfs.pod:1543 msgid "" "You can use L<dlopen(3)> to test if a function is available at run time, as " "in this example program (note that you still need the compile time check as " @@ -3012,7 +3011,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1548 +#: ../src/guestfs.pod:1547 #, no-wrap msgid "" " #include <stdio.h>\n" @@ -3024,7 +3023,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1554 +#: ../src/guestfs.pod:1553 #, no-wrap msgid "" " main ()\n" @@ -3036,7 +3035,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1560 +#: ../src/guestfs.pod:1559 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -3051,7 +3050,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1569 +#: ../src/guestfs.pod:1568 #, no-wrap msgid "" " if (!has_function)\n" @@ -3070,7 +3069,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1582 +#: ../src/guestfs.pod:1581 msgid "" "You may think the above is an awful lot of hassle, and it is. There are " "other ways outside of the C linking system to ensure that this kind of " @@ -3078,7 +3077,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1587 +#: ../src/guestfs.pod:1586 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -3086,12 +3085,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1589 +#: ../src/guestfs.pod:1588 msgid "CALLS WITH OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1591 +#: ../src/guestfs.pod:1590 msgid "" "A recent feature of the API is the introduction of calls which take optional " "arguments. In C these are declared 3 ways. The main way is as a call which " @@ -3099,7 +3098,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1596 +#: ../src/guestfs.pod:1595 #, no-wrap msgid "" " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n" @@ -3107,14 +3106,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1598 +#: ../src/guestfs.pod:1597 msgid "" "Call this with a list of optional arguments, terminated by C<-1>. So to " "call with no optional arguments specified:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1601 +#: ../src/guestfs.pod:1600 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename, -1);\n" @@ -3122,12 +3121,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1603 +#: ../src/guestfs.pod:1602 msgid "With a single optional argument:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1605 +#: ../src/guestfs.pod:1604 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -3137,12 +3136,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1609 +#: ../src/guestfs.pod:1608 msgid "With two:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1611 +#: ../src/guestfs.pod:1610 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -3153,19 +3152,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1616 +#: ../src/guestfs.pod:1615 msgid "" "and so forth. Don't forget the terminating C<-1> otherwise Bad Things will " "happen!" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1619 +#: ../src/guestfs.pod:1618 msgid "USING va_list FOR OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1621 +#: ../src/guestfs.pod:1620 msgid "" "The second variant has the same name with the suffix C<_va>, which works the " "same way but takes a C<va_list>. See the C manual for details. For the " @@ -3173,7 +3172,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1625 +#: ../src/guestfs.pod:1624 #, no-wrap msgid "" " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n" @@ -3182,12 +3181,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1628 +#: ../src/guestfs.pod:1627 msgid "CONSTRUCTING OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1630 +#: ../src/guestfs.pod:1629 msgid "" "The third variant is useful where you need to construct these calls. You " "pass in a structure where you fill in the optional fields. The structure " @@ -3197,7 +3196,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1636 +#: ../src/guestfs.pod:1635 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv {\n" @@ -3212,12 +3211,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1645 +#: ../src/guestfs.pod:1644 msgid "You could call it like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1647 +#: ../src/guestfs.pod:1646 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv optargs = {\n" @@ -3230,7 +3229,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1654 +#: ../src/guestfs.pod:1653 #, no-wrap msgid "" " guestfs_add_drive_opts_argv (g, filename, &optargs);\n" @@ -3238,34 +3237,34 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1656 ../src/guestfs-actions.pod:11 ../src/guestfs-actions.pod:1855 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1260 ../tools/virt-win-reg.pl:532 +#: ../src/guestfs.pod:1655 ../src/guestfs-actions.pod:11 ../src/guestfs-actions.pod:1855 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1260 ../tools/virt-win-reg.pl:532 msgid "Notes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1662 +#: ../src/guestfs.pod:1661 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1667 +#: ../src/guestfs.pod:1666 msgid "You do not need to fill in all fields of the structure." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1671 +#: ../src/guestfs.pod:1670 msgid "" "There must be a one-to-one correspondence between fields of the structure " "that are filled in, and bits set in the bitmask." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1676 +#: ../src/guestfs.pod:1675 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1678 +#: ../src/guestfs.pod:1677 msgid "" "In other languages, optional arguments are expressed in the way that is " "natural for that language. We refer you to the language-specific " @@ -3273,17 +3272,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1682 +#: ../src/guestfs.pod:1681 msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1684 +#: ../src/guestfs.pod:1683 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1686 +#: ../src/guestfs.pod:1685 msgid "" "B<Note:> This section documents the generic event mechanism introduced in " "libguestfs 1.10, which you should use in new code if possible. The old " @@ -3295,7 +3294,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1694 +#: ../src/guestfs.pod:1693 msgid "" "Handles generate events when certain things happen, such as log messages " "being generated, progress messages during long-running operations, or the " @@ -3307,7 +3306,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1702 +#: ../src/guestfs.pod:1701 msgid "" "In the current implementation, events are only generated synchronously: that " "means that events (and hence callbacks) can only happen while you are in the " @@ -3316,31 +3315,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1707 +#: ../src/guestfs.pod:1706 msgid "" "Events may contain a payload, usually nothing (void), an array of 64 bit " "unsigned integers, or a message buffer. Payloads are discussed later on." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1711 +#: ../src/guestfs.pod:1710 msgid "CLASSES OF EVENTS" msgstr "" #. type: =item -#: ../src/guestfs.pod:1715 +#: ../src/guestfs.pod:1714 msgid "GUESTFS_EVENT_CLOSE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1718 +#: ../src/guestfs.pod:1717 msgid "" "The callback function will be called while the handle is being closed " "(synchronously from L</guestfs_close>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1721 +#: ../src/guestfs.pod:1720 msgid "" "Note that libguestfs installs an L<atexit(3)> handler to try to clean up " "handles that are open when the program exits. This means that this callback " @@ -3351,19 +3350,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1728 +#: ../src/guestfs.pod:1727 msgid "" "If no callback is registered: the handle is closed without any callback " "being invoked." msgstr "" #. type: =item -#: ../src/guestfs.pod:1731 +#: ../src/guestfs.pod:1730 msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1734 +#: ../src/guestfs.pod:1733 msgid "" "The callback function will be called when the child process quits, either " "asynchronously or if killed by L</guestfs_kill_subprocess>. (This " @@ -3371,17 +3370,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1738 ../src/guestfs.pod:1747 +#: ../src/guestfs.pod:1737 ../src/guestfs.pod:1746 msgid "If no callback is registered: the event is ignored." msgstr "" #. type: =item -#: ../src/guestfs.pod:1740 +#: ../src/guestfs.pod:1739 msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1743 +#: ../src/guestfs.pod:1742 msgid "" "The callback function will be called when the child process becomes ready " "first time after it has been launched. (This corresponds to a transition " @@ -3389,12 +3388,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1749 +#: ../src/guestfs.pod:1748 msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1752 +#: ../src/guestfs.pod:1751 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -3404,14 +3403,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1758 +#: ../src/guestfs.pod:1757 msgid "" "The callback receives in the payload four unsigned 64 bit numbers which are " "(in order): C<proc_nr>, C<serial>, C<position>, C<total>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1761 +#: ../src/guestfs.pod:1760 msgid "" "The units of C<total> are not defined, although for some operations C<total> " "may relate in some way to the amount of data to be transferred (eg. in bytes " @@ -3420,24 +3419,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1766 +#: ../src/guestfs.pod:1765 msgid "The only defined and stable parts of the API are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1772 +#: ../src/guestfs.pod:1771 msgid "" "The callback can display to the user some type of progress bar or indicator " "which shows the ratio of C<position>:C<total>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1777 +#: ../src/guestfs.pod:1776 msgid "0 E<lt>= C<position> E<lt>= C<total>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1781 +#: ../src/guestfs.pod:1780 msgid "" "If any progress notification is sent during a call, then a final progress " "notification is always sent when C<position> = C<total> (I<unless> the call " @@ -3445,7 +3444,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1785 +#: ../src/guestfs.pod:1784 msgid "" "This is to simplify caller code, so callers can easily set the progress " "indicator to \"100%\" at the end of the operation, without requiring special " @@ -3453,7 +3452,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1791 +#: ../src/guestfs.pod:1790 msgid "" "For some calls we are unable to estimate the progress of the call, but we " "can still generate progress messages to indicate activity. This is known as " @@ -3462,7 +3461,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1796 +#: ../src/guestfs.pod:1795 msgid "" "For these calls, zero or more progress messages are generated with " "C<position = 0> and C<total = 1>, followed by a final message with " @@ -3470,14 +3469,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1800 +#: ../src/guestfs.pod:1799 msgid "" "As noted above, if the call fails with an error then the final message may " "not be generated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1805 +#: ../src/guestfs.pod:1804 msgid "" "The callback also receives the procedure number (C<proc_nr>) and serial " "number (C<serial>) of the call. These are only useful for debugging " @@ -3486,31 +3485,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1811 +#: ../src/guestfs.pod:1810 msgid "If no callback is registered: progress messages are discarded." msgstr "" #. type: =item -#: ../src/guestfs.pod:1813 +#: ../src/guestfs.pod:1812 msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1816 +#: ../src/guestfs.pod:1815 msgid "" "The callback function is called whenever a log message is generated by qemu, " "the appliance kernel, guestfsd (daemon), or utility programs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1819 +#: ../src/guestfs.pod:1818 msgid "" "If the verbose flag (L</guestfs_set_verbose>) is set before launch " "(L</guestfs_launch>) then additional debug messages are generated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1822 ../src/guestfs.pod:1836 +#: ../src/guestfs.pod:1821 ../src/guestfs.pod:1835 msgid "" "If no callback is registered: the messages are discarded unless the verbose " "flag is set in which case they are sent to stderr. You can override the " @@ -3518,50 +3517,50 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1827 +#: ../src/guestfs.pod:1826 msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1830 +#: ../src/guestfs.pod:1829 msgid "" "The callback function is called whenever a log message is generated by the " "library part of libguestfs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1833 +#: ../src/guestfs.pod:1832 msgid "" "If the verbose flag (L</guestfs_set_verbose>) is set then additional debug " "messages are generated." msgstr "" #. type: =item -#: ../src/guestfs.pod:1841 +#: ../src/guestfs.pod:1840 msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1844 +#: ../src/guestfs.pod:1843 msgid "" "The callback function is called whenever a trace message is generated. This " "only applies if the trace flag (L</guestfs_set_trace>) is set." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1847 +#: ../src/guestfs.pod:1846 msgid "" "If no callback is registered: the messages are sent to stderr. You can " "override the printing of trace messages to stderr by setting up a callback." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1853 +#: ../src/guestfs.pod:1852 msgid "guestfs_set_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1855 +#: ../src/guestfs.pod:1854 #, no-wrap msgid "" " int guestfs_set_event_callback (guestfs_h *g,\n" @@ -3573,14 +3572,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1861 +#: ../src/guestfs.pod:1860 msgid "" "This function registers a callback (C<cb>) for all event classes in the " "C<event_bitmask>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1864 +#: ../src/guestfs.pod:1863 msgid "" "For example, to register for all log message events, you could call this " "function with the bitmask C<GUESTFS_EVENT_APPLIANCE|GUESTFS_EVENT_LIBRARY>. " @@ -3589,40 +3588,40 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1870 +#: ../src/guestfs.pod:1869 msgid "C<flags> should always be passed as 0." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1872 +#: ../src/guestfs.pod:1871 msgid "" "C<opaque> is an opaque pointer which is passed to the callback. You can use " "it for any purpose." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1875 +#: ../src/guestfs.pod:1874 msgid "" "The return value is the event handle (an integer) which you can use to " "delete the callback (see below)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1878 +#: ../src/guestfs.pod:1877 msgid "" "If there is an error, this function returns C<-1>, and sets the error in the " "handle in the usual way (see L</guestfs_last_error> etc.)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1881 +#: ../src/guestfs.pod:1880 msgid "" "Callbacks remain in effect until they are deleted, or until the handle is " "closed." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1884 +#: ../src/guestfs.pod:1883 msgid "" "In the case where multiple callbacks are registered for a particular event " "class, all of the callbacks are called. The order in which multiple " @@ -3630,12 +3629,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1888 +#: ../src/guestfs.pod:1887 msgid "guestfs_delete_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1890 +#: ../src/guestfs.pod:1889 #, no-wrap msgid "" " void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n" @@ -3643,7 +3642,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1892 +#: ../src/guestfs.pod:1891 msgid "" "Delete a callback that was previously registered. C<event_handle> should be " "the integer that was returned by a previous call to " @@ -3651,12 +3650,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1896 +#: ../src/guestfs.pod:1895 msgid "guestfs_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1898 +#: ../src/guestfs.pod:1897 #, no-wrap msgid "" " typedef void (*guestfs_event_callback) (\n" @@ -3671,12 +3670,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1907 +#: ../src/guestfs.pod:1906 msgid "This is the type of the event callback function that you have to provide." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1910 +#: ../src/guestfs.pod:1909 msgid "" "The basic parameters are: the handle (C<g>), the opaque user pointer " "(C<opaque>), the event class (eg. C<GUESTFS_EVENT_PROGRESS>), the event " @@ -3684,7 +3683,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1914 +#: ../src/guestfs.pod:1913 msgid "" "The remaining parameters contain the event payload (if any). Each event may " "contain a payload, which usually relates to the event class, but for future " @@ -3693,7 +3692,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1919 +#: ../src/guestfs.pod:1918 msgid "" "C<buf> and C<buf_len> contain a message buffer (if C<buf_len == 0>, then " "there is no message buffer). Note that this message buffer can contain " @@ -3701,19 +3700,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1923 +#: ../src/guestfs.pod:1922 msgid "" "C<array> and C<array_len> is an array of 64 bit unsigned integers. At the " "moment this is only used for progress messages." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1926 +#: ../src/guestfs.pod:1925 msgid "EXAMPLE: CAPTURING LOG MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1928 +#: ../src/guestfs.pod:1927 msgid "" "One motivation for the generic event API was to allow GUI programs to " "capture debug and other messages. In libguestfs E<le> 1.8 these were sent " @@ -3721,7 +3720,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1932 +#: ../src/guestfs.pod:1931 msgid "" "Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, " "C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error " @@ -3729,14 +3728,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1937 +#: ../src/guestfs.pod:1936 msgid "" "Programs have to set up a callback to capture the classes of events of " "interest:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1940 +#: ../src/guestfs.pod:1939 #, no-wrap msgid "" " int eh =\n" @@ -3752,14 +3751,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1950 +#: ../src/guestfs.pod:1949 msgid "" "The callback can then direct messages to the appropriate place. In this " "example, messages are directed to syslog:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1953 +#: ../src/guestfs.pod:1952 #, no-wrap msgid "" " static void\n" @@ -3780,12 +3779,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1968 +#: ../src/guestfs.pod:1967 msgid "PRIVATE DATA AREA" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1970 +#: ../src/guestfs.pod:1969 msgid "" "You can attach named pieces of private data to the libguestfs handle, fetch " "them by name, and walk over them, for the lifetime of the handle. This is " @@ -3793,12 +3792,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1975 +#: ../src/guestfs.pod:1974 msgid "To attach a named piece of data, use the following call:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1977 +#: ../src/guestfs.pod:1976 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -3806,7 +3805,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1979 +#: ../src/guestfs.pod:1978 msgid "" "C<key> is the name to associate with this data, and C<data> is an arbitrary " "pointer (which can be C<NULL>). Any previous item with the same name is " @@ -3814,7 +3813,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1983 +#: ../src/guestfs.pod:1982 msgid "" "You can use any C<key> you want, but names beginning with an underscore " "character are reserved for internal libguestfs purposes (for implementing " @@ -3823,12 +3822,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1988 +#: ../src/guestfs.pod:1987 msgid "To retrieve the pointer, use:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1990 +#: ../src/guestfs.pod:1989 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -3836,7 +3835,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1992 +#: ../src/guestfs.pod:1991 msgid "" "This function returns C<NULL> if either no data is found associated with " "C<key>, or if the user previously set the C<key>'s C<data> pointer to " @@ -3844,7 +3843,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1996 +#: ../src/guestfs.pod:1995 msgid "" "Libguestfs does not try to look at or interpret the C<data> pointer in any " "way. As far as libguestfs is concerned, it need not be a valid pointer at " @@ -3855,12 +3854,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2003 +#: ../src/guestfs.pod:2002 msgid "To walk over all entries, use these two functions:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2005 +#: ../src/guestfs.pod:2004 #, no-wrap msgid "" " void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n" @@ -3868,7 +3867,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2007 +#: ../src/guestfs.pod:2006 #, no-wrap msgid "" " void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n" @@ -3876,7 +3875,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2009 +#: ../src/guestfs.pod:2008 msgid "" "C<guestfs_first_private> returns the first key, pointer pair (\"first\" does " "not have any particular meaning -- keys are not returned in any defined " @@ -3886,7 +3885,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2015 +#: ../src/guestfs.pod:2014 msgid "" "C<guestfs_next_private> returns the next key, pointer pair. The return " "value of this function is also C<NULL> is there are no further entries to " @@ -3894,17 +3893,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2019 +#: ../src/guestfs.pod:2018 msgid "Notes about walking over entries:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2025 +#: ../src/guestfs.pod:2024 msgid "You must not call C<guestfs_set_private> while walking over the entries." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2030 +#: ../src/guestfs.pod:2029 msgid "" "The handle maintains an internal iterator which is reset when you call " "C<guestfs_first_private>. This internal iterator is invalidated when you " @@ -3912,12 +3911,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2036 +#: ../src/guestfs.pod:2035 msgid "If you have set the data pointer associated with a key to C<NULL>, ie:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2038 +#: ../src/guestfs.pod:2037 #, no-wrap msgid "" " guestfs_set_private (g, key, NULL);\n" @@ -3925,26 +3924,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2040 +#: ../src/guestfs.pod:2039 msgid "then that C<key> is not returned when walking." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2044 +#: ../src/guestfs.pod:2043 msgid "" "C<*key_rtn> is only valid until the next call to C<guestfs_first_private>, " "C<guestfs_next_private> or C<guestfs_set_private>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2050 +#: ../src/guestfs.pod:2049 msgid "" "The following example code shows how to print all keys and data pointers " "that are associated with the handle C<g>:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2053 +#: ../src/guestfs.pod:2052 #, no-wrap msgid "" " const char *key;\n" @@ -3958,14 +3957,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2061 +#: ../src/guestfs.pod:2060 msgid "" "More commonly you are only interested in keys that begin with an " "application-specific prefix C<foo_>. Modify the loop like so:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2064 +#: ../src/guestfs.pod:2063 #, no-wrap msgid "" " const char *key;\n" @@ -3980,7 +3979,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2073 +#: ../src/guestfs.pod:2072 msgid "" "If you need to modify keys while walking, then you have to jump back to the " "beginning of the loop. For example, to delete all keys prefixed with " @@ -3988,7 +3987,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2077 +#: ../src/guestfs.pod:2076 #, no-wrap msgid "" " const char *key;\n" @@ -4010,7 +4009,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2093 +#: ../src/guestfs.pod:2092 msgid "" "Note that the above loop is guaranteed to terminate because the keys are " "being deleted, but other manipulations of keys within the loop might not " @@ -4019,24 +4018,24 @@ msgid "" msgstr "" #. type: =end -#: ../src/guestfs.pod:2098 ../src/guestfs.pod:2103 +#: ../src/guestfs.pod:2097 ../src/guestfs.pod:2102 msgid "html" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2100 +#: ../src/guestfs.pod:2099 msgid "" "<!-- old anchor for the next section --> <a " "name=\"state_machine_and_low_level_event_api\"/>" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2105 +#: ../src/guestfs.pod:2104 msgid "ARCHITECTURE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2107 +#: ../src/guestfs.pod:2106 msgid "" "Internally, libguestfs is implemented by running an appliance (a special " "type of small virtual machine) using L<qemu(1)>. Qemu runs as a child " @@ -4044,7 +4043,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2111 +#: ../src/guestfs.pod:2110 #, no-wrap msgid "" " ___________________\n" @@ -4070,14 +4069,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2131 +#: ../src/guestfs.pod:2130 msgid "" "The library, linked to the main program, creates the child process and hence " "the appliance in the L</guestfs_launch> function." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2134 +#: ../src/guestfs.pod:2133 msgid "" "Inside the appliance is a Linux kernel and a complete stack of userspace " "tools (such as LVM and ext2 programs) and a small controlling daemon called " @@ -4089,7 +4088,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2143 +#: ../src/guestfs.pod:2142 msgid "" "A common misunderstanding is that the appliance \"is\" the virtual machine. " "Although the disk image you are attached to might also be used by some " @@ -4100,17 +4099,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2150 +#: ../src/guestfs.pod:2149 msgid "STATE MACHINE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2152 +#: ../src/guestfs.pod:2151 msgid "libguestfs uses a state machine to model the child process:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2154 +#: ../src/guestfs.pod:2153 #, no-wrap msgid "" " |\n" @@ -4138,7 +4137,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2176 +#: ../src/guestfs.pod:2175 msgid "" "The normal transitions are (1) CONFIG (when the handle is created, but there " "is no child process), (2) LAUNCHING (when the child process is booting up), " @@ -4147,7 +4146,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2181 +#: ../src/guestfs.pod:2180 msgid "" "The guest may be killed by L</guestfs_kill_subprocess>, or may die " "asynchronously at any time (eg. due to some internal error), and that causes " @@ -4155,14 +4154,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2185 +#: ../src/guestfs.pod:2184 msgid "" "Configuration commands for qemu such as L</guestfs_add_drive> can only be " "issued when in the CONFIG state." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2188 +#: ../src/guestfs.pod:2187 msgid "" "The API offers one call that goes from CONFIG through LAUNCHING to READY. " "L</guestfs_launch> blocks until the child process is READY to accept " @@ -4171,7 +4170,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2194 +#: ../src/guestfs.pod:2193 msgid "" "API actions such as L</guestfs_mount> can only be issued when in the READY " "state. These API calls block waiting for the command to be carried out " @@ -4181,7 +4180,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2200 +#: ../src/guestfs.pod:2199 msgid "" "Finally, the child process sends asynchronous messages back to the main " "program, such as kernel log messages. You can register a callback to " @@ -4189,24 +4188,24 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2204 +#: ../src/guestfs.pod:2203 msgid "INTERNALS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2206 +#: ../src/guestfs.pod:2205 msgid "COMMUNICATION PROTOCOL" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2208 +#: ../src/guestfs.pod:2207 msgid "" "Don't rely on using this protocol directly. This section documents how it " "currently works, but it may change at any time." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2211 +#: ../src/guestfs.pod:2210 msgid "" "The protocol used to talk between the library and the daemon running inside " "the qemu virtual machine is a simple RPC mechanism built on top of XDR (RFC " @@ -4214,14 +4213,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2215 +#: ../src/guestfs.pod:2214 msgid "" "The detailed format of structures is in C<src/guestfs_protocol.x> (note: " "this file is automatically generated)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2218 +#: ../src/guestfs.pod:2217 msgid "" "There are two broad cases, ordinary functions that don't have any C<FileIn> " "and C<FileOut> parameters, which are handled with very simple request/reply " @@ -4231,17 +4230,17 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2225 +#: ../src/guestfs.pod:2224 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2227 +#: ../src/guestfs.pod:2226 msgid "For ordinary functions, the request message is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2229 +#: ../src/guestfs.pod:2228 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -4252,7 +4251,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2234 +#: ../src/guestfs.pod:2233 msgid "" "The total length field allows the daemon to allocate a fixed size buffer " "into which it slurps the rest of the message. As a result, the total length " @@ -4261,21 +4260,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2240 +#: ../src/guestfs.pod:2239 msgid "" "Note also that many functions don't take any arguments, in which case the " "C<guestfs_I<foo>_args> is completely omitted." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2243 +#: ../src/guestfs.pod:2242 msgid "" "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." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2247 +#: ../src/guestfs.pod:2246 msgid "" "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 " @@ -4287,12 +4286,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2255 +#: ../src/guestfs.pod:2254 msgid "The reply message for ordinary functions is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2257 +#: ../src/guestfs.pod:2256 #, no-wrap msgid "" " total length (header + ret,\n" @@ -4303,26 +4302,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2262 +#: ../src/guestfs.pod:2261 msgid "" "As above the C<guestfs_I<foo>_ret> structure may be completely omitted for " "functions that return no formal return values." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2265 +#: ../src/guestfs.pod:2264 msgid "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2268 +#: ../src/guestfs.pod:2267 msgid "" "In the case of an error, a flag is set in the header, and the reply message " "is slightly changed:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2271 +#: ../src/guestfs.pod:2270 #, no-wrap msgid "" " total length (header + error,\n" @@ -4333,19 +4332,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2276 +#: ../src/guestfs.pod:2275 msgid "" "The C<guestfs_message_error> structure contains the error message as a " "string." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2279 +#: ../src/guestfs.pod:2278 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2281 +#: ../src/guestfs.pod:2280 msgid "" "A C<FileIn> parameter indicates that we transfer a file I<into> the guest. " "The normal request message is sent (see above). However this is followed by " @@ -4353,7 +4352,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2285 +#: ../src/guestfs.pod:2284 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -4367,12 +4366,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2293 +#: ../src/guestfs.pod:2292 msgid "The \"sequence of chunks\" is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2295 +#: ../src/guestfs.pod:2294 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -4386,7 +4385,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2303 +#: ../src/guestfs.pod:2302 msgid "" "The final chunk has the C<data_len> field set to zero. Additionally a flag " "is set in the final chunk to indicate either successful completion or early " @@ -4394,7 +4393,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2307 +#: ../src/guestfs.pod:2306 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -4403,7 +4402,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2312 +#: ../src/guestfs.pod:2311 msgid "" "Both the library (sender) I<and> the daemon (receiver) may cancel the " "transfer. The library does this by sending a chunk with a special flag set " @@ -4412,7 +4411,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2318 +#: ../src/guestfs.pod:2317 msgid "" "The daemon may also cancel. It does this by writing a special word " "C<GUESTFS_CANCEL_FLAG> to the socket. The library listens for this during " @@ -4424,7 +4423,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2327 +#: ../src/guestfs.pod:2326 msgid "" "This protocol allows the transfer of arbitrary sized files (no 32 bit " "limit), and also files where the size is not known in advance (eg. from " @@ -4434,19 +4433,19 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2333 +#: ../src/guestfs.pod:2332 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2335 +#: ../src/guestfs.pod:2334 msgid "" "The protocol for FileOut parameters is exactly the same as for FileIn " "parameters, but with the roles of daemon and library reversed." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2338 +#: ../src/guestfs.pod:2337 #, no-wrap msgid "" " total length (header + ret,\n" @@ -4460,12 +4459,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2346 +#: ../src/guestfs.pod:2345 msgid "INITIAL MESSAGE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2348 +#: ../src/guestfs.pod:2347 msgid "" "When the daemon launches it sends an initial word (C<GUESTFS_LAUNCH_FLAG>) " "which indicates that the guest and daemon is alive. This is what " @@ -4473,12 +4472,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2352 +#: ../src/guestfs.pod:2351 msgid "PROGRESS NOTIFICATION MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2354 +#: ../src/guestfs.pod:2353 msgid "" "The daemon may send progress notification messages at any time. These are " "distinguished by the normal length word being replaced by " @@ -4486,7 +4485,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2358 +#: ../src/guestfs.pod:2357 msgid "" "The library turns them into progress callbacks (see " "L</GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards " @@ -4494,7 +4493,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2362 +#: ../src/guestfs.pod:2361 msgid "" "The daemon self-limits the frequency of progress messages it sends (see " "C<daemon/proto.c:notify_progress>). Not all calls generate progress " @@ -4502,12 +4501,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2366 +#: ../src/guestfs.pod:2365 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2368 +#: ../src/guestfs.pod:2367 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -4515,7 +4514,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2373 +#: ../src/guestfs.pod:2372 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -4532,12 +4531,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2384 +#: ../src/guestfs.pod:2383 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2386 +#: ../src/guestfs.pod:2385 msgid "" "As time passes we cherry pick fixes from the development branch and backport " "those into the stable branch, the effect being that the stable branch should " @@ -4547,26 +4546,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2392 +#: ../src/guestfs.pod:2391 msgid "Our criteria for backporting changes are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2398 +#: ../src/guestfs.pod:2397 msgid "" "Documentation changes which don't affect any code are backported unless the " "documentation refers to a future feature which is not in stable." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2404 +#: ../src/guestfs.pod:2403 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2409 +#: ../src/guestfs.pod:2408 msgid "" "Simple rearrangements of code which shouldn't affect how it works get " "backported. This is so that the code in the two branches doesn't get too " @@ -4574,7 +4573,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2415 +#: ../src/guestfs.pod:2414 msgid "" "We I<don't> backport new features, new APIs, new tools etc, except in one " "exceptional case: the new feature is required in order to implement an " @@ -4582,7 +4581,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2421 +#: ../src/guestfs.pod:2420 msgid "" "A new stable branch starts when we think the new features in development are " "substantial and compelling enough over the current stable branch to warrant " @@ -4593,17 +4592,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2429 +#: ../src/guestfs.pod:2428 msgid "EXTENDING LIBGUESTFS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2431 +#: ../src/guestfs.pod:2430 msgid "ADDING A NEW API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2433 +#: ../src/guestfs.pod:2432 msgid "" "Large amounts of boilerplate code in libguestfs (RPC, bindings, " "documentation) are generated, and this makes it easy to extend the " @@ -4611,19 +4610,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2437 +#: ../src/guestfs.pod:2436 msgid "To add a new API action there are two changes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2443 +#: ../src/guestfs.pod:2442 msgid "" "You need to add a description of the call (name, parameters, return type, " "tests, documentation) to C<generator/generator_actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2446 +#: ../src/guestfs.pod:2445 msgid "" "There are two sorts of API action, depending on whether the call goes " "through to the daemon in the appliance, or is serviced entirely by the " @@ -4634,7 +4633,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2454 +#: ../src/guestfs.pod:2453 msgid "" "Most new actions are of the first type, and get added to the " "C<daemon_functions> list. Each function has a unique procedure number used " @@ -4644,7 +4643,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2460 +#: ../src/guestfs.pod:2459 msgid "" "For library-only actions of the second type, add to the " "C<non_daemon_functions> list. Since these functions are serviced by the " @@ -4654,36 +4653,36 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2468 +#: ../src/guestfs.pod:2467 msgid "Implement the action (in C):" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2470 +#: ../src/guestfs.pod:2469 msgid "" "For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the " "C<daemon/> directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2473 +#: ../src/guestfs.pod:2472 msgid "" "For library actions, implement the function C<guestfs__E<lt>nameE<gt>> " "(note: double underscore) in the C<src/> directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2476 +#: ../src/guestfs.pod:2475 msgid "In either case, use another function as an example of what to do." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2480 +#: ../src/guestfs.pod:2479 msgid "After making these changes, use C<make> to compile." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2482 +#: ../src/guestfs.pod:2481 msgid "" "Note that you don't need to implement the RPC, language bindings, manual " "pages or anything else. It's all automatically generated from the OCaml " @@ -4691,12 +4690,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2486 +#: ../src/guestfs.pod:2485 msgid "ADDING TESTS FOR AN API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2488 +#: ../src/guestfs.pod:2487 msgid "" "You can supply zero or as many tests as you want per API call. The tests " "can either be added as part of the API description " @@ -4706,61 +4705,61 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2494 +#: ../src/guestfs.pod:2493 msgid "" "The following describes the test environment used when you add an API test " "in C<generator_actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2497 +#: ../src/guestfs.pod:2496 msgid "The test environment has 4 block devices:" msgstr "" #. type: =item -#: ../src/guestfs.pod:2501 +#: ../src/guestfs.pod:2500 msgid "C</dev/sda> 500MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2503 +#: ../src/guestfs.pod:2502 msgid "General block device for testing." msgstr "" #. type: =item -#: ../src/guestfs.pod:2505 +#: ../src/guestfs.pod:2504 msgid "C</dev/sdb> 50MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2507 +#: ../src/guestfs.pod:2506 msgid "" "C</dev/sdb1> is an ext2 filesystem used for testing filesystem write " "operations." msgstr "" #. type: =item -#: ../src/guestfs.pod:2510 +#: ../src/guestfs.pod:2509 msgid "C</dev/sdc> 10MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2512 +#: ../src/guestfs.pod:2511 msgid "Used in a few tests where two block devices are needed." msgstr "" #. type: =item -#: ../src/guestfs.pod:2514 +#: ../src/guestfs.pod:2513 msgid "C</dev/sdd>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2516 +#: ../src/guestfs.pod:2515 msgid "ISO with fixed content (see C<images/test.iso>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2520 +#: ../src/guestfs.pod:2519 msgid "" "To be able to run the tests in a reasonable amount of time, the libguestfs " "appliance and block devices are reused between tests. So don't try testing " @@ -4768,7 +4767,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2524 +#: ../src/guestfs.pod:2523 msgid "" "Each test starts with an initial scenario, selected using one of the " "C<Init*> expressions, described in C<generator/generator_types.ml>. These " @@ -4778,7 +4777,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2530 +#: ../src/guestfs.pod:2529 msgid "" "You can add a prerequisite clause to any individual test. This is a " "run-time check, which, if it fails, causes the test to be skipped. Useful " @@ -4788,14 +4787,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2536 +#: ../src/guestfs.pod:2535 msgid "" "In addition, packagers can skip individual tests by setting environment " "variables before running C<make check>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2539 +#: ../src/guestfs.pod:2538 #, no-wrap msgid "" " SKIP_TEST_<CMD>_<NUM>=1\n" @@ -4803,17 +4802,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2541 +#: ../src/guestfs.pod:2540 msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2543 +#: ../src/guestfs.pod:2542 msgid "or:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2545 +#: ../src/guestfs.pod:2544 #, no-wrap msgid "" " SKIP_TEST_<CMD>=1\n" @@ -4821,17 +4820,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2547 +#: ../src/guestfs.pod:2546 msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2549 +#: ../src/guestfs.pod:2548 msgid "Packagers can run only certain tests by setting for example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2551 +#: ../src/guestfs.pod:2550 #, no-wrap msgid "" " TEST_ONLY=\"vfs_type zerofree\"\n" @@ -4839,29 +4838,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2553 +#: ../src/guestfs.pod:2552 msgid "" "See C<capitests/tests.c> for more details of how these environment variables " "work." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2556 +#: ../src/guestfs.pod:2555 msgid "DEBUGGING NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2558 +#: ../src/guestfs.pod:2557 msgid "Test new actions work before submitting them." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2560 +#: ../src/guestfs.pod:2559 msgid "You can use guestfish to try out new commands." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2562 +#: ../src/guestfs.pod:2561 msgid "" "Debugging the daemon is a problem because it runs inside a minimal " "environment. However you can fprintf messages in the daemon to stderr, and " @@ -4869,12 +4868,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2566 +#: ../src/guestfs.pod:2565 msgid "FORMATTING CODE AND OTHER CONVENTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2568 +#: ../src/guestfs.pod:2567 msgid "" "Our C source code generally adheres to some basic code-formatting " "conventions. The existing code base is not totally consistent on this " @@ -4884,14 +4883,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2574 +#: ../src/guestfs.pod:2573 msgid "" "If you use Emacs, add the following to one of one of your start-up files " "(e.g., ~/.emacs), to help ensure that you get indentation right:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2577 +#: ../src/guestfs.pod:2576 #, no-wrap msgid "" " ;;; In libguestfs, indent with spaces everywhere (not TABs).\n" @@ -4907,7 +4906,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2587 +#: ../src/guestfs.pod:2586 #, no-wrap msgid "" " ;;; When editing C sources in libguestfs, use this style.\n" @@ -4925,12 +4924,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2599 +#: ../src/guestfs.pod:2598 msgid "Enable warnings when compiling (and fix any problems this finds):" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2602 +#: ../src/guestfs.pod:2601 #, no-wrap msgid "" " ./configure --enable-gcc-warnings\n" @@ -4938,12 +4937,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2604 +#: ../src/guestfs.pod:2603 msgid "Useful targets are:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2606 +#: ../src/guestfs.pod:2605 #, no-wrap msgid "" " make syntax-check # checks the syntax of the C code\n" @@ -4952,48 +4951,48 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2609 +#: ../src/guestfs.pod:2608 msgid "DAEMON CUSTOM PRINTF FORMATTERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2611 +#: ../src/guestfs.pod:2610 msgid "" "In the daemon code we have created custom printf formatters C<%Q> and C<%R>, " "which are used to do shell quoting." msgstr "" #. type: =item -#: ../src/guestfs.pod:2616 +#: ../src/guestfs.pod:2615 msgid "%Q" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2618 +#: ../src/guestfs.pod:2617 msgid "" "Simple shell quoted string. Any spaces or other shell characters are " "escaped for you." msgstr "" #. type: =item -#: ../src/guestfs.pod:2621 +#: ../src/guestfs.pod:2620 msgid "%R" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2623 +#: ../src/guestfs.pod:2622 msgid "" "Same as C<%Q> except the string is treated as a path which is prefixed by " "the sysroot." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2628 ../fish/guestfish.pod:240 ../fish/guestfish.pod:613 +#: ../src/guestfs.pod:2627 ../fish/guestfish.pod:240 ../fish/guestfish.pod:613 msgid "For example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2630 +#: ../src/guestfs.pod:2629 #, no-wrap msgid "" " asprintf (&cmd, \"cat %R\", path);\n" @@ -5001,12 +5000,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2632 +#: ../src/guestfs.pod:2631 msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2634 +#: ../src/guestfs.pod:2633 msgid "" "I<Note:> Do I<not> use these when you are passing parameters to the " "C<command{,r,v,rv}()> functions. These parameters do NOT need to be quoted " @@ -5015,12 +5014,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2640 +#: ../src/guestfs.pod:2639 msgid "SUBMITTING YOUR NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2642 +#: ../src/guestfs.pod:2641 msgid "" "Submit patches to the mailing list: " "L<http://www.redhat.com/mailman/listinfo/libguestfs> and CC to " @@ -5028,17 +5027,17 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2646 +#: ../src/guestfs.pod:2645 msgid "INTERNATIONALIZATION (I18N) SUPPORT" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2648 +#: ../src/guestfs.pod:2647 msgid "We support i18n (gettext anyhow) in the library." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2650 +#: ../src/guestfs.pod:2649 msgid "" "However many messages come from the daemon, and we don't translate those at " "the moment. One reason is that the appliance generally has all locale files " @@ -5047,98 +5046,98 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2656 +#: ../src/guestfs.pod:2655 msgid "" "Debugging messages are never translated, since they are intended for the " "programmers." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2659 +#: ../src/guestfs.pod:2658 msgid "SOURCE CODE SUBDIRECTORIES" msgstr "" #. type: =item -#: ../src/guestfs.pod:2663 ../src/guestfs-actions.pod:5806 ../fish/guestfish-actions.pod:3900 +#: ../src/guestfs.pod:2662 ../src/guestfs-actions.pod:5806 ../fish/guestfish-actions.pod:3900 msgid "C<appliance>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2665 +#: ../src/guestfs.pod:2664 msgid "The libguestfs appliance, build scripts and so on." msgstr "" #. type: =item -#: ../src/guestfs.pod:2667 +#: ../src/guestfs.pod:2666 msgid "C<capitests>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2669 +#: ../src/guestfs.pod:2668 msgid "Automated tests of the C API." msgstr "" #. type: =item -#: ../src/guestfs.pod:2671 +#: ../src/guestfs.pod:2670 msgid "C<cat>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2673 +#: ../src/guestfs.pod:2672 msgid "" "The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and " "documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:2676 +#: ../src/guestfs.pod:2675 msgid "C<contrib>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2678 +#: ../src/guestfs.pod:2677 msgid "Outside contributions, experimental parts." msgstr "" #. type: =item -#: ../src/guestfs.pod:2680 +#: ../src/guestfs.pod:2679 msgid "C<daemon>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2682 +#: ../src/guestfs.pod:2681 msgid "" "The daemon that runs inside the libguestfs appliance and carries out " "actions." msgstr "" #. type: =item -#: ../src/guestfs.pod:2685 +#: ../src/guestfs.pod:2684 msgid "C<df>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2687 +#: ../src/guestfs.pod:2686 msgid "L<virt-df(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:2689 +#: ../src/guestfs.pod:2688 msgid "C<examples>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2691 +#: ../src/guestfs.pod:2690 msgid "C API example code." msgstr "" #. type: =item -#: ../src/guestfs.pod:2693 +#: ../src/guestfs.pod:2692 msgid "C<fish>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2695 +#: ../src/guestfs.pod:2694 msgid "" "L<guestfish(1)>, the command-line shell, and various shell scripts built on " "top such as L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-tar-in(1)>, " @@ -5146,89 +5145,89 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2699 +#: ../src/guestfs.pod:2698 msgid "C<fuse>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2701 +#: ../src/guestfs.pod:2700 msgid "L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:2703 +#: ../src/guestfs.pod:2702 msgid "C<generator>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2705 +#: ../src/guestfs.pod:2704 msgid "" "The crucially important generator, used to automatically generate large " "amounts of boilerplate C code for things like RPC and bindings." msgstr "" #. type: =item -#: ../src/guestfs.pod:2708 +#: ../src/guestfs.pod:2707 msgid "C<images>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2710 +#: ../src/guestfs.pod:2709 msgid "Files used by the test suite." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2712 +#: ../src/guestfs.pod:2711 msgid "Some \"phony\" guest images which we test against." msgstr "" #. type: =item -#: ../src/guestfs.pod:2714 +#: ../src/guestfs.pod:2713 msgid "C<inspector>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2716 +#: ../src/guestfs.pod:2715 msgid "L<virt-inspector(1)>, the virtual machine image inspector." msgstr "" #. type: =item -#: ../src/guestfs.pod:2718 +#: ../src/guestfs.pod:2717 msgid "C<logo>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2720 +#: ../src/guestfs.pod:2719 msgid "Logo used on the website. The fish is called Arthur by the way." msgstr "" #. type: =item -#: ../src/guestfs.pod:2722 +#: ../src/guestfs.pod:2721 msgid "C<m4>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2724 +#: ../src/guestfs.pod:2723 msgid "M4 macros used by autoconf." msgstr "" #. type: =item -#: ../src/guestfs.pod:2726 +#: ../src/guestfs.pod:2725 msgid "C<po>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2728 +#: ../src/guestfs.pod:2727 msgid "Translations of simple gettext strings." msgstr "" #. type: =item -#: ../src/guestfs.pod:2730 +#: ../src/guestfs.pod:2729 msgid "C<po-docs>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2732 +#: ../src/guestfs.pod:2731 msgid "" "The build infrastructure and PO files for translations of manpages and POD " "files. Eventually this will be combined with the C<po> directory, but that " @@ -5236,141 +5235,141 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2736 +#: ../src/guestfs.pod:2735 msgid "C<regressions>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2738 +#: ../src/guestfs.pod:2737 msgid "Regression tests." msgstr "" #. type: =item -#: ../src/guestfs.pod:2740 +#: ../src/guestfs.pod:2739 msgid "C<rescue>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2742 +#: ../src/guestfs.pod:2741 msgid "L<virt-rescue(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:2744 +#: ../src/guestfs.pod:2743 msgid "C<src>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2746 +#: ../src/guestfs.pod:2745 msgid "Source code to the C library." msgstr "" #. type: =item -#: ../src/guestfs.pod:2748 +#: ../src/guestfs.pod:2747 msgid "C<tools>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2750 +#: ../src/guestfs.pod:2749 msgid "Command line tools written in Perl (L<virt-resize(1)> and many others)." msgstr "" #. type: =item -#: ../src/guestfs.pod:2752 +#: ../src/guestfs.pod:2751 msgid "C<test-tool>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2754 +#: ../src/guestfs.pod:2753 msgid "" "Test tool for end users to test if their qemu/kernel combination will work " "with libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:2757 +#: ../src/guestfs.pod:2756 msgid "C<csharp>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2759 +#: ../src/guestfs.pod:2758 msgid "C<haskell>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2761 +#: ../src/guestfs.pod:2760 msgid "C<java>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2763 +#: ../src/guestfs.pod:2762 msgid "C<ocaml>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2765 +#: ../src/guestfs.pod:2764 msgid "C<php>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2767 +#: ../src/guestfs.pod:2766 msgid "C<perl>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2769 +#: ../src/guestfs.pod:2768 msgid "C<python>" msgstr "" #. type: =item -#: ../src/guestfs.pod:2771 +#: ../src/guestfs.pod:2770 msgid "C<ruby>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2773 +#: ../src/guestfs.pod:2772 msgid "Language bindings." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2777 ../fish/guestfish.pod:1010 ../test-tool/libguestfs-test-tool.pod:82 ../tools/virt-edit.pl:476 +#: ../src/guestfs.pod:2776 ../fish/guestfish.pod:1015 ../test-tool/libguestfs-test-tool.pod:82 ../tools/virt-edit.pl:476 msgid "ENVIRONMENT VARIABLES" msgstr "" #. type: =item -#: ../src/guestfs.pod:2781 ../fish/guestfish.pod:1036 +#: ../src/guestfs.pod:2780 ../fish/guestfish.pod:1041 msgid "LIBGUESTFS_APPEND" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2783 ../fish/guestfish.pod:1038 +#: ../src/guestfs.pod:2782 ../fish/guestfish.pod:1043 msgid "Pass additional options to the guest kernel." msgstr "" #. type: =item -#: ../src/guestfs.pod:2785 ../fish/guestfish.pod:1040 +#: ../src/guestfs.pod:2784 ../fish/guestfish.pod:1045 msgid "LIBGUESTFS_DEBUG" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2787 +#: ../src/guestfs.pod:2786 msgid "" "Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages. This has the same " "effect as calling C<guestfs_set_verbose (g, 1)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:2790 ../fish/guestfish.pod:1045 +#: ../src/guestfs.pod:2789 ../fish/guestfish.pod:1050 msgid "LIBGUESTFS_MEMSIZE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2792 ../fish/guestfish.pod:1047 +#: ../src/guestfs.pod:2791 ../fish/guestfish.pod:1052 msgid "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2795 ../fish/guestfish.pod:1050 +#: ../src/guestfs.pod:2794 ../fish/guestfish.pod:1055 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -5378,60 +5377,60 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2797 ../fish/guestfish.pod:1052 +#: ../src/guestfs.pod:2796 ../fish/guestfish.pod:1057 msgid "LIBGUESTFS_PATH" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2799 +#: ../src/guestfs.pod:2798 msgid "" "Set the path that libguestfs uses to search for a supermin appliance. See " "the discussion of paths in section L</PATH> above." msgstr "" #. type: =item -#: ../src/guestfs.pod:2802 ../fish/guestfish.pod:1057 +#: ../src/guestfs.pod:2801 ../fish/guestfish.pod:1062 msgid "LIBGUESTFS_QEMU" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2804 ../fish/guestfish.pod:1059 +#: ../src/guestfs.pod:2803 ../fish/guestfish.pod:1064 msgid "" "Set the default qemu binary that libguestfs uses. If not set, then the qemu " "which was found at compile time by the configure script is used." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2808 +#: ../src/guestfs.pod:2807 msgid "See also L</QEMU WRAPPERS> above." msgstr "" #. type: =item -#: ../src/guestfs.pod:2810 ../fish/guestfish.pod:1063 +#: ../src/guestfs.pod:2809 ../fish/guestfish.pod:1068 msgid "LIBGUESTFS_TRACE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2812 +#: ../src/guestfs.pod:2811 msgid "" "Set C<LIBGUESTFS_TRACE=1> to enable command traces. This has the same " "effect as calling C<guestfs_set_trace (g, 1)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:2815 ../fish/guestfish.pod:1072 +#: ../src/guestfs.pod:2814 ../fish/guestfish.pod:1077 msgid "TMPDIR" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2817 ../fish/guestfish.pod:1074 +#: ../src/guestfs.pod:2816 ../fish/guestfish.pod:1079 msgid "" "Location of temporary directory, defaults to C</tmp> except for the cached " "supermin appliance which defaults to C</var/tmp>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2820 ../fish/guestfish.pod:1077 +#: ../src/guestfs.pod:2819 ../fish/guestfish.pod:1082 msgid "" "If libguestfs was compiled to use the supermin appliance then the real " "appliance is cached in this directory, shared between all handles belonging " @@ -5440,12 +5439,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2828 ../fish/guestfish.pod:1144 ../test-tool/libguestfs-test-tool.pod:87 ../fuse/guestmount.pod:267 ../tools/virt-edit.pl:496 ../tools/virt-win-reg.pl:572 ../tools/virt-list-filesystems.pl:189 ../tools/virt-tar.pl:286 ../tools/virt-make-fs.pl:539 ../tools/virt-list-partitions.pl:257 +#: ../src/guestfs.pod:2827 ../fish/guestfish.pod:1149 ../test-tool/libguestfs-test-tool.pod:87 ../fuse/guestmount.pod:267 ../tools/virt-edit.pl:496 ../tools/virt-win-reg.pl:572 ../tools/virt-list-filesystems.pl:189 ../tools/virt-tar.pl:286 ../tools/virt-make-fs.pl:539 ../tools/virt-list-partitions.pl:257 msgid "SEE ALSO" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2830 +#: ../src/guestfs.pod:2829 msgid "" "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)>, " @@ -5458,86 +5457,86 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2857 +#: ../src/guestfs.pod:2856 msgid "" "Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, " "L<lvm(8)>, L<disktype(1)>." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2864 ../tools/virt-win-reg.pl:587 ../tools/virt-make-fs.pl:553 +#: ../src/guestfs.pod:2863 ../tools/virt-win-reg.pl:587 ../tools/virt-make-fs.pl:553 msgid "BUGS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2866 +#: ../src/guestfs.pod:2865 msgid "To get a list of bugs against libguestfs use this link:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2868 +#: ../src/guestfs.pod:2867 msgid "L<https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2870 +#: ../src/guestfs.pod:2869 msgid "To report a new bug against libguestfs use this link:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2872 +#: ../src/guestfs.pod:2871 msgid "L<https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2874 +#: ../src/guestfs.pod:2873 msgid "When reporting a bug, please check:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2880 +#: ../src/guestfs.pod:2879 msgid "That the bug hasn't been reported already." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2884 +#: ../src/guestfs.pod:2883 msgid "That you are testing a recent version." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2888 +#: ../src/guestfs.pod:2887 msgid "Describe the bug accurately, and give a way to reproduce it." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2892 +#: ../src/guestfs.pod:2891 msgid "" "Run libguestfs-test-tool and paste the B<complete, unedited> output into the " "bug report." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2897 ../fish/guestfish.pod:1167 ../test-tool/libguestfs-test-tool.pod:93 ../fuse/guestmount.pod:278 +#: ../src/guestfs.pod:2896 ../fish/guestfish.pod:1172 ../test-tool/libguestfs-test-tool.pod:93 ../fuse/guestmount.pod:278 msgid "AUTHORS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2899 ../fish/guestfish.pod:1169 ../test-tool/libguestfs-test-tool.pod:95 ../fuse/guestmount.pod:280 +#: ../src/guestfs.pod:2898 ../fish/guestfish.pod:1174 ../test-tool/libguestfs-test-tool.pod:95 ../fuse/guestmount.pod:280 msgid "Richard W.M. Jones (C<rjones at redhat dot com>)" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2901 ../fish/guestfish.pod:1171 ../test-tool/libguestfs-test-tool.pod:97 ../fuse/guestmount.pod:282 ../tools/virt-edit.pl:514 ../tools/virt-win-reg.pl:602 ../tools/virt-list-filesystems.pl:206 ../tools/virt-tar.pl:305 ../tools/virt-make-fs.pl:568 ../tools/virt-list-partitions.pl:273 +#: ../src/guestfs.pod:2900 ../fish/guestfish.pod:1176 ../test-tool/libguestfs-test-tool.pod:97 ../fuse/guestmount.pod:282 ../tools/virt-edit.pl:514 ../tools/virt-win-reg.pl:602 ../tools/virt-list-filesystems.pl:206 ../tools/virt-tar.pl:305 ../tools/virt-make-fs.pl:568 ../tools/virt-list-partitions.pl:273 msgid "COPYRIGHT" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2903 ../fish/guestfish.pod:1173 ../test-tool/libguestfs-test-tool.pod:99 +#: ../src/guestfs.pod:2902 ../fish/guestfish.pod:1178 ../test-tool/libguestfs-test-tool.pod:99 msgid "Copyright (C) 2009-2011 Red Hat Inc. L<http://libguestfs.org/>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2906 +#: ../src/guestfs.pod:2905 msgid "" "This library is free software; you can redistribute it and/or modify it " "under the terms of the GNU Lesser General Public License as published by the " @@ -5546,7 +5545,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2911 +#: ../src/guestfs.pod:2910 msgid "" "This library is distributed in the hope that it will be useful, but WITHOUT " "ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " @@ -5555,7 +5554,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2916 +#: ../src/guestfs.pod:2915 msgid "" "You should have received a copy of the GNU Lesser General Public License " "along with this library; if not, write to the Free Software Foundation, " @@ -18566,7 +18565,7 @@ msgid "" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:942 ../fuse/guestmount.pod:39 ../tools/virt-edit.pl:63 ../tools/virt-tar.pl:50 +#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:947 ../fuse/guestmount.pod:39 ../tools/virt-edit.pl:63 ../tools/virt-tar.pl:50 msgid "EXAMPLES" msgstr "" @@ -18801,7 +18800,7 @@ msgid "To list what is available do:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:933 +#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:938 #, no-wrap msgid "" " guestfish -N help | less\n" @@ -20313,12 +20312,13 @@ msgstr "" #. type: textblock #: ../fish/guestfish.pod:800 msgid "" -"If a path is prefixed with C<win:> then you can use Windows-style paths " -"(with some limitations). The following commands are equivalent:" +"If a path is prefixed with C<win:> then you can use Windows-style drive " +"letters and paths (with some limitations). The following commands are " +"equivalent:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:803 +#: ../fish/guestfish.pod:804 #, no-wrap msgid "" " file /WINDOWS/system32/config/system.LOG\n" @@ -20326,44 +20326,51 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:805 +#: ../fish/guestfish.pod:806 #, no-wrap msgid "" -" file win:/windows/system32/config/system.log\n" +" file win:\\windows\\system32\\config\\system.log\n" "\n" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:807 +#: ../fish/guestfish.pod:808 #, no-wrap msgid "" -" file win:\\windows\\system32\\config\\system.log\n" +" file WIN:C:\\Windows\\SYSTEM32\\CONFIG\\SYSTEM.LOG\n" "\n" msgstr "" +#. type: textblock +#: ../fish/guestfish.pod:810 +msgid "" +"The parameter is rewritten \"behind the scenes\" by looking up the position " +"where the drive is mounted, prepending that to the path, changing all " +"backslash characters to forward slash, then resolving the result using " +"L</case-sensitive-path>. For example if the E: drive was mounted on C</e> " +"then the parameter might be rewritten like this:" +msgstr "" + #. type: verbatim -#: ../fish/guestfish.pod:809 +#: ../fish/guestfish.pod:816 #, no-wrap msgid "" -" file WIN:C:\\Windows\\SYSTEM32\\conFIG\\SYSTEM.LOG\n" +" win:e:\\foo\\bar => /e/FOO/bar\n" "\n" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:811 -msgid "" -"This syntax implicitly calls C<case-sensitive-path> (q.v.) so it also " -"handles case insensitivity like Windows would. This only works in argument " -"positions that expect a path." +#: ../fish/guestfish.pod:818 +msgid "This only works in argument positions that expect a path." msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:815 +#: ../fish/guestfish.pod:820 msgid "UPLOADING AND DOWNLOADING FILES" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:817 +#: ../fish/guestfish.pod:822 msgid "" "For commands such as C<upload>, C<download>, C<tar-in>, C<tar-out> and " "others which upload from or download to a local file, you can use the " @@ -20371,7 +20378,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:821 +#: ../fish/guestfish.pod:826 #, no-wrap msgid "" " upload - /foo\n" @@ -20379,12 +20386,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:823 +#: ../fish/guestfish.pod:828 msgid "reads stdin and creates from that a file C</foo> in the disk image, and:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:826 +#: ../fish/guestfish.pod:831 #, no-wrap msgid "" " tar-out /etc - | tar tf -\n" @@ -20392,14 +20399,14 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:828 +#: ../fish/guestfish.pod:833 msgid "" "writes the tarball to stdout and then pipes that into the external \"tar\" " "command (see L</PIPES>)." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:831 +#: ../fish/guestfish.pod:836 msgid "" "When using C<-> to read from stdin, the input is read up to the end of " "stdin. You can also use a special \"heredoc\"-like syntax to read up to " @@ -20407,7 +20414,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:835 +#: ../fish/guestfish.pod:840 #, no-wrap msgid "" " upload -<<END /foo\n" @@ -20419,7 +20426,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:841 +#: ../fish/guestfish.pod:846 msgid "" "Any string of characters can be used instead of C<END>. The end marker must " "appear on a line of its own, without any preceeding or following characters " @@ -20427,19 +20434,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:845 +#: ../fish/guestfish.pod:850 msgid "" "Note that the C<-E<lt>E<lt>> syntax only applies to parameters used to " "upload local files (so-called \"FileIn\" parameters in the generator)." msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:848 +#: ../fish/guestfish.pod:853 msgid "EXIT ON ERROR BEHAVIOUR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:850 +#: ../fish/guestfish.pod:855 msgid "" "By default, guestfish will ignore any errors when in interactive mode " "(ie. taking commands from a human over a tty), and will exit on the first " @@ -20447,19 +20454,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:855 +#: ../fish/guestfish.pod:860 msgid "" "If you prefix a command with a I<-> character, then that command will not " "cause guestfish to exit, even if that (one) command returns an error." msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:859 +#: ../fish/guestfish.pod:864 msgid "REMOTE CONTROL GUESTFISH OVER A SOCKET" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:861 +#: ../fish/guestfish.pod:866 msgid "" "Guestfish can be remote-controlled over a socket. This is useful " "particularly in shell scripts where you want to make several different " @@ -20468,12 +20475,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:866 +#: ../fish/guestfish.pod:871 msgid "Start a guestfish server process using:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:868 +#: ../fish/guestfish.pod:873 #, no-wrap msgid "" " eval \"`guestfish --listen`\"\n" @@ -20481,12 +20488,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:870 +#: ../fish/guestfish.pod:875 msgid "and then send it commands by doing:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:872 +#: ../fish/guestfish.pod:877 #, no-wrap msgid "" " guestfish --remote cmd [...]\n" @@ -20494,12 +20501,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:874 +#: ../fish/guestfish.pod:879 msgid "To cause the server to exit, send it the exit command:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:876 +#: ../fish/guestfish.pod:881 #, no-wrap msgid "" " guestfish --remote exit\n" @@ -20507,7 +20514,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:878 +#: ../fish/guestfish.pod:883 msgid "" "Note that the server will normally exit if there is an error in a command. " "You can change this in the usual way. See section L</EXIT ON ERROR " @@ -20515,12 +20522,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:882 +#: ../fish/guestfish.pod:887 msgid "CONTROLLING MULTIPLE GUESTFISH PROCESSES" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:884 +#: ../fish/guestfish.pod:889 msgid "" "The C<eval> statement sets the environment variable C<$GUESTFISH_PID>, which " "is how the I<--remote> option knows where to send the commands. You can " @@ -20528,7 +20535,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:888 +#: ../fish/guestfish.pod:893 #, no-wrap msgid "" " eval \"`guestfish --listen`\"\n" @@ -20542,19 +20549,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:896 +#: ../fish/guestfish.pod:901 msgid "REMOTE CONTROL AND CSH" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:898 +#: ../fish/guestfish.pod:903 msgid "" "When using csh-like shells (csh, tcsh etc) you have to add the I<--csh> " "option:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:901 +#: ../fish/guestfish.pod:906 #, no-wrap msgid "" " eval \"`guestfish --listen --csh`\"\n" @@ -20562,12 +20569,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:903 +#: ../fish/guestfish.pod:908 msgid "REMOTE CONTROL DETAILS" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:905 +#: ../fish/guestfish.pod:910 msgid "" "Remote control happens over a Unix domain socket called " "C</tmp/.guestfish-$UID/socket-$PID>, where C<$UID> is the effective user ID " @@ -20575,17 +20582,17 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:909 +#: ../fish/guestfish.pod:914 msgid "Guestfish client and server versions must match exactly." msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:911 +#: ../fish/guestfish.pod:916 msgid "PREPARED DISK IMAGES" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:913 +#: ../fish/guestfish.pod:918 msgid "" "Use the I<-N type> or I<--new type> parameter to select one of a set of " "preformatted disk images that guestfish can make for you to save typing. " @@ -20595,7 +20602,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:919 +#: ../fish/guestfish.pod:924 msgid "" "The new disk is called C<test1.img> for the first I<-N>, C<test2.img> for " "the second and so on. Existing files in the current directory are " @@ -20603,7 +20610,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:923 +#: ../fish/guestfish.pod:928 msgid "" "The type briefly describes how the disk should be sized, partitioned, how " "filesystem(s) should be created, and how content should be added. " @@ -20615,31 +20622,31 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:931 +#: ../fish/guestfish.pod:936 msgid "To list the available types and any extra parameters they take, run:" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:935 +#: ../fish/guestfish.pod:940 msgid "" "Note that the prepared filesystem is not mounted. You would usually have to " "use the C<mount /dev/sda1 /> command or add the I<-m /dev/sda1> option." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:939 +#: ../fish/guestfish.pod:944 msgid "" "If any I<-N> or I<--new> options are given, the guest is automatically " "launched." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:944 +#: ../fish/guestfish.pod:949 msgid "Create a 100MB disk with an ext4-formatted partition:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:946 +#: ../fish/guestfish.pod:951 #, no-wrap msgid "" " guestfish -N fs:ext4\n" @@ -20647,12 +20654,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:948 +#: ../fish/guestfish.pod:953 msgid "Create a 32MB disk with a VFAT-formatted partition, and mount it:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:950 +#: ../fish/guestfish.pod:955 #, no-wrap msgid "" " guestfish -N fs:vfat:32M -m /dev/sda1\n" @@ -20660,12 +20667,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:952 +#: ../fish/guestfish.pod:957 msgid "Create a blank 200MB disk:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:954 +#: ../fish/guestfish.pod:959 #, no-wrap msgid "" " guestfish -N disk:200M\n" @@ -20673,19 +20680,19 @@ msgid "" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:956 +#: ../fish/guestfish.pod:961 msgid "PROGRESS BARS" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:958 +#: ../fish/guestfish.pod:963 msgid "" "Some (not all) long-running commands send progress notification messages as " "they are running. Guestfish turns these messages into progress bars." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:962 +#: ../fish/guestfish.pod:967 msgid "" "When a command that supports progress bars takes longer than two seconds to " "run, and if progress bars are enabled, then you will see one appearing below " @@ -20693,7 +20700,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:966 +#: ../fish/guestfish.pod:971 #, no-wrap msgid "" " ><fs> copy-size /large-file /another-file 2048M\n" @@ -20702,7 +20709,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:969 +#: ../fish/guestfish.pod:974 msgid "" "The spinner on the left hand side moves round once for every progress " "notification received from the backend. This is a (reasonably) golden " @@ -20713,7 +20720,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:976 +#: ../fish/guestfish.pod:981 msgid "" "Progress bars are enabled by default when guestfish is used interactively. " "You can enable them even for non-interactive modes using I<--progress-bars>, " @@ -20721,24 +20728,24 @@ msgid "" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:981 +#: ../fish/guestfish.pod:986 msgid "GUESTFISH COMMANDS" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:983 +#: ../fish/guestfish.pod:988 msgid "" "The commands in this section are guestfish convenience commands, in other " "words, they are not part of the L<guestfs(3)> API." msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:986 +#: ../fish/guestfish.pod:991 msgid "help" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:988 +#: ../fish/guestfish.pod:993 #, no-wrap msgid "" " help\n" @@ -20747,177 +20754,177 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:991 +#: ../fish/guestfish.pod:996 msgid "Without any parameter, this provides general help." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:993 +#: ../fish/guestfish.pod:998 msgid "With a C<cmd> parameter, this displays detailed help for that command." msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:995 +#: ../fish/guestfish.pod:1000 msgid "quit | exit" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:997 +#: ../fish/guestfish.pod:1002 msgid "This exits guestfish. You can also use C<^D> key." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:999 +#: ../fish/guestfish.pod:1004 msgid "@FISH_COMMANDS@" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:1001 +#: ../fish/guestfish.pod:1006 msgid "COMMANDS" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:1005 ../test-tool/libguestfs-test-tool.pod:77 +#: ../fish/guestfish.pod:1010 ../test-tool/libguestfs-test-tool.pod:77 msgid "EXIT CODE" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1007 +#: ../fish/guestfish.pod:1012 msgid "" "guestfish returns 0 if the commands completed without error, or 1 if there " "was an error." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1014 +#: ../fish/guestfish.pod:1019 msgid "EDITOR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1016 +#: ../fish/guestfish.pod:1021 msgid "" "The C<edit> command uses C<$EDITOR> as the editor. If not set, it uses " "C<vi>." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1019 +#: ../fish/guestfish.pod:1024 msgid "GUESTFISH_PID" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1021 +#: ../fish/guestfish.pod:1026 msgid "" "Used with the I<--remote> option to specify the remote guestfish process to " "control. See section L</REMOTE CONTROL GUESTFISH OVER A SOCKET>." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1025 +#: ../fish/guestfish.pod:1030 msgid "HEXEDITOR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1027 +#: ../fish/guestfish.pod:1032 msgid "" "The L</hexedit> command uses C<$HEXEDITOR> as the external hex editor. If " "not specified, the external L<hexedit(1)> program is used." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1031 +#: ../fish/guestfish.pod:1036 msgid "HOME" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1033 +#: ../fish/guestfish.pod:1038 msgid "" "If compiled with GNU readline support, various files in the home directory " "can be used. See L</FILES>." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1042 +#: ../fish/guestfish.pod:1047 msgid "" "Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages. This has the same " "effect as using the B<-v> option." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1054 +#: ../fish/guestfish.pod:1059 msgid "" "Set the path that guestfish uses to search for kernel and initrd.img. See " "the discussion of paths in L<guestfs(3)>." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1065 +#: ../fish/guestfish.pod:1070 msgid "Set C<LIBGUESTFS_TRACE=1> to enable command traces." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1067 +#: ../fish/guestfish.pod:1072 msgid "PAGER" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1069 +#: ../fish/guestfish.pod:1074 msgid "" "The C<more> command uses C<$PAGER> as the pager. If not set, it uses " "C<more>." msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:1085 ../fuse/guestmount.pod:252 +#: ../fish/guestfish.pod:1090 ../fuse/guestmount.pod:252 msgid "FILES" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1089 ../fuse/guestmount.pod:256 +#: ../fish/guestfish.pod:1094 ../fuse/guestmount.pod:256 msgid "$HOME/.libguestfs-tools.rc" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1091 ../fuse/guestmount.pod:258 +#: ../fish/guestfish.pod:1096 ../fuse/guestmount.pod:258 msgid "/etc/libguestfs-tools.conf" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1093 ../fuse/guestmount.pod:260 +#: ../fish/guestfish.pod:1098 ../fuse/guestmount.pod:260 msgid "" "This configuration file controls the default read-only or read-write mode " "(I<--ro> or I<--rw>)." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1096 +#: ../fish/guestfish.pod:1101 msgid "See L</OPENING DISKS FOR READ AND WRITE>." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1098 +#: ../fish/guestfish.pod:1103 msgid "$HOME/.guestfish" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1100 +#: ../fish/guestfish.pod:1105 msgid "" "If compiled with GNU readline support, then the command history is saved in " "this file." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1103 +#: ../fish/guestfish.pod:1108 msgid "$HOME/.inputrc" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1105 +#: ../fish/guestfish.pod:1110 msgid "/etc/inputrc" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1107 +#: ../fish/guestfish.pod:1112 msgid "" "If compiled with GNU readline support, then these files can be used to " "configure readline. For further information, please see " @@ -20925,12 +20932,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1111 +#: ../fish/guestfish.pod:1116 msgid "To write rules which only apply to guestfish, use:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1113 +#: ../fish/guestfish.pod:1118 #, no-wrap msgid "" " $if guestfish\n" @@ -20940,26 +20947,26 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1117 +#: ../fish/guestfish.pod:1122 msgid "" "Variables that you can set in inputrc that change the behaviour of guestfish " "in useful ways include:" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1122 +#: ../fish/guestfish.pod:1127 msgid "completion-ignore-case (default: on)" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1124 +#: ../fish/guestfish.pod:1129 msgid "" "By default, guestfish will ignore case when tab-completing paths on the " "disk. Use:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1127 +#: ../fish/guestfish.pod:1132 #, no-wrap msgid "" " set completion-ignore-case off\n" @@ -20967,22 +20974,22 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1129 +#: ../fish/guestfish.pod:1134 msgid "to make guestfish case sensitive." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1133 +#: ../fish/guestfish.pod:1138 msgid "test1.img" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1135 +#: ../fish/guestfish.pod:1140 msgid "test2.img (etc)" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1137 +#: ../fish/guestfish.pod:1142 msgid "" "When using the C<-N> or C<--new> option, the prepared disk or filesystem " "will be created in the file C<test1.img> in the current directory. The " @@ -20991,7 +20998,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1146 +#: ../fish/guestfish.pod:1151 msgid "" "L<guestfs(3)>, L<http://libguestfs.org/>, L<virt-cat(1)>, " "L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-df(1)>, L<virt-edit(1)>, " @@ -21002,7 +21009,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1176 ../test-tool/libguestfs-test-tool.pod:102 ../fuse/guestmount.pod:287 ../tools/virt-edit.pl:518 ../tools/virt-win-reg.pl:606 ../tools/virt-list-filesystems.pl:210 ../tools/virt-tar.pl:309 ../tools/virt-make-fs.pl:572 ../tools/virt-list-partitions.pl:277 +#: ../fish/guestfish.pod:1181 ../test-tool/libguestfs-test-tool.pod:102 ../fuse/guestmount.pod:287 ../tools/virt-edit.pl:518 ../tools/virt-win-reg.pl:606 ../tools/virt-list-filesystems.pl:210 ../tools/virt-tar.pl:309 ../tools/virt-make-fs.pl:572 ../tools/virt-list-partitions.pl:277 msgid "" "This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " @@ -21011,7 +21018,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1181 ../test-tool/libguestfs-test-tool.pod:107 ../fuse/guestmount.pod:292 ../tools/virt-edit.pl:523 ../tools/virt-win-reg.pl:611 ../tools/virt-list-filesystems.pl:215 ../tools/virt-tar.pl:314 ../tools/virt-make-fs.pl:577 ../tools/virt-list-partitions.pl:282 +#: ../fish/guestfish.pod:1186 ../test-tool/libguestfs-test-tool.pod:107 ../fuse/guestmount.pod:292 ../tools/virt-edit.pl:523 ../tools/virt-win-reg.pl:611 ../tools/virt-list-filesystems.pl:215 ../tools/virt-tar.pl:314 ../tools/virt-make-fs.pl:577 ../tools/virt-list-partitions.pl:282 msgid "" "This program is distributed in the hope that it will be useful, but WITHOUT " "ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " @@ -21020,7 +21027,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1186 ../test-tool/libguestfs-test-tool.pod:112 ../fuse/guestmount.pod:297 ../tools/virt-edit.pl:528 ../tools/virt-win-reg.pl:616 ../tools/virt-list-filesystems.pl:220 ../tools/virt-tar.pl:319 ../tools/virt-make-fs.pl:582 ../tools/virt-list-partitions.pl:287 +#: ../fish/guestfish.pod:1191 ../test-tool/libguestfs-test-tool.pod:112 ../fuse/guestmount.pod:297 ../tools/virt-edit.pl:528 ../tools/virt-win-reg.pl:616 ../tools/virt-list-filesystems.pl:220 ../tools/virt-tar.pl:319 ../tools/virt-make-fs.pl:582 ../tools/virt-list-partitions.pl:287 msgid "" "You should have received a copy of the GNU General Public License along with " "this program; if not, write to the Free Software Foundation, Inc., 675 Mass " diff --git a/po-docs/uk.po b/po-docs/uk.po index 9f3f6316..bf296aab 100644 --- a/po-docs/uk.po +++ b/po-docs/uk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libguestfs\n" "Report-Msgid-Bugs-To: libguestfs@redhat.com\n" -"POT-Creation-Date: 2011-04-09 18:35+0200\n" +"POT-Creation-Date: 2011-04-12 20:14+0200\n" "PO-Revision-Date: 2011-04-01 15:39+0000\n" "Last-Translator: yurchor <yurchor@ukr.net>\n" "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n" @@ -854,18 +854,18 @@ msgstr "" #. type: =item #: ../src/guestfs.pod:388 ../src/guestfs.pod:393 ../src/guestfs.pod:398 #: ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411 -#: ../src/guestfs.pod:416 ../src/guestfs.pod:421 ../src/guestfs.pod:1088 -#: ../src/guestfs.pod:1092 ../src/guestfs.pod:1096 ../src/guestfs.pod:1101 -#: ../src/guestfs.pod:1109 ../src/guestfs.pod:1128 ../src/guestfs.pod:1136 -#: ../src/guestfs.pod:1158 ../src/guestfs.pod:1162 ../src/guestfs.pod:1166 -#: ../src/guestfs.pod:1170 ../src/guestfs.pod:1174 ../src/guestfs.pod:1178 -#: ../src/guestfs.pod:1660 ../src/guestfs.pod:1665 ../src/guestfs.pod:1669 -#: ../src/guestfs.pod:1770 ../src/guestfs.pod:1775 ../src/guestfs.pod:1779 -#: ../src/guestfs.pod:1789 ../src/guestfs.pod:2023 ../src/guestfs.pod:2028 -#: ../src/guestfs.pod:2034 ../src/guestfs.pod:2042 ../src/guestfs.pod:2396 -#: ../src/guestfs.pod:2402 ../src/guestfs.pod:2407 ../src/guestfs.pod:2413 -#: ../src/guestfs.pod:2878 ../src/guestfs.pod:2882 ../src/guestfs.pod:2886 -#: ../src/guestfs.pod:2890 ../src/guestfs-actions.pod:15 +#: ../src/guestfs.pod:416 ../src/guestfs.pod:421 ../src/guestfs.pod:1087 +#: ../src/guestfs.pod:1091 ../src/guestfs.pod:1095 ../src/guestfs.pod:1100 +#: ../src/guestfs.pod:1108 ../src/guestfs.pod:1127 ../src/guestfs.pod:1135 +#: ../src/guestfs.pod:1157 ../src/guestfs.pod:1161 ../src/guestfs.pod:1165 +#: ../src/guestfs.pod:1169 ../src/guestfs.pod:1173 ../src/guestfs.pod:1177 +#: ../src/guestfs.pod:1659 ../src/guestfs.pod:1664 ../src/guestfs.pod:1668 +#: ../src/guestfs.pod:1769 ../src/guestfs.pod:1774 ../src/guestfs.pod:1778 +#: ../src/guestfs.pod:1788 ../src/guestfs.pod:2022 ../src/guestfs.pod:2027 +#: ../src/guestfs.pod:2033 ../src/guestfs.pod:2041 ../src/guestfs.pod:2395 +#: ../src/guestfs.pod:2401 ../src/guestfs.pod:2406 ../src/guestfs.pod:2412 +#: ../src/guestfs.pod:2877 ../src/guestfs.pod:2881 ../src/guestfs.pod:2885 +#: ../src/guestfs.pod:2889 ../src/guestfs-actions.pod:15 #: ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:577 #: ../src/guestfs-actions.pod:585 ../src/guestfs-actions.pod:592 #: ../src/guestfs-actions.pod:599 ../src/guestfs-actions.pod:1600 @@ -1021,8 +1021,8 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:469 ../src/guestfs.pod:1281 ../src/guestfs.pod:1412 -#: ../src/guestfs.pod:2441 +#: ../src/guestfs.pod:469 ../src/guestfs.pod:1280 ../src/guestfs.pod:1411 +#: ../src/guestfs.pod:2440 msgid "1." msgstr "" @@ -1040,8 +1040,8 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:475 ../src/guestfs.pod:1285 ../src/guestfs.pod:1416 -#: ../src/guestfs.pod:2466 +#: ../src/guestfs.pod:475 ../src/guestfs.pod:1284 ../src/guestfs.pod:1415 +#: ../src/guestfs.pod:2465 msgid "2." msgstr "" @@ -1068,7 +1068,7 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:486 ../src/guestfs.pod:1422 +#: ../src/guestfs.pod:486 ../src/guestfs.pod:1421 msgid "3." msgstr "" @@ -1363,33 +1363,32 @@ msgstr "" #. type: textblock #: ../src/guestfs.pod:644 msgid "" -"Drive letter mappings are outside the scope of libguestfs. You have to use " -"libguestfs to read the appropriate Windows Registry and configuration files, " -"to determine yourself how drives are mapped (see also L<hivex(3)> and L<virt-" -"inspector(1)>)." +"Drive letter mappings can be found using inspection (see L</INSPECTION> and " +"L</guestfs_inspect_get_drive_mappings>)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:649 +#: ../src/guestfs.pod:647 msgid "" -"Replacing backslash characters with forward slash characters is also outside " -"the scope of libguestfs, but something that you can easily do." +"Dealing with separator characters (backslash vs forward slash) is outside " +"the scope of libguestfs, but usually a simple character replacement will " +"work." msgstr "" #. type: textblock -#: ../src/guestfs.pod:652 +#: ../src/guestfs.pod:651 msgid "" -"Where we can help is in resolving the case insensitivity of paths. For " -"this, call L</guestfs_case_sensitive_path>." +"To resolve the case insensitivity of paths, call L</" +"guestfs_case_sensitive_path>." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:655 +#: ../src/guestfs.pod:654 msgid "ACCESSING THE WINDOWS REGISTRY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:657 +#: ../src/guestfs.pod:656 msgid "" "Libguestfs also provides some help for decoding Windows Registry \"hive\" " "files, through the library C<hivex> which is part of the libguestfs project " @@ -1400,12 +1399,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:665 +#: ../src/guestfs.pod:664 msgid "SYMLINKS ON NTFS-3G FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:667 +#: ../src/guestfs.pod:666 msgid "" "Ntfs-3g tries to rewrite \"Junction Points\" and NTFS \"symbolic links\" to " "provide something which looks like a Linux symlink. The way it tries to do " @@ -1413,7 +1412,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:671 +#: ../src/guestfs.pod:670 msgid "" "L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-" "symbolic-links/>" @@ -1422,7 +1421,7 @@ msgstr "" "symbolic-links/>" #. type: textblock -#: ../src/guestfs.pod:673 +#: ../src/guestfs.pod:672 msgid "" "The essential problem is that ntfs-3g simply does not have enough " "information to do a correct job. NTFS links can contain drive letters and " @@ -1432,7 +1431,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:680 +#: ../src/guestfs.pod:679 msgid "" "Instead if you encounter a symbolic link on an ntfs-3g filesystem, use L</" "guestfs_lgetxattr> to read the C<system.ntfs_reparse_data> extended " @@ -1441,38 +1440,38 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:685 +#: ../src/guestfs.pod:684 msgid "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:687 +#: ../src/guestfs.pod:686 msgid "" "There are other useful extended attributes that can be read from ntfs-3g " "filesystems (using L</guestfs_getxattr>). See:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:690 +#: ../src/guestfs.pod:689 msgid "" "L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>" msgstr "" "L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>" #. type: =head2 -#: ../src/guestfs.pod:692 +#: ../src/guestfs.pod:691 msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:694 +#: ../src/guestfs.pod:693 msgid "" "Although we don't want to discourage you from using the C API, we will " "mention here that the same API is also available in other languages." msgstr "" #. type: textblock -#: ../src/guestfs.pod:697 +#: ../src/guestfs.pod:696 msgid "" "The API is broadly identical in all supported languages. This means that " "the C call C<guestfs_add_drive_ro(g,file)> is C<$g-E<gt>add_drive_ro($file)> " @@ -1482,14 +1481,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:703 +#: ../src/guestfs.pod:702 msgid "" "Error messages are automatically transformed into exceptions if the language " "supports it." msgstr "" #. type: textblock -#: ../src/guestfs.pod:706 +#: ../src/guestfs.pod:705 msgid "" "We don't try to \"object orientify\" parts of the API in OO languages, " "although contributors are welcome to write higher level APIs above what we " @@ -1497,36 +1496,36 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:712 +#: ../src/guestfs.pod:711 msgid "B<C++>" msgstr "B<C++>" #. type: textblock -#: ../src/guestfs.pod:714 +#: ../src/guestfs.pod:713 msgid "" "You can use the I<guestfs.h> header file from C++ programs. The C++ API is " "identical to the C API. C++ classes and exceptions are not used." msgstr "" #. type: =item -#: ../src/guestfs.pod:718 +#: ../src/guestfs.pod:717 msgid "B<C#>" msgstr "B<C#>" #. type: textblock -#: ../src/guestfs.pod:720 +#: ../src/guestfs.pod:719 msgid "" "The C# bindings are highly experimental. Please read the warnings at the " "top of C<csharp/Libguestfs.cs>." msgstr "" #. type: =item -#: ../src/guestfs.pod:723 +#: ../src/guestfs.pod:722 msgid "B<Haskell>" msgstr "B<Haskell>" #. type: textblock -#: ../src/guestfs.pod:725 +#: ../src/guestfs.pod:724 msgid "" "This is the only language binding that is working but incomplete. Only " "calls which return simple integers have been bound in Haskell, and we are " @@ -1534,91 +1533,91 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:729 +#: ../src/guestfs.pod:728 msgid "B<Java>" msgstr "B<Java>" #. type: textblock -#: ../src/guestfs.pod:731 +#: ../src/guestfs.pod:730 msgid "" "Full documentation is contained in the Javadoc which is distributed with " "libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:734 +#: ../src/guestfs.pod:733 msgid "B<OCaml>" msgstr "B<OCaml>" #. type: textblock -#: ../src/guestfs.pod:736 +#: ../src/guestfs.pod:735 msgid "See L<guestfs-ocaml(3)>." msgstr "Див. L<guestfs-ocaml(3)>." #. type: =item -#: ../src/guestfs.pod:738 +#: ../src/guestfs.pod:737 msgid "B<Perl>" msgstr "B<Perl>" #. type: textblock -#: ../src/guestfs.pod:740 +#: ../src/guestfs.pod:739 msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>." msgstr "Див. L<guestfs-perl(3)> та L<Sys::Guestfs(3)>." #. type: =item -#: ../src/guestfs.pod:742 +#: ../src/guestfs.pod:741 msgid "B<PHP>" msgstr "B<PHP>" #. type: textblock -#: ../src/guestfs.pod:744 +#: ../src/guestfs.pod:743 msgid "" "For documentation see C<README-PHP> supplied with libguestfs sources or in " "the php-libguestfs package for your distribution." msgstr "" #. type: textblock -#: ../src/guestfs.pod:747 +#: ../src/guestfs.pod:746 msgid "The PHP binding only works correctly on 64 bit machines." msgstr "" #. type: =item -#: ../src/guestfs.pod:749 +#: ../src/guestfs.pod:748 msgid "B<Python>" msgstr "B<Python>" #. type: textblock -#: ../src/guestfs.pod:751 +#: ../src/guestfs.pod:750 msgid "See L<guestfs-python(3)>." msgstr "Див. L<guestfs-python(3)>." #. type: =item -#: ../src/guestfs.pod:753 +#: ../src/guestfs.pod:752 msgid "B<Ruby>" msgstr "B<Ruby>" #. type: textblock -#: ../src/guestfs.pod:755 +#: ../src/guestfs.pod:754 msgid "See L<guestfs-ruby(3)>." msgstr "Див. L<guestfs-ruby(3)>." #. type: =item -#: ../src/guestfs.pod:757 +#: ../src/guestfs.pod:756 msgid "B<shell scripts>" msgstr "B<скрипти оболонки>" #. type: textblock -#: ../src/guestfs.pod:759 +#: ../src/guestfs.pod:758 msgid "See L<guestfish(1)>." msgstr "Див. L<guestfish(1)>." #. type: =head2 -#: ../src/guestfs.pod:763 +#: ../src/guestfs.pod:762 msgid "LIBGUESTFS GOTCHAS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:765 +#: ../src/guestfs.pod:764 msgid "" "L<http://en.wikipedia.org/wiki/Gotcha_(programming)>: \"A feature of a " "system [...] that works in the way it is documented but is counterintuitive " @@ -1626,7 +1625,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:769 +#: ../src/guestfs.pod:768 msgid "" "Since we developed libguestfs and the associated tools, there are several " "things we would have designed differently, but are now stuck with for " @@ -1635,12 +1634,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:777 +#: ../src/guestfs.pod:776 msgid "Autosync / forgetting to sync." msgstr "" #. type: textblock -#: ../src/guestfs.pod:779 +#: ../src/guestfs.pod:778 msgid "" "When modifying a filesystem from C or another language, you B<must> unmount " "all filesystems and call L</guestfs_sync> explicitly before you close the " @@ -1648,7 +1647,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:783 +#: ../src/guestfs.pod:782 #, no-wrap msgid "" " guestfs_set_autosync (g, 1);\n" @@ -1656,14 +1655,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:785 +#: ../src/guestfs.pod:784 msgid "" "to have the unmount/sync done automatically for you when the handle 'g' is " "closed. (This feature is called \"autosync\", L</guestfs_set_autosync> q.v.)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:789 +#: ../src/guestfs.pod:788 msgid "" "If you forget to do this, then it is entirely possible that your changes " "won't be written out, or will be partially written, or (very rarely) that " @@ -1671,7 +1670,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:793 +#: ../src/guestfs.pod:792 msgid "" "Note that in L<guestfish(3)> autosync is the default. So quick and dirty " "guestfish scripts that forget to sync will work just fine, which can make " @@ -1679,19 +1678,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:797 +#: ../src/guestfs.pod:796 msgid "" "Update: Autosync is enabled by default for all API users starting from " "libguestfs 1.5.24." msgstr "" #. type: =item -#: ../src/guestfs.pod:800 +#: ../src/guestfs.pod:799 msgid "Mount option C<-o sync> should not be the default." msgstr "" #. type: textblock -#: ../src/guestfs.pod:802 +#: ../src/guestfs.pod:801 msgid "" "If you use L</guestfs_mount>, then C<-o sync,noatime> are added implicitly. " "However C<-o sync> does not add any reliability benefit, but does have a " @@ -1699,31 +1698,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:806 +#: ../src/guestfs.pod:805 msgid "" "The work around is to use L</guestfs_mount_options> and set the mount " "options that you actually want to use." msgstr "" #. type: =item -#: ../src/guestfs.pod:809 +#: ../src/guestfs.pod:808 msgid "Read-only should be the default." msgstr "" #. type: textblock -#: ../src/guestfs.pod:811 +#: ../src/guestfs.pod:810 msgid "" "In L<guestfish(3)>, I<--ro> should be the default, and you should have to " "specify I<--rw> if you want to make changes to the image." msgstr "" #. type: textblock -#: ../src/guestfs.pod:814 +#: ../src/guestfs.pod:813 msgid "This would reduce the potential to corrupt live VM images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:816 +#: ../src/guestfs.pod:815 msgid "" "Note that many filesystems change the disk when you just mount and unmount, " "even if you didn't perform any writes. You need to use L</" @@ -1731,12 +1730,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:820 +#: ../src/guestfs.pod:819 msgid "guestfish command line is hard to use." msgstr "" #. type: textblock -#: ../src/guestfs.pod:822 +#: ../src/guestfs.pod:821 msgid "" "C<guestfish disk.img> doesn't do what people expect (open C<disk.img> for " "examination). It tries to run a guestfish command C<disk.img> which doesn't " @@ -1746,12 +1745,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:829 +#: ../src/guestfs.pod:828 msgid "guestfish megabyte modifiers don't work right on all commands" msgstr "" #. type: textblock -#: ../src/guestfs.pod:831 +#: ../src/guestfs.pod:830 msgid "" "In recent guestfish you can use C<1M> to mean 1 megabyte (and similarly for " "other modifiers). What guestfish actually does is to multiply the number " @@ -1761,12 +1760,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:838 +#: ../src/guestfs.pod:837 msgid "The most common is L</guestfs_lvcreate>. The guestfish command:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:840 +#: ../src/guestfs.pod:839 #, no-wrap msgid "" " lvcreate LV VG 100M\n" @@ -1774,7 +1773,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:842 +#: ../src/guestfs.pod:841 msgid "" "does not do what you might expect. Instead because L</guestfs_lvcreate> is " "already expecting megabytes, this tries to create a 100 I<terabyte> (100 " @@ -1783,19 +1782,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:847 +#: ../src/guestfs.pod:846 msgid "" "This could be fixed in the generator by specially marking parameters and " "return values which take bytes or other units." msgstr "" #. type: =item -#: ../src/guestfs.pod:850 +#: ../src/guestfs.pod:849 msgid "Ambiguity between devices and paths" msgstr "" #. type: textblock -#: ../src/guestfs.pod:852 +#: ../src/guestfs.pod:851 msgid "" "There is a subtle ambiguity in the API between a device name (eg. C</dev/" "sdb2>) and a similar pathname. A file might just happen to be called " @@ -1803,7 +1802,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:857 +#: ../src/guestfs.pod:856 msgid "" "In the current API we usually resolve this ambiguity by having two separate " "calls, for example L</guestfs_checksum> and L</guestfs_checksum_device>. " @@ -1812,7 +1811,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:863 +#: ../src/guestfs.pod:862 msgid "" "To avoid both the ambiguity and the need to duplicate some calls, we could " "make paths/devices into structured names. One way to do this would be to " @@ -1822,7 +1821,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:869 +#: ../src/guestfs.pod:868 #, no-wrap msgid "" " type path = Path of string | Device of int | Partition of int * int\n" @@ -1830,12 +1829,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:871 +#: ../src/guestfs.pod:870 msgid "which would allow you to pass arguments like:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:873 +#: ../src/guestfs.pod:872 #, no-wrap msgid "" " Path \"/foo/bar\"\n" @@ -1846,19 +1845,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:878 +#: ../src/guestfs.pod:877 msgid "" "As you can see there are still problems to resolve even with this " "representation. Also consider how it might work in guestfish." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:883 +#: ../src/guestfs.pod:882 msgid "PROTOCOL LIMITS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:885 +#: ../src/guestfs.pod:884 msgid "" "Internally libguestfs uses a message-based protocol to pass API calls and " "their responses to and from a small \"appliance\" (see L</INTERNALS> for " @@ -1869,7 +1868,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:893 +#: ../src/guestfs.pod:892 msgid "" "A simple call such as L</guestfs_cat> returns its result (the file data) in " "a simple string. Because this string is at some point internally encoded as " @@ -1878,7 +1877,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:899 +#: ../src/guestfs.pod:898 msgid "" "In order to transfer large files into and out of the guest filesystem, you " "need to use particular calls that support this. The sections L</UPLOADING> " @@ -1886,26 +1885,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:903 +#: ../src/guestfs.pod:902 msgid "" "You might also consider mounting the disk image using our FUSE filesystem " "support (L<guestmount(1)>)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:906 +#: ../src/guestfs.pod:905 msgid "KEYS AND PASSPHRASES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:908 +#: ../src/guestfs.pod:907 msgid "" "Certain libguestfs calls take a parameter that contains sensitive key " "material, passed in as a C string." msgstr "" #. type: textblock -#: ../src/guestfs.pod:911 +#: ../src/guestfs.pod:910 msgid "" "In the future we would hope to change the libguestfs implementation so that " "keys are L<mlock(2)>-ed into physical RAM, and thus can never end up in " @@ -1914,7 +1913,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:916 +#: ../src/guestfs.pod:915 msgid "" "Therefore you should be aware that any key parameter you pass to libguestfs " "might end up being written out to the swap partition. If this is a concern, " @@ -1922,19 +1921,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:921 +#: ../src/guestfs.pod:920 msgid "MULTIPLE HANDLES AND MULTIPLE THREADS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:923 +#: ../src/guestfs.pod:922 msgid "" "All high-level libguestfs actions are synchronous. If you want to use " "libguestfs asynchronously then you must create a thread." msgstr "" #. type: textblock -#: ../src/guestfs.pod:926 +#: ../src/guestfs.pod:925 msgid "" "Only use the handle from a single thread. Either use the handle exclusively " "from one thread, or provide your own mutex so that two threads cannot issue " @@ -1942,33 +1941,33 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:930 +#: ../src/guestfs.pod:929 msgid "" "See the graphical program guestfs-browser for one possible architecture for " "multithreaded programs using libvirt and libguestfs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:933 +#: ../src/guestfs.pod:932 msgid "PATH" msgstr "ШЛЯХ" #. type: textblock -#: ../src/guestfs.pod:935 +#: ../src/guestfs.pod:934 msgid "" "Libguestfs needs a supermin appliance, which it finds by looking along an " "internal path." msgstr "" #. type: textblock -#: ../src/guestfs.pod:938 +#: ../src/guestfs.pod:937 msgid "" "By default it looks for these in the directory C<$libdir/guestfs> (eg. C</" "usr/local/lib/guestfs> or C</usr/lib64/guestfs>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:941 +#: ../src/guestfs.pod:940 msgid "" "Use L</guestfs_set_path> or set the environment variable L</LIBGUESTFS_PATH> " "to change the directories that libguestfs will search in. The value is a " @@ -1979,12 +1978,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:948 +#: ../src/guestfs.pod:947 msgid "QEMU WRAPPERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:950 +#: ../src/guestfs.pod:949 msgid "" "If you want to compile your own qemu, run qemu from a non-standard location, " "or pass extra arguments to qemu, then you can write a shell-script wrapper " @@ -1992,7 +1991,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:954 +#: ../src/guestfs.pod:953 msgid "" "There is one important rule to remember: you I<must C<exec qemu>> as the " "last command in the shell script (so that qemu replaces the shell and " @@ -2001,14 +2000,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:959 +#: ../src/guestfs.pod:958 msgid "" "Here is an example of a wrapper, where I have built my own copy of qemu from " "source:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:962 +#: ../src/guestfs.pod:961 #, no-wrap msgid "" " #!/bin/sh -\n" @@ -2018,7 +2017,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:966 +#: ../src/guestfs.pod:965 msgid "" "Save this script as C</tmp/qemu.wrapper> (or wherever), C<chmod +x>, and " "then use it by setting the LIBGUESTFS_QEMU environment variable. For " @@ -2026,7 +2025,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:970 +#: ../src/guestfs.pod:969 #, no-wrap msgid "" " LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n" @@ -2034,26 +2033,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:972 +#: ../src/guestfs.pod:971 msgid "" "Note that libguestfs also calls qemu with the -help and -version options in " "order to determine features." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:975 +#: ../src/guestfs.pod:974 msgid "ATTACHING TO RUNNING DAEMONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:977 +#: ../src/guestfs.pod:976 msgid "" "I<Note (1):> This is B<highly experimental> and has a tendency to eat " "babies. Use with caution." msgstr "" #. type: textblock -#: ../src/guestfs.pod:980 +#: ../src/guestfs.pod:979 msgid "" "I<Note (2):> This section explains how to attach to a running daemon from a " "low level perspective. For most users, simply using virt tools such as " @@ -2061,12 +2060,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:984 +#: ../src/guestfs.pod:983 msgid "Using guestfs_set_attach_method" msgstr "" #. type: textblock -#: ../src/guestfs.pod:986 +#: ../src/guestfs.pod:985 msgid "" "By calling L</guestfs_set_attach_method> you can change how the library " "connects to the C<guestfsd> daemon in L</guestfs_launch> (read L</" @@ -2074,14 +2073,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:990 +#: ../src/guestfs.pod:989 msgid "" "The normal attach method is C<appliance>, where a small appliance is created " "containing the daemon, and then the library connects to this." msgstr "" #. type: textblock -#: ../src/guestfs.pod:993 +#: ../src/guestfs.pod:992 msgid "" "Setting attach method to C<unix:I<path>> (where I<path> is the path of a " "Unix domain socket) causes L</guestfs_launch> to connect to an existing " @@ -2089,7 +2088,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:997 +#: ../src/guestfs.pod:996 msgid "" "The normal use for this is to connect to a running virtual machine that " "contains a C<guestfsd> daemon, and send commands so you can read and write " @@ -2097,12 +2096,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1001 +#: ../src/guestfs.pod:1000 msgid "Using guestfs_add_domain with live flag" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1003 +#: ../src/guestfs.pod:1002 msgid "" "L</guestfs_add_domain> provides some help for getting the correct attach " "method. If you pass the C<live> option to this function, then (if the " @@ -2111,7 +2110,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1009 +#: ../src/guestfs.pod:1008 #, no-wrap msgid "" " <domain>\n" @@ -2129,14 +2128,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1021 +#: ../src/guestfs.pod:1020 msgid "" "L</guestfs_add_domain> extracts C</path/to/socket> and sets the attach " "method to C<unix:/path/to/socket>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1024 +#: ../src/guestfs.pod:1023 msgid "" "Some of the libguestfs tools (including guestfish) support a I<--live> " "option which is passed through to L</guestfs_add_domain> thus allowing you " @@ -2144,19 +2143,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1028 +#: ../src/guestfs.pod:1027 msgid "" "The virtual machine needs to have been set up beforehand so that it has the " "virtio-serial channel and so that guestfsd is running inside it." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1032 +#: ../src/guestfs.pod:1031 msgid "ABI GUARANTEE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1034 +#: ../src/guestfs.pod:1033 msgid "" "We guarantee the libguestfs ABI (binary interface), for public, high-level " "actions as outlined in this section. Although we will deprecate some " @@ -2166,12 +2165,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1040 +#: ../src/guestfs.pod:1039 msgid "BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1042 +#: ../src/guestfs.pod:1041 msgid "" "In the kernel there is now quite a profusion of schemata for naming block " "devices (in this context, by I<block device> I mean a physical or virtual " @@ -2185,7 +2184,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1054 +#: ../src/guestfs.pod:1053 msgid "" "As discussed above, libguestfs uses a qemu appliance running an embedded " "Linux kernel to access block devices. We can run a variety of appliances " @@ -2193,7 +2192,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1058 +#: ../src/guestfs.pod:1057 msgid "" "This causes a problem for libguestfs because many API calls use device or " "partition names. Working scripts and the recipe (example) scripts that we " @@ -2201,7 +2200,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1063 +#: ../src/guestfs.pod:1062 msgid "" "Therefore libguestfs defines C</dev/sd*> as the I<standard naming scheme>. " "Internally C</dev/sd*> names are translated, if necessary, to other names as " @@ -2210,7 +2209,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1069 +#: ../src/guestfs.pod:1068 msgid "" "Note that this I<only> applies to parameters. The L</guestfs_list_devices>, " "L</guestfs_list_partitions> and similar calls return the true names of the " @@ -2218,12 +2217,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1074 +#: ../src/guestfs.pod:1073 msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1076 +#: ../src/guestfs.pod:1075 msgid "" "Usually this translation is transparent. However in some (very rare) cases " "you may need to know the exact algorithm. Such cases include where you use " @@ -2232,7 +2231,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1082 +#: ../src/guestfs.pod:1081 msgid "" "The algorithm is applied only to I<parameters> which are known to be either " "device or partition names. Return values from functions such as L</" @@ -2240,54 +2239,54 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1090 +#: ../src/guestfs.pod:1089 msgid "Is the string a parameter which is a device or partition name?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1094 +#: ../src/guestfs.pod:1093 msgid "Does the string begin with C</dev/sd>?" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1098 +#: ../src/guestfs.pod:1097 msgid "" "Does the named device exist? If so, we use that device. However if I<not> " "then we continue with this algorithm." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1103 +#: ../src/guestfs.pod:1102 msgid "Replace initial C</dev/sd> string with C</dev/hd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1105 +#: ../src/guestfs.pod:1104 msgid "For example, change C</dev/sda2> to C</dev/hda2>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1107 +#: ../src/guestfs.pod:1106 msgid "If that named device exists, use it. If not, continue." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1111 +#: ../src/guestfs.pod:1110 msgid "Replace initial C</dev/sd> string with C</dev/vd>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1113 +#: ../src/guestfs.pod:1112 msgid "If that named device exists, use it. If not, return an error." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1117 +#: ../src/guestfs.pod:1116 msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1119 +#: ../src/guestfs.pod:1118 msgid "" "Although the standard naming scheme and automatic translation is useful for " "simple programs and guestfish scripts, for larger programs it is best not to " @@ -2295,51 +2294,51 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1123 +#: ../src/guestfs.pod:1122 msgid "" "Where possible for maximum future portability programs using libguestfs " "should use these future-proof techniques:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1130 +#: ../src/guestfs.pod:1129 msgid "" "Use L</guestfs_list_devices> or L</guestfs_list_partitions> to list actual " "device names, and then use those names directly." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1133 +#: ../src/guestfs.pod:1132 msgid "" "Since those device names exist by definition, they will never be translated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1138 +#: ../src/guestfs.pod:1137 msgid "" "Use higher level ways to identify filesystems, such as LVM names, UUIDs and " "filesystem labels." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1143 +#: ../src/guestfs.pod:1142 msgid "SECURITY" msgstr "БЕЗПЕКА" #. type: textblock -#: ../src/guestfs.pod:1145 +#: ../src/guestfs.pod:1144 msgid "" "This section discusses security implications of using libguestfs, " "particularly with untrusted or malicious guests or disk images." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1148 +#: ../src/guestfs.pod:1147 msgid "GENERAL SECURITY CONSIDERATIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1150 +#: ../src/guestfs.pod:1149 msgid "" "Be careful with any files or data that you download from a guest (by " "\"download\" we mean not just the L</guestfs_download> command but any " @@ -2349,42 +2348,42 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1160 +#: ../src/guestfs.pod:1159 msgid "the data (file etc) not being present" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1164 +#: ../src/guestfs.pod:1163 msgid "being present but empty" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1168 +#: ../src/guestfs.pod:1167 msgid "being much larger than normal" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1172 +#: ../src/guestfs.pod:1171 msgid "containing arbitrary 8 bit data" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1176 +#: ../src/guestfs.pod:1175 msgid "being in an unexpected character encoding" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1180 +#: ../src/guestfs.pod:1179 msgid "containing homoglyphs." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1184 +#: ../src/guestfs.pod:1183 msgid "SECURITY OF MOUNTING FILESYSTEMS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1186 +#: ../src/guestfs.pod:1185 msgid "" "When you mount a filesystem under Linux, mistakes in the kernel filesystem " "(VFS) module can sometimes be escalated into exploits by deliberately " @@ -2400,7 +2399,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1199 +#: ../src/guestfs.pod:1198 msgid "" "That explains why you should never mount a filesystem from an untrusted " "guest on your host kernel. How about libguestfs? We run a Linux kernel " @@ -2414,19 +2413,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1210 +#: ../src/guestfs.pod:1209 msgid "" "In any case callers can reduce the attack surface by forcing the filesystem " "type when mounting (use L</guestfs_mount_vfs>)." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1213 +#: ../src/guestfs.pod:1212 msgid "PROTOCOL SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1215 +#: ../src/guestfs.pod:1214 msgid "" "The protocol is designed to be secure, being based on RFC 4506 (XDR) with a " "defined upper message size. However a program that uses libguestfs must " @@ -2436,12 +2435,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1221 +#: ../src/guestfs.pod:1220 msgid "INSPECTION SECURITY" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1223 +#: ../src/guestfs.pod:1222 msgid "" "Parts of the inspection API (see L</INSPECTION>) return untrusted strings " "directly from the guest, and these could contain any 8 bit data. Callers " @@ -2450,7 +2449,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1229 +#: ../src/guestfs.pod:1228 msgid "" "Guest configuration may be altered in unusual ways by the administrator of " "the virtual machine, and may not reflect reality (particularly for untrusted " @@ -2461,7 +2460,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1237 +#: ../src/guestfs.pod:1236 msgid "" "The inspection API parses guest configuration using two external libraries: " "Augeas (Linux configuration) and hivex (Windows Registry). Both are " @@ -2471,12 +2470,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1243 +#: ../src/guestfs.pod:1242 msgid "RUNNING UNTRUSTED GUEST COMMANDS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1245 +#: ../src/guestfs.pod:1244 msgid "" "Be very cautious about running commands from the guest. By running a " "command in the guest, you are giving CPU time to a binary that you do not " @@ -2486,24 +2485,24 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1251 +#: ../src/guestfs.pod:1250 msgid "CVE-2010-3851" msgstr "CVE-2010-3851" #. type: textblock -#: ../src/guestfs.pod:1253 +#: ../src/guestfs.pod:1252 msgid "https://bugzilla.redhat.com/642934" msgstr "https://bugzilla.redhat.com/642934" #. type: textblock -#: ../src/guestfs.pod:1255 +#: ../src/guestfs.pod:1254 msgid "" "This security bug concerns the automatic disk format detection that qemu " "does on disk images." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1258 +#: ../src/guestfs.pod:1257 msgid "" "A raw disk image is just the raw bytes, there is no header. Other disk " "images like qcow2 contain a special header. Qemu deals with this by looking " @@ -2512,7 +2511,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1263 +#: ../src/guestfs.pod:1262 msgid "" "This allows a guest which has been given a raw disk image to write some " "other header. At next boot (or when the disk image is accessed by " @@ -2521,7 +2520,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1268 +#: ../src/guestfs.pod:1267 msgid "" "This in itself would not be a problem, but qcow2 offers many features, one " "of which is to allow a disk image to refer to another image (called the " @@ -2533,25 +2532,25 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1276 +#: ../src/guestfs.pod:1275 msgid "" "In libguestfs this is rather hard to exploit except under two circumstances:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1283 +#: ../src/guestfs.pod:1282 msgid "You have enabled the network or have opened the disk in write mode." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1287 +#: ../src/guestfs.pod:1286 msgid "" "You are also running untrusted code from the guest (see L</RUNNING " "COMMANDS>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1292 +#: ../src/guestfs.pod:1291 msgid "" "The way to avoid this is to specify the expected disk format when adding " "disks (the optional C<format> option to L</guestfs_add_drive_opts>). You " @@ -2560,31 +2559,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1297 +#: ../src/guestfs.pod:1296 msgid "" "For disks added from libvirt using calls like L</guestfs_add_domain>, the " "format is fetched from libvirt and passed through." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1300 +#: ../src/guestfs.pod:1299 msgid "" "For libguestfs tools, use the I<--format> command line parameter as " "appropriate." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1303 +#: ../src/guestfs.pod:1302 msgid "CONNECTION MANAGEMENT" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1305 +#: ../src/guestfs.pod:1304 msgid "guestfs_h *" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1307 +#: ../src/guestfs.pod:1306 msgid "" "C<guestfs_h> is the opaque type representing a connection handle. Create a " "handle by calling L</guestfs_create>. Call L</guestfs_close> to free the " @@ -2592,19 +2591,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1311 +#: ../src/guestfs.pod:1310 msgid "" "For information on using multiple handles and threads, see the section L</" "MULTIPLE HANDLES AND MULTIPLE THREADS> below." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1314 +#: ../src/guestfs.pod:1313 msgid "guestfs_create" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1316 +#: ../src/guestfs.pod:1315 #, no-wrap msgid "" " guestfs_h *guestfs_create (void);\n" @@ -2612,43 +2611,43 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1318 +#: ../src/guestfs.pod:1317 msgid "Create a connection handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1320 +#: ../src/guestfs.pod:1319 msgid "" "You have to call L</guestfs_add_drive_opts> (or one of the equivalent calls) " "on the handle at least once." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1323 +#: ../src/guestfs.pod:1322 msgid "" "This function returns a non-NULL pointer to a handle on success or NULL on " "error." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1326 +#: ../src/guestfs.pod:1325 msgid "After configuring the handle, you have to call L</guestfs_launch>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1328 +#: ../src/guestfs.pod:1327 msgid "" "You may also want to configure error handling for the handle. See L</ERROR " "HANDLING> section below." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1331 +#: ../src/guestfs.pod:1330 msgid "guestfs_close" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1333 +#: ../src/guestfs.pod:1332 #, no-wrap msgid "" " void guestfs_close (guestfs_h *g);\n" @@ -2656,24 +2655,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1335 +#: ../src/guestfs.pod:1334 msgid "This closes the connection handle and frees up all resources used." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1337 +#: ../src/guestfs.pod:1336 msgid "ERROR HANDLING" msgstr "ОБРОБКА ПОМИЛОК" #. type: textblock -#: ../src/guestfs.pod:1339 +#: ../src/guestfs.pod:1338 msgid "" "API functions can return errors. For example, almost all functions that " "return C<int> will return C<-1> to indicate an error." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1342 +#: ../src/guestfs.pod:1341 msgid "" "Additional information is available for errors: an error message string and " "optionally an error number (errno) if the thing that failed was a system " @@ -2681,7 +2680,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1346 +#: ../src/guestfs.pod:1345 msgid "" "You can get at the additional information about the last error on the handle " "by calling L</guestfs_last_error>, L</guestfs_last_errno>, and/or by setting " @@ -2689,7 +2688,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1351 +#: ../src/guestfs.pod:1350 msgid "" "When the handle is created, a default error handler is installed which " "prints the error message string to C<stderr>. For small short-running " @@ -2697,7 +2696,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1355 +#: ../src/guestfs.pod:1354 #, no-wrap msgid "" " if (guestfs_launch (g) == -1)\n" @@ -2706,21 +2705,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1358 +#: ../src/guestfs.pod:1357 msgid "" "since the default error handler will ensure that an error message has been " "printed to C<stderr> before the program exits." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1361 +#: ../src/guestfs.pod:1360 msgid "" "For other programs the caller will almost certainly want to install an " "alternate error handler or do error handling in-line like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1364 +#: ../src/guestfs.pod:1363 #, no-wrap msgid "" " g = guestfs_create ();\n" @@ -2728,7 +2727,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1366 +#: ../src/guestfs.pod:1365 #, no-wrap msgid "" " /* This disables the default behaviour of printing errors\n" @@ -2738,7 +2737,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1370 +#: ../src/guestfs.pod:1369 #, no-wrap msgid "" " if (guestfs_launch (g) == -1) {\n" @@ -2752,7 +2751,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1378 +#: ../src/guestfs.pod:1377 msgid "" "Out of memory errors are handled differently. The default action is to call " "L<abort(3)>. If this is undesirable, then you can set a handler using L</" @@ -2760,7 +2759,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1382 +#: ../src/guestfs.pod:1381 msgid "" "L</guestfs_create> returns C<NULL> if the handle cannot be created, and " "because there is no handle if this happens there is no way to get additional " @@ -2770,12 +2769,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1388 +#: ../src/guestfs.pod:1387 msgid "guestfs_last_error" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1390 +#: ../src/guestfs.pod:1389 #, no-wrap msgid "" " const char *guestfs_last_error (guestfs_h *g);\n" @@ -2783,26 +2782,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1392 +#: ../src/guestfs.pod:1391 msgid "" "This returns the last error message that happened on C<g>. If there has not " "been an error since the handle was created, then this returns C<NULL>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1396 +#: ../src/guestfs.pod:1395 msgid "" "The lifetime of the returned string is until the next error occurs, or L</" "guestfs_close> is called." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1399 +#: ../src/guestfs.pod:1398 msgid "guestfs_last_errno" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1401 +#: ../src/guestfs.pod:1400 #, no-wrap msgid "" " int guestfs_last_errno (guestfs_h *g);\n" @@ -2810,28 +2809,28 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1403 +#: ../src/guestfs.pod:1402 msgid "This returns the last error number (errno) that happened on C<g>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1405 +#: ../src/guestfs.pod:1404 msgid "If successful, an errno integer not equal to zero is returned." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1407 +#: ../src/guestfs.pod:1406 msgid "" "If no error, this returns 0. This call can return 0 in three situations:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1414 +#: ../src/guestfs.pod:1413 msgid "There has not been any error on the handle." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1418 +#: ../src/guestfs.pod:1417 msgid "" "There has been an error but the errno was meaningless. This corresponds to " "the case where the error did not come from a failed system call, but for " @@ -2839,14 +2838,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1424 +#: ../src/guestfs.pod:1423 msgid "" "There was an error from a failed system call, but for some reason the errno " "was not captured and returned. This usually indicates a bug in libguestfs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1430 +#: ../src/guestfs.pod:1429 msgid "" "Libguestfs tries to convert the errno from inside the applicance into a " "corresponding errno for the caller (not entirely trivial: the appliance " @@ -2857,12 +2856,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1438 +#: ../src/guestfs.pod:1437 msgid "guestfs_set_error_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1440 +#: ../src/guestfs.pod:1439 #, no-wrap msgid "" " typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n" @@ -2875,7 +2874,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1447 +#: ../src/guestfs.pod:1446 msgid "" "The callback C<cb> will be called if there is an error. The parameters " "passed to the callback are an opaque data pointer and the error message " @@ -2883,14 +2882,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1451 +#: ../src/guestfs.pod:1450 msgid "" "C<errno> is not passed to the callback. To get that the callback must call " "L</guestfs_last_errno>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1454 +#: ../src/guestfs.pod:1453 msgid "" "Note that the message string C<msg> is freed as soon as the callback " "function returns, so if you want to stash it somewhere you must make your " @@ -2898,22 +2897,22 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1458 +#: ../src/guestfs.pod:1457 msgid "The default handler prints messages on C<stderr>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1460 +#: ../src/guestfs.pod:1459 msgid "If you set C<cb> to C<NULL> then I<no> handler is called." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1462 +#: ../src/guestfs.pod:1461 msgid "guestfs_get_error_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1464 +#: ../src/guestfs.pod:1463 #, no-wrap msgid "" " guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n" @@ -2922,17 +2921,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1467 +#: ../src/guestfs.pod:1466 msgid "Returns the current error handler callback." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1469 +#: ../src/guestfs.pod:1468 msgid "guestfs_set_out_of_memory_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1471 +#: ../src/guestfs.pod:1470 #, no-wrap msgid "" " typedef void (*guestfs_abort_cb) (void);\n" @@ -2942,30 +2941,30 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1475 +#: ../src/guestfs.pod:1474 msgid "" "The callback C<cb> will be called if there is an out of memory situation. " "I<Note this callback must not return>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1478 +#: ../src/guestfs.pod:1477 msgid "The default is to call L<abort(3)>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1480 +#: ../src/guestfs.pod:1479 msgid "" "You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1483 +#: ../src/guestfs.pod:1482 msgid "guestfs_get_out_of_memory_handler" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1485 +#: ../src/guestfs.pod:1484 #, no-wrap msgid "" " guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n" @@ -2973,42 +2972,42 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1487 +#: ../src/guestfs.pod:1486 msgid "This returns the current out of memory handler." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1489 +#: ../src/guestfs.pod:1488 msgid "API CALLS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1491 ../fish/guestfish.pod:1003 +#: ../src/guestfs.pod:1490 ../fish/guestfish.pod:1008 msgid "@ACTIONS@" msgstr "@ACTIONS@" #. type: =head1 -#: ../src/guestfs.pod:1493 +#: ../src/guestfs.pod:1492 msgid "STRUCTURES" msgstr "СТРУКТУРИ" #. type: textblock -#: ../src/guestfs.pod:1495 +#: ../src/guestfs.pod:1494 msgid "@STRUCTS@" msgstr "@STRUCTS@" #. type: =head1 -#: ../src/guestfs.pod:1497 +#: ../src/guestfs.pod:1496 msgid "AVAILABILITY" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1499 +#: ../src/guestfs.pod:1498 msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1501 +#: ../src/guestfs.pod:1500 msgid "" "Using L</guestfs_available> you can test availability of the following " "groups of functions. This test queries the appliance to see if the " @@ -3016,17 +3015,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1506 +#: ../src/guestfs.pod:1505 msgid "@AVAILABILITY@" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1508 +#: ../src/guestfs.pod:1507 msgid "GUESTFISH supported COMMAND" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1510 +#: ../src/guestfs.pod:1509 msgid "" "In L<guestfish(3)> there is a handy interactive command C<supported> which " "prints out the available groups and whether they are supported by this build " @@ -3034,19 +3033,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1515 +#: ../src/guestfs.pod:1514 msgid "SINGLE CALLS AT COMPILE TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1517 +#: ../src/guestfs.pod:1516 msgid "" "Since version 1.5.8, C<E<lt>guestfs.hE<gt>> defines symbols for each C API " "function, such as:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1520 +#: ../src/guestfs.pod:1519 #, no-wrap msgid "" " #define LIBGUESTFS_HAVE_DD 1\n" @@ -3054,12 +3053,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1522 +#: ../src/guestfs.pod:1521 msgid "if L</guestfs_dd> is available." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1524 +#: ../src/guestfs.pod:1523 msgid "" "Before version 1.5.8, if you needed to test whether a single libguestfs " "function is available at compile time, we recommended using build tools such " @@ -3067,7 +3066,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1529 +#: ../src/guestfs.pod:1528 #, no-wrap msgid "" " AC_CHECK_LIB([guestfs],[guestfs_create])\n" @@ -3076,19 +3075,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1532 +#: ../src/guestfs.pod:1531 msgid "" "which would result in C<HAVE_GUESTFS_DD> being either defined or not defined " "in your program." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1535 +#: ../src/guestfs.pod:1534 msgid "SINGLE CALLS AT RUN TIME" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1537 +#: ../src/guestfs.pod:1536 msgid "" "Testing at compile time doesn't guarantee that a function really exists in " "the library. The reason is that you might be dynamically linked against a " @@ -3098,7 +3097,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1544 +#: ../src/guestfs.pod:1543 msgid "" "You can use L<dlopen(3)> to test if a function is available at run time, as " "in this example program (note that you still need the compile time check as " @@ -3106,7 +3105,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1548 +#: ../src/guestfs.pod:1547 #, no-wrap msgid "" " #include <stdio.h>\n" @@ -3118,7 +3117,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1554 +#: ../src/guestfs.pod:1553 #, no-wrap msgid "" " main ()\n" @@ -3130,7 +3129,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1560 +#: ../src/guestfs.pod:1559 #, no-wrap msgid "" " /* Test if the function guestfs_dd is really available. */\n" @@ -3145,7 +3144,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1569 +#: ../src/guestfs.pod:1568 #, no-wrap msgid "" " if (!has_function)\n" @@ -3164,7 +3163,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1582 +#: ../src/guestfs.pod:1581 msgid "" "You may think the above is an awful lot of hassle, and it is. There are " "other ways outside of the C linking system to ensure that this kind of " @@ -3172,7 +3171,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1587 +#: ../src/guestfs.pod:1586 #, no-wrap msgid "" " Requires: libguestfs >= 1.0.80\n" @@ -3180,12 +3179,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1589 +#: ../src/guestfs.pod:1588 msgid "CALLS WITH OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1591 +#: ../src/guestfs.pod:1590 msgid "" "A recent feature of the API is the introduction of calls which take optional " "arguments. In C these are declared 3 ways. The main way is as a call which " @@ -3193,7 +3192,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1596 +#: ../src/guestfs.pod:1595 #, no-wrap msgid "" " int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n" @@ -3201,14 +3200,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1598 +#: ../src/guestfs.pod:1597 msgid "" "Call this with a list of optional arguments, terminated by C<-1>. So to " "call with no optional arguments specified:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1601 +#: ../src/guestfs.pod:1600 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename, -1);\n" @@ -3216,12 +3215,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1603 +#: ../src/guestfs.pod:1602 msgid "With a single optional argument:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1605 +#: ../src/guestfs.pod:1604 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -3231,12 +3230,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1609 +#: ../src/guestfs.pod:1608 msgid "With two:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1611 +#: ../src/guestfs.pod:1610 #, no-wrap msgid "" " guestfs_add_drive_opts (g, filename,\n" @@ -3247,19 +3246,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1616 +#: ../src/guestfs.pod:1615 msgid "" "and so forth. Don't forget the terminating C<-1> otherwise Bad Things will " "happen!" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1619 +#: ../src/guestfs.pod:1618 msgid "USING va_list FOR OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1621 +#: ../src/guestfs.pod:1620 msgid "" "The second variant has the same name with the suffix C<_va>, which works the " "same way but takes a C<va_list>. See the C manual for details. For the " @@ -3267,7 +3266,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1625 +#: ../src/guestfs.pod:1624 #, no-wrap msgid "" " int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n" @@ -3276,12 +3275,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1628 +#: ../src/guestfs.pod:1627 msgid "CONSTRUCTING OPTIONAL ARGUMENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1630 +#: ../src/guestfs.pod:1629 msgid "" "The third variant is useful where you need to construct these calls. You " "pass in a structure where you fill in the optional fields. The structure " @@ -3291,7 +3290,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1636 +#: ../src/guestfs.pod:1635 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv {\n" @@ -3306,12 +3305,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1645 +#: ../src/guestfs.pod:1644 msgid "You could call it like this:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1647 +#: ../src/guestfs.pod:1646 #, no-wrap msgid "" " struct guestfs_add_drive_opts_argv optargs = {\n" @@ -3324,7 +3323,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1654 +#: ../src/guestfs.pod:1653 #, no-wrap msgid "" " guestfs_add_drive_opts_argv (g, filename, &optargs);\n" @@ -3332,36 +3331,36 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1656 ../src/guestfs-actions.pod:11 +#: ../src/guestfs.pod:1655 ../src/guestfs-actions.pod:11 #: ../src/guestfs-actions.pod:1855 ../fish/guestfish-actions.pod:9 #: ../fish/guestfish-actions.pod:1260 ../tools/virt-win-reg.pl:532 msgid "Notes:" msgstr "Нотатки:" #. type: textblock -#: ../src/guestfs.pod:1662 +#: ../src/guestfs.pod:1661 msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1667 +#: ../src/guestfs.pod:1666 msgid "You do not need to fill in all fields of the structure." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1671 +#: ../src/guestfs.pod:1670 msgid "" "There must be a one-to-one correspondence between fields of the structure " "that are filled in, and bits set in the bitmask." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1676 +#: ../src/guestfs.pod:1675 msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1678 +#: ../src/guestfs.pod:1677 msgid "" "In other languages, optional arguments are expressed in the way that is " "natural for that language. We refer you to the language-specific " @@ -3369,17 +3368,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1682 +#: ../src/guestfs.pod:1681 msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:1684 +#: ../src/guestfs.pod:1683 msgid "SETTING CALLBACKS TO HANDLE EVENTS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1686 +#: ../src/guestfs.pod:1685 msgid "" "B<Note:> This section documents the generic event mechanism introduced in " "libguestfs 1.10, which you should use in new code if possible. The old " @@ -3391,7 +3390,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1694 +#: ../src/guestfs.pod:1693 msgid "" "Handles generate events when certain things happen, such as log messages " "being generated, progress messages during long-running operations, or the " @@ -3403,7 +3402,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1702 +#: ../src/guestfs.pod:1701 msgid "" "In the current implementation, events are only generated synchronously: that " "means that events (and hence callbacks) can only happen while you are in the " @@ -3412,31 +3411,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1707 +#: ../src/guestfs.pod:1706 msgid "" "Events may contain a payload, usually nothing (void), an array of 64 bit " "unsigned integers, or a message buffer. Payloads are discussed later on." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1711 +#: ../src/guestfs.pod:1710 msgid "CLASSES OF EVENTS" msgstr "" #. type: =item -#: ../src/guestfs.pod:1715 +#: ../src/guestfs.pod:1714 msgid "GUESTFS_EVENT_CLOSE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1718 +#: ../src/guestfs.pod:1717 msgid "" "The callback function will be called while the handle is being closed " "(synchronously from L</guestfs_close>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1721 +#: ../src/guestfs.pod:1720 msgid "" "Note that libguestfs installs an L<atexit(3)> handler to try to clean up " "handles that are open when the program exits. This means that this callback " @@ -3447,19 +3446,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1728 +#: ../src/guestfs.pod:1727 msgid "" "If no callback is registered: the handle is closed without any callback " "being invoked." msgstr "" #. type: =item -#: ../src/guestfs.pod:1731 +#: ../src/guestfs.pod:1730 msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1734 +#: ../src/guestfs.pod:1733 msgid "" "The callback function will be called when the child process quits, either " "asynchronously or if killed by L</guestfs_kill_subprocess>. (This " @@ -3467,17 +3466,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1738 ../src/guestfs.pod:1747 +#: ../src/guestfs.pod:1737 ../src/guestfs.pod:1746 msgid "If no callback is registered: the event is ignored." msgstr "" #. type: =item -#: ../src/guestfs.pod:1740 +#: ../src/guestfs.pod:1739 msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1743 +#: ../src/guestfs.pod:1742 msgid "" "The callback function will be called when the child process becomes ready " "first time after it has been launched. (This corresponds to a transition " @@ -3485,12 +3484,12 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1749 +#: ../src/guestfs.pod:1748 msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1752 +#: ../src/guestfs.pod:1751 msgid "" "Some long-running operations can generate progress messages. If this " "callback is registered, then it will be called each time a progress message " @@ -3500,14 +3499,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1758 +#: ../src/guestfs.pod:1757 msgid "" "The callback receives in the payload four unsigned 64 bit numbers which are " "(in order): C<proc_nr>, C<serial>, C<position>, C<total>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1761 +#: ../src/guestfs.pod:1760 msgid "" "The units of C<total> are not defined, although for some operations C<total> " "may relate in some way to the amount of data to be transferred (eg. in bytes " @@ -3515,24 +3514,24 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1766 +#: ../src/guestfs.pod:1765 msgid "The only defined and stable parts of the API are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1772 +#: ../src/guestfs.pod:1771 msgid "" "The callback can display to the user some type of progress bar or indicator " "which shows the ratio of C<position>:C<total>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1777 +#: ../src/guestfs.pod:1776 msgid "0 E<lt>= C<position> E<lt>= C<total>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1781 +#: ../src/guestfs.pod:1780 msgid "" "If any progress notification is sent during a call, then a final progress " "notification is always sent when C<position> = C<total> (I<unless> the call " @@ -3540,7 +3539,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1785 +#: ../src/guestfs.pod:1784 msgid "" "This is to simplify caller code, so callers can easily set the progress " "indicator to \"100%\" at the end of the operation, without requiring special " @@ -3548,7 +3547,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1791 +#: ../src/guestfs.pod:1790 msgid "" "For some calls we are unable to estimate the progress of the call, but we " "can still generate progress messages to indicate activity. This is known as " @@ -3557,7 +3556,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1796 +#: ../src/guestfs.pod:1795 msgid "" "For these calls, zero or more progress messages are generated with " "C<position = 0> and C<total = 1>, followed by a final message with " @@ -3565,14 +3564,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1800 +#: ../src/guestfs.pod:1799 msgid "" "As noted above, if the call fails with an error then the final message may " "not be generated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1805 +#: ../src/guestfs.pod:1804 msgid "" "The callback also receives the procedure number (C<proc_nr>) and serial " "number (C<serial>) of the call. These are only useful for debugging " @@ -3581,31 +3580,31 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1811 +#: ../src/guestfs.pod:1810 msgid "If no callback is registered: progress messages are discarded." msgstr "" #. type: =item -#: ../src/guestfs.pod:1813 +#: ../src/guestfs.pod:1812 msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1816 +#: ../src/guestfs.pod:1815 msgid "" "The callback function is called whenever a log message is generated by qemu, " "the appliance kernel, guestfsd (daemon), or utility programs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1819 +#: ../src/guestfs.pod:1818 msgid "" "If the verbose flag (L</guestfs_set_verbose>) is set before launch (L</" "guestfs_launch>) then additional debug messages are generated." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1822 ../src/guestfs.pod:1836 +#: ../src/guestfs.pod:1821 ../src/guestfs.pod:1835 msgid "" "If no callback is registered: the messages are discarded unless the verbose " "flag is set in which case they are sent to stderr. You can override the " @@ -3613,50 +3612,50 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:1827 +#: ../src/guestfs.pod:1826 msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1830 +#: ../src/guestfs.pod:1829 msgid "" "The callback function is called whenever a log message is generated by the " "library part of libguestfs." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1833 +#: ../src/guestfs.pod:1832 msgid "" "If the verbose flag (L</guestfs_set_verbose>) is set then additional debug " "messages are generated." msgstr "" #. type: =item -#: ../src/guestfs.pod:1841 +#: ../src/guestfs.pod:1840 msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1844 +#: ../src/guestfs.pod:1843 msgid "" "The callback function is called whenever a trace message is generated. This " "only applies if the trace flag (L</guestfs_set_trace>) is set." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1847 +#: ../src/guestfs.pod:1846 msgid "" "If no callback is registered: the messages are sent to stderr. You can " "override the printing of trace messages to stderr by setting up a callback." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1853 +#: ../src/guestfs.pod:1852 msgid "guestfs_set_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1855 +#: ../src/guestfs.pod:1854 #, no-wrap msgid "" " int guestfs_set_event_callback (guestfs_h *g,\n" @@ -3668,14 +3667,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1861 +#: ../src/guestfs.pod:1860 msgid "" "This function registers a callback (C<cb>) for all event classes in the " "C<event_bitmask>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1864 +#: ../src/guestfs.pod:1863 msgid "" "For example, to register for all log message events, you could call this " "function with the bitmask C<GUESTFS_EVENT_APPLIANCE|GUESTFS_EVENT_LIBRARY>. " @@ -3684,40 +3683,40 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1870 +#: ../src/guestfs.pod:1869 msgid "C<flags> should always be passed as 0." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1872 +#: ../src/guestfs.pod:1871 msgid "" "C<opaque> is an opaque pointer which is passed to the callback. You can use " "it for any purpose." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1875 +#: ../src/guestfs.pod:1874 msgid "" "The return value is the event handle (an integer) which you can use to " "delete the callback (see below)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1878 +#: ../src/guestfs.pod:1877 msgid "" "If there is an error, this function returns C<-1>, and sets the error in the " "handle in the usual way (see L</guestfs_last_error> etc.)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1881 +#: ../src/guestfs.pod:1880 msgid "" "Callbacks remain in effect until they are deleted, or until the handle is " "closed." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1884 +#: ../src/guestfs.pod:1883 msgid "" "In the case where multiple callbacks are registered for a particular event " "class, all of the callbacks are called. The order in which multiple " @@ -3725,12 +3724,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1888 +#: ../src/guestfs.pod:1887 msgid "guestfs_delete_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1890 +#: ../src/guestfs.pod:1889 #, no-wrap msgid "" " void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n" @@ -3738,7 +3737,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1892 +#: ../src/guestfs.pod:1891 msgid "" "Delete a callback that was previously registered. C<event_handle> should be " "the integer that was returned by a previous call to " @@ -3746,12 +3745,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1896 +#: ../src/guestfs.pod:1895 msgid "guestfs_event_callback" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1898 +#: ../src/guestfs.pod:1897 #, no-wrap msgid "" " typedef void (*guestfs_event_callback) (\n" @@ -3766,13 +3765,13 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1907 +#: ../src/guestfs.pod:1906 msgid "" "This is the type of the event callback function that you have to provide." msgstr "" #. type: textblock -#: ../src/guestfs.pod:1910 +#: ../src/guestfs.pod:1909 msgid "" "The basic parameters are: the handle (C<g>), the opaque user pointer " "(C<opaque>), the event class (eg. C<GUESTFS_EVENT_PROGRESS>), the event " @@ -3780,7 +3779,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1914 +#: ../src/guestfs.pod:1913 msgid "" "The remaining parameters contain the event payload (if any). Each event may " "contain a payload, which usually relates to the event class, but for future " @@ -3789,7 +3788,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1919 +#: ../src/guestfs.pod:1918 msgid "" "C<buf> and C<buf_len> contain a message buffer (if C<buf_len == 0>, then " "there is no message buffer). Note that this message buffer can contain " @@ -3797,19 +3796,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1923 +#: ../src/guestfs.pod:1922 msgid "" "C<array> and C<array_len> is an array of 64 bit unsigned integers. At the " "moment this is only used for progress messages." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:1926 +#: ../src/guestfs.pod:1925 msgid "EXAMPLE: CAPTURING LOG MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1928 +#: ../src/guestfs.pod:1927 msgid "" "One motivation for the generic event API was to allow GUI programs to " "capture debug and other messages. In libguestfs E<le> 1.8 these were sent " @@ -3817,7 +3816,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1932 +#: ../src/guestfs.pod:1931 msgid "" "Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, " "C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error " @@ -3825,14 +3824,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1937 +#: ../src/guestfs.pod:1936 msgid "" "Programs have to set up a callback to capture the classes of events of " "interest:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1940 +#: ../src/guestfs.pod:1939 #, no-wrap msgid "" " int eh =\n" @@ -3848,14 +3847,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1950 +#: ../src/guestfs.pod:1949 msgid "" "The callback can then direct messages to the appropriate place. In this " "example, messages are directed to syslog:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1953 +#: ../src/guestfs.pod:1952 #, no-wrap msgid "" " static void\n" @@ -3876,12 +3875,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:1968 +#: ../src/guestfs.pod:1967 msgid "PRIVATE DATA AREA" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1970 +#: ../src/guestfs.pod:1969 msgid "" "You can attach named pieces of private data to the libguestfs handle, fetch " "them by name, and walk over them, for the lifetime of the handle. This is " @@ -3889,12 +3888,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1975 +#: ../src/guestfs.pod:1974 msgid "To attach a named piece of data, use the following call:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1977 +#: ../src/guestfs.pod:1976 #, no-wrap msgid "" " void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n" @@ -3902,7 +3901,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1979 +#: ../src/guestfs.pod:1978 msgid "" "C<key> is the name to associate with this data, and C<data> is an arbitrary " "pointer (which can be C<NULL>). Any previous item with the same name is " @@ -3910,7 +3909,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1983 +#: ../src/guestfs.pod:1982 msgid "" "You can use any C<key> you want, but names beginning with an underscore " "character are reserved for internal libguestfs purposes (for implementing " @@ -3919,12 +3918,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1988 +#: ../src/guestfs.pod:1987 msgid "To retrieve the pointer, use:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:1990 +#: ../src/guestfs.pod:1989 #, no-wrap msgid "" " void *guestfs_get_private (guestfs_h *g, const char *key);\n" @@ -3932,7 +3931,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1992 +#: ../src/guestfs.pod:1991 msgid "" "This function returns C<NULL> if either no data is found associated with " "C<key>, or if the user previously set the C<key>'s C<data> pointer to " @@ -3940,7 +3939,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:1996 +#: ../src/guestfs.pod:1995 msgid "" "Libguestfs does not try to look at or interpret the C<data> pointer in any " "way. As far as libguestfs is concerned, it need not be a valid pointer at " @@ -3951,12 +3950,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2003 +#: ../src/guestfs.pod:2002 msgid "To walk over all entries, use these two functions:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2005 +#: ../src/guestfs.pod:2004 #, no-wrap msgid "" " void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n" @@ -3964,7 +3963,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2007 +#: ../src/guestfs.pod:2006 #, no-wrap msgid "" " void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n" @@ -3972,7 +3971,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2009 +#: ../src/guestfs.pod:2008 msgid "" "C<guestfs_first_private> returns the first key, pointer pair (\"first\" does " "not have any particular meaning -- keys are not returned in any defined " @@ -3982,7 +3981,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2015 +#: ../src/guestfs.pod:2014 msgid "" "C<guestfs_next_private> returns the next key, pointer pair. The return " "value of this function is also C<NULL> is there are no further entries to " @@ -3990,18 +3989,18 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2019 +#: ../src/guestfs.pod:2018 msgid "Notes about walking over entries:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2025 +#: ../src/guestfs.pod:2024 msgid "" "You must not call C<guestfs_set_private> while walking over the entries." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2030 +#: ../src/guestfs.pod:2029 msgid "" "The handle maintains an internal iterator which is reset when you call " "C<guestfs_first_private>. This internal iterator is invalidated when you " @@ -4009,12 +4008,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2036 +#: ../src/guestfs.pod:2035 msgid "If you have set the data pointer associated with a key to C<NULL>, ie:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2038 +#: ../src/guestfs.pod:2037 #, no-wrap msgid "" " guestfs_set_private (g, key, NULL);\n" @@ -4022,26 +4021,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2040 +#: ../src/guestfs.pod:2039 msgid "then that C<key> is not returned when walking." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2044 +#: ../src/guestfs.pod:2043 msgid "" "C<*key_rtn> is only valid until the next call to C<guestfs_first_private>, " "C<guestfs_next_private> or C<guestfs_set_private>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2050 +#: ../src/guestfs.pod:2049 msgid "" "The following example code shows how to print all keys and data pointers " "that are associated with the handle C<g>:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2053 +#: ../src/guestfs.pod:2052 #, no-wrap msgid "" " const char *key;\n" @@ -4055,14 +4054,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2061 +#: ../src/guestfs.pod:2060 msgid "" "More commonly you are only interested in keys that begin with an application-" "specific prefix C<foo_>. Modify the loop like so:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2064 +#: ../src/guestfs.pod:2063 #, no-wrap msgid "" " const char *key;\n" @@ -4077,7 +4076,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2073 +#: ../src/guestfs.pod:2072 msgid "" "If you need to modify keys while walking, then you have to jump back to the " "beginning of the loop. For example, to delete all keys prefixed with " @@ -4085,7 +4084,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2077 +#: ../src/guestfs.pod:2076 #, no-wrap msgid "" " const char *key;\n" @@ -4107,7 +4106,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2093 +#: ../src/guestfs.pod:2092 msgid "" "Note that the above loop is guaranteed to terminate because the keys are " "being deleted, but other manipulations of keys within the loop might not " @@ -4116,12 +4115,12 @@ msgid "" msgstr "" #. type: =end -#: ../src/guestfs.pod:2098 ../src/guestfs.pod:2103 +#: ../src/guestfs.pod:2097 ../src/guestfs.pod:2102 msgid "html" msgstr "html" #. type: textblock -#: ../src/guestfs.pod:2100 +#: ../src/guestfs.pod:2099 msgid "" "<!-- old anchor for the next section --> <a name=" "\"state_machine_and_low_level_event_api\"/>" @@ -4130,12 +4129,12 @@ msgstr "" "\"state_machine_and_low_level_event_api\"/>" #. type: =head1 -#: ../src/guestfs.pod:2105 +#: ../src/guestfs.pod:2104 msgid "ARCHITECTURE" msgstr "АРХІТЕКТУРА" #. type: textblock -#: ../src/guestfs.pod:2107 +#: ../src/guestfs.pod:2106 msgid "" "Internally, libguestfs is implemented by running an appliance (a special " "type of small virtual machine) using L<qemu(1)>. Qemu runs as a child " @@ -4143,7 +4142,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2111 +#: ../src/guestfs.pod:2110 #, no-wrap msgid "" " ___________________\n" @@ -4169,14 +4168,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2131 +#: ../src/guestfs.pod:2130 msgid "" "The library, linked to the main program, creates the child process and hence " "the appliance in the L</guestfs_launch> function." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2134 +#: ../src/guestfs.pod:2133 msgid "" "Inside the appliance is a Linux kernel and a complete stack of userspace " "tools (such as LVM and ext2 programs) and a small controlling daemon called " @@ -4188,7 +4187,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2143 +#: ../src/guestfs.pod:2142 msgid "" "A common misunderstanding is that the appliance \"is\" the virtual machine. " "Although the disk image you are attached to might also be used by some " @@ -4199,17 +4198,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2150 +#: ../src/guestfs.pod:2149 msgid "STATE MACHINE" msgstr "СКІНЧЕННИЙ АВТОМАТ" #. type: textblock -#: ../src/guestfs.pod:2152 +#: ../src/guestfs.pod:2151 msgid "libguestfs uses a state machine to model the child process:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2154 +#: ../src/guestfs.pod:2153 #, no-wrap msgid "" " |\n" @@ -4237,7 +4236,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2176 +#: ../src/guestfs.pod:2175 msgid "" "The normal transitions are (1) CONFIG (when the handle is created, but there " "is no child process), (2) LAUNCHING (when the child process is booting up), " @@ -4246,7 +4245,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2181 +#: ../src/guestfs.pod:2180 msgid "" "The guest may be killed by L</guestfs_kill_subprocess>, or may die " "asynchronously at any time (eg. due to some internal error), and that causes " @@ -4254,14 +4253,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2185 +#: ../src/guestfs.pod:2184 msgid "" "Configuration commands for qemu such as L</guestfs_add_drive> can only be " "issued when in the CONFIG state." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2188 +#: ../src/guestfs.pod:2187 msgid "" "The API offers one call that goes from CONFIG through LAUNCHING to READY. " "L</guestfs_launch> blocks until the child process is READY to accept " @@ -4270,7 +4269,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2194 +#: ../src/guestfs.pod:2193 msgid "" "API actions such as L</guestfs_mount> can only be issued when in the READY " "state. These API calls block waiting for the command to be carried out (ie. " @@ -4280,7 +4279,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2200 +#: ../src/guestfs.pod:2199 msgid "" "Finally, the child process sends asynchronous messages back to the main " "program, such as kernel log messages. You can register a callback to " @@ -4288,24 +4287,24 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2204 +#: ../src/guestfs.pod:2203 msgid "INTERNALS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2206 +#: ../src/guestfs.pod:2205 msgid "COMMUNICATION PROTOCOL" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2208 +#: ../src/guestfs.pod:2207 msgid "" "Don't rely on using this protocol directly. This section documents how it " "currently works, but it may change at any time." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2211 +#: ../src/guestfs.pod:2210 msgid "" "The protocol used to talk between the library and the daemon running inside " "the qemu virtual machine is a simple RPC mechanism built on top of XDR (RFC " @@ -4313,14 +4312,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2215 +#: ../src/guestfs.pod:2214 msgid "" "The detailed format of structures is in C<src/guestfs_protocol.x> (note: " "this file is automatically generated)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2218 +#: ../src/guestfs.pod:2217 msgid "" "There are two broad cases, ordinary functions that don't have any C<FileIn> " "and C<FileOut> parameters, which are handled with very simple request/reply " @@ -4330,17 +4329,17 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2225 +#: ../src/guestfs.pod:2224 msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2227 +#: ../src/guestfs.pod:2226 msgid "For ordinary functions, the request message is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2229 +#: ../src/guestfs.pod:2228 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -4351,7 +4350,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2234 +#: ../src/guestfs.pod:2233 msgid "" "The total length field allows the daemon to allocate a fixed size buffer " "into which it slurps the rest of the message. As a result, the total length " @@ -4360,21 +4359,21 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2240 +#: ../src/guestfs.pod:2239 msgid "" "Note also that many functions don't take any arguments, in which case the " "C<guestfs_I<foo>_args> is completely omitted." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2243 +#: ../src/guestfs.pod:2242 msgid "" "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." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2247 +#: ../src/guestfs.pod:2246 msgid "" "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 " @@ -4386,12 +4385,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2255 +#: ../src/guestfs.pod:2254 msgid "The reply message for ordinary functions is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2257 +#: ../src/guestfs.pod:2256 #, no-wrap msgid "" " total length (header + ret,\n" @@ -4402,27 +4401,27 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2262 +#: ../src/guestfs.pod:2261 msgid "" "As above the C<guestfs_I<foo>_ret> structure may be completely omitted for " "functions that return no formal return values." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2265 +#: ../src/guestfs.pod:2264 msgid "" "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2268 +#: ../src/guestfs.pod:2267 msgid "" "In the case of an error, a flag is set in the header, and the reply message " "is slightly changed:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2271 +#: ../src/guestfs.pod:2270 #, no-wrap msgid "" " total length (header + error,\n" @@ -4433,19 +4432,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2276 +#: ../src/guestfs.pod:2275 msgid "" "The C<guestfs_message_error> structure contains the error message as a " "string." msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2279 +#: ../src/guestfs.pod:2278 msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2281 +#: ../src/guestfs.pod:2280 msgid "" "A C<FileIn> parameter indicates that we transfer a file I<into> the guest. " "The normal request message is sent (see above). However this is followed by " @@ -4453,7 +4452,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2285 +#: ../src/guestfs.pod:2284 #, no-wrap msgid "" " total length (header + arguments,\n" @@ -4467,12 +4466,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2293 +#: ../src/guestfs.pod:2292 msgid "The \"sequence of chunks\" is:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2295 +#: ../src/guestfs.pod:2294 #, no-wrap msgid "" " length of chunk (not including length word itself)\n" @@ -4486,7 +4485,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2303 +#: ../src/guestfs.pod:2302 msgid "" "The final chunk has the C<data_len> field set to zero. Additionally a flag " "is set in the final chunk to indicate either successful completion or early " @@ -4494,7 +4493,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2307 +#: ../src/guestfs.pod:2306 msgid "" "At time of writing there are no functions that have more than one FileIn " "parameter. However this is (theoretically) supported, by sending the " @@ -4503,7 +4502,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2312 +#: ../src/guestfs.pod:2311 msgid "" "Both the library (sender) I<and> the daemon (receiver) may cancel the " "transfer. The library does this by sending a chunk with a special flag set " @@ -4512,7 +4511,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2318 +#: ../src/guestfs.pod:2317 msgid "" "The daemon may also cancel. It does this by writing a special word " "C<GUESTFS_CANCEL_FLAG> to the socket. The library listens for this during " @@ -4524,7 +4523,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2327 +#: ../src/guestfs.pod:2326 msgid "" "This protocol allows the transfer of arbitrary sized files (no 32 bit " "limit), and also files where the size is not known in advance (eg. from " @@ -4534,19 +4533,19 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2333 +#: ../src/guestfs.pod:2332 msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2335 +#: ../src/guestfs.pod:2334 msgid "" "The protocol for FileOut parameters is exactly the same as for FileIn " "parameters, but with the roles of daemon and library reversed." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2338 +#: ../src/guestfs.pod:2337 #, no-wrap msgid "" " total length (header + ret,\n" @@ -4560,12 +4559,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2346 +#: ../src/guestfs.pod:2345 msgid "INITIAL MESSAGE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2348 +#: ../src/guestfs.pod:2347 msgid "" "When the daemon launches it sends an initial word (C<GUESTFS_LAUNCH_FLAG>) " "which indicates that the guest and daemon is alive. This is what L</" @@ -4573,12 +4572,12 @@ msgid "" msgstr "" #. type: =head3 -#: ../src/guestfs.pod:2352 +#: ../src/guestfs.pod:2351 msgid "PROGRESS NOTIFICATION MESSAGES" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2354 +#: ../src/guestfs.pod:2353 msgid "" "The daemon may send progress notification messages at any time. These are " "distinguished by the normal length word being replaced by " @@ -4586,7 +4585,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2358 +#: ../src/guestfs.pod:2357 msgid "" "The library turns them into progress callbacks (see L</" "GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards them " @@ -4594,7 +4593,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2362 +#: ../src/guestfs.pod:2361 msgid "" "The daemon self-limits the frequency of progress messages it sends (see " "C<daemon/proto.c:notify_progress>). Not all calls generate progress " @@ -4602,12 +4601,12 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2366 +#: ../src/guestfs.pod:2365 msgid "LIBGUESTFS VERSION NUMBERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2368 +#: ../src/guestfs.pod:2367 msgid "" "Since April 2010, libguestfs has started to make separate development and " "stable releases, along with corresponding branches in our git repository. " @@ -4615,7 +4614,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2373 +#: ../src/guestfs.pod:2372 #, no-wrap msgid "" " even numbers for stable: 1.2.x, 1.4.x, ...\n" @@ -4632,12 +4631,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2384 +#: ../src/guestfs.pod:2383 msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2386 +#: ../src/guestfs.pod:2385 msgid "" "As time passes we cherry pick fixes from the development branch and backport " "those into the stable branch, the effect being that the stable branch should " @@ -4647,26 +4646,26 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2392 +#: ../src/guestfs.pod:2391 msgid "Our criteria for backporting changes are:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2398 +#: ../src/guestfs.pod:2397 msgid "" "Documentation changes which don't affect any code are backported unless the " "documentation refers to a future feature which is not in stable." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2404 +#: ../src/guestfs.pod:2403 msgid "" "Bug fixes which are not controversial, fix obvious problems, and have been " "well tested are backported." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2409 +#: ../src/guestfs.pod:2408 msgid "" "Simple rearrangements of code which shouldn't affect how it works get " "backported. This is so that the code in the two branches doesn't get too " @@ -4674,7 +4673,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2415 +#: ../src/guestfs.pod:2414 msgid "" "We I<don't> backport new features, new APIs, new tools etc, except in one " "exceptional case: the new feature is required in order to implement an " @@ -4682,7 +4681,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2421 +#: ../src/guestfs.pod:2420 msgid "" "A new stable branch starts when we think the new features in development are " "substantial and compelling enough over the current stable branch to warrant " @@ -4693,17 +4692,17 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2429 +#: ../src/guestfs.pod:2428 msgid "EXTENDING LIBGUESTFS" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2431 +#: ../src/guestfs.pod:2430 msgid "ADDING A NEW API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2433 +#: ../src/guestfs.pod:2432 msgid "" "Large amounts of boilerplate code in libguestfs (RPC, bindings, " "documentation) are generated, and this makes it easy to extend the " @@ -4711,19 +4710,19 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2437 +#: ../src/guestfs.pod:2436 msgid "To add a new API action there are two changes:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2443 +#: ../src/guestfs.pod:2442 msgid "" "You need to add a description of the call (name, parameters, return type, " "tests, documentation) to C<generator/generator_actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2446 +#: ../src/guestfs.pod:2445 msgid "" "There are two sorts of API action, depending on whether the call goes " "through to the daemon in the appliance, or is serviced entirely by the " @@ -4734,7 +4733,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2454 +#: ../src/guestfs.pod:2453 msgid "" "Most new actions are of the first type, and get added to the " "C<daemon_functions> list. Each function has a unique procedure number used " @@ -4744,7 +4743,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2460 +#: ../src/guestfs.pod:2459 msgid "" "For library-only actions of the second type, add to the " "C<non_daemon_functions> list. Since these functions are serviced by the " @@ -4754,36 +4753,36 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2468 +#: ../src/guestfs.pod:2467 msgid "Implement the action (in C):" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2470 +#: ../src/guestfs.pod:2469 msgid "" "For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the " "C<daemon/> directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2473 +#: ../src/guestfs.pod:2472 msgid "" "For library actions, implement the function C<guestfs__E<lt>nameE<gt>> " "(note: double underscore) in the C<src/> directory." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2476 +#: ../src/guestfs.pod:2475 msgid "In either case, use another function as an example of what to do." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2480 +#: ../src/guestfs.pod:2479 msgid "After making these changes, use C<make> to compile." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2482 +#: ../src/guestfs.pod:2481 msgid "" "Note that you don't need to implement the RPC, language bindings, manual " "pages or anything else. It's all automatically generated from the OCaml " @@ -4791,12 +4790,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2486 +#: ../src/guestfs.pod:2485 msgid "ADDING TESTS FOR AN API ACTION" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2488 +#: ../src/guestfs.pod:2487 msgid "" "You can supply zero or as many tests as you want per API call. The tests " "can either be added as part of the API description (C<generator/" @@ -4806,61 +4805,61 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2494 +#: ../src/guestfs.pod:2493 msgid "" "The following describes the test environment used when you add an API test " "in C<generator_actions.ml>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2497 +#: ../src/guestfs.pod:2496 msgid "The test environment has 4 block devices:" msgstr "" #. type: =item -#: ../src/guestfs.pod:2501 +#: ../src/guestfs.pod:2500 msgid "C</dev/sda> 500MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2503 +#: ../src/guestfs.pod:2502 msgid "General block device for testing." msgstr "" #. type: =item -#: ../src/guestfs.pod:2505 +#: ../src/guestfs.pod:2504 msgid "C</dev/sdb> 50MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2507 +#: ../src/guestfs.pod:2506 msgid "" "C</dev/sdb1> is an ext2 filesystem used for testing filesystem write " "operations." msgstr "" #. type: =item -#: ../src/guestfs.pod:2510 +#: ../src/guestfs.pod:2509 msgid "C</dev/sdc> 10MB" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2512 +#: ../src/guestfs.pod:2511 msgid "Used in a few tests where two block devices are needed." msgstr "" #. type: =item -#: ../src/guestfs.pod:2514 +#: ../src/guestfs.pod:2513 msgid "C</dev/sdd>" msgstr "C</dev/sdd>" #. type: textblock -#: ../src/guestfs.pod:2516 +#: ../src/guestfs.pod:2515 msgid "ISO with fixed content (see C<images/test.iso>)." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2520 +#: ../src/guestfs.pod:2519 msgid "" "To be able to run the tests in a reasonable amount of time, the libguestfs " "appliance and block devices are reused between tests. So don't try testing " @@ -4868,7 +4867,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2524 +#: ../src/guestfs.pod:2523 msgid "" "Each test starts with an initial scenario, selected using one of the " "C<Init*> expressions, described in C<generator/generator_types.ml>. These " @@ -4878,7 +4877,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2530 +#: ../src/guestfs.pod:2529 msgid "" "You can add a prerequisite clause to any individual test. This is a run-" "time check, which, if it fails, causes the test to be skipped. Useful if " @@ -4888,14 +4887,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2536 +#: ../src/guestfs.pod:2535 msgid "" "In addition, packagers can skip individual tests by setting environment " "variables before running C<make check>." msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2539 +#: ../src/guestfs.pod:2538 #, no-wrap msgid "" " SKIP_TEST_<CMD>_<NUM>=1\n" @@ -4903,17 +4902,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2541 +#: ../src/guestfs.pod:2540 msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2543 +#: ../src/guestfs.pod:2542 msgid "or:" msgstr "або:" #. type: verbatim -#: ../src/guestfs.pod:2545 +#: ../src/guestfs.pod:2544 #, no-wrap msgid "" " SKIP_TEST_<CMD>=1\n" @@ -4921,17 +4920,17 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2547 +#: ../src/guestfs.pod:2546 msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2549 +#: ../src/guestfs.pod:2548 msgid "Packagers can run only certain tests by setting for example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2551 +#: ../src/guestfs.pod:2550 #, no-wrap msgid "" " TEST_ONLY=\"vfs_type zerofree\"\n" @@ -4939,29 +4938,29 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2553 +#: ../src/guestfs.pod:2552 msgid "" "See C<capitests/tests.c> for more details of how these environment variables " "work." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2556 +#: ../src/guestfs.pod:2555 msgid "DEBUGGING NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2558 +#: ../src/guestfs.pod:2557 msgid "Test new actions work before submitting them." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2560 +#: ../src/guestfs.pod:2559 msgid "You can use guestfish to try out new commands." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2562 +#: ../src/guestfs.pod:2561 msgid "" "Debugging the daemon is a problem because it runs inside a minimal " "environment. However you can fprintf messages in the daemon to stderr, and " @@ -4969,12 +4968,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2566 +#: ../src/guestfs.pod:2565 msgid "FORMATTING CODE AND OTHER CONVENTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2568 +#: ../src/guestfs.pod:2567 msgid "" "Our C source code generally adheres to some basic code-formatting " "conventions. The existing code base is not totally consistent on this " @@ -4984,14 +4983,14 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2574 +#: ../src/guestfs.pod:2573 msgid "" "If you use Emacs, add the following to one of one of your start-up files (e." "g., ~/.emacs), to help ensure that you get indentation right:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2577 +#: ../src/guestfs.pod:2576 #, no-wrap msgid "" " ;;; In libguestfs, indent with spaces everywhere (not TABs).\n" @@ -5007,7 +5006,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2587 +#: ../src/guestfs.pod:2586 #, no-wrap msgid "" " ;;; When editing C sources in libguestfs, use this style.\n" @@ -5025,12 +5024,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2599 +#: ../src/guestfs.pod:2598 msgid "Enable warnings when compiling (and fix any problems this finds):" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2602 +#: ../src/guestfs.pod:2601 #, no-wrap msgid "" " ./configure --enable-gcc-warnings\n" @@ -5038,12 +5037,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2604 +#: ../src/guestfs.pod:2603 msgid "Useful targets are:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2606 +#: ../src/guestfs.pod:2605 #, no-wrap msgid "" " make syntax-check # checks the syntax of the C code\n" @@ -5052,48 +5051,48 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2609 +#: ../src/guestfs.pod:2608 msgid "DAEMON CUSTOM PRINTF FORMATTERS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2611 +#: ../src/guestfs.pod:2610 msgid "" "In the daemon code we have created custom printf formatters C<%Q> and C<%R>, " "which are used to do shell quoting." msgstr "" #. type: =item -#: ../src/guestfs.pod:2616 +#: ../src/guestfs.pod:2615 msgid "%Q" msgstr "%Q" #. type: textblock -#: ../src/guestfs.pod:2618 +#: ../src/guestfs.pod:2617 msgid "" "Simple shell quoted string. Any spaces or other shell characters are " "escaped for you." msgstr "" #. type: =item -#: ../src/guestfs.pod:2621 +#: ../src/guestfs.pod:2620 msgid "%R" msgstr "%R" #. type: textblock -#: ../src/guestfs.pod:2623 +#: ../src/guestfs.pod:2622 msgid "" "Same as C<%Q> except the string is treated as a path which is prefixed by " "the sysroot." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2628 ../fish/guestfish.pod:240 ../fish/guestfish.pod:613 +#: ../src/guestfs.pod:2627 ../fish/guestfish.pod:240 ../fish/guestfish.pod:613 msgid "For example:" msgstr "Приклад:" #. type: verbatim -#: ../src/guestfs.pod:2630 +#: ../src/guestfs.pod:2629 #, no-wrap msgid "" " asprintf (&cmd, \"cat %R\", path);\n" @@ -5101,12 +5100,12 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2632 +#: ../src/guestfs.pod:2631 msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2634 +#: ../src/guestfs.pod:2633 msgid "" "I<Note:> Do I<not> use these when you are passing parameters to the C<command" "{,r,v,rv}()> functions. These parameters do NOT need to be quoted because " @@ -5115,29 +5114,29 @@ msgid "" msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2640 +#: ../src/guestfs.pod:2639 msgid "SUBMITTING YOUR NEW API ACTIONS" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2642 +#: ../src/guestfs.pod:2641 msgid "" "Submit patches to the mailing list: L<http://www.redhat.com/mailman/listinfo/" "libguestfs> and CC to L<rjones@redhat.com>." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2646 +#: ../src/guestfs.pod:2645 msgid "INTERNATIONALIZATION (I18N) SUPPORT" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2648 +#: ../src/guestfs.pod:2647 msgid "We support i18n (gettext anyhow) in the library." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2650 +#: ../src/guestfs.pod:2649 msgid "" "However many messages come from the daemon, and we don't translate those at " "the moment. One reason is that the appliance generally has all locale files " @@ -5146,98 +5145,98 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2656 +#: ../src/guestfs.pod:2655 msgid "" "Debugging messages are never translated, since they are intended for the " "programmers." msgstr "" #. type: =head2 -#: ../src/guestfs.pod:2659 +#: ../src/guestfs.pod:2658 msgid "SOURCE CODE SUBDIRECTORIES" msgstr "" #. type: =item -#: ../src/guestfs.pod:2663 ../src/guestfs-actions.pod:5806 +#: ../src/guestfs.pod:2662 ../src/guestfs-actions.pod:5806 #: ../fish/guestfish-actions.pod:3900 msgid "C<appliance>" msgstr "C<appliance>" #. type: textblock -#: ../src/guestfs.pod:2665 +#: ../src/guestfs.pod:2664 msgid "The libguestfs appliance, build scripts and so on." msgstr "" #. type: =item -#: ../src/guestfs.pod:2667 +#: ../src/guestfs.pod:2666 msgid "C<capitests>" msgstr "C<capitests>" #. type: textblock -#: ../src/guestfs.pod:2669 +#: ../src/guestfs.pod:2668 msgid "Automated tests of the C API." msgstr "" #. type: =item -#: ../src/guestfs.pod:2671 +#: ../src/guestfs.pod:2670 msgid "C<cat>" msgstr "C<cat>" #. type: textblock -#: ../src/guestfs.pod:2673 +#: ../src/guestfs.pod:2672 msgid "" "The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and " "documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:2676 +#: ../src/guestfs.pod:2675 msgid "C<contrib>" msgstr "C<contrib>" #. type: textblock -#: ../src/guestfs.pod:2678 +#: ../src/guestfs.pod:2677 msgid "Outside contributions, experimental parts." msgstr "" #. type: =item -#: ../src/guestfs.pod:2680 +#: ../src/guestfs.pod:2679 msgid "C<daemon>" msgstr "C<daemon>" #. type: textblock -#: ../src/guestfs.pod:2682 +#: ../src/guestfs.pod:2681 msgid "" "The daemon that runs inside the libguestfs appliance and carries out actions." msgstr "" #. type: =item -#: ../src/guestfs.pod:2685 +#: ../src/guestfs.pod:2684 msgid "C<df>" msgstr "C<df>" #. type: textblock -#: ../src/guestfs.pod:2687 +#: ../src/guestfs.pod:2686 msgid "L<virt-df(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:2689 +#: ../src/guestfs.pod:2688 msgid "C<examples>" msgstr "C<examples>" #. type: textblock -#: ../src/guestfs.pod:2691 +#: ../src/guestfs.pod:2690 msgid "C API example code." msgstr "Код прикладів використання програмного інтерфейсу мовою C." #. type: =item -#: ../src/guestfs.pod:2693 +#: ../src/guestfs.pod:2692 msgid "C<fish>" msgstr "C<fish>" #. type: textblock -#: ../src/guestfs.pod:2695 +#: ../src/guestfs.pod:2694 msgid "" "L<guestfish(1)>, the command-line shell, and various shell scripts built on " "top such as L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-tar-in(1)>, " @@ -5245,90 +5244,90 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2699 +#: ../src/guestfs.pod:2698 msgid "C<fuse>" msgstr "C<fuse>" #. type: textblock -#: ../src/guestfs.pod:2701 +#: ../src/guestfs.pod:2700 msgid "" "L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:2703 +#: ../src/guestfs.pod:2702 msgid "C<generator>" msgstr "C<generator>" #. type: textblock -#: ../src/guestfs.pod:2705 +#: ../src/guestfs.pod:2704 msgid "" "The crucially important generator, used to automatically generate large " "amounts of boilerplate C code for things like RPC and bindings." msgstr "" #. type: =item -#: ../src/guestfs.pod:2708 +#: ../src/guestfs.pod:2707 msgid "C<images>" msgstr "C<images>" #. type: textblock -#: ../src/guestfs.pod:2710 +#: ../src/guestfs.pod:2709 msgid "Files used by the test suite." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2712 +#: ../src/guestfs.pod:2711 msgid "Some \"phony\" guest images which we test against." msgstr "" #. type: =item -#: ../src/guestfs.pod:2714 +#: ../src/guestfs.pod:2713 msgid "C<inspector>" msgstr "C<inspector>" #. type: textblock -#: ../src/guestfs.pod:2716 +#: ../src/guestfs.pod:2715 msgid "L<virt-inspector(1)>, the virtual machine image inspector." msgstr "" #. type: =item -#: ../src/guestfs.pod:2718 +#: ../src/guestfs.pod:2717 msgid "C<logo>" msgstr "C<logo>" #. type: textblock -#: ../src/guestfs.pod:2720 +#: ../src/guestfs.pod:2719 msgid "Logo used on the website. The fish is called Arthur by the way." msgstr "" #. type: =item -#: ../src/guestfs.pod:2722 +#: ../src/guestfs.pod:2721 msgid "C<m4>" msgstr "C<m4>" #. type: textblock -#: ../src/guestfs.pod:2724 +#: ../src/guestfs.pod:2723 msgid "M4 macros used by autoconf." msgstr "" #. type: =item -#: ../src/guestfs.pod:2726 +#: ../src/guestfs.pod:2725 msgid "C<po>" msgstr "C<po>" #. type: textblock -#: ../src/guestfs.pod:2728 +#: ../src/guestfs.pod:2727 msgid "Translations of simple gettext strings." msgstr "Переклади простих рядків gettext." #. type: =item -#: ../src/guestfs.pod:2730 +#: ../src/guestfs.pod:2729 msgid "C<po-docs>" msgstr "C<po-docs>" #. type: textblock -#: ../src/guestfs.pod:2732 +#: ../src/guestfs.pod:2731 msgid "" "The build infrastructure and PO files for translations of manpages and POD " "files. Eventually this will be combined with the C<po> directory, but that " @@ -5336,143 +5335,143 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2736 +#: ../src/guestfs.pod:2735 msgid "C<regressions>" msgstr "C<regressions>" #. type: textblock -#: ../src/guestfs.pod:2738 +#: ../src/guestfs.pod:2737 msgid "Regression tests." msgstr "Тести на регресії." #. type: =item -#: ../src/guestfs.pod:2740 +#: ../src/guestfs.pod:2739 msgid "C<rescue>" msgstr "C<rescue>" #. type: textblock -#: ../src/guestfs.pod:2742 +#: ../src/guestfs.pod:2741 msgid "L<virt-rescue(1)> command and documentation." msgstr "" #. type: =item -#: ../src/guestfs.pod:2744 +#: ../src/guestfs.pod:2743 msgid "C<src>" msgstr "C<src>" #. type: textblock -#: ../src/guestfs.pod:2746 +#: ../src/guestfs.pod:2745 msgid "Source code to the C library." msgstr "" #. type: =item -#: ../src/guestfs.pod:2748 +#: ../src/guestfs.pod:2747 msgid "C<tools>" msgstr "C<tools>" #. type: textblock -#: ../src/guestfs.pod:2750 +#: ../src/guestfs.pod:2749 msgid "Command line tools written in Perl (L<virt-resize(1)> and many others)." msgstr "" #. type: =item -#: ../src/guestfs.pod:2752 +#: ../src/guestfs.pod:2751 msgid "C<test-tool>" msgstr "C<test-tool>" #. type: textblock -#: ../src/guestfs.pod:2754 +#: ../src/guestfs.pod:2753 msgid "" "Test tool for end users to test if their qemu/kernel combination will work " "with libguestfs." msgstr "" #. type: =item -#: ../src/guestfs.pod:2757 +#: ../src/guestfs.pod:2756 msgid "C<csharp>" msgstr "C<csharp>" #. type: =item -#: ../src/guestfs.pod:2759 +#: ../src/guestfs.pod:2758 msgid "C<haskell>" msgstr "C<haskell>" #. type: =item -#: ../src/guestfs.pod:2761 +#: ../src/guestfs.pod:2760 msgid "C<java>" msgstr "C<java>" #. type: =item -#: ../src/guestfs.pod:2763 +#: ../src/guestfs.pod:2762 msgid "C<ocaml>" msgstr "C<ocaml>" #. type: =item -#: ../src/guestfs.pod:2765 +#: ../src/guestfs.pod:2764 msgid "C<php>" msgstr "C<php>" #. type: =item -#: ../src/guestfs.pod:2767 +#: ../src/guestfs.pod:2766 msgid "C<perl>" msgstr "C<perl>" #. type: =item -#: ../src/guestfs.pod:2769 +#: ../src/guestfs.pod:2768 msgid "C<python>" msgstr "C<python>" #. type: =item -#: ../src/guestfs.pod:2771 +#: ../src/guestfs.pod:2770 msgid "C<ruby>" msgstr "C<ruby>" #. type: textblock -#: ../src/guestfs.pod:2773 +#: ../src/guestfs.pod:2772 msgid "Language bindings." msgstr "Прив’язки до мов програмування." #. type: =head1 -#: ../src/guestfs.pod:2777 ../fish/guestfish.pod:1010 +#: ../src/guestfs.pod:2776 ../fish/guestfish.pod:1015 #: ../test-tool/libguestfs-test-tool.pod:82 ../tools/virt-edit.pl:476 msgid "ENVIRONMENT VARIABLES" msgstr "ЗМІННІ СЕРЕДОВИЩА" #. type: =item -#: ../src/guestfs.pod:2781 ../fish/guestfish.pod:1036 +#: ../src/guestfs.pod:2780 ../fish/guestfish.pod:1041 msgid "LIBGUESTFS_APPEND" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2783 ../fish/guestfish.pod:1038 +#: ../src/guestfs.pod:2782 ../fish/guestfish.pod:1043 msgid "Pass additional options to the guest kernel." msgstr "" #. type: =item -#: ../src/guestfs.pod:2785 ../fish/guestfish.pod:1040 +#: ../src/guestfs.pod:2784 ../fish/guestfish.pod:1045 msgid "LIBGUESTFS_DEBUG" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2787 +#: ../src/guestfs.pod:2786 msgid "" "Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages. This has the same " "effect as calling C<guestfs_set_verbose (g, 1)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:2790 ../fish/guestfish.pod:1045 +#: ../src/guestfs.pod:2789 ../fish/guestfish.pod:1050 msgid "LIBGUESTFS_MEMSIZE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2792 ../fish/guestfish.pod:1047 +#: ../src/guestfs.pod:2791 ../fish/guestfish.pod:1052 msgid "" "Set the memory allocated to the qemu process, in megabytes. For example:" msgstr "" #. type: verbatim -#: ../src/guestfs.pod:2795 ../fish/guestfish.pod:1050 +#: ../src/guestfs.pod:2794 ../fish/guestfish.pod:1055 #, no-wrap msgid "" " LIBGUESTFS_MEMSIZE=700\n" @@ -5480,60 +5479,60 @@ msgid "" msgstr "" #. type: =item -#: ../src/guestfs.pod:2797 ../fish/guestfish.pod:1052 +#: ../src/guestfs.pod:2796 ../fish/guestfish.pod:1057 msgid "LIBGUESTFS_PATH" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2799 +#: ../src/guestfs.pod:2798 msgid "" "Set the path that libguestfs uses to search for a supermin appliance. See " "the discussion of paths in section L</PATH> above." msgstr "" #. type: =item -#: ../src/guestfs.pod:2802 ../fish/guestfish.pod:1057 +#: ../src/guestfs.pod:2801 ../fish/guestfish.pod:1062 msgid "LIBGUESTFS_QEMU" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2804 ../fish/guestfish.pod:1059 +#: ../src/guestfs.pod:2803 ../fish/guestfish.pod:1064 msgid "" "Set the default qemu binary that libguestfs uses. If not set, then the qemu " "which was found at compile time by the configure script is used." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2808 +#: ../src/guestfs.pod:2807 msgid "See also L</QEMU WRAPPERS> above." msgstr "" #. type: =item -#: ../src/guestfs.pod:2810 ../fish/guestfish.pod:1063 +#: ../src/guestfs.pod:2809 ../fish/guestfish.pod:1068 msgid "LIBGUESTFS_TRACE" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2812 +#: ../src/guestfs.pod:2811 msgid "" "Set C<LIBGUESTFS_TRACE=1> to enable command traces. This has the same " "effect as calling C<guestfs_set_trace (g, 1)>." msgstr "" #. type: =item -#: ../src/guestfs.pod:2815 ../fish/guestfish.pod:1072 +#: ../src/guestfs.pod:2814 ../fish/guestfish.pod:1077 msgid "TMPDIR" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2817 ../fish/guestfish.pod:1074 +#: ../src/guestfs.pod:2816 ../fish/guestfish.pod:1079 msgid "" "Location of temporary directory, defaults to C</tmp> except for the cached " "supermin appliance which defaults to C</var/tmp>." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2820 ../fish/guestfish.pod:1077 +#: ../src/guestfs.pod:2819 ../fish/guestfish.pod:1082 msgid "" "If libguestfs was compiled to use the supermin appliance then the real " "appliance is cached in this directory, shared between all handles belonging " @@ -5542,7 +5541,7 @@ msgid "" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2828 ../fish/guestfish.pod:1144 +#: ../src/guestfs.pod:2827 ../fish/guestfish.pod:1149 #: ../test-tool/libguestfs-test-tool.pod:87 ../fuse/guestmount.pod:267 #: ../tools/virt-edit.pl:496 ../tools/virt-win-reg.pl:572 #: ../tools/virt-list-filesystems.pl:189 ../tools/virt-tar.pl:286 @@ -5551,7 +5550,7 @@ msgid "SEE ALSO" msgstr "ТАКОЖ ПЕРЕГЛЯНЬТЕ" #. type: textblock -#: ../src/guestfs.pod:2830 +#: ../src/guestfs.pod:2829 msgid "" "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-copy-in" @@ -5563,27 +5562,27 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2857 +#: ../src/guestfs.pod:2856 msgid "" "Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, L<lvm" "(8)>, L<disktype(1)>." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2864 ../tools/virt-win-reg.pl:587 +#: ../src/guestfs.pod:2863 ../tools/virt-win-reg.pl:587 #: ../tools/virt-make-fs.pl:553 msgid "BUGS" msgstr "ВАДИ" #. type: textblock -#: ../src/guestfs.pod:2866 +#: ../src/guestfs.pod:2865 msgid "To get a list of bugs against libguestfs use this link:" msgstr "" "Щоб переглянути список відомих вад у libguestfs, скористайтеся таким " "посиланням:" #. type: textblock -#: ../src/guestfs.pod:2868 +#: ../src/guestfs.pod:2867 msgid "" "L<https://bugzilla.redhat.com/buglist.cgi?" "component=libguestfs&product=Virtualization+Tools>" @@ -5592,12 +5591,12 @@ msgstr "" "component=libguestfs&product=Virtualization+Tools>" #. type: textblock -#: ../src/guestfs.pod:2870 +#: ../src/guestfs.pod:2869 msgid "To report a new bug against libguestfs use this link:" msgstr "Для звітування щодо вад у libguestfs скористайтеся цим посиланням:" #. type: textblock -#: ../src/guestfs.pod:2872 +#: ../src/guestfs.pod:2871 msgid "" "L<https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools>" @@ -5606,46 +5605,46 @@ msgstr "" "component=libguestfs&product=Virtualization+Tools>" #. type: textblock -#: ../src/guestfs.pod:2874 +#: ../src/guestfs.pod:2873 msgid "When reporting a bug, please check:" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2880 +#: ../src/guestfs.pod:2879 msgid "That the bug hasn't been reported already." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2884 +#: ../src/guestfs.pod:2883 msgid "That you are testing a recent version." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2888 +#: ../src/guestfs.pod:2887 msgid "Describe the bug accurately, and give a way to reproduce it." msgstr "" #. type: textblock -#: ../src/guestfs.pod:2892 +#: ../src/guestfs.pod:2891 msgid "" "Run libguestfs-test-tool and paste the B<complete, unedited> output into the " "bug report." msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2897 ../fish/guestfish.pod:1167 +#: ../src/guestfs.pod:2896 ../fish/guestfish.pod:1172 #: ../test-tool/libguestfs-test-tool.pod:93 ../fuse/guestmount.pod:278 msgid "AUTHORS" msgstr "АВТОРИ" #. type: textblock -#: ../src/guestfs.pod:2899 ../fish/guestfish.pod:1169 +#: ../src/guestfs.pod:2898 ../fish/guestfish.pod:1174 #: ../test-tool/libguestfs-test-tool.pod:95 ../fuse/guestmount.pod:280 msgid "Richard W.M. Jones (C<rjones at redhat dot com>)" msgstr "" #. type: =head1 -#: ../src/guestfs.pod:2901 ../fish/guestfish.pod:1171 +#: ../src/guestfs.pod:2900 ../fish/guestfish.pod:1176 #: ../test-tool/libguestfs-test-tool.pod:97 ../fuse/guestmount.pod:282 #: ../tools/virt-edit.pl:514 ../tools/virt-win-reg.pl:602 #: ../tools/virt-list-filesystems.pl:206 ../tools/virt-tar.pl:305 @@ -5654,13 +5653,13 @@ msgid "COPYRIGHT" msgstr "АВТОРСЬКІ ПРАВА" #. type: textblock -#: ../src/guestfs.pod:2903 ../fish/guestfish.pod:1173 +#: ../src/guestfs.pod:2902 ../fish/guestfish.pod:1178 #: ../test-tool/libguestfs-test-tool.pod:99 msgid "Copyright (C) 2009-2011 Red Hat Inc. L<http://libguestfs.org/>" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2906 +#: ../src/guestfs.pod:2905 msgid "" "This library is free software; you can redistribute it and/or modify it " "under the terms of the GNU Lesser General Public License as published by the " @@ -5669,7 +5668,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2911 +#: ../src/guestfs.pod:2910 msgid "" "This library is distributed in the hope that it will be useful, but WITHOUT " "ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " @@ -5678,7 +5677,7 @@ msgid "" msgstr "" #. type: textblock -#: ../src/guestfs.pod:2916 +#: ../src/guestfs.pod:2915 msgid "" "You should have received a copy of the GNU Lesser General Public License " "along with this library; if not, write to the Free Software Foundation, " @@ -19121,7 +19120,7 @@ msgid "" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:942 +#: ../fish/guestfish.pod:41 ../fish/guestfish.pod:947 #: ../fuse/guestmount.pod:39 ../tools/virt-edit.pl:63 ../tools/virt-tar.pl:50 msgid "EXAMPLES" msgstr "" @@ -19356,7 +19355,7 @@ msgid "To list what is available do:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:933 +#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:938 #, no-wrap msgid "" " guestfish -N help | less\n" @@ -20879,12 +20878,13 @@ msgstr "" #. type: textblock #: ../fish/guestfish.pod:800 msgid "" -"If a path is prefixed with C<win:> then you can use Windows-style paths " -"(with some limitations). The following commands are equivalent:" +"If a path is prefixed with C<win:> then you can use Windows-style drive " +"letters and paths (with some limitations). The following commands are " +"equivalent:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:803 +#: ../fish/guestfish.pod:804 #, no-wrap msgid "" " file /WINDOWS/system32/config/system.LOG\n" @@ -20892,44 +20892,51 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:805 +#: ../fish/guestfish.pod:806 #, no-wrap msgid "" -" file win:/windows/system32/config/system.log\n" +" file win:\\windows\\system32\\config\\system.log\n" "\n" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:807 +#: ../fish/guestfish.pod:808 #, no-wrap msgid "" -" file win:\\windows\\system32\\config\\system.log\n" +" file WIN:C:\\Windows\\SYSTEM32\\CONFIG\\SYSTEM.LOG\n" "\n" msgstr "" +#. type: textblock +#: ../fish/guestfish.pod:810 +msgid "" +"The parameter is rewritten \"behind the scenes\" by looking up the position " +"where the drive is mounted, prepending that to the path, changing all " +"backslash characters to forward slash, then resolving the result using L</" +"case-sensitive-path>. For example if the E: drive was mounted on C</e> then " +"the parameter might be rewritten like this:" +msgstr "" + #. type: verbatim -#: ../fish/guestfish.pod:809 +#: ../fish/guestfish.pod:816 #, no-wrap msgid "" -" file WIN:C:\\Windows\\SYSTEM32\\conFIG\\SYSTEM.LOG\n" +" win:e:\\foo\\bar => /e/FOO/bar\n" "\n" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:811 -msgid "" -"This syntax implicitly calls C<case-sensitive-path> (q.v.) so it also " -"handles case insensitivity like Windows would. This only works in argument " -"positions that expect a path." +#: ../fish/guestfish.pod:818 +msgid "This only works in argument positions that expect a path." msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:815 +#: ../fish/guestfish.pod:820 msgid "UPLOADING AND DOWNLOADING FILES" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:817 +#: ../fish/guestfish.pod:822 msgid "" "For commands such as C<upload>, C<download>, C<tar-in>, C<tar-out> and " "others which upload from or download to a local file, you can use the " @@ -20937,7 +20944,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:821 +#: ../fish/guestfish.pod:826 #, no-wrap msgid "" " upload - /foo\n" @@ -20945,13 +20952,13 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:823 +#: ../fish/guestfish.pod:828 msgid "" "reads stdin and creates from that a file C</foo> in the disk image, and:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:826 +#: ../fish/guestfish.pod:831 #, no-wrap msgid "" " tar-out /etc - | tar tf -\n" @@ -20959,14 +20966,14 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:828 +#: ../fish/guestfish.pod:833 msgid "" "writes the tarball to stdout and then pipes that into the external \"tar\" " "command (see L</PIPES>)." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:831 +#: ../fish/guestfish.pod:836 msgid "" "When using C<-> to read from stdin, the input is read up to the end of " "stdin. You can also use a special \"heredoc\"-like syntax to read up to " @@ -20974,7 +20981,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:835 +#: ../fish/guestfish.pod:840 #, no-wrap msgid "" " upload -<<END /foo\n" @@ -20986,7 +20993,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:841 +#: ../fish/guestfish.pod:846 msgid "" "Any string of characters can be used instead of C<END>. The end marker must " "appear on a line of its own, without any preceeding or following characters " @@ -20994,19 +21001,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:845 +#: ../fish/guestfish.pod:850 msgid "" "Note that the C<-E<lt>E<lt>> syntax only applies to parameters used to " "upload local files (so-called \"FileIn\" parameters in the generator)." msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:848 +#: ../fish/guestfish.pod:853 msgid "EXIT ON ERROR BEHAVIOUR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:850 +#: ../fish/guestfish.pod:855 msgid "" "By default, guestfish will ignore any errors when in interactive mode (ie. " "taking commands from a human over a tty), and will exit on the first error " @@ -21014,19 +21021,19 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:855 +#: ../fish/guestfish.pod:860 msgid "" "If you prefix a command with a I<-> character, then that command will not " "cause guestfish to exit, even if that (one) command returns an error." msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:859 +#: ../fish/guestfish.pod:864 msgid "REMOTE CONTROL GUESTFISH OVER A SOCKET" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:861 +#: ../fish/guestfish.pod:866 msgid "" "Guestfish can be remote-controlled over a socket. This is useful " "particularly in shell scripts where you want to make several different " @@ -21035,12 +21042,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:866 +#: ../fish/guestfish.pod:871 msgid "Start a guestfish server process using:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:868 +#: ../fish/guestfish.pod:873 #, no-wrap msgid "" " eval \"`guestfish --listen`\"\n" @@ -21048,12 +21055,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:870 +#: ../fish/guestfish.pod:875 msgid "and then send it commands by doing:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:872 +#: ../fish/guestfish.pod:877 #, no-wrap msgid "" " guestfish --remote cmd [...]\n" @@ -21061,12 +21068,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:874 +#: ../fish/guestfish.pod:879 msgid "To cause the server to exit, send it the exit command:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:876 +#: ../fish/guestfish.pod:881 #, no-wrap msgid "" " guestfish --remote exit\n" @@ -21074,7 +21081,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:878 +#: ../fish/guestfish.pod:883 msgid "" "Note that the server will normally exit if there is an error in a command. " "You can change this in the usual way. See section L</EXIT ON ERROR " @@ -21082,12 +21089,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:882 +#: ../fish/guestfish.pod:887 msgid "CONTROLLING MULTIPLE GUESTFISH PROCESSES" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:884 +#: ../fish/guestfish.pod:889 msgid "" "The C<eval> statement sets the environment variable C<$GUESTFISH_PID>, which " "is how the I<--remote> option knows where to send the commands. You can " @@ -21095,7 +21102,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:888 +#: ../fish/guestfish.pod:893 #, no-wrap msgid "" " eval \"`guestfish --listen`\"\n" @@ -21109,19 +21116,19 @@ msgid "" msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:896 +#: ../fish/guestfish.pod:901 msgid "REMOTE CONTROL AND CSH" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:898 +#: ../fish/guestfish.pod:903 msgid "" "When using csh-like shells (csh, tcsh etc) you have to add the I<--csh> " "option:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:901 +#: ../fish/guestfish.pod:906 #, no-wrap msgid "" " eval \"`guestfish --listen --csh`\"\n" @@ -21129,12 +21136,12 @@ msgid "" msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:903 +#: ../fish/guestfish.pod:908 msgid "REMOTE CONTROL DETAILS" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:905 +#: ../fish/guestfish.pod:910 msgid "" "Remote control happens over a Unix domain socket called C</tmp/.guestfish-" "$UID/socket-$PID>, where C<$UID> is the effective user ID of the process, " @@ -21142,17 +21149,17 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:909 +#: ../fish/guestfish.pod:914 msgid "Guestfish client and server versions must match exactly." msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:911 +#: ../fish/guestfish.pod:916 msgid "PREPARED DISK IMAGES" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:913 +#: ../fish/guestfish.pod:918 msgid "" "Use the I<-N type> or I<--new type> parameter to select one of a set of " "preformatted disk images that guestfish can make for you to save typing. " @@ -21162,7 +21169,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:919 +#: ../fish/guestfish.pod:924 msgid "" "The new disk is called C<test1.img> for the first I<-N>, C<test2.img> for " "the second and so on. Existing files in the current directory are " @@ -21170,7 +21177,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:923 +#: ../fish/guestfish.pod:928 msgid "" "The type briefly describes how the disk should be sized, partitioned, how " "filesystem(s) should be created, and how content should be added. " @@ -21182,31 +21189,31 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:931 +#: ../fish/guestfish.pod:936 msgid "To list the available types and any extra parameters they take, run:" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:935 +#: ../fish/guestfish.pod:940 msgid "" "Note that the prepared filesystem is not mounted. You would usually have to " "use the C<mount /dev/sda1 /> command or add the I<-m /dev/sda1> option." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:939 +#: ../fish/guestfish.pod:944 msgid "" "If any I<-N> or I<--new> options are given, the guest is automatically " "launched." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:944 +#: ../fish/guestfish.pod:949 msgid "Create a 100MB disk with an ext4-formatted partition:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:946 +#: ../fish/guestfish.pod:951 #, no-wrap msgid "" " guestfish -N fs:ext4\n" @@ -21214,12 +21221,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:948 +#: ../fish/guestfish.pod:953 msgid "Create a 32MB disk with a VFAT-formatted partition, and mount it:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:950 +#: ../fish/guestfish.pod:955 #, no-wrap msgid "" " guestfish -N fs:vfat:32M -m /dev/sda1\n" @@ -21227,12 +21234,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:952 +#: ../fish/guestfish.pod:957 msgid "Create a blank 200MB disk:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:954 +#: ../fish/guestfish.pod:959 #, no-wrap msgid "" " guestfish -N disk:200M\n" @@ -21240,19 +21247,19 @@ msgid "" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:956 +#: ../fish/guestfish.pod:961 msgid "PROGRESS BARS" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:958 +#: ../fish/guestfish.pod:963 msgid "" "Some (not all) long-running commands send progress notification messages as " "they are running. Guestfish turns these messages into progress bars." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:962 +#: ../fish/guestfish.pod:967 msgid "" "When a command that supports progress bars takes longer than two seconds to " "run, and if progress bars are enabled, then you will see one appearing below " @@ -21260,7 +21267,7 @@ msgid "" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:966 +#: ../fish/guestfish.pod:971 #, no-wrap msgid "" " ><fs> copy-size /large-file /another-file 2048M\n" @@ -21269,7 +21276,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:969 +#: ../fish/guestfish.pod:974 msgid "" "The spinner on the left hand side moves round once for every progress " "notification received from the backend. This is a (reasonably) golden " @@ -21280,7 +21287,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:976 +#: ../fish/guestfish.pod:981 msgid "" "Progress bars are enabled by default when guestfish is used interactively. " "You can enable them even for non-interactive modes using I<--progress-bars>, " @@ -21288,24 +21295,24 @@ msgid "" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:981 +#: ../fish/guestfish.pod:986 msgid "GUESTFISH COMMANDS" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:983 +#: ../fish/guestfish.pod:988 msgid "" "The commands in this section are guestfish convenience commands, in other " "words, they are not part of the L<guestfs(3)> API." msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:986 +#: ../fish/guestfish.pod:991 msgid "help" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:988 +#: ../fish/guestfish.pod:993 #, no-wrap msgid "" " help\n" @@ -21314,177 +21321,177 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:991 +#: ../fish/guestfish.pod:996 msgid "Without any parameter, this provides general help." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:993 +#: ../fish/guestfish.pod:998 msgid "With a C<cmd> parameter, this displays detailed help for that command." msgstr "" #. type: =head2 -#: ../fish/guestfish.pod:995 +#: ../fish/guestfish.pod:1000 msgid "quit | exit" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:997 +#: ../fish/guestfish.pod:1002 msgid "This exits guestfish. You can also use C<^D> key." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:999 +#: ../fish/guestfish.pod:1004 msgid "@FISH_COMMANDS@" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:1001 +#: ../fish/guestfish.pod:1006 msgid "COMMANDS" msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:1005 ../test-tool/libguestfs-test-tool.pod:77 +#: ../fish/guestfish.pod:1010 ../test-tool/libguestfs-test-tool.pod:77 msgid "EXIT CODE" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1007 +#: ../fish/guestfish.pod:1012 msgid "" "guestfish returns 0 if the commands completed without error, or 1 if there " "was an error." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1014 +#: ../fish/guestfish.pod:1019 msgid "EDITOR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1016 +#: ../fish/guestfish.pod:1021 msgid "" "The C<edit> command uses C<$EDITOR> as the editor. If not set, it uses " "C<vi>." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1019 +#: ../fish/guestfish.pod:1024 msgid "GUESTFISH_PID" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1021 +#: ../fish/guestfish.pod:1026 msgid "" "Used with the I<--remote> option to specify the remote guestfish process to " "control. See section L</REMOTE CONTROL GUESTFISH OVER A SOCKET>." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1025 +#: ../fish/guestfish.pod:1030 msgid "HEXEDITOR" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1027 +#: ../fish/guestfish.pod:1032 msgid "" "The L</hexedit> command uses C<$HEXEDITOR> as the external hex editor. If " "not specified, the external L<hexedit(1)> program is used." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1031 +#: ../fish/guestfish.pod:1036 msgid "HOME" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1033 +#: ../fish/guestfish.pod:1038 msgid "" "If compiled with GNU readline support, various files in the home directory " "can be used. See L</FILES>." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1042 +#: ../fish/guestfish.pod:1047 msgid "" "Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages. This has the same " "effect as using the B<-v> option." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1054 +#: ../fish/guestfish.pod:1059 msgid "" "Set the path that guestfish uses to search for kernel and initrd.img. See " "the discussion of paths in L<guestfs(3)>." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1065 +#: ../fish/guestfish.pod:1070 msgid "Set C<LIBGUESTFS_TRACE=1> to enable command traces." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1067 +#: ../fish/guestfish.pod:1072 msgid "PAGER" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1069 +#: ../fish/guestfish.pod:1074 msgid "" "The C<more> command uses C<$PAGER> as the pager. If not set, it uses " "C<more>." msgstr "" #. type: =head1 -#: ../fish/guestfish.pod:1085 ../fuse/guestmount.pod:252 +#: ../fish/guestfish.pod:1090 ../fuse/guestmount.pod:252 msgid "FILES" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1089 ../fuse/guestmount.pod:256 +#: ../fish/guestfish.pod:1094 ../fuse/guestmount.pod:256 msgid "$HOME/.libguestfs-tools.rc" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1091 ../fuse/guestmount.pod:258 +#: ../fish/guestfish.pod:1096 ../fuse/guestmount.pod:258 msgid "/etc/libguestfs-tools.conf" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1093 ../fuse/guestmount.pod:260 +#: ../fish/guestfish.pod:1098 ../fuse/guestmount.pod:260 msgid "" "This configuration file controls the default read-only or read-write mode " "(I<--ro> or I<--rw>)." msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1096 +#: ../fish/guestfish.pod:1101 msgid "See L</OPENING DISKS FOR READ AND WRITE>." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1098 +#: ../fish/guestfish.pod:1103 msgid "$HOME/.guestfish" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1100 +#: ../fish/guestfish.pod:1105 msgid "" "If compiled with GNU readline support, then the command history is saved in " "this file." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1103 +#: ../fish/guestfish.pod:1108 msgid "$HOME/.inputrc" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1105 +#: ../fish/guestfish.pod:1110 msgid "/etc/inputrc" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1107 +#: ../fish/guestfish.pod:1112 msgid "" "If compiled with GNU readline support, then these files can be used to " "configure readline. For further information, please see L<readline(3)/" @@ -21492,12 +21499,12 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1111 +#: ../fish/guestfish.pod:1116 msgid "To write rules which only apply to guestfish, use:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1113 +#: ../fish/guestfish.pod:1118 #, no-wrap msgid "" " $if guestfish\n" @@ -21507,26 +21514,26 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1117 +#: ../fish/guestfish.pod:1122 msgid "" "Variables that you can set in inputrc that change the behaviour of guestfish " "in useful ways include:" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1122 +#: ../fish/guestfish.pod:1127 msgid "completion-ignore-case (default: on)" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1124 +#: ../fish/guestfish.pod:1129 msgid "" "By default, guestfish will ignore case when tab-completing paths on the " "disk. Use:" msgstr "" #. type: verbatim -#: ../fish/guestfish.pod:1127 +#: ../fish/guestfish.pod:1132 #, no-wrap msgid "" " set completion-ignore-case off\n" @@ -21534,22 +21541,22 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1129 +#: ../fish/guestfish.pod:1134 msgid "to make guestfish case sensitive." msgstr "" #. type: =item -#: ../fish/guestfish.pod:1133 +#: ../fish/guestfish.pod:1138 msgid "test1.img" msgstr "" #. type: =item -#: ../fish/guestfish.pod:1135 +#: ../fish/guestfish.pod:1140 msgid "test2.img (etc)" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1137 +#: ../fish/guestfish.pod:1142 msgid "" "When using the C<-N> or C<--new> option, the prepared disk or filesystem " "will be created in the file C<test1.img> in the current directory. The " @@ -21558,7 +21565,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1146 +#: ../fish/guestfish.pod:1151 msgid "" "L<guestfs(3)>, L<http://libguestfs.org/>, L<virt-cat(1)>, L<virt-copy-in(1)" ">, L<virt-copy-out(1)>, L<virt-df(1)>, L<virt-edit(1)>, L<virt-filesystems(1)" @@ -21569,7 +21576,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1176 ../test-tool/libguestfs-test-tool.pod:102 +#: ../fish/guestfish.pod:1181 ../test-tool/libguestfs-test-tool.pod:102 #: ../fuse/guestmount.pod:287 ../tools/virt-edit.pl:518 #: ../tools/virt-win-reg.pl:606 ../tools/virt-list-filesystems.pl:210 #: ../tools/virt-tar.pl:309 ../tools/virt-make-fs.pl:572 @@ -21582,7 +21589,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1181 ../test-tool/libguestfs-test-tool.pod:107 +#: ../fish/guestfish.pod:1186 ../test-tool/libguestfs-test-tool.pod:107 #: ../fuse/guestmount.pod:292 ../tools/virt-edit.pl:523 #: ../tools/virt-win-reg.pl:611 ../tools/virt-list-filesystems.pl:215 #: ../tools/virt-tar.pl:314 ../tools/virt-make-fs.pl:577 @@ -21595,7 +21602,7 @@ msgid "" msgstr "" #. type: textblock -#: ../fish/guestfish.pod:1186 ../test-tool/libguestfs-test-tool.pod:112 +#: ../fish/guestfish.pod:1191 ../test-tool/libguestfs-test-tool.pod:112 #: ../fuse/guestmount.pod:297 ../tools/virt-edit.pl:528 #: ../tools/virt-win-reg.pl:616 ../tools/virt-list-filesystems.pl:220 #: ../tools/virt-tar.pl:319 ../tools/virt-make-fs.pl:582 |