summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-05-01 15:30:07 +0100
committerRichard W.M. Jones <rjones@redhat.com>2012-05-01 15:30:07 +0100
commit095c565cc7352117e00cf48d33c9880a4b34eb34 (patch)
tree1f97696e8407d636baf6ff9c4968ee62058017ba
parenta2c94ab7cd1afeef8b44659411e4b9a9ac0a454a (diff)
downloadlibguestfs-095c565cc7352117e00cf48d33c9880a4b34eb34.tar.gz
libguestfs-095c565cc7352117e00cf48d33c9880a4b34eb34.tar.xz
libguestfs-095c565cc7352117e00cf48d33c9880a4b34eb34.zip
Version 1.16.21.1.16.21
-rw-r--r--BUGS8
-rw-r--r--configure.ac2
-rw-r--r--po-docs/ja.po1855
-rw-r--r--po-docs/libguestfs-docs.pot1821
-rw-r--r--po-docs/uk.po1859
-rw-r--r--po/en_GB.po2
-rw-r--r--po/es.po2
-rw-r--r--po/gu.po2
-rw-r--r--po/hi.po2
-rw-r--r--po/kn.po2
-rw-r--r--po/libguestfs.pot4
-rw-r--r--po/ml.po2
-rw-r--r--po/mr.po2
-rw-r--r--po/nl.po2
-rw-r--r--po/or.po2
-rw-r--r--po/pa.po2
-rw-r--r--po/pl.po2
-rw-r--r--po/ta.po2
-rw-r--r--po/te.po2
-rw-r--r--po/uk.po2
20 files changed, 2750 insertions, 2827 deletions
diff --git a/BUGS b/BUGS
index 6ceb86ee..ec4eaa5b 100644
--- a/BUGS
+++ b/BUGS
@@ -1,5 +1,5 @@
NOTE: This file is automatically generated from "update-bugs.sh".
-Last updated: 2012-04-24
+Last updated: 2012-05-01
This contains a local list of the bugs that are open against
libguestfs. Bugs are tracked in the Red Hat Bugzilla database
@@ -110,6 +110,9 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
815149 NEW https://bugzilla.redhat.com/show_bug.cgi?id=815149
virt-alignment-scan gives error "part_list: could not parse row from output of parted print command: /dev/vda:4194304B:virtblk:512:512:msdos:Virtio Block Device"
+816098 NEW https://bugzilla.redhat.com/show_bug.cgi?id=816098
+ virt-make-fs fails to make a btrfs filesystem because it doesn't allocate enough space
+
563450 NEW https://bugzilla.redhat.com/show_bug.cgi?id=563450
list-devices returns devices of different types out of order
@@ -149,6 +152,9 @@ Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.
806179 NEW https://bugzilla.redhat.com/show_bug.cgi?id=806179
RFE: support inspection of icon for more Windows guests
+816839 NEW https://bugzilla.redhat.com/show_bug.cgi?id=816839
+ data overflow error when debug progress -1
+
507278 NEW https://bugzilla.redhat.com/show_bug.cgi?id=507278
libguestfs fails to build on Fedora sparc64
diff --git a/configure.ac b/configure.ac
index 0f9cbaa1..ccedc793 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,7 +20,7 @@
# freeform string.
m4_define([libguestfs_major], [1])
m4_define([libguestfs_minor], [16])
-m4_define([libguestfs_release], [20])
+m4_define([libguestfs_release], [21])
AC_INIT([libguestfs],libguestfs_major.libguestfs_minor.libguestfs_release)
AC_CONFIG_AUX_DIR([build-aux])
diff --git a/po-docs/ja.po b/po-docs/ja.po
index b914e2b8..8822bdf0 100644
--- a/po-docs/ja.po
+++ b/po-docs/ja.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
-"POT-Creation-Date: 2012-04-24 11:27+0200\n"
+"POT-Creation-Date: 2012-05-01 15:29+0200\n"
"PO-Revision-Date: 2012-01-23 13:10+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Japanese <trans-ja@lists.fedoraproject.org>\n"
@@ -442,7 +442,7 @@ msgstr ""
#: ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242
#: ../fish/guestfish.pod:673 ../format/virt-format.pod:96
#: ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:161
-#: ../src/guestfs.pod:2885
+#: ../src/guestfs.pod:2866
msgid "For example:"
msgstr ""
@@ -975,22 +975,22 @@ msgstr ""
#: ../src/guestfs-actions.pod:2880 ../src/guestfs-actions.pod:3423
#: ../src/guestfs-actions.pod:3429 ../src/guestfs-actions.pod:3437
#: ../src/guestfs-actions.pod:3444 ../src/guestfs-actions.pod:3451
-#: ../src/guestfs.pod:403 ../src/guestfs.pod:408 ../src/guestfs.pod:413
-#: ../src/guestfs.pod:417 ../src/guestfs.pod:422 ../src/guestfs.pod:426
-#: ../src/guestfs.pod:431 ../src/guestfs.pod:436 ../src/guestfs.pod:1116
-#: ../src/guestfs.pod:1120 ../src/guestfs.pod:1124 ../src/guestfs.pod:1129
-#: ../src/guestfs.pod:1137 ../src/guestfs.pod:1156 ../src/guestfs.pod:1164
-#: ../src/guestfs.pod:1186 ../src/guestfs.pod:1190 ../src/guestfs.pod:1194
-#: ../src/guestfs.pod:1198 ../src/guestfs.pod:1202 ../src/guestfs.pod:1206
-#: ../src/guestfs.pod:1696 ../src/guestfs.pod:1701 ../src/guestfs.pod:1705
-#: ../src/guestfs.pod:1807 ../src/guestfs.pod:1812 ../src/guestfs.pod:1816
-#: ../src/guestfs.pod:1826 ../src/guestfs.pod:2115 ../src/guestfs.pod:2120
-#: ../src/guestfs.pod:2126 ../src/guestfs.pod:2134 ../src/guestfs.pod:2652
-#: ../src/guestfs.pod:2658 ../src/guestfs.pod:2663 ../src/guestfs.pod:2669
-#: ../src/guestfs.pod:3061 ../src/guestfs.pod:3066 ../src/guestfs.pod:3070
-#: ../src/guestfs.pod:3074 ../src/guestfs.pod:3078 ../src/guestfs.pod:3092
-#: ../src/guestfs.pod:3097 ../src/guestfs.pod:3331 ../src/guestfs.pod:3335
-#: ../src/guestfs.pod:3339 ../src/guestfs.pod:3343
+#: ../src/guestfs.pod:384 ../src/guestfs.pod:389 ../src/guestfs.pod:394
+#: ../src/guestfs.pod:398 ../src/guestfs.pod:403 ../src/guestfs.pod:407
+#: ../src/guestfs.pod:412 ../src/guestfs.pod:417 ../src/guestfs.pod:1097
+#: ../src/guestfs.pod:1101 ../src/guestfs.pod:1105 ../src/guestfs.pod:1110
+#: ../src/guestfs.pod:1118 ../src/guestfs.pod:1137 ../src/guestfs.pod:1145
+#: ../src/guestfs.pod:1167 ../src/guestfs.pod:1171 ../src/guestfs.pod:1175
+#: ../src/guestfs.pod:1179 ../src/guestfs.pod:1183 ../src/guestfs.pod:1187
+#: ../src/guestfs.pod:1677 ../src/guestfs.pod:1682 ../src/guestfs.pod:1686
+#: ../src/guestfs.pod:1788 ../src/guestfs.pod:1793 ../src/guestfs.pod:1797
+#: ../src/guestfs.pod:1807 ../src/guestfs.pod:2096 ../src/guestfs.pod:2101
+#: ../src/guestfs.pod:2107 ../src/guestfs.pod:2115 ../src/guestfs.pod:2633
+#: ../src/guestfs.pod:2639 ../src/guestfs.pod:2644 ../src/guestfs.pod:2650
+#: ../src/guestfs.pod:3042 ../src/guestfs.pod:3047 ../src/guestfs.pod:3051
+#: ../src/guestfs.pod:3055 ../src/guestfs.pod:3059 ../src/guestfs.pod:3073
+#: ../src/guestfs.pod:3078 ../src/guestfs.pod:3312 ../src/guestfs.pod:3316
+#: ../src/guestfs.pod:3320 ../src/guestfs.pod:3324
#: ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202
#: ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:721
#: ../tools/virt-win-reg.pl:727 ../tools/virt-win-reg.pl:733
@@ -1056,7 +1056,7 @@ msgstr ""
#: ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:39
#: ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:325
#: ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36
-#: ../sparsify/virt-sparsify.pod:284 ../src/guestfs.pod:3269
+#: ../sparsify/virt-sparsify.pod:284 ../src/guestfs.pod:3250
#: ../test-tool/libguestfs-test-tool.pod:100
#: ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267
#: ../tools/virt-make-fs.pl:559 ../tools/virt-tar.pl:296
@@ -1110,7 +1110,7 @@ msgstr ""
#: ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:56
#: ../python/examples/guestfs-python.pod:58 ../rescue/virt-rescue.pod:338
#: ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:52
-#: ../sparsify/virt-sparsify.pod:301 ../src/guestfs.pod:3354
+#: ../sparsify/virt-sparsify.pod:301 ../src/guestfs.pod:3335
#: ../test-tool/libguestfs-test-tool.pod:110
#: ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283
#: ../tools/virt-make-fs.pl:589 ../tools/virt-tar.pl:315
@@ -3702,7 +3702,7 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1171
+#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1152
msgid "SECURITY"
msgstr ""
@@ -4588,7 +4588,7 @@ msgstr ""
#. type: =head1
#: ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1119
#: ../rescue/virt-rescue.pod:298 ../sparsify/virt-sparsify.pod:257
-#: ../src/guestfs.pod:3208 ../test-tool/libguestfs-test-tool.pod:95
+#: ../src/guestfs.pod:3189 ../test-tool/libguestfs-test-tool.pod:95
msgid "ENVIRONMENT VARIABLES"
msgstr ""
@@ -4855,7 +4855,7 @@ msgstr ""
#: ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91
#: ../perl/examples/guestfs-perl.pod:52
#: ../python/examples/guestfs-python.pod:54
-#: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3350
+#: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3331
#: ../test-tool/libguestfs-test-tool.pod:106
msgid "AUTHORS"
msgstr ""
@@ -4869,7 +4869,7 @@ msgstr ""
#: ../fuse/guestmount.pod:330 ../java/examples/guestfs-java.pod:60
#: ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:54
#: ../python/examples/guestfs-python.pod:56
-#: ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3352
+#: ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3333
#: ../test-tool/libguestfs-test-tool.pod:108
msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
msgstr ""
@@ -4900,7 +4900,7 @@ msgstr ""
#: ../ocaml/examples/guestfs-ocaml.pod:102
#: ../perl/examples/guestfs-perl.pod:63
#: ../python/examples/guestfs-python.pod:65
-#: ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3359
+#: ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3340
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 "
@@ -4915,7 +4915,7 @@ msgstr ""
#: ../ocaml/examples/guestfs-ocaml.pod:107
#: ../perl/examples/guestfs-perl.pod:68
#: ../python/examples/guestfs-python.pod:70
-#: ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3364
+#: ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3345
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 "
@@ -4930,7 +4930,7 @@ msgstr ""
#: ../ocaml/examples/guestfs-ocaml.pod:112
#: ../perl/examples/guestfs-perl.pod:73
#: ../python/examples/guestfs-python.pod:75
-#: ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3369
+#: ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3350
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, "
@@ -5282,7 +5282,7 @@ msgstr ""
#: ../fish/guestfish-actions.pod:1509 ../fish/guestfish-actions.pod:1774
#: ../fish/guestfish-actions.pod:2189 ../src/guestfs-actions.pod:18
#: ../src/guestfs-actions.pod:2438 ../src/guestfs-actions.pod:2862
-#: ../src/guestfs-actions.pod:3419 ../src/guestfs.pod:1692
+#: ../src/guestfs-actions.pod:3419 ../src/guestfs.pod:1673
#: ../tools/virt-win-reg.pl:717
msgid "Notes:"
msgstr ""
@@ -5956,7 +5956,7 @@ msgstr ""
#. type: textblock
#: ../examples/guestfs-testing.pod:54 ../examples/guestfs-testing.pod:161
#: ../examples/guestfs-testing.pod:174 ../examples/guestfs-testing.pod:234
-#: ../src/guestfs.pod:2800
+#: ../src/guestfs.pod:2781
msgid "or:"
msgstr ""
@@ -6130,7 +6130,7 @@ msgid "Try importing virt-df CSV output into a spreadsheet or database."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3082
+#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3063
msgid "Run:"
msgstr ""
@@ -6879,7 +6879,7 @@ msgstr ""
#. type: =item
#: ../fish/guestfish-actions.pod:171 ../src/guestfs-actions.pod:231
-#: ../src/guestfs.pod:2965
+#: ../src/guestfs.pod:2946
msgid "C<format>"
msgstr ""
@@ -16122,7 +16122,7 @@ msgstr ""
#. type: =item
#: ../fish/guestfish-actions.pod:4441 ../src/guestfs-actions.pod:6919
-#: ../src/guestfs.pod:2924
+#: ../src/guestfs.pod:2905
msgid "C<appliance>"
msgstr ""
@@ -19790,7 +19790,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2250
+#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2231
#, no-wrap
msgid ""
" guestfish -N fs\n"
@@ -21264,7 +21264,7 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../fish/guestfish.pod:825 ../src/guestfs.pod:534
+#: ../fish/guestfish.pod:825 ../src/guestfs.pod:515
msgid "ENCRYPTED DISKS"
msgstr ""
@@ -21629,7 +21629,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:982 ../src/guestfs.pod:987
+#: ../fish/guestfish.pod:982 ../src/guestfs.pod:968
#, no-wrap
msgid ""
" #!/bin/bash -\n"
@@ -21915,7 +21915,7 @@ msgid "COMMANDS"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1527
+#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1508
msgid "@ACTIONS@"
msgstr ""
@@ -21939,17 +21939,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3212
+#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3193
msgid "FEBOOTSTRAP_KERNEL"
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3214
+#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3195
msgid "FEBOOTSTRAP_MODULES"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3216
+#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3197
msgid ""
"These two environment variables allow the kernel that libguestfs uses in the "
"appliance to be selected. If C<$FEBOOTSTRAP_KERNEL> is not set, then the "
@@ -22007,17 +22007,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3222
+#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3203
msgid "LIBGUESTFS_APPEND"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3224
+#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3205
msgid "Pass additional options to the guest kernel."
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3226
+#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3207
msgid "LIBGUESTFS_DEBUG"
msgstr ""
@@ -22029,18 +22029,18 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3231
+#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3212
msgid "LIBGUESTFS_MEMSIZE"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3233
+#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3214
msgid ""
"Set the memory allocated to the qemu process, in megabytes. For example:"
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3236
+#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3217
#, no-wrap
msgid ""
" LIBGUESTFS_MEMSIZE=700\n"
@@ -22048,7 +22048,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3238
+#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3219
msgid "LIBGUESTFS_PATH"
msgstr ""
@@ -22060,19 +22060,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3243
+#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3224
msgid "LIBGUESTFS_QEMU"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3245
+#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3226
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: =item
-#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3251
+#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3232
msgid "LIBGUESTFS_TRACE"
msgstr ""
@@ -22095,19 +22095,19 @@ msgstr ""
#. type: =item
#: ../fish/guestfish.pod:1196 ../sparsify/virt-sparsify.pod:261
-#: ../src/guestfs.pod:3256
+#: ../src/guestfs.pod:3237
msgid "TMPDIR"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3258
+#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3239
msgid ""
"Location of temporary directory, defaults to C</tmp> except for the cached "
"supermin appliance which defaults to C</var/tmp>."
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3261
+#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3242
msgid ""
"If libguestfs was compiled to use the supermin appliance then the real "
"appliance is cached in this directory, shared between all handles belonging "
@@ -22256,7 +22256,7 @@ msgstr ""
#. type: textblock
#: ../fish/guestfish.pod:1302 ../fuse/guestmount.pod:334
-#: ../src/guestfs.pod:3356 ../test-tool/libguestfs-test-tool.pod:112
+#: ../src/guestfs.pod:3337 ../test-tool/libguestfs-test-tool.pod:112
msgid "Copyright (C) 2009-2012 Red Hat Inc. L<http://libguestfs.org/>"
msgstr ""
@@ -24887,8 +24887,8 @@ msgstr ""
#. type: =item
#: ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603
-#: ../sparsify/virt-sparsify.pod:228 ../src/guestfs.pod:484
-#: ../src/guestfs.pod:1309 ../src/guestfs.pod:1448 ../src/guestfs.pod:2697
+#: ../sparsify/virt-sparsify.pod:228 ../src/guestfs.pod:465
+#: ../src/guestfs.pod:1290 ../src/guestfs.pod:1429 ../src/guestfs.pod:2678
msgid "1."
msgstr ""
@@ -24927,8 +24927,8 @@ msgstr ""
#. type: =item
#: ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610
-#: ../sparsify/virt-sparsify.pod:235 ../src/guestfs.pod:490
-#: ../src/guestfs.pod:1313 ../src/guestfs.pod:1452 ../src/guestfs.pod:2722
+#: ../sparsify/virt-sparsify.pod:235 ../src/guestfs.pod:471
+#: ../src/guestfs.pod:1294 ../src/guestfs.pod:1433 ../src/guestfs.pod:2703
msgid "2."
msgstr ""
@@ -24950,8 +24950,8 @@ msgstr ""
#. type: =item
#: ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616
-#: ../sparsify/virt-sparsify.pod:241 ../src/guestfs.pod:501
-#: ../src/guestfs.pod:1458
+#: ../sparsify/virt-sparsify.pod:241 ../src/guestfs.pod:482
+#: ../src/guestfs.pod:1439
msgid "3."
msgstr ""
@@ -36672,68 +36672,39 @@ msgstr ""
#. type: textblock
#: ../src/guestfs.pod:25
msgid ""
-"Libguestfs is a library for accessing and modifying guest disk images. "
-"Amongst the things this is good for: making batch configuration changes to "
-"guests, getting disk used/free statistics (see also: virt-df), migrating "
-"between virtualization systems (see also: virt-p2v), performing partial "
-"backups, performing partial guest clones, cloning guests and changing "
-"registry/UUID/hostname info, and much else besides."
-msgstr ""
-
-#. type: textblock
-#: ../src/guestfs.pod:33
-msgid ""
-"Libguestfs uses Linux kernel and qemu code, and can access any type of guest "
-"filesystem that Linux and qemu can, including but not limited to: ext2/3/4, "
-"btrfs, FAT and NTFS, LVM, many different disk partition schemes, qcow, "
-"qcow2, vmdk."
-msgstr ""
-
-#. type: textblock
-#: ../src/guestfs.pod:38
-msgid ""
-"Libguestfs provides ways to enumerate guest storage (eg. partitions, LVs, "
-"what filesystem is in each LV, etc.). It can also run commands in the "
-"context of the guest. Also you can access filesystems over FUSE."
+"Libguestfs is a library for accessing and modifying disk images and virtual "
+"machines. This manual page documents the C API."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:43
+#: ../src/guestfs.pod:28
msgid ""
-"Libguestfs is a library that can be linked with C and C++ management "
-"programs (or management programs written in OCaml, Perl, Python, Ruby, Java, "
-"PHP, Erlang, Haskell or C#). You can also use it from shell scripts or the "
-"command line."
+"If you are looking for an introduction to libguestfs, see the web site: "
+"L<http://libguestfs.org/>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:48
+#: ../src/guestfs.pod:31
msgid ""
-"You don't need to be root to use libguestfs, although obviously you do need "
-"enough permissions to access the disk images."
+"Each virt tool has its own man page (for a full list, go to L</SEE ALSO> at "
+"the end of this file)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:51
+#: ../src/guestfs.pod:34
msgid ""
-"Libguestfs is a large API because it can do many things. For a gentle "
-"introduction, please read the L</API OVERVIEW> section next."
-msgstr ""
-
-#. type: textblock
-#: ../src/guestfs.pod:54
-msgid ""
-"There are also some example programs in the L<guestfs-examples(3)> manual "
-"page."
+"For examples of using the API from C, see L<guestfs-examples(3)>. For "
+"examples in other languages, see L</USING LIBGUESTFS WITH OTHER PROGRAMMING "
+"LANGUAGES> below."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:57
+#: ../src/guestfs.pod:38
msgid "API OVERVIEW"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:59
+#: ../src/guestfs.pod:40
msgid ""
"This section provides a gentler overview of the libguestfs API. We also try "
"to group API calls together, where that may not be obvious from reading "
@@ -36741,12 +36712,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:64
+#: ../src/guestfs.pod:45
msgid "HANDLES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:66
+#: ../src/guestfs.pod:47
msgid ""
"Before you can use libguestfs calls, you have to create a handle. Then you "
"must add at least one disk image to the handle, followed by launching the "
@@ -36756,12 +36727,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:73
+#: ../src/guestfs.pod:54
msgid "The general structure of all libguestfs-using programs looks like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:76
+#: ../src/guestfs.pod:57
#, no-wrap
msgid ""
" guestfs_h *g = guestfs_create ();\n"
@@ -36769,7 +36740,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:78
+#: ../src/guestfs.pod:59
#, no-wrap
msgid ""
" /* Call guestfs_add_drive additional times if there are\n"
@@ -36780,7 +36751,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:83
+#: ../src/guestfs.pod:64
#, no-wrap
msgid ""
" /* Most manipulation calls won't work until you've launched\n"
@@ -36792,7 +36763,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:89
+#: ../src/guestfs.pod:70
#, no-wrap
msgid ""
" /* Now you can examine what partitions, LVs etc are available.\n"
@@ -36803,7 +36774,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:94
+#: ../src/guestfs.pod:75
#, no-wrap
msgid ""
" /* To access a filesystem in the image, you must mount it.\n"
@@ -36813,7 +36784,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:98
+#: ../src/guestfs.pod:79
#, no-wrap
msgid ""
" /* Now you can perform filesystem actions on the guest\n"
@@ -36824,7 +36795,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:103
+#: ../src/guestfs.pod:84
#, no-wrap
msgid ""
" /* This is only needed for libguestfs < 1.5.24. Since then\n"
@@ -36836,7 +36807,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:109
+#: ../src/guestfs.pod:90
#, no-wrap
msgid ""
" /* Close the handle 'g'. */\n"
@@ -36845,7 +36816,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:112
+#: ../src/guestfs.pod:93
msgid ""
"The code above doesn't include any error checking. In real code you should "
"check return values carefully for errors. In general all functions that "
@@ -36857,12 +36828,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:121
+#: ../src/guestfs.pod:102
msgid "DISK IMAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:123
+#: ../src/guestfs.pod:104
msgid ""
"The image filename (C<\"guest.img\"> in the example above) could be a disk "
"image from a virtual machine, a L<dd(1)> copy of a physical hard disk, an "
@@ -36872,7 +36843,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:129
+#: ../src/guestfs.pod:110
msgid ""
"The call you should use in modern code for adding drives is L</"
"guestfs_add_drive_opts>. To add a disk image, allowing writes, and "
@@ -36880,7 +36851,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:133
+#: ../src/guestfs.pod:114
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -36890,12 +36861,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:137
+#: ../src/guestfs.pod:118
msgid "You can add a disk read-only using:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:139
+#: ../src/guestfs.pod:120
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -36906,14 +36877,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:144
+#: ../src/guestfs.pod:125
msgid ""
"or by calling the older function L</guestfs_add_drive_ro>. In either case "
"libguestfs won't modify the file."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:147
+#: ../src/guestfs.pod:128
msgid ""
"Be extremely cautious if the disk image is in use, eg. if it is being used "
"by a virtual machine. Adding it read-write will almost certainly cause disk "
@@ -36921,7 +36892,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:151
+#: ../src/guestfs.pod:132
msgid ""
"You must add at least one disk image, and you may add multiple disk images. "
"In the API, the disk images are usually referred to as C</dev/sda> (for the "
@@ -36929,7 +36900,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:156
+#: ../src/guestfs.pod:137
msgid ""
"Once L</guestfs_launch> has been called you cannot add any more images. You "
"can call L</guestfs_list_devices> to get a list of the device names, in the "
@@ -36937,12 +36908,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:161
+#: ../src/guestfs.pod:142
msgid "MOUNTING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:163
+#: ../src/guestfs.pod:144
msgid ""
"Before you can read or write files, create directories and so on in a disk "
"image that contains filesystems, you have to mount those filesystems using "
@@ -36952,7 +36923,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:170
+#: ../src/guestfs.pod:151
#, no-wrap
msgid ""
" guestfs_mount_options (g, \"\", \"/dev/sda1\", \"/\");\n"
@@ -36960,7 +36931,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:172
+#: ../src/guestfs.pod:153
msgid ""
"where C</dev/sda1> means literally the first partition (C<1>) of the first "
"disk image that we added (C</dev/sda>). If the disk contains Linux LVM2 "
@@ -36970,7 +36941,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:178
+#: ../src/guestfs.pod:159
msgid ""
"If you are given a disk image and you don't know what it contains then you "
"have to find out. Libguestfs can do that too: use L</"
@@ -36981,7 +36952,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:186
+#: ../src/guestfs.pod:167
msgid ""
"Libguestfs also has a set of APIs for inspection of unknown disk images (see "
"L</INSPECTION> below). But you might find it easier to look at higher level "
@@ -36989,19 +36960,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:191
+#: ../src/guestfs.pod:172
msgid ""
"To mount a filesystem read-only, use L</guestfs_mount_ro>. There are "
"several other variations of the C<guestfs_mount_*> call."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:194
+#: ../src/guestfs.pod:175
msgid "FILESYSTEM ACCESS AND MODIFICATION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:196
+#: ../src/guestfs.pod:177
msgid ""
"The majority of the libguestfs API consists of fairly low-level calls for "
"accessing and modifying the files, directories, symlinks etc on mounted "
@@ -37011,21 +36982,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:202
+#: ../src/guestfs.pod:183
msgid ""
"Specify filenames as full paths, starting with C<\"/\"> and including the "
"mount point."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:205
+#: ../src/guestfs.pod:186
msgid ""
"For example, if you mounted a filesystem at C<\"/\"> and you want to read "
"the file called C<\"etc/passwd\"> then you could do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:208
+#: ../src/guestfs.pod:189
#, no-wrap
msgid ""
" char *data = guestfs_cat (g, \"/etc/passwd\");\n"
@@ -37033,7 +37004,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:210
+#: ../src/guestfs.pod:191
msgid ""
"This would return C<data> as a newly allocated buffer containing the full "
"content of that file (with some conditions: see also L</DOWNLOADING> below), "
@@ -37041,14 +37012,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:214
+#: ../src/guestfs.pod:195
msgid ""
"As another example, to create a top-level directory on that filesystem "
"called C<\"var\"> you would do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:217
+#: ../src/guestfs.pod:198
#, no-wrap
msgid ""
" guestfs_mkdir (g, \"/var\");\n"
@@ -37056,12 +37027,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:219
+#: ../src/guestfs.pod:200
msgid "To create a symlink you could do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:221
+#: ../src/guestfs.pod:202
#, no-wrap
msgid ""
" guestfs_ln_s (g, \"/etc/init.d/portmap\",\n"
@@ -37070,14 +37041,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:224
+#: ../src/guestfs.pod:205
msgid ""
"Libguestfs will reject attempts to use relative paths and there is no "
"concept of a current working directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:227
+#: ../src/guestfs.pod:208
msgid ""
"Libguestfs can return errors in many situations: for example if the "
"filesystem isn't writable, or if a file or directory that you requested "
@@ -37087,33 +37058,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:233
+#: ../src/guestfs.pod:214
msgid ""
"File writes are affected by the per-handle umask, set by calling L</"
"guestfs_umask> and defaulting to 022. See L</UMASK>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:236
+#: ../src/guestfs.pod:217
msgid "PARTITIONING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:238
+#: ../src/guestfs.pod:219
msgid ""
"Libguestfs contains API calls to read, create and modify partition tables on "
"disk images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:241
+#: ../src/guestfs.pod:222
msgid ""
"In the common case where you want to create a single partition covering the "
"whole disk, you should use the L</guestfs_part_disk> call:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:245
+#: ../src/guestfs.pod:226
#, no-wrap
msgid ""
" const char *parttype = \"mbr\";\n"
@@ -37124,18 +37095,18 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:250
+#: ../src/guestfs.pod:231
msgid ""
"Obviously this effectively wipes anything that was on that disk image before."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:253
+#: ../src/guestfs.pod:234
msgid "LVM2"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:255
+#: ../src/guestfs.pod:236
msgid ""
"Libguestfs provides access to a large part of the LVM2 API, such as L</"
"guestfs_lvcreate> and L</guestfs_vgremove>. It won't make much sense unless "
@@ -37144,19 +37115,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:260
+#: ../src/guestfs.pod:241
msgid ""
"This author strongly recommends reading the LVM HOWTO, online at L<http://"
"tldp.org/HOWTO/LVM-HOWTO/>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:263
+#: ../src/guestfs.pod:244
msgid "DOWNLOADING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:265
+#: ../src/guestfs.pod:246
msgid ""
"Use L</guestfs_cat> to download small, text only files. This call is "
"limited to files which are less than 2 MB and which cannot contain any ASCII "
@@ -37164,7 +37135,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:269
+#: ../src/guestfs.pod:250
msgid ""
"L</guestfs_read_file> can be used to read files which contain arbitrary 8 "
"bit data, since it returns a (pointer, size) pair. However it is still "
@@ -37172,31 +37143,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:273
+#: ../src/guestfs.pod:254
msgid ""
"L</guestfs_download> can be used to download any file, with no limits on "
"content or size (even files larger than 4 GB)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:276
+#: ../src/guestfs.pod:257
msgid ""
"To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:279
+#: ../src/guestfs.pod:260
msgid "UPLOADING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:281
+#: ../src/guestfs.pod:262
msgid ""
"It's often the case that you want to write a file or files to the disk image."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:284
+#: ../src/guestfs.pod:265
msgid ""
"To write a small file with fixed content, use L</guestfs_write>. To create "
"a file of all zeroes, use L</guestfs_truncate_size> (sparse) or L</"
@@ -37206,20 +37177,20 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:290
+#: ../src/guestfs.pod:271
msgid ""
"To upload a single file, use L</guestfs_upload>. This call has no limits on "
"file content or size (even files larger than 4 GB)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:293
+#: ../src/guestfs.pod:274
msgid ""
"To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:295
+#: ../src/guestfs.pod:276
msgid ""
"However the fastest way to upload I<large numbers of arbitrary files> is to "
"turn them into a squashfs or CD ISO (see L<mksquashfs(8)> and L<mkisofs(8)"
@@ -37233,12 +37204,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:306
+#: ../src/guestfs.pod:287
msgid "COPYING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:308
+#: ../src/guestfs.pod:289
msgid ""
"There are various different commands for copying between files and devices "
"and in and out of the guest filesystem. These are summarised in the table "
@@ -37246,52 +37217,52 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:314
+#: ../src/guestfs.pod:295
msgid "B<file> to B<file>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:316
+#: ../src/guestfs.pod:297
msgid ""
"Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy "
"directories recursively."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:319
+#: ../src/guestfs.pod:300
msgid ""
"To copy part of a file (offset and size) use L</guestfs_copy_file_to_file>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:322
+#: ../src/guestfs.pod:303
msgid "B<file> to B<device>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:324
+#: ../src/guestfs.pod:305
msgid "B<device> to B<file>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:326
+#: ../src/guestfs.pod:307
msgid "B<device> to B<device>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:328
+#: ../src/guestfs.pod:309
msgid ""
"Use L</guestfs_copy_file_to_device>, L</guestfs_copy_device_to_file>, or L</"
"guestfs_copy_device_to_device>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:331
+#: ../src/guestfs.pod:312
msgid "Example: duplicate the contents of an LV:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:333
+#: ../src/guestfs.pod:314
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
@@ -37302,7 +37273,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:338
+#: ../src/guestfs.pod:319
msgid ""
"The destination (C</dev/VG/Copy>) must be at least as large as the source "
"(C</dev/VG/Original>). To copy less than the whole source device, use the "
@@ -37310,7 +37281,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:342
+#: ../src/guestfs.pod:323
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
@@ -37321,32 +37292,32 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:347
+#: ../src/guestfs.pod:328
msgid "B<file on the host> to B<file or device>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:349
+#: ../src/guestfs.pod:330
msgid "Use L</guestfs_upload>. See L</UPLOADING> above."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:351
+#: ../src/guestfs.pod:332
msgid "B<file or device> to B<file on the host>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:353
+#: ../src/guestfs.pod:334
msgid "Use L</guestfs_download>. See L</DOWNLOADING> above."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:357
+#: ../src/guestfs.pod:338
msgid "UPLOADING AND DOWNLOADING TO PIPES AND FILE DESCRIPTORS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:359
+#: ../src/guestfs.pod:340
msgid ""
"Calls like L</guestfs_upload>, L</guestfs_download>, L</guestfs_tar_in>, L</"
"guestfs_tar_out> etc appear to only take filenames as arguments, so it "
@@ -37357,12 +37328,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:367
+#: ../src/guestfs.pod:348
msgid "For example, L<virt-cat(1)> writes its output to stdout by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:370
+#: ../src/guestfs.pod:351
#, no-wrap
msgid ""
" guestfs_download (g, filename, \"/dev/stdout\");\n"
@@ -37370,12 +37341,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:372
+#: ../src/guestfs.pod:353
msgid "and you can write tar output to a file descriptor C<fd> by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:374
+#: ../src/guestfs.pod:355
#, no-wrap
msgid ""
" char devfd[64];\n"
@@ -37385,26 +37356,26 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:378
+#: ../src/guestfs.pod:359
msgid "LISTING FILES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:380
+#: ../src/guestfs.pod:361
msgid ""
"L</guestfs_ll> is just designed for humans to read (mainly when using the "
"L<guestfish(1)>-equivalent command C<ll>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:383
+#: ../src/guestfs.pod:364
msgid ""
"L</guestfs_ls> is a quick way to get a list of files in a directory from "
"programs, as a flat list of strings."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:386
+#: ../src/guestfs.pod:367
msgid ""
"L</guestfs_readdir> is a programmatic way to get a list of files in a "
"directory, plus additional information about each one. It is more "
@@ -37412,18 +37383,18 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:390
+#: ../src/guestfs.pod:371
msgid ""
"L</guestfs_find> and L</guestfs_find0> can be used to recursively list files."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:393
+#: ../src/guestfs.pod:374
msgid "RUNNING COMMANDS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:395
+#: ../src/guestfs.pod:376
msgid ""
"Although libguestfs is primarily an API for manipulating files inside guest "
"images, we also provide some limited facilities for running commands inside "
@@ -37431,56 +37402,56 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:399
+#: ../src/guestfs.pod:380
msgid "There are many limitations to this:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:405
+#: ../src/guestfs.pod:386
msgid ""
"The kernel version that the command runs under will be different from what "
"it expects."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:410
+#: ../src/guestfs.pod:391
msgid ""
"If the command needs to communicate with daemons, then most likely they "
"won't be running."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:415
+#: ../src/guestfs.pod:396
msgid "The command will be running in limited memory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:419
+#: ../src/guestfs.pod:400
msgid ""
"The network may not be available unless you enable it (see L</"
"guestfs_set_network>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:424
+#: ../src/guestfs.pod:405
msgid "Only supports Linux guests (not Windows, BSD, etc)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:428
+#: ../src/guestfs.pod:409
msgid ""
"Architecture limitations (eg. won't work for a PPC guest on an X86 host)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:433
+#: ../src/guestfs.pod:414
msgid ""
"For SELinux guests, you may need to enable SELinux and load policy first. "
"See L</SELINUX> in this manpage."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:438
+#: ../src/guestfs.pod:419
msgid ""
"I<Security:> It is not safe to run commands from untrusted, possibly "
"malicious guests. These commands may attempt to exploit your program by "
@@ -37492,7 +37463,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:447
+#: ../src/guestfs.pod:428
msgid ""
"A secure alternative is to use libguestfs to install a \"firstboot\" script "
"(a script which runs when the guest next boots normally), and to have this "
@@ -37502,26 +37473,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:455
+#: ../src/guestfs.pod:436
msgid ""
"The two main API calls to run commands are L</guestfs_command> and L</"
"guestfs_sh> (there are also variations)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:458
+#: ../src/guestfs.pod:439
msgid ""
"The difference is that L</guestfs_sh> runs commands using the shell, so any "
"shell globs, redirections, etc will work."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:461
+#: ../src/guestfs.pod:442
msgid "CONFIGURATION FILES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:463
+#: ../src/guestfs.pod:444
msgid ""
"To read and write configuration files in Linux guest filesystems, we "
"strongly recommend using Augeas. For example, Augeas understands how to "
@@ -37530,7 +37501,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:468
+#: ../src/guestfs.pod:449
msgid ""
"The main Augeas calls are bound through the C<guestfs_aug_*> APIs. We don't "
"document Augeas itself here because there is excellent documentation on the "
@@ -37538,7 +37509,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:472
+#: ../src/guestfs.pod:453
msgid ""
"If you don't want to use Augeas (you fool!) then try calling L</"
"guestfs_read_lines> to get the file as a list of lines which you can iterate "
@@ -37546,24 +37517,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:476
+#: ../src/guestfs.pod:457
msgid "SELINUX"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:478
+#: ../src/guestfs.pod:459
msgid ""
"We support SELinux guests. To ensure that labeling happens correctly in "
"SELinux guests, you need to enable SELinux and load the guest's policy:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:486
+#: ../src/guestfs.pod:467
msgid "Before launching, do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:488
+#: ../src/guestfs.pod:469
#, no-wrap
msgid ""
" guestfs_set_selinux (g, 1);\n"
@@ -37571,14 +37542,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:492
+#: ../src/guestfs.pod:473
msgid ""
"After mounting the guest's filesystem(s), load the policy. This is best "
"done by running the L<load_policy(8)> command in the guest itself:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:496
+#: ../src/guestfs.pod:477
#, no-wrap
msgid ""
" guestfs_sh (g, \"/usr/sbin/load_policy\");\n"
@@ -37586,21 +37557,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:498
+#: ../src/guestfs.pod:479
msgid ""
"(Older versions of C<load_policy> require you to specify the name of the "
"policy file)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:503
+#: ../src/guestfs.pod:484
msgid ""
"Optionally, set the security context for the API. The correct security "
"context to use can only be known by inspecting the guest. As an example:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:507
+#: ../src/guestfs.pod:488
#, no-wrap
msgid ""
" guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n"
@@ -37608,24 +37579,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:511
+#: ../src/guestfs.pod:492
msgid "This will work for running commands and editing existing files."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:513
+#: ../src/guestfs.pod:494
msgid ""
"When new files are created, you may need to label them explicitly, for "
"example by running the external command C<restorecon pathname>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:517
+#: ../src/guestfs.pod:498
msgid "UMASK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:519
+#: ../src/guestfs.pod:500
msgid ""
"Certain calls are affected by the current file mode creation mask (the "
"\"umask\"). In particular ones which create files or directories, such as "
@@ -37635,14 +37606,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:525
+#: ../src/guestfs.pod:506
msgid ""
"The default umask is C<022>, so files are created with modes such as C<0644> "
"and directories with C<0755>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:528
+#: ../src/guestfs.pod:509
msgid ""
"There are two ways to avoid being affected by umask. Either set umask to 0 "
"(call C<guestfs_umask (g, 0)> early after launching). Or call L</"
@@ -37650,12 +37621,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:532
+#: ../src/guestfs.pod:513
msgid "For more information about umask, see L<umask(2)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:536
+#: ../src/guestfs.pod:517
msgid ""
"Libguestfs allows you to access Linux guests which have been encrypted using "
"whole disk encryption that conforms to the Linux Unified Key Setup (LUKS) "
@@ -37664,21 +37635,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:542
+#: ../src/guestfs.pod:523
msgid ""
"Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it "
"returns the string C<crypto_LUKS>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:545
+#: ../src/guestfs.pod:526
msgid ""
"Then open these devices by calling L</guestfs_luks_open>. Obviously you "
"will require the passphrase!"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:548
+#: ../src/guestfs.pod:529
msgid ""
"Opening a LUKS device creates a new device mapper device called C</dev/"
"mapper/mapname> (where C<mapname> is the string you supply to L</"
@@ -37687,7 +37658,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:554
+#: ../src/guestfs.pod:535
msgid ""
"LVM volume groups on the device can be made visible by calling L</"
"guestfs_vgscan> followed by L</guestfs_vg_activate_all>. The logical volume"
@@ -37695,7 +37666,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:558
+#: ../src/guestfs.pod:539
msgid ""
"Use the reverse process to close a LUKS device. Unmount any logical volumes "
"on it, deactivate the volume groups by caling C<guestfs_vg_activate (g, 0, "
@@ -37705,12 +37676,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:565
+#: ../src/guestfs.pod:546
msgid "INSPECTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:567
+#: ../src/guestfs.pod:548
msgid ""
"Libguestfs has APIs for inspecting an unknown disk image to find out if it "
"contains operating systems, an install CD or a live CD. (These APIs used to "
@@ -37720,14 +37691,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:574
+#: ../src/guestfs.pod:555
msgid ""
"Add all disks belonging to the unknown virtual machine and call L</"
"guestfs_launch> in the usual way."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:577
+#: ../src/guestfs.pod:558
msgid ""
"Then call L</guestfs_inspect_os>. This function uses other libguestfs calls "
"and certain heuristics, and returns a list of operating systems that were "
@@ -37740,7 +37711,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:586
+#: ../src/guestfs.pod:567
msgid ""
"For each root, you can then call various C<guestfs_inspect_get_*> functions "
"to get additional details about that operating system. For example, call L</"
@@ -37749,7 +37720,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:592
+#: ../src/guestfs.pod:573
msgid ""
"Un*x-like and Linux-based operating systems usually consist of several "
"filesystems which are mounted at boot time (for example, a separate boot "
@@ -37760,7 +37731,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:599
+#: ../src/guestfs.pod:580
#, no-wrap
msgid ""
" /boot => /dev/sda1\n"
@@ -37770,21 +37741,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:603
+#: ../src/guestfs.pod:584
msgid ""
"The caller can then make calls to L</guestfs_mount_options> to mount the "
"filesystems as suggested."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:606
+#: ../src/guestfs.pod:587
msgid ""
"Be careful to mount filesystems in the right order (eg. C</> before C</"
"usr>). Sorting the keys of the hash by length, shortest first, should work."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:610
+#: ../src/guestfs.pod:591
msgid ""
"Inspection currently only works for some common operating systems. "
"Contributors are welcome to send patches for other operating systems that we "
@@ -37792,7 +37763,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:614
+#: ../src/guestfs.pod:595
msgid ""
"Encrypted disks must be opened before inspection. See L</ENCRYPTED DISKS> "
"for more details. The L</guestfs_inspect_os> function just ignores any "
@@ -37800,7 +37771,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:618
+#: ../src/guestfs.pod:599
msgid ""
"A note on the implementation: The call L</guestfs_inspect_os> performs "
"inspection and caches the results in the guest handle. Subsequent calls to "
@@ -37813,19 +37784,19 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:627
+#: ../src/guestfs.pod:608
msgid "INSPECTING INSTALL DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:629
+#: ../src/guestfs.pod:610
msgid ""
"Libguestfs (since 1.9.4) can detect some install disks, install CDs, live "
"CDs and more."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:632
+#: ../src/guestfs.pod:613
msgid ""
"Call L</guestfs_inspect_get_format> to return the format of the operating "
"system, which currently can be C<installed> (a regular operating system) or "
@@ -37833,7 +37804,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:636
+#: ../src/guestfs.pod:617
msgid ""
"Further information is available about the operating system that can be "
"installed using the regular inspection APIs like L</"
@@ -37841,7 +37812,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:641
+#: ../src/guestfs.pod:622
msgid ""
"Some additional information specific to installer disks is also available "
"from the L</guestfs_inspect_is_live>, L</guestfs_inspect_is_netinst> and L</"
@@ -37849,24 +37820,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:646
+#: ../src/guestfs.pod:627
msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:648
+#: ../src/guestfs.pod:629
msgid ""
"Libguestfs can mount NTFS partitions. It does this using the L<http://www."
"ntfs-3g.org/> driver."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:651
+#: ../src/guestfs.pod:632
msgid "DRIVE LETTERS AND PATHS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:653
+#: ../src/guestfs.pod:634
msgid ""
"DOS and Windows still use drive letters, and the filesystems are always "
"treated as case insensitive by Windows itself, and therefore you might find "
@@ -37876,14 +37847,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:659
+#: ../src/guestfs.pod:640
msgid ""
"Drive letter mappings can be found using inspection (see L</INSPECTION> and "
"L</guestfs_inspect_get_drive_mappings>)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:662
+#: ../src/guestfs.pod:643
msgid ""
"Dealing with separator characters (backslash vs forward slash) is outside "
"the scope of libguestfs, but usually a simple character replacement will "
@@ -37891,19 +37862,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:666
+#: ../src/guestfs.pod:647
msgid ""
"To resolve the case insensitivity of paths, call L</"
"guestfs_case_sensitive_path>."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:669
+#: ../src/guestfs.pod:650
msgid "ACCESSING THE WINDOWS REGISTRY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:671
+#: ../src/guestfs.pod:652
msgid ""
"Libguestfs also provides some help for decoding Windows Registry \"hive\" "
"files, through the library C<hivex> which is part of the libguestfs project "
@@ -37914,12 +37885,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:679
+#: ../src/guestfs.pod:660
msgid "SYMLINKS ON NTFS-3G FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:681
+#: ../src/guestfs.pod:662
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 "
@@ -37927,14 +37898,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:685
+#: ../src/guestfs.pod:666
msgid ""
"L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-"
"symbolic-links/>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:687
+#: ../src/guestfs.pod:668
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 "
@@ -37944,7 +37915,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:694
+#: ../src/guestfs.pod:675
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 "
@@ -37953,37 +37924,37 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:699
+#: ../src/guestfs.pod:680
msgid "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:701
+#: ../src/guestfs.pod:682
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:704
+#: ../src/guestfs.pod:685
msgid ""
"L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:706
+#: ../src/guestfs.pod:687
msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:708
+#: ../src/guestfs.pod:689
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:711
+#: ../src/guestfs.pod:692
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)> "
@@ -37993,14 +37964,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:717
+#: ../src/guestfs.pod:698
msgid ""
"Error messages are automatically transformed into exceptions if the language "
"supports it."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:720
+#: ../src/guestfs.pod:701
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 "
@@ -38008,58 +37979,58 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:726
+#: ../src/guestfs.pod:707
msgid "B<C++>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:728
+#: ../src/guestfs.pod:709
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:732
+#: ../src/guestfs.pod:713
msgid "B<C#>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:734
+#: ../src/guestfs.pod:715
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:737
+#: ../src/guestfs.pod:718
msgid "B<Erlang>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:739
+#: ../src/guestfs.pod:720
msgid "See L<guestfs-erlang(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:741
+#: ../src/guestfs.pod:722
msgid "B<GObject>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:743
+#: ../src/guestfs.pod:724
msgid ""
"Experimental GObject bindings (with GObject Introspection support) are "
"available. See the C<gobject> directory in the source."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:746
+#: ../src/guestfs.pod:727
msgid "B<Haskell>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:748
+#: ../src/guestfs.pod:729
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 "
@@ -38067,96 +38038,96 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:752
+#: ../src/guestfs.pod:733
msgid "B<Java>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:754
+#: ../src/guestfs.pod:735
msgid ""
"Full documentation is contained in the Javadoc which is distributed with "
"libguestfs. For examples, see L<guestfs-java(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:757
+#: ../src/guestfs.pod:738
msgid "B<OCaml>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:759
+#: ../src/guestfs.pod:740
msgid "See L<guestfs-ocaml(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:761
+#: ../src/guestfs.pod:742
msgid "B<Perl>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:763
+#: ../src/guestfs.pod:744
msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:765
+#: ../src/guestfs.pod:746
msgid "B<PHP>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:767
+#: ../src/guestfs.pod:748
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:770
+#: ../src/guestfs.pod:751
msgid "The PHP binding only works correctly on 64 bit machines."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:772
+#: ../src/guestfs.pod:753
msgid "B<Python>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:774
+#: ../src/guestfs.pod:755
msgid "See L<guestfs-python(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:776
+#: ../src/guestfs.pod:757
msgid "B<Ruby>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:778
+#: ../src/guestfs.pod:759
msgid "See L<guestfs-ruby(3)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:780
+#: ../src/guestfs.pod:761
msgid "For JRuby, use the Java bindings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:782
+#: ../src/guestfs.pod:763
msgid "B<shell scripts>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:784
+#: ../src/guestfs.pod:765
msgid "See L<guestfish(1)>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:788
+#: ../src/guestfs.pod:769
msgid "LIBGUESTFS GOTCHAS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:790
+#: ../src/guestfs.pod:771
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 "
@@ -38164,7 +38135,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:794
+#: ../src/guestfs.pod:775
msgid ""
"Since we developed libguestfs and the associated tools, there are several "
"things we would have designed differently, but are now stuck with for "
@@ -38173,19 +38144,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:802
+#: ../src/guestfs.pod:783
msgid "Autosync / forgetting to sync."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:804
+#: ../src/guestfs.pod:785
msgid ""
"I<Update:> Autosync is enabled by default for all API users starting from "
"libguestfs 1.5.24. This section only applies to older versions."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:807
+#: ../src/guestfs.pod:788
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 "
@@ -38193,7 +38164,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:811
+#: ../src/guestfs.pod:792
#, no-wrap
msgid ""
" guestfs_set_autosync (g, 1);\n"
@@ -38201,14 +38172,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:813
+#: ../src/guestfs.pod:794
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:817
+#: ../src/guestfs.pod:798
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 "
@@ -38216,7 +38187,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:821
+#: ../src/guestfs.pod:802
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 "
@@ -38224,19 +38195,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:825
+#: ../src/guestfs.pod:806
msgid "Mount option C<-o sync> should not be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:827
+#: ../src/guestfs.pod:808
msgid ""
"I<Update:> L</guestfs_mount> no longer adds any options starting from "
"libguestfs 1.13.16. This section only applies to older versions."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:830
+#: ../src/guestfs.pod:811
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 "
@@ -38244,31 +38215,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:834
+#: ../src/guestfs.pod:815
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:837
+#: ../src/guestfs.pod:818
msgid "Read-only should be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:839
+#: ../src/guestfs.pod:820
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:842
+#: ../src/guestfs.pod:823
msgid "This would reduce the potential to corrupt live VM images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:844
+#: ../src/guestfs.pod:825
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</"
@@ -38276,12 +38247,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:848
+#: ../src/guestfs.pod:829
msgid "guestfish command line is hard to use."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:850
+#: ../src/guestfs.pod:831
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 "
@@ -38291,12 +38262,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:857
+#: ../src/guestfs.pod:838
msgid "guestfish megabyte modifiers don't work right on all commands"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:859
+#: ../src/guestfs.pod:840
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 "
@@ -38306,12 +38277,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:866
+#: ../src/guestfs.pod:847
msgid "The most common is L</guestfs_lvcreate>. The guestfish command:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:868
+#: ../src/guestfs.pod:849
#, no-wrap
msgid ""
" lvcreate LV VG 100M\n"
@@ -38319,7 +38290,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:870
+#: ../src/guestfs.pod:851
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 "
@@ -38328,19 +38299,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:875
+#: ../src/guestfs.pod:856
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:878
+#: ../src/guestfs.pod:859
msgid "Ambiguity between devices and paths"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:880
+#: ../src/guestfs.pod:861
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 "
@@ -38348,7 +38319,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:885
+#: ../src/guestfs.pod:866
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>. "
@@ -38357,7 +38328,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:891
+#: ../src/guestfs.pod:872
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 "
@@ -38367,7 +38338,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:897
+#: ../src/guestfs.pod:878
#, no-wrap
msgid ""
" type path = Path of string | Device of int | Partition of int * int\n"
@@ -38375,12 +38346,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:899
+#: ../src/guestfs.pod:880
msgid "which would allow you to pass arguments like:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:901
+#: ../src/guestfs.pod:882
#, no-wrap
msgid ""
" Path \"/foo/bar\"\n"
@@ -38391,26 +38362,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:906
+#: ../src/guestfs.pod:887
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:911
+#: ../src/guestfs.pod:892
msgid "KEYS AND PASSPHRASES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:913
+#: ../src/guestfs.pod:894
msgid ""
"Certain libguestfs calls take a parameter that contains sensitive key "
"material, passed in as a C string."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:916
+#: ../src/guestfs.pod:897
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 "
@@ -38419,7 +38390,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:921
+#: ../src/guestfs.pod:902
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, "
@@ -38427,19 +38398,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:926
+#: ../src/guestfs.pod:907
msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:928
+#: ../src/guestfs.pod:909
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:931
+#: ../src/guestfs.pod:912
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 "
@@ -38447,33 +38418,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:935
+#: ../src/guestfs.pod:916
msgid ""
"See the graphical program guestfs-browser for one possible architecture for "
"multithreaded programs using libvirt and libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:938
+#: ../src/guestfs.pod:919
msgid "PATH"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:940
+#: ../src/guestfs.pod:921
msgid ""
"Libguestfs needs a supermin appliance, which it finds by looking along an "
"internal path."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:943
+#: ../src/guestfs.pod:924
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:946
+#: ../src/guestfs.pod:927
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 "
@@ -38484,12 +38455,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:953
+#: ../src/guestfs.pod:934
msgid "QEMU WRAPPERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:955
+#: ../src/guestfs.pod:936
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 "
@@ -38497,7 +38468,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:959
+#: ../src/guestfs.pod:940
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 "
@@ -38506,14 +38477,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:964
+#: ../src/guestfs.pod:945
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:967
+#: ../src/guestfs.pod:948
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -38523,7 +38494,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:971
+#: ../src/guestfs.pod:952
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 "
@@ -38531,7 +38502,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:975
+#: ../src/guestfs.pod:956
#, no-wrap
msgid ""
" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
@@ -38539,14 +38510,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:977
+#: ../src/guestfs.pod:958
msgid ""
"Note that libguestfs also calls qemu with the -help and -version options in "
"order to determine features."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:980
+#: ../src/guestfs.pod:961
msgid ""
"Wrappers can also be used to edit the options passed to qemu. In the "
"following example, the C<-machine ...> option (C<-machine> and the following "
@@ -38556,7 +38527,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:989
+#: ../src/guestfs.pod:970
#, no-wrap
msgid ""
" i=0\n"
@@ -38574,7 +38545,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1001
+#: ../src/guestfs.pod:982
#, no-wrap
msgid ""
" exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n"
@@ -38582,19 +38553,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1003
+#: ../src/guestfs.pod:984
msgid "ATTACHING TO RUNNING DAEMONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1005
+#: ../src/guestfs.pod:986
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:1008
+#: ../src/guestfs.pod:989
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 "
@@ -38602,12 +38573,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1012
+#: ../src/guestfs.pod:993
msgid "Using guestfs_set_attach_method"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1014
+#: ../src/guestfs.pod:995
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</"
@@ -38615,14 +38586,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1018
+#: ../src/guestfs.pod:999
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:1021
+#: ../src/guestfs.pod:1002
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 "
@@ -38630,7 +38601,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1025
+#: ../src/guestfs.pod:1006
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 "
@@ -38638,12 +38609,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1029
+#: ../src/guestfs.pod:1010
msgid "Using guestfs_add_domain with live flag"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1031
+#: ../src/guestfs.pod:1012
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 "
@@ -38652,7 +38623,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1037
+#: ../src/guestfs.pod:1018
#, no-wrap
msgid ""
" <domain>\n"
@@ -38670,14 +38641,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1049
+#: ../src/guestfs.pod:1030
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:1052
+#: ../src/guestfs.pod:1033
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 "
@@ -38685,19 +38656,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1056
+#: ../src/guestfs.pod:1037
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:1060
+#: ../src/guestfs.pod:1041
msgid "ABI GUARANTEE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1062
+#: ../src/guestfs.pod:1043
msgid ""
"We guarantee the libguestfs ABI (binary interface), for public, high-level "
"actions as outlined in this section. Although we will deprecate some "
@@ -38707,12 +38678,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1068
+#: ../src/guestfs.pod:1049
msgid "BLOCK DEVICE NAMING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1070
+#: ../src/guestfs.pod:1051
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 "
@@ -38726,7 +38697,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1082
+#: ../src/guestfs.pod:1063
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 "
@@ -38734,7 +38705,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1086
+#: ../src/guestfs.pod:1067
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 "
@@ -38742,7 +38713,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1091
+#: ../src/guestfs.pod:1072
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 "
@@ -38751,7 +38722,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1097
+#: ../src/guestfs.pod:1078
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 "
@@ -38759,12 +38730,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1102
+#: ../src/guestfs.pod:1083
msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1104
+#: ../src/guestfs.pod:1085
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 "
@@ -38773,7 +38744,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1110
+#: ../src/guestfs.pod:1091
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</"
@@ -38781,54 +38752,54 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1118
+#: ../src/guestfs.pod:1099
msgid "Is the string a parameter which is a device or partition name?"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1122
+#: ../src/guestfs.pod:1103
msgid "Does the string begin with C</dev/sd>?"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1126
+#: ../src/guestfs.pod:1107
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:1131
+#: ../src/guestfs.pod:1112
msgid "Replace initial C</dev/sd> string with C</dev/hd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1133
+#: ../src/guestfs.pod:1114
msgid "For example, change C</dev/sda2> to C</dev/hda2>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1135
+#: ../src/guestfs.pod:1116
msgid "If that named device exists, use it. If not, continue."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1139
+#: ../src/guestfs.pod:1120
msgid "Replace initial C</dev/sd> string with C</dev/vd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1141
+#: ../src/guestfs.pod:1122
msgid "If that named device exists, use it. If not, return an error."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1145
+#: ../src/guestfs.pod:1126
msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1147
+#: ../src/guestfs.pod:1128
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 "
@@ -38836,46 +38807,46 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1151
+#: ../src/guestfs.pod:1132
msgid ""
"Where possible for maximum future portability programs using libguestfs "
"should use these future-proof techniques:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1158
+#: ../src/guestfs.pod:1139
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:1161
+#: ../src/guestfs.pod:1142
msgid ""
"Since those device names exist by definition, they will never be translated."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1166
+#: ../src/guestfs.pod:1147
msgid ""
"Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
"filesystem labels."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1173
+#: ../src/guestfs.pod:1154
msgid ""
"This section discusses security implications of using libguestfs, "
"particularly with untrusted or malicious guests or disk images."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1176
+#: ../src/guestfs.pod:1157
msgid "GENERAL SECURITY CONSIDERATIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1178
+#: ../src/guestfs.pod:1159
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 "
@@ -38885,42 +38856,42 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1188
+#: ../src/guestfs.pod:1169
msgid "the data (file etc) not being present"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1192
+#: ../src/guestfs.pod:1173
msgid "being present but empty"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1196
+#: ../src/guestfs.pod:1177
msgid "being much larger than normal"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1200
+#: ../src/guestfs.pod:1181
msgid "containing arbitrary 8 bit data"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1204
+#: ../src/guestfs.pod:1185
msgid "being in an unexpected character encoding"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1208
+#: ../src/guestfs.pod:1189
msgid "containing homoglyphs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1212
+#: ../src/guestfs.pod:1193
msgid "SECURITY OF MOUNTING FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1214
+#: ../src/guestfs.pod:1195
msgid ""
"When you mount a filesystem under Linux, mistakes in the kernel filesystem "
"(VFS) module can sometimes be escalated into exploits by deliberately "
@@ -38936,7 +38907,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1227
+#: ../src/guestfs.pod:1208
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 "
@@ -38950,19 +38921,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1238
+#: ../src/guestfs.pod:1219
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:1241
+#: ../src/guestfs.pod:1222
msgid "PROTOCOL SECURITY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1243
+#: ../src/guestfs.pod:1224
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 "
@@ -38972,12 +38943,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1249
+#: ../src/guestfs.pod:1230
msgid "INSPECTION SECURITY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1251
+#: ../src/guestfs.pod:1232
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 "
@@ -38986,7 +38957,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1257
+#: ../src/guestfs.pod:1238
msgid ""
"Guest configuration may be altered in unusual ways by the administrator of "
"the virtual machine, and may not reflect reality (particularly for untrusted "
@@ -38997,7 +38968,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1265
+#: ../src/guestfs.pod:1246
msgid ""
"The inspection API parses guest configuration using two external libraries: "
"Augeas (Linux configuration) and hivex (Windows Registry). Both are "
@@ -39007,12 +38978,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1271
+#: ../src/guestfs.pod:1252
msgid "RUNNING UNTRUSTED GUEST COMMANDS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1273
+#: ../src/guestfs.pod:1254
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 "
@@ -39022,24 +38993,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1279
+#: ../src/guestfs.pod:1260
msgid "CVE-2010-3851"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1281
+#: ../src/guestfs.pod:1262
msgid "https://bugzilla.redhat.com/642934"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1283
+#: ../src/guestfs.pod:1264
msgid ""
"This security bug concerns the automatic disk format detection that qemu "
"does on disk images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1286
+#: ../src/guestfs.pod:1267
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 "
@@ -39048,7 +39019,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1291
+#: ../src/guestfs.pod:1272
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 "
@@ -39057,7 +39028,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1296
+#: ../src/guestfs.pod:1277
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 "
@@ -39069,25 +39040,25 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1304
+#: ../src/guestfs.pod:1285
msgid ""
"In libguestfs this is rather hard to exploit except under two circumstances:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1311
+#: ../src/guestfs.pod:1292
msgid "You have enabled the network or have opened the disk in write mode."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1315
+#: ../src/guestfs.pod:1296
msgid ""
"You are also running untrusted code from the guest (see L</RUNNING "
"COMMANDS>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1320
+#: ../src/guestfs.pod:1301
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 "
@@ -39096,31 +39067,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1325
+#: ../src/guestfs.pod:1306
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:1328
+#: ../src/guestfs.pod:1309
msgid ""
"For libguestfs tools, use the I<--format> command line parameter as "
"appropriate."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1331
+#: ../src/guestfs.pod:1312
msgid "CONNECTION MANAGEMENT"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1333
+#: ../src/guestfs.pod:1314
msgid "guestfs_h *"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1335
+#: ../src/guestfs.pod:1316
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 "
@@ -39128,19 +39099,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1339
+#: ../src/guestfs.pod:1320
msgid ""
"For information on using multiple handles and threads, see the section L</"
"MULTIPLE HANDLES AND MULTIPLE THREADS> above."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1342
+#: ../src/guestfs.pod:1323
msgid "guestfs_create"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1344
+#: ../src/guestfs.pod:1325
#, no-wrap
msgid ""
" guestfs_h *guestfs_create (void);\n"
@@ -39148,19 +39119,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1346
+#: ../src/guestfs.pod:1327
msgid "Create a connection handle."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1348
+#: ../src/guestfs.pod:1329
msgid ""
"On success this returns a non-NULL pointer to a handle. On error it returns "
"NULL."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1351
+#: ../src/guestfs.pod:1332
msgid ""
"You have to \"configure\" the handle after creating it. This includes "
"calling L</guestfs_add_drive_opts> (or one of the equivalent calls) on the "
@@ -39168,24 +39139,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1355
+#: ../src/guestfs.pod:1336
msgid "After configuring the handle, you have to call L</guestfs_launch>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1357
+#: ../src/guestfs.pod:1338
msgid ""
"You may also want to configure error handling for the handle. See the L</"
"ERROR HANDLING> section below."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1360
+#: ../src/guestfs.pod:1341
msgid "guestfs_close"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1362
+#: ../src/guestfs.pod:1343
#, no-wrap
msgid ""
" void guestfs_close (guestfs_h *g);\n"
@@ -39193,12 +39164,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1364
+#: ../src/guestfs.pod:1345
msgid "This closes the connection handle and frees up all resources used."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1366
+#: ../src/guestfs.pod:1347
msgid ""
"If autosync was set on the handle and the handle was launched, then this "
"implicitly calls various functions to unmount filesystems and sync the "
@@ -39206,24 +39177,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1370
+#: ../src/guestfs.pod:1351
msgid "If a close callback was set on the handle, then it is called."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1372
+#: ../src/guestfs.pod:1353
msgid "ERROR HANDLING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1374
+#: ../src/guestfs.pod:1355
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:1377
+#: ../src/guestfs.pod:1358
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 "
@@ -39231,7 +39202,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1381
+#: ../src/guestfs.pod:1362
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 "
@@ -39239,7 +39210,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1386
+#: ../src/guestfs.pod:1367
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 "
@@ -39247,7 +39218,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1390
+#: ../src/guestfs.pod:1371
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1)\n"
@@ -39256,21 +39227,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1393
+#: ../src/guestfs.pod:1374
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:1396
+#: ../src/guestfs.pod:1377
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:1399
+#: ../src/guestfs.pod:1380
#, no-wrap
msgid ""
" /* This disables the default behaviour of printing errors\n"
@@ -39280,7 +39251,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1403
+#: ../src/guestfs.pod:1384
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1) {\n"
@@ -39297,7 +39268,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1414
+#: ../src/guestfs.pod:1395
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</"
@@ -39305,7 +39276,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1418
+#: ../src/guestfs.pod:1399
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 "
@@ -39315,12 +39286,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1424
+#: ../src/guestfs.pod:1405
msgid "guestfs_last_error"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1426
+#: ../src/guestfs.pod:1407
#, no-wrap
msgid ""
" const char *guestfs_last_error (guestfs_h *g);\n"
@@ -39328,26 +39299,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1428
+#: ../src/guestfs.pod:1409
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:1432
+#: ../src/guestfs.pod:1413
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:1435
+#: ../src/guestfs.pod:1416
msgid "guestfs_last_errno"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1437
+#: ../src/guestfs.pod:1418
#, no-wrap
msgid ""
" int guestfs_last_errno (guestfs_h *g);\n"
@@ -39355,28 +39326,28 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1439
+#: ../src/guestfs.pod:1420
msgid "This returns the last error number (errno) that happened on C<g>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1441
+#: ../src/guestfs.pod:1422
msgid "If successful, an errno integer not equal to zero is returned."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1443
+#: ../src/guestfs.pod:1424
msgid ""
"If no error, this returns 0. This call can return 0 in three situations:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1450
+#: ../src/guestfs.pod:1431
msgid "There has not been any error on the handle."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1454
+#: ../src/guestfs.pod:1435
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 "
@@ -39384,14 +39355,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1460
+#: ../src/guestfs.pod:1441
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:1466
+#: ../src/guestfs.pod:1447
msgid ""
"Libguestfs tries to convert the errno from inside the applicance into a "
"corresponding errno for the caller (not entirely trivial: the appliance "
@@ -39402,12 +39373,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1474
+#: ../src/guestfs.pod:1455
msgid "guestfs_set_error_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1476
+#: ../src/guestfs.pod:1457
#, no-wrap
msgid ""
" typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
@@ -39420,7 +39391,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1483
+#: ../src/guestfs.pod:1464
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 "
@@ -39428,14 +39399,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1487
+#: ../src/guestfs.pod:1468
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:1490
+#: ../src/guestfs.pod:1471
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 "
@@ -39443,22 +39414,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1494
+#: ../src/guestfs.pod:1475
msgid "The default handler prints messages on C<stderr>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1496
+#: ../src/guestfs.pod:1477
msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1498
+#: ../src/guestfs.pod:1479
msgid "guestfs_get_error_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1500
+#: ../src/guestfs.pod:1481
#, no-wrap
msgid ""
" guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
@@ -39467,17 +39438,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1503
+#: ../src/guestfs.pod:1484
msgid "Returns the current error handler callback."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1505
+#: ../src/guestfs.pod:1486
msgid "guestfs_set_out_of_memory_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1507
+#: ../src/guestfs.pod:1488
#, no-wrap
msgid ""
" typedef void (*guestfs_abort_cb) (void);\n"
@@ -39487,30 +39458,30 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1511
+#: ../src/guestfs.pod:1492
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:1514
+#: ../src/guestfs.pod:1495
msgid "The default is to call L<abort(3)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1516
+#: ../src/guestfs.pod:1497
msgid ""
"You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1519
+#: ../src/guestfs.pod:1500
msgid "guestfs_get_out_of_memory_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1521
+#: ../src/guestfs.pod:1502
#, no-wrap
msgid ""
" guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
@@ -39518,37 +39489,37 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1523
+#: ../src/guestfs.pod:1504
msgid "This returns the current out of memory handler."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1525
+#: ../src/guestfs.pod:1506
msgid "API CALLS"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1529
+#: ../src/guestfs.pod:1510
msgid "STRUCTURES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1531
+#: ../src/guestfs.pod:1512
msgid "@STRUCTS@"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1533
+#: ../src/guestfs.pod:1514
msgid "AVAILABILITY"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1535
+#: ../src/guestfs.pod:1516
msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1537
+#: ../src/guestfs.pod:1518
msgid ""
"Using L</guestfs_available> you can test availability of the following "
"groups of functions. This test queries the appliance to see if the "
@@ -39556,17 +39527,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1542
+#: ../src/guestfs.pod:1523
msgid "@AVAILABILITY@"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1544
+#: ../src/guestfs.pod:1525
msgid "GUESTFISH supported COMMAND"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1546
+#: ../src/guestfs.pod:1527
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 "
@@ -39574,19 +39545,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1551
+#: ../src/guestfs.pod:1532
msgid "SINGLE CALLS AT COMPILE TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1553
+#: ../src/guestfs.pod:1534
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:1556
+#: ../src/guestfs.pod:1537
#, no-wrap
msgid ""
" #define LIBGUESTFS_HAVE_DD 1\n"
@@ -39594,12 +39565,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1558
+#: ../src/guestfs.pod:1539
msgid "if L</guestfs_dd> is available."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1560
+#: ../src/guestfs.pod:1541
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 "
@@ -39607,7 +39578,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1565
+#: ../src/guestfs.pod:1546
#, no-wrap
msgid ""
" AC_CHECK_LIB([guestfs],[guestfs_create])\n"
@@ -39616,19 +39587,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1568
+#: ../src/guestfs.pod:1549
msgid ""
"which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
"in your program."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1571
+#: ../src/guestfs.pod:1552
msgid "SINGLE CALLS AT RUN TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1573
+#: ../src/guestfs.pod:1554
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 "
@@ -39638,7 +39609,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1580
+#: ../src/guestfs.pod:1561
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 "
@@ -39646,7 +39617,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1584
+#: ../src/guestfs.pod:1565
#, no-wrap
msgid ""
" #include <stdio.h>\n"
@@ -39658,7 +39629,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1590
+#: ../src/guestfs.pod:1571
#, no-wrap
msgid ""
" main ()\n"
@@ -39670,7 +39641,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1596
+#: ../src/guestfs.pod:1577
#, no-wrap
msgid ""
" /* Test if the function guestfs_dd is really available. */\n"
@@ -39685,7 +39656,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1605
+#: ../src/guestfs.pod:1586
#, no-wrap
msgid ""
" if (!has_function)\n"
@@ -39704,7 +39675,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1618
+#: ../src/guestfs.pod:1599
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 "
@@ -39712,7 +39683,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1623
+#: ../src/guestfs.pod:1604
#, no-wrap
msgid ""
" Requires: libguestfs >= 1.0.80\n"
@@ -39720,12 +39691,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1625
+#: ../src/guestfs.pod:1606
msgid "CALLS WITH OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1627
+#: ../src/guestfs.pod:1608
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 "
@@ -39733,7 +39704,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1632
+#: ../src/guestfs.pod:1613
#, no-wrap
msgid ""
" int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
@@ -39741,14 +39712,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1634
+#: ../src/guestfs.pod:1615
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:1637
+#: ../src/guestfs.pod:1618
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename, -1);\n"
@@ -39756,12 +39727,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1639
+#: ../src/guestfs.pod:1620
msgid "With a single optional argument:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1641
+#: ../src/guestfs.pod:1622
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -39771,12 +39742,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1645
+#: ../src/guestfs.pod:1626
msgid "With two:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1647
+#: ../src/guestfs.pod:1628
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -39787,19 +39758,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1652
+#: ../src/guestfs.pod:1633
msgid ""
"and so forth. Don't forget the terminating C<-1> otherwise Bad Things will "
"happen!"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1655
+#: ../src/guestfs.pod:1636
msgid "USING va_list FOR OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1657
+#: ../src/guestfs.pod:1638
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 "
@@ -39807,7 +39778,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1661
+#: ../src/guestfs.pod:1642
#, no-wrap
msgid ""
" int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
@@ -39816,12 +39787,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1664
+#: ../src/guestfs.pod:1645
msgid "CONSTRUCTING OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1666
+#: ../src/guestfs.pod:1647
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 "
@@ -39831,7 +39802,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1672
+#: ../src/guestfs.pod:1653
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv {\n"
@@ -39846,12 +39817,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1681
+#: ../src/guestfs.pod:1662
msgid "You could call it like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1683
+#: ../src/guestfs.pod:1664
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv optargs = {\n"
@@ -39864,7 +39835,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1690
+#: ../src/guestfs.pod:1671
#, no-wrap
msgid ""
" guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
@@ -39872,29 +39843,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1698
+#: ../src/guestfs.pod:1679
msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1703
+#: ../src/guestfs.pod:1684
msgid "You do not need to fill in all fields of the structure."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1707
+#: ../src/guestfs.pod:1688
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:1712
+#: ../src/guestfs.pod:1693
msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1714
+#: ../src/guestfs.pod:1695
msgid ""
"In other languages, optional arguments are expressed in the way that is "
"natural for that language. We refer you to the language-specific "
@@ -39902,17 +39873,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1718
+#: ../src/guestfs.pod:1699
msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1720
+#: ../src/guestfs.pod:1701
msgid "SETTING CALLBACKS TO HANDLE EVENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1722
+#: ../src/guestfs.pod:1703
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 "
@@ -39924,7 +39895,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1731
+#: ../src/guestfs.pod:1712
msgid ""
"Handles generate events when certain things happen, such as log messages "
"being generated, progress messages during long-running operations, or the "
@@ -39936,7 +39907,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1739
+#: ../src/guestfs.pod:1720
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 "
@@ -39945,31 +39916,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1744
+#: ../src/guestfs.pod:1725
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:1748
+#: ../src/guestfs.pod:1729
msgid "CLASSES OF EVENTS"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1752
+#: ../src/guestfs.pod:1733
msgid "GUESTFS_EVENT_CLOSE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1755
+#: ../src/guestfs.pod:1736
msgid ""
"The callback function will be called while the handle is being closed "
"(synchronously from L</guestfs_close>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1758
+#: ../src/guestfs.pod:1739
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 "
@@ -39980,19 +39951,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1765
+#: ../src/guestfs.pod:1746
msgid ""
"If no callback is registered: the handle is closed without any callback "
"being invoked."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1768
+#: ../src/guestfs.pod:1749
msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1771
+#: ../src/guestfs.pod:1752
msgid ""
"The callback function will be called when the child process quits, either "
"asynchronously or if killed by L</guestfs_kill_subprocess>. (This "
@@ -40000,17 +39971,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1775 ../src/guestfs.pod:1784 ../src/guestfs.pod:1901
+#: ../src/guestfs.pod:1756 ../src/guestfs.pod:1765 ../src/guestfs.pod:1882
msgid "If no callback is registered: the event is ignored."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1777
+#: ../src/guestfs.pod:1758
msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1780
+#: ../src/guestfs.pod:1761
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 "
@@ -40018,12 +39989,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1786
+#: ../src/guestfs.pod:1767
msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1789
+#: ../src/guestfs.pod:1770
msgid ""
"Some long-running operations can generate progress messages. If this "
"callback is registered, then it will be called each time a progress message "
@@ -40033,14 +40004,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1795
+#: ../src/guestfs.pod:1776
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:1798
+#: ../src/guestfs.pod:1779
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 "
@@ -40048,24 +40019,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1803
+#: ../src/guestfs.pod:1784
msgid "The only defined and stable parts of the API are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1809
+#: ../src/guestfs.pod:1790
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:1814
+#: ../src/guestfs.pod:1795
msgid "0 E<lt>= C<position> E<lt>= C<total>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1818
+#: ../src/guestfs.pod:1799
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 "
@@ -40073,7 +40044,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1822
+#: ../src/guestfs.pod:1803
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 "
@@ -40081,7 +40052,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1828
+#: ../src/guestfs.pod:1809
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 "
@@ -40090,7 +40061,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1833
+#: ../src/guestfs.pod:1814
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 "
@@ -40098,14 +40069,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1837
+#: ../src/guestfs.pod:1818
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:1842
+#: ../src/guestfs.pod:1823
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 "
@@ -40114,31 +40085,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1848
+#: ../src/guestfs.pod:1829
msgid "If no callback is registered: progress messages are discarded."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1850
+#: ../src/guestfs.pod:1831
msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1853
+#: ../src/guestfs.pod:1834
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:1856
+#: ../src/guestfs.pod:1837
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:1859 ../src/guestfs.pod:1873
+#: ../src/guestfs.pod:1840 ../src/guestfs.pod:1854
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 "
@@ -40146,63 +40117,63 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1864
+#: ../src/guestfs.pod:1845
msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1867
+#: ../src/guestfs.pod:1848
msgid ""
"The callback function is called whenever a log message is generated by the "
"library part of libguestfs."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1870
+#: ../src/guestfs.pod:1851
msgid ""
"If the verbose flag (L</guestfs_set_verbose>) is set then additional debug "
"messages are generated."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1878
+#: ../src/guestfs.pod:1859
msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1881
+#: ../src/guestfs.pod:1862
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:1884
+#: ../src/guestfs.pod:1865
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: =item
-#: ../src/guestfs.pod:1888
+#: ../src/guestfs.pod:1869
msgid "GUESTFS_EVENT_ENTER (payload type: function name)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1891
+#: ../src/guestfs.pod:1872
msgid ""
"The callback function is called whenever a libguestfs function is entered."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1894
+#: ../src/guestfs.pod:1875
msgid ""
"The payload is a string which contains the name of the function that we are "
"entering (not including C<guestfs_> prefix)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1897
+#: ../src/guestfs.pod:1878
msgid ""
"Note that libguestfs functions can call themselves, so you may see many "
"events from a single call. A few libguestfs functions do not generate this "
@@ -40210,12 +40181,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1905
+#: ../src/guestfs.pod:1886
msgid "guestfs_set_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1907
+#: ../src/guestfs.pod:1888
#, no-wrap
msgid ""
" int guestfs_set_event_callback (guestfs_h *g,\n"
@@ -40227,14 +40198,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1913
+#: ../src/guestfs.pod:1894
msgid ""
"This function registers a callback (C<cb>) for all event classes in the "
"C<event_bitmask>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1916
+#: ../src/guestfs.pod:1897
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>. "
@@ -40243,40 +40214,40 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1922
+#: ../src/guestfs.pod:1903
msgid "C<flags> should always be passed as 0."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1924
+#: ../src/guestfs.pod:1905
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:1927
+#: ../src/guestfs.pod:1908
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:1930
+#: ../src/guestfs.pod:1911
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:1933
+#: ../src/guestfs.pod:1914
msgid ""
"Callbacks remain in effect until they are deleted, or until the handle is "
"closed."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1936
+#: ../src/guestfs.pod:1917
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 "
@@ -40284,12 +40255,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1940
+#: ../src/guestfs.pod:1921
msgid "guestfs_delete_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1942
+#: ../src/guestfs.pod:1923
#, no-wrap
msgid ""
" void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n"
@@ -40297,7 +40268,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1944
+#: ../src/guestfs.pod:1925
msgid ""
"Delete a callback that was previously registered. C<event_handle> should be "
"the integer that was returned by a previous call to "
@@ -40305,12 +40276,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1948
+#: ../src/guestfs.pod:1929
msgid "guestfs_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1950
+#: ../src/guestfs.pod:1931
#, no-wrap
msgid ""
" typedef void (*guestfs_event_callback) (\n"
@@ -40325,13 +40296,13 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1959
+#: ../src/guestfs.pod:1940
msgid ""
"This is the type of the event callback function that you have to provide."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1962
+#: ../src/guestfs.pod:1943
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 "
@@ -40339,7 +40310,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1966
+#: ../src/guestfs.pod:1947
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 "
@@ -40348,7 +40319,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1971
+#: ../src/guestfs.pod:1952
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 "
@@ -40356,19 +40327,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1975
+#: ../src/guestfs.pod:1956
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:1978
+#: ../src/guestfs.pod:1959
msgid "EXAMPLE: CAPTURING LOG MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1980
+#: ../src/guestfs.pod:1961
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 "
@@ -40376,7 +40347,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1984
+#: ../src/guestfs.pod:1965
msgid ""
"Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, "
"C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error "
@@ -40384,14 +40355,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1989
+#: ../src/guestfs.pod:1970
msgid ""
"Programs have to set up a callback to capture the classes of events of "
"interest:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1992
+#: ../src/guestfs.pod:1973
#, no-wrap
msgid ""
" int eh =\n"
@@ -40407,14 +40378,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2002
+#: ../src/guestfs.pod:1983
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:2005
+#: ../src/guestfs.pod:1986
#, no-wrap
msgid ""
" static void\n"
@@ -40435,12 +40406,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2020
+#: ../src/guestfs.pod:2001
msgid "CANCELLING LONG TRANSFERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2022
+#: ../src/guestfs.pod:2003
msgid ""
"Some operations can be cancelled by the caller while they are in progress. "
"Currently only operations that involve uploading or downloading data can be "
@@ -40449,12 +40420,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2027
+#: ../src/guestfs.pod:2008
msgid "guestfs_user_cancel"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2029
+#: ../src/guestfs.pod:2010
#, no-wrap
msgid ""
" void guestfs_user_cancel (guestfs_h *g);\n"
@@ -40462,13 +40433,13 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2031
+#: ../src/guestfs.pod:2012
msgid ""
"C<guestfs_user_cancel> cancels the current upload or download operation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2034
+#: ../src/guestfs.pod:2015
msgid ""
"Unlike most other libguestfs calls, this function is signal safe and thread "
"safe. You can call it from a signal handler or from another thread, without "
@@ -40476,7 +40447,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2038
+#: ../src/guestfs.pod:2019
msgid ""
"The transfer that was in progress (if there is one) will stop shortly "
"afterwards, and will return an error. The errno (see L</"
@@ -40485,7 +40456,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2044
+#: ../src/guestfs.pod:2025
msgid ""
"No cleanup is performed: for example, if a file was being uploaded then "
"after cancellation there may be a partially uploaded file. It is the "
@@ -40493,12 +40464,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2048
+#: ../src/guestfs.pod:2029
msgid "There are two common places that you might call C<guestfs_user_cancel>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2050
+#: ../src/guestfs.pod:2031
msgid ""
"In an interactive text-based program, you might call it from a C<SIGINT> "
"signal handler so that pressing C<^C> cancels the current operation. (You "
@@ -40507,19 +40478,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2055
+#: ../src/guestfs.pod:2036
msgid ""
"In a graphical program, when the main thread is displaying a progress bar "
"with a cancel button, wire up the cancel button to call this function."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2059
+#: ../src/guestfs.pod:2040
msgid "PRIVATE DATA AREA"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2061
+#: ../src/guestfs.pod:2042
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 "
@@ -40527,12 +40498,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2066
+#: ../src/guestfs.pod:2047
msgid "To attach a named piece of data, use the following call:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2068
+#: ../src/guestfs.pod:2049
#, no-wrap
msgid ""
" void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
@@ -40540,7 +40511,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2070
+#: ../src/guestfs.pod:2051
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 key is "
@@ -40548,7 +40519,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2074
+#: ../src/guestfs.pod:2055
msgid ""
"You can use any C<key> you want, but your key should I<not> start with an "
"underscore character. Keys beginning with an underscore character are "
@@ -40558,12 +40529,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2080
+#: ../src/guestfs.pod:2061
msgid "To retrieve the pointer, use:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2082
+#: ../src/guestfs.pod:2063
#, no-wrap
msgid ""
" void *guestfs_get_private (guestfs_h *g, const char *key);\n"
@@ -40571,7 +40542,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2084
+#: ../src/guestfs.pod:2065
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 "
@@ -40579,7 +40550,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2088
+#: ../src/guestfs.pod:2069
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 "
@@ -40590,12 +40561,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2095
+#: ../src/guestfs.pod:2076
msgid "To walk over all entries, use these two functions:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2097
+#: ../src/guestfs.pod:2078
#, no-wrap
msgid ""
" void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n"
@@ -40603,7 +40574,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2099
+#: ../src/guestfs.pod:2080
#, no-wrap
msgid ""
" void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n"
@@ -40611,7 +40582,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2101
+#: ../src/guestfs.pod:2082
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 "
@@ -40621,7 +40592,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2107
+#: ../src/guestfs.pod:2088
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 "
@@ -40629,18 +40600,18 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2111
+#: ../src/guestfs.pod:2092
msgid "Notes about walking over entries:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2117
+#: ../src/guestfs.pod:2098
msgid ""
"You must not call C<guestfs_set_private> while walking over the entries."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2122
+#: ../src/guestfs.pod:2103
msgid ""
"The handle maintains an internal iterator which is reset when you call "
"C<guestfs_first_private>. This internal iterator is invalidated when you "
@@ -40648,12 +40619,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2128
+#: ../src/guestfs.pod:2109
msgid "If you have set the data pointer associated with a key to C<NULL>, ie:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2130
+#: ../src/guestfs.pod:2111
#, no-wrap
msgid ""
" guestfs_set_private (g, key, NULL);\n"
@@ -40661,26 +40632,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2132
+#: ../src/guestfs.pod:2113
msgid "then that C<key> is not returned when walking."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2136
+#: ../src/guestfs.pod:2117
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:2142
+#: ../src/guestfs.pod:2123
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:2145
+#: ../src/guestfs.pod:2126
#, no-wrap
msgid ""
" const char *key;\n"
@@ -40694,14 +40665,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2153
+#: ../src/guestfs.pod:2134
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:2156
+#: ../src/guestfs.pod:2137
#, no-wrap
msgid ""
" const char *key;\n"
@@ -40716,7 +40687,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2165
+#: ../src/guestfs.pod:2146
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 "
@@ -40724,7 +40695,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2169
+#: ../src/guestfs.pod:2150
#, no-wrap
msgid ""
" const char *key;\n"
@@ -40746,7 +40717,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2185
+#: ../src/guestfs.pod:2166
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 "
@@ -40755,12 +40726,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2190
+#: ../src/guestfs.pod:2171
msgid "SYSTEMTAP"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2192
+#: ../src/guestfs.pod:2173
msgid ""
"The libguestfs C library can be probed using systemtap or DTrace. This is "
"true of any library, not just libguestfs. However libguestfs also contains "
@@ -40768,12 +40739,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2196
+#: ../src/guestfs.pod:2177
msgid "You can list all the static markers by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2198
+#: ../src/guestfs.pod:2179
#, no-wrap
msgid ""
" stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n"
@@ -40782,26 +40753,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2201
+#: ../src/guestfs.pod:2182
msgid ""
"B<Note:> These static markers are I<not> part of the stable API and may "
"change in future versions."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2204
+#: ../src/guestfs.pod:2185
msgid "SYSTEMTAP SCRIPT EXAMPLE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2206
+#: ../src/guestfs.pod:2187
msgid ""
"This script contains examples of displaying both the static markers and some "
"ordinary C entry points:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2209
+#: ../src/guestfs.pod:2190
#, no-wrap
msgid ""
" global last;\n"
@@ -40809,7 +40780,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2211
+#: ../src/guestfs.pod:2192
#, no-wrap
msgid ""
" function display_time () {\n"
@@ -40822,7 +40793,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2218
+#: ../src/guestfs.pod:2199
#, no-wrap
msgid ""
" printf (\"%d (+%d):\", now, delta);\n"
@@ -40831,7 +40802,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2221
+#: ../src/guestfs.pod:2202
#, no-wrap
msgid ""
" probe begin {\n"
@@ -40842,7 +40813,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2226
+#: ../src/guestfs.pod:2207
#, no-wrap
msgid ""
" /* Display all calls to static markers. */\n"
@@ -40855,7 +40826,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2233
+#: ../src/guestfs.pod:2214
#, no-wrap
msgid ""
" /* Display all calls to guestfs_mkfs* functions. */\n"
@@ -40868,7 +40839,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2240
+#: ../src/guestfs.pod:2221
msgid ""
"The script above can be saved to C<test.stap> and run using the L<stap(1)> "
"program. Note that you either have to be root, or you have to add yourself "
@@ -40877,7 +40848,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2245
+#: ../src/guestfs.pod:2226
#, no-wrap
msgid ""
" # stap /tmp/test.stap\n"
@@ -40886,17 +40857,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2248
+#: ../src/guestfs.pod:2229
msgid "In another terminal, run a guestfish command such as this:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2252
+#: ../src/guestfs.pod:2233
msgid "In the first terminal, stap trace output similar to this is shown:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2254
+#: ../src/guestfs.pod:2235
#, no-wrap
msgid ""
" 1318248056692655 (+0):\tlaunch_start\n"
@@ -40909,24 +40880,24 @@ msgid ""
msgstr ""
#. type: =end
-#: ../src/guestfs.pod:2261 ../src/guestfs.pod:2266
+#: ../src/guestfs.pod:2242 ../src/guestfs.pod:2247
msgid "html"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2263
+#: ../src/guestfs.pod:2244
msgid ""
"<!-- old anchor for the next section --> <a name="
"\"state_machine_and_low_level_event_api\"/>"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2268
+#: ../src/guestfs.pod:2249
msgid "ARCHITECTURE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2270
+#: ../src/guestfs.pod:2251
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 "
@@ -40934,7 +40905,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2274
+#: ../src/guestfs.pod:2255
#, no-wrap
msgid ""
" ___________________\n"
@@ -40960,14 +40931,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2294
+#: ../src/guestfs.pod:2275
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:2297
+#: ../src/guestfs.pod:2278
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 "
@@ -40979,7 +40950,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2306
+#: ../src/guestfs.pod:2287
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 "
@@ -40990,17 +40961,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2313
+#: ../src/guestfs.pod:2294
msgid "STATE MACHINE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2315
+#: ../src/guestfs.pod:2296
msgid "libguestfs uses a state machine to model the child process:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2317
+#: ../src/guestfs.pod:2298
#, no-wrap
msgid ""
" |\n"
@@ -41028,7 +40999,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2339
+#: ../src/guestfs.pod:2320
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), "
@@ -41037,7 +41008,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2344
+#: ../src/guestfs.pod:2325
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 "
@@ -41045,14 +41016,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2348
+#: ../src/guestfs.pod:2329
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:2351
+#: ../src/guestfs.pod:2332
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 "
@@ -41061,7 +41032,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2357
+#: ../src/guestfs.pod:2338
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. "
@@ -41071,7 +41042,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2363
+#: ../src/guestfs.pod:2344
msgid ""
"Finally, the child process sends asynchronous messages back to the main "
"program, such as kernel log messages. You can register a callback to "
@@ -41079,17 +41050,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2367
+#: ../src/guestfs.pod:2348
msgid "INTERNALS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2369
+#: ../src/guestfs.pod:2350
msgid "APPLIANCE BOOT PROCESS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2371
+#: ../src/guestfs.pod:2352
msgid ""
"This process has evolved and continues to evolve. The description here "
"corresponds only to the current version of libguestfs and is provided for "
@@ -41097,55 +41068,55 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2375
+#: ../src/guestfs.pod:2356
msgid ""
"In order to follow the stages involved below, enable libguestfs debugging "
"(set the environment variable C<LIBGUESTFS_DEBUG=1>)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2380
+#: ../src/guestfs.pod:2361
msgid "Create the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2382
+#: ../src/guestfs.pod:2363
msgid ""
"C<febootstrap-supermin-helper> is invoked to create the kernel, a small "
"initrd and the appliance."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2385
+#: ../src/guestfs.pod:2366
msgid ""
"The appliance is cached in C</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another "
"directory if C<TMPDIR> is set)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2388
+#: ../src/guestfs.pod:2369
msgid ""
"For a complete description of how the appliance is created and cached, read "
"the L<febootstrap(8)> and L<febootstrap-supermin-helper(8)> man pages."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2392
+#: ../src/guestfs.pod:2373
msgid "Start qemu and boot the kernel"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2394
+#: ../src/guestfs.pod:2375
msgid "qemu is invoked to boot the kernel."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2396
+#: ../src/guestfs.pod:2377
msgid "Run the initrd"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2398
+#: ../src/guestfs.pod:2379
msgid ""
"C<febootstrap-supermin-helper> builds a small initrd. The initrd is not the "
"appliance. The purpose of the initrd is to load enough kernel modules in "
@@ -41153,21 +41124,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2402
+#: ../src/guestfs.pod:2383
msgid ""
"The initrd is a cpio archive called C</var/tmp/.guestfs-E<lt>UIDE<gt>/"
"initrd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2405
+#: ../src/guestfs.pod:2386
msgid ""
"When the initrd has started you will see messages showing that kernel "
"modules are being loaded, similar to this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2408
+#: ../src/guestfs.pod:2389
#, no-wrap
msgid ""
" febootstrap: ext2 mini initrd starting up\n"
@@ -41178,12 +41149,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2413
+#: ../src/guestfs.pod:2394
msgid "Find and mount the appliance device"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2415
+#: ../src/guestfs.pod:2396
msgid ""
"The appliance is a sparse file containing an ext2 filesystem which contains "
"a familiar (although reduced in size) Linux operating system. It would "
@@ -41191,33 +41162,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2419
+#: ../src/guestfs.pod:2400
msgid ""
"The regular disks being inspected by libguestfs are the first devices "
"exposed by qemu (eg. as C</dev/vda>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2422
+#: ../src/guestfs.pod:2403
msgid ""
"The last disk added to qemu is the appliance itself (eg. C</dev/vdb> if "
"there was only one regular disk)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2425
+#: ../src/guestfs.pod:2406
msgid ""
"Thus the final job of the initrd is to locate the appliance disk, mount it, "
"and switch root into the appliance, and run C</init> from the appliance."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2429
+#: ../src/guestfs.pod:2410
msgid "If this works successfully you will see messages such as:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2431
+#: ../src/guestfs.pod:2412
#, no-wrap
msgid ""
" febootstrap: picked /sys/block/vdb/dev as root device\n"
@@ -41229,19 +41200,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2437
+#: ../src/guestfs.pod:2418
msgid ""
"Note that C<Starting /init script ...> indicates that the appliance's init "
"script is now running."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2440
+#: ../src/guestfs.pod:2421
msgid "Initialize the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2442
+#: ../src/guestfs.pod:2423
msgid ""
"The appliance itself now initializes itself. This involves starting certain "
"processes like C<udev>, possibly printing some debug information, and "
@@ -41249,19 +41220,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2446
+#: ../src/guestfs.pod:2427
msgid "The daemon"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2448
+#: ../src/guestfs.pod:2429
msgid ""
"Finally the daemon (C<guestfsd>) runs inside the appliance. If it runs you "
"should see:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2451
+#: ../src/guestfs.pod:2432
#, no-wrap
msgid ""
" verbose daemon enabled\n"
@@ -41269,14 +41240,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2453
+#: ../src/guestfs.pod:2434
msgid ""
"The daemon expects to see a named virtio-serial port exposed by qemu and "
"connected on the other end to the library."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2456
+#: ../src/guestfs.pod:2437
msgid ""
"The daemon connects to this port (and hence to the library) and sends a four "
"byte message C<GUESTFS_LAUNCH_FLAG>, which initiates the communication "
@@ -41284,19 +41255,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2462
+#: ../src/guestfs.pod:2443
msgid "COMMUNICATION PROTOCOL"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2464
+#: ../src/guestfs.pod:2445
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:2467
+#: ../src/guestfs.pod:2448
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 "
@@ -41304,14 +41275,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2471
+#: ../src/guestfs.pod:2452
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:2474
+#: ../src/guestfs.pod:2455
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 "
@@ -41321,17 +41292,17 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2481
+#: ../src/guestfs.pod:2462
msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2483
+#: ../src/guestfs.pod:2464
msgid "For ordinary functions, the request message is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2485
+#: ../src/guestfs.pod:2466
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -41342,7 +41313,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2490
+#: ../src/guestfs.pod:2471
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 "
@@ -41351,21 +41322,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2496
+#: ../src/guestfs.pod:2477
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:2499
+#: ../src/guestfs.pod:2480
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:2503
+#: ../src/guestfs.pod:2484
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 "
@@ -41377,12 +41348,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2511
+#: ../src/guestfs.pod:2492
msgid "The reply message for ordinary functions is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2513
+#: ../src/guestfs.pod:2494
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -41393,27 +41364,27 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2518
+#: ../src/guestfs.pod:2499
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:2521
+#: ../src/guestfs.pod:2502
msgid ""
"As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2524
+#: ../src/guestfs.pod:2505
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:2527
+#: ../src/guestfs.pod:2508
#, no-wrap
msgid ""
" total length (header + error,\n"
@@ -41424,19 +41395,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2532
+#: ../src/guestfs.pod:2513
msgid ""
"The C<guestfs_message_error> structure contains the error message as a "
"string."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2535
+#: ../src/guestfs.pod:2516
msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2537
+#: ../src/guestfs.pod:2518
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 "
@@ -41444,7 +41415,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2541
+#: ../src/guestfs.pod:2522
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -41458,12 +41429,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2549
+#: ../src/guestfs.pod:2530
msgid "The \"sequence of chunks\" is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2551
+#: ../src/guestfs.pod:2532
#, no-wrap
msgid ""
" length of chunk (not including length word itself)\n"
@@ -41477,7 +41448,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2559
+#: ../src/guestfs.pod:2540
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 "
@@ -41485,7 +41456,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2563
+#: ../src/guestfs.pod:2544
msgid ""
"At time of writing there are no functions that have more than one FileIn "
"parameter. However this is (theoretically) supported, by sending the "
@@ -41494,7 +41465,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2568
+#: ../src/guestfs.pod:2549
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 "
@@ -41503,7 +41474,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2574
+#: ../src/guestfs.pod:2555
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 "
@@ -41515,7 +41486,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2583
+#: ../src/guestfs.pod:2564
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 "
@@ -41525,19 +41496,19 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2589
+#: ../src/guestfs.pod:2570
msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2591
+#: ../src/guestfs.pod:2572
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:2594
+#: ../src/guestfs.pod:2575
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -41551,12 +41522,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2602
+#: ../src/guestfs.pod:2583
msgid "INITIAL MESSAGE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2604
+#: ../src/guestfs.pod:2585
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</"
@@ -41564,12 +41535,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2608
+#: ../src/guestfs.pod:2589
msgid "PROGRESS NOTIFICATION MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2610
+#: ../src/guestfs.pod:2591
msgid ""
"The daemon may send progress notification messages at any time. These are "
"distinguished by the normal length word being replaced by "
@@ -41577,7 +41548,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2614
+#: ../src/guestfs.pod:2595
msgid ""
"The library turns them into progress callbacks (see L</"
"GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards them "
@@ -41585,7 +41556,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2618
+#: ../src/guestfs.pod:2599
msgid ""
"The daemon self-limits the frequency of progress messages it sends (see "
"C<daemon/proto.c:notify_progress>). Not all calls generate progress "
@@ -41593,12 +41564,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2622
+#: ../src/guestfs.pod:2603
msgid "LIBGUESTFS VERSION NUMBERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2624
+#: ../src/guestfs.pod:2605
msgid ""
"Since April 2010, libguestfs has started to make separate development and "
"stable releases, along with corresponding branches in our git repository. "
@@ -41606,7 +41577,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2629
+#: ../src/guestfs.pod:2610
#, no-wrap
msgid ""
" even numbers for stable: 1.2.x, 1.4.x, ...\n"
@@ -41623,12 +41594,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2640
+#: ../src/guestfs.pod:2621
msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2642
+#: ../src/guestfs.pod:2623
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 "
@@ -41638,26 +41609,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2648
+#: ../src/guestfs.pod:2629
msgid "Our criteria for backporting changes are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2654
+#: ../src/guestfs.pod:2635
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:2660
+#: ../src/guestfs.pod:2641
msgid ""
"Bug fixes which are not controversial, fix obvious problems, and have been "
"well tested are backported."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2665
+#: ../src/guestfs.pod:2646
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 "
@@ -41665,7 +41636,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2671
+#: ../src/guestfs.pod:2652
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 "
@@ -41673,7 +41644,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2677
+#: ../src/guestfs.pod:2658
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 "
@@ -41684,17 +41655,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2685
+#: ../src/guestfs.pod:2666
msgid "EXTENDING LIBGUESTFS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2687
+#: ../src/guestfs.pod:2668
msgid "ADDING A NEW API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2689
+#: ../src/guestfs.pod:2670
msgid ""
"Large amounts of boilerplate code in libguestfs (RPC, bindings, "
"documentation) are generated, and this makes it easy to extend the "
@@ -41702,19 +41673,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2693
+#: ../src/guestfs.pod:2674
msgid "To add a new API action there are two changes:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2699
+#: ../src/guestfs.pod:2680
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:2702
+#: ../src/guestfs.pod:2683
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 "
@@ -41725,7 +41696,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2710
+#: ../src/guestfs.pod:2691
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 "
@@ -41735,7 +41706,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2716
+#: ../src/guestfs.pod:2697
msgid ""
"For library-only actions of the second type, add to the "
"C<non_daemon_functions> list. Since these functions are serviced by the "
@@ -41745,36 +41716,36 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2724
+#: ../src/guestfs.pod:2705
msgid "Implement the action (in C):"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2726
+#: ../src/guestfs.pod:2707
msgid ""
"For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the "
"C<daemon/> directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2729
+#: ../src/guestfs.pod:2710
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:2732
+#: ../src/guestfs.pod:2713
msgid "In either case, use another function as an example of what to do."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2736
+#: ../src/guestfs.pod:2717
msgid "After making these changes, use C<make> to compile."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2738
+#: ../src/guestfs.pod:2719
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 "
@@ -41782,12 +41753,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2742
+#: ../src/guestfs.pod:2723
msgid "ADDING TESTS FOR AN API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2744
+#: ../src/guestfs.pod:2725
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/"
@@ -41797,61 +41768,61 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2751
+#: ../src/guestfs.pod:2732
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:2754
+#: ../src/guestfs.pod:2735
msgid "The test environment has 4 block devices:"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2758
+#: ../src/guestfs.pod:2739
msgid "C</dev/sda> 500MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2760
+#: ../src/guestfs.pod:2741
msgid "General block device for testing."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2762
+#: ../src/guestfs.pod:2743
msgid "C</dev/sdb> 50MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2764
+#: ../src/guestfs.pod:2745
msgid ""
"C</dev/sdb1> is an ext2 filesystem used for testing filesystem write "
"operations."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2767
+#: ../src/guestfs.pod:2748
msgid "C</dev/sdc> 10MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2769
+#: ../src/guestfs.pod:2750
msgid "Used in a few tests where two block devices are needed."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2771
+#: ../src/guestfs.pod:2752
msgid "C</dev/sdd>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2773
+#: ../src/guestfs.pod:2754
msgid "ISO with fixed content (see C<images/test.iso>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2777
+#: ../src/guestfs.pod:2758
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 "
@@ -41859,7 +41830,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2781
+#: ../src/guestfs.pod:2762
msgid ""
"Each test starts with an initial scenario, selected using one of the "
"C<Init*> expressions, described in C<generator/generator_types.ml>. These "
@@ -41869,7 +41840,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2787
+#: ../src/guestfs.pod:2768
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 "
@@ -41879,14 +41850,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2793
+#: ../src/guestfs.pod:2774
msgid ""
"In addition, packagers can skip individual tests by setting environment "
"variables before running C<make check>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2796
+#: ../src/guestfs.pod:2777
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>_<NUM>=1\n"
@@ -41894,12 +41865,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2798
+#: ../src/guestfs.pod:2779
msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2802
+#: ../src/guestfs.pod:2783
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>=1\n"
@@ -41907,17 +41878,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2804
+#: ../src/guestfs.pod:2785
msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2806
+#: ../src/guestfs.pod:2787
msgid "Packagers can run only certain tests by setting for example:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2808
+#: ../src/guestfs.pod:2789
#, no-wrap
msgid ""
" TEST_ONLY=\"vfs_type zerofree\"\n"
@@ -41925,29 +41896,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2810
+#: ../src/guestfs.pod:2791
msgid ""
"See C<tests/c-api/tests.c> for more details of how these environment "
"variables work."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2813
+#: ../src/guestfs.pod:2794
msgid "DEBUGGING NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2815
+#: ../src/guestfs.pod:2796
msgid "Test new actions work before submitting them."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2817
+#: ../src/guestfs.pod:2798
msgid "You can use guestfish to try out new commands."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2819
+#: ../src/guestfs.pod:2800
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 "
@@ -41955,12 +41926,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2823
+#: ../src/guestfs.pod:2804
msgid "FORMATTING CODE AND OTHER CONVENTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2825
+#: ../src/guestfs.pod:2806
msgid ""
"Our C source code generally adheres to some basic code-formatting "
"conventions. The existing code base is not totally consistent on this "
@@ -41970,14 +41941,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2831
+#: ../src/guestfs.pod:2812
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:2834
+#: ../src/guestfs.pod:2815
#, no-wrap
msgid ""
" ;;; In libguestfs, indent with spaces everywhere (not TABs).\n"
@@ -41993,7 +41964,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2844
+#: ../src/guestfs.pod:2825
#, no-wrap
msgid ""
" ;;; When editing C sources in libguestfs, use this style.\n"
@@ -42011,12 +41982,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2856
+#: ../src/guestfs.pod:2837
msgid "Enable warnings when compiling (and fix any problems this finds):"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2859
+#: ../src/guestfs.pod:2840
#, no-wrap
msgid ""
" ./configure --enable-gcc-warnings\n"
@@ -42024,12 +41995,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2861
+#: ../src/guestfs.pod:2842
msgid "Useful targets are:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2863
+#: ../src/guestfs.pod:2844
#, no-wrap
msgid ""
" make syntax-check # checks the syntax of the C code\n"
@@ -42038,43 +42009,43 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2866
+#: ../src/guestfs.pod:2847
msgid "DAEMON CUSTOM PRINTF FORMATTERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2868
+#: ../src/guestfs.pod:2849
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:2873
+#: ../src/guestfs.pod:2854
msgid "%Q"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2875
+#: ../src/guestfs.pod:2856
msgid ""
"Simple shell quoted string. Any spaces or other shell characters are "
"escaped for you."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2878
+#: ../src/guestfs.pod:2859
msgid "%R"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2880
+#: ../src/guestfs.pod:2861
msgid ""
"Same as C<%Q> except the string is treated as a path which is prefixed by "
"the sysroot."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2887
+#: ../src/guestfs.pod:2868
#, no-wrap
msgid ""
" asprintf (&cmd, \"cat %R\", path);\n"
@@ -42082,12 +42053,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2889
+#: ../src/guestfs.pod:2870
msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2891
+#: ../src/guestfs.pod:2872
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 "
@@ -42096,29 +42067,29 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2897
+#: ../src/guestfs.pod:2878
msgid "SUBMITTING YOUR NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2899
+#: ../src/guestfs.pod:2880
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:2903
+#: ../src/guestfs.pod:2884
msgid "INTERNATIONALIZATION (I18N) SUPPORT"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2905
+#: ../src/guestfs.pod:2886
msgid "We support i18n (gettext anyhow) in the library."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2907
+#: ../src/guestfs.pod:2888
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 "
@@ -42127,114 +42098,114 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2913
+#: ../src/guestfs.pod:2894
msgid ""
"Debugging messages are never translated, since they are intended for the "
"programmers."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2916
+#: ../src/guestfs.pod:2897
msgid "SOURCE CODE SUBDIRECTORIES"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2920
+#: ../src/guestfs.pod:2901
msgid "C<align>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2922
+#: ../src/guestfs.pod:2903
msgid "L<virt-alignment-scan(1)> command and documentation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2926
+#: ../src/guestfs.pod:2907
msgid "The libguestfs appliance, build scripts and so on."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2928
+#: ../src/guestfs.pod:2909
msgid "C<cat>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2930
+#: ../src/guestfs.pod:2911
msgid ""
"The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and "
"documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2933
+#: ../src/guestfs.pod:2914
msgid "C<clone>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2935
+#: ../src/guestfs.pod:2916
msgid ""
"Tools for cloning virtual machines. Currently contains L<virt-sysprep(1)> "
"command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2938
+#: ../src/guestfs.pod:2919
msgid "C<contrib>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2940
+#: ../src/guestfs.pod:2921
msgid "Outside contributions, experimental parts."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2942
+#: ../src/guestfs.pod:2923
msgid "C<daemon>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2944
+#: ../src/guestfs.pod:2925
msgid ""
"The daemon that runs inside the libguestfs appliance and carries out actions."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2947
+#: ../src/guestfs.pod:2928
msgid "C<df>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2949
+#: ../src/guestfs.pod:2930
msgid "L<virt-df(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2951
+#: ../src/guestfs.pod:2932
msgid "C<edit>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2953
+#: ../src/guestfs.pod:2934
msgid "L<virt-edit(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2955
+#: ../src/guestfs.pod:2936
msgid "C<examples>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2957
+#: ../src/guestfs.pod:2938
msgid "C API example code."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2959
+#: ../src/guestfs.pod:2940
msgid "C<fish>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2961
+#: ../src/guestfs.pod:2942
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)>, "
@@ -42242,80 +42213,80 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2967
+#: ../src/guestfs.pod:2948
msgid "L<virt-format(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2969
+#: ../src/guestfs.pod:2950
msgid "C<fuse>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2971
+#: ../src/guestfs.pod:2952
msgid ""
"L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2973
+#: ../src/guestfs.pod:2954
msgid "C<generator>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2975
+#: ../src/guestfs.pod:2956
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:2978
+#: ../src/guestfs.pod:2959
msgid "C<inspector>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2980
+#: ../src/guestfs.pod:2961
msgid "L<virt-inspector(1)>, the virtual machine image inspector."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2982
+#: ../src/guestfs.pod:2963
msgid "C<logo>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2984
+#: ../src/guestfs.pod:2965
msgid "Logo used on the website. The fish is called Arthur by the way."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2986
+#: ../src/guestfs.pod:2967
msgid "C<m4>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2988
+#: ../src/guestfs.pod:2969
msgid "M4 macros used by autoconf."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2990
+#: ../src/guestfs.pod:2971
msgid "C<po>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2992
+#: ../src/guestfs.pod:2973
msgid "Translations of simple gettext strings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2994
+#: ../src/guestfs.pod:2975
msgid "C<po-docs>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2996
+#: ../src/guestfs.pod:2977
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 "
@@ -42323,140 +42294,140 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3000
+#: ../src/guestfs.pod:2981
msgid "C<rescue>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3002
+#: ../src/guestfs.pod:2983
msgid "L<virt-rescue(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3004
+#: ../src/guestfs.pod:2985
msgid "C<resize>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3006
+#: ../src/guestfs.pod:2987
msgid "L<virt-resize(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3008
+#: ../src/guestfs.pod:2989
msgid "C<sparsify>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3010
+#: ../src/guestfs.pod:2991
msgid "L<virt-sparsify(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3012
+#: ../src/guestfs.pod:2993
msgid "C<src>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3014
+#: ../src/guestfs.pod:2995
msgid "Source code to the C library."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3016
+#: ../src/guestfs.pod:2997
msgid "C<test-tool>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3018
+#: ../src/guestfs.pod:2999
msgid ""
"Test tool for end users to test if their qemu/kernel combination will work "
"with libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3021
+#: ../src/guestfs.pod:3002
msgid "C<tests>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3023
+#: ../src/guestfs.pod:3004
msgid "Tests."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3025
+#: ../src/guestfs.pod:3006
msgid "C<tools>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3027
+#: ../src/guestfs.pod:3008
msgid ""
"Command line tools written in Perl (L<virt-win-reg(1)> and many others)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3029
+#: ../src/guestfs.pod:3010
msgid "C<csharp>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3031
+#: ../src/guestfs.pod:3012
msgid "C<erlang>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3033
+#: ../src/guestfs.pod:3014
msgid "C<gobject>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3035
+#: ../src/guestfs.pod:3016
msgid "C<haskell>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3037
+#: ../src/guestfs.pod:3018
msgid "C<java>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3039
+#: ../src/guestfs.pod:3020
msgid "C<ocaml>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3041
+#: ../src/guestfs.pod:3022
msgid "C<php>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3043
+#: ../src/guestfs.pod:3024
msgid "C<perl>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3045
+#: ../src/guestfs.pod:3026
msgid "C<python>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3047
+#: ../src/guestfs.pod:3028
msgid "C<ruby>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3049
+#: ../src/guestfs.pod:3030
msgid "Language bindings."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3053
+#: ../src/guestfs.pod:3034
msgid "MAKING A STABLE RELEASE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3055
+#: ../src/guestfs.pod:3036
msgid ""
"When we make a stable release, there are several steps documented here. See "
"L</LIBGUESTFS VERSION NUMBERS> for general information about the stable "
@@ -42464,33 +42435,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3063
+#: ../src/guestfs.pod:3044
msgid ""
"Check C<make && make check> works on at least Fedora, Debian and Ubuntu."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3068
+#: ../src/guestfs.pod:3049
msgid "Finalize RELEASE-NOTES."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3072
+#: ../src/guestfs.pod:3053
msgid "Update ROADMAP."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3076
+#: ../src/guestfs.pod:3057
msgid "Run C<src/api-support/update-from-tarballs.sh>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3080
+#: ../src/guestfs.pod:3061
msgid "Push and pull from Transifex."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3084
+#: ../src/guestfs.pod:3065
#, no-wrap
msgid ""
" tx push -s\n"
@@ -42498,12 +42469,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3086
+#: ../src/guestfs.pod:3067
msgid "to push the latest POT files to Transifex. Then run:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3088
+#: ../src/guestfs.pod:3069
#, no-wrap
msgid ""
" ./tx-pull.sh\n"
@@ -42511,24 +42482,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3090
+#: ../src/guestfs.pod:3071
msgid "which is a wrapper to pull the latest translated C<*.po> files."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3094
+#: ../src/guestfs.pod:3075
msgid ""
"Create new stable and development directories under L<http://libguestfs.org/"
"download>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3099
+#: ../src/guestfs.pod:3080
msgid "Create the branch in git:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3101
+#: ../src/guestfs.pod:3082
#, no-wrap
msgid ""
" git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n"
@@ -42539,17 +42510,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:3108
+#: ../src/guestfs.pod:3089
msgid "LIMITS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3110
+#: ../src/guestfs.pod:3091
msgid "PROTOCOL LIMITS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3112
+#: ../src/guestfs.pod:3093
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 "
@@ -42560,7 +42531,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3120
+#: ../src/guestfs.pod:3101
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 "
@@ -42569,7 +42540,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3126
+#: ../src/guestfs.pod:3107
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> "
@@ -42577,24 +42548,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3130
+#: ../src/guestfs.pod:3111
msgid ""
"You might also consider mounting the disk image using our FUSE filesystem "
"support (L<guestmount(1)>)."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3133
+#: ../src/guestfs.pod:3114
msgid "MAXIMUM NUMBER OF DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3135
+#: ../src/guestfs.pod:3116
msgid "When using virtio disks (the default) the current limit is B<25> disks."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3138
+#: ../src/guestfs.pod:3119
msgid ""
"Virtio itself consumes 1 virtual PCI slot per disk, and PCI is limited to 31 "
"slots. However febootstrap only understands disks with names C</dev/vda> "
@@ -42603,14 +42574,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3143
+#: ../src/guestfs.pod:3124
msgid ""
"We are working to substantially raise this limit in future versions but it "
"requires complex changes to qemu."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3146
+#: ../src/guestfs.pod:3127
msgid ""
"In future versions of libguestfs it should also be possible to \"hot plug\" "
"disks (add and remove disks after calling L</guestfs_launch>). This also "
@@ -42618,41 +42589,41 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3150
+#: ../src/guestfs.pod:3131
msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3152
+#: ../src/guestfs.pod:3133
msgid "Virtio limits the maximum number of partitions per disk to B<15>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3154
+#: ../src/guestfs.pod:3135
msgid ""
"This is because it reserves 4 bits for the minor device number (thus C</dev/"
"vda>, and C</dev/vda1> through C</dev/vda15>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3157
+#: ../src/guestfs.pod:3138
msgid ""
"If you attach a disk with more than 15 partitions, the extra partitions are "
"ignored by libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3160
+#: ../src/guestfs.pod:3141
msgid "MAXIMUM SIZE OF A DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3162
+#: ../src/guestfs.pod:3143
msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3164
+#: ../src/guestfs.pod:3145
msgid ""
"We have tested block devices up to 1 exabyte (2**60 or "
"1,152,921,504,606,846,976 bytes) using sparse files backed by an XFS host "
@@ -42660,7 +42631,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3168
+#: ../src/guestfs.pod:3149
msgid ""
"Although libguestfs probably does not impose any limit, the underlying host "
"storage will. If you store disk images on a host ext4 filesystem, then the "
@@ -42670,19 +42641,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3174
+#: ../src/guestfs.pod:3155
msgid ""
"For the hugest disk image files, we recommend using XFS on the host for "
"storage."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3177
+#: ../src/guestfs.pod:3158
msgid "MAXIMUM SIZE OF A PARTITION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3179
+#: ../src/guestfs.pod:3160
msgid ""
"The MBR (ie. classic MS-DOS) partitioning scheme uses 32 bit sector "
"numbers. Assuming a 512 byte sector size, this means that MBR cannot "
@@ -42690,7 +42661,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3183
+#: ../src/guestfs.pod:3164
msgid ""
"It is recommended that you use GPT partitions on disks which are larger than "
"this size. GPT uses 64 bit sector numbers and so can address partitions "
@@ -42698,12 +42669,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3188
+#: ../src/guestfs.pod:3169
msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3190
+#: ../src/guestfs.pod:3171
msgid ""
"This depends on the filesystem type. libguestfs itself does not impose any "
"known limit. Consult Wikipedia or the filesystem documentation to find out "
@@ -42711,12 +42682,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3194
+#: ../src/guestfs.pod:3175
msgid "MAXIMUM UPLOAD AND DOWNLOAD"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3196
+#: ../src/guestfs.pod:3177
msgid ""
"The API functions L</guestfs_upload>, L</guestfs_download>, L</"
"guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized "
@@ -42724,12 +42695,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3200
+#: ../src/guestfs.pod:3181
msgid "INSPECTION LIMITS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3202
+#: ../src/guestfs.pod:3183
msgid ""
"The inspection code has several arbitrary limits on things like the size of "
"Windows Registry hive it will read, and the length of product name. These "
@@ -42739,33 +42710,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3228
+#: ../src/guestfs.pod:3209
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: textblock
-#: ../src/guestfs.pod:3240
+#: ../src/guestfs.pod:3221
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: textblock
-#: ../src/guestfs.pod:3249
+#: ../src/guestfs.pod:3230
msgid "See also L</QEMU WRAPPERS> above."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3253
+#: ../src/guestfs.pod:3234
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: textblock
-#: ../src/guestfs.pod:3271
+#: ../src/guestfs.pod:3252
msgid ""
"L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-"
"ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-ruby(3)>, "
@@ -42781,64 +42752,64 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3310
+#: ../src/guestfs.pod:3291
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:3317 ../tools/virt-make-fs.pl:574
+#: ../src/guestfs.pod:3298 ../tools/virt-make-fs.pl:574
#: ../tools/virt-win-reg.pl:772
msgid "BUGS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3319
+#: ../src/guestfs.pod:3300
msgid "To get a list of bugs against libguestfs use this link:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3321
+#: ../src/guestfs.pod:3302
msgid ""
"L<https://bugzilla.redhat.com/buglist.cgi?"
"component=libguestfs&product=Virtualization+Tools>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3323
+#: ../src/guestfs.pod:3304
msgid "To report a new bug against libguestfs use this link:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3325
+#: ../src/guestfs.pod:3306
msgid ""
"L<https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3327
+#: ../src/guestfs.pod:3308
msgid "When reporting a bug, please check:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3333
+#: ../src/guestfs.pod:3314
msgid "That the bug hasn't been reported already."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3337
+#: ../src/guestfs.pod:3318
msgid "That you are testing a recent version."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3341
+#: ../src/guestfs.pod:3322
msgid "Describe the bug accurately, and give a way to reproduce it."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3345
+#: ../src/guestfs.pod:3326
msgid ""
"Run libguestfs-test-tool and paste the B<complete, unedited> output into the "
"bug report."
diff --git a/po-docs/libguestfs-docs.pot b/po-docs/libguestfs-docs.pot
index 8dda9c5e..950e252c 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.16.20\n"
+"Project-Id-Version: libguestfs 1.16.21\n"
"Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
-"POT-Creation-Date: 2012-04-24 11:27+0200\n"
+"POT-Creation-Date: 2012-05-01 15:29+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"
@@ -309,7 +309,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../align/virt-alignment-scan.pod:132 ../cat/virt-cat.pod:114 ../cat/virt-filesystems.pod:179 ../cat/virt-ls.pod:337 ../clone/virt-sysprep.pod:104 ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 ../fish/guestfish.pod:673 ../format/virt-format.pod:96 ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:161 ../src/guestfs.pod:2885
+#: ../align/virt-alignment-scan.pod:132 ../cat/virt-cat.pod:114 ../cat/virt-filesystems.pod:179 ../cat/virt-ls.pod:337 ../clone/virt-sysprep.pod:104 ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 ../fish/guestfish.pod:673 ../format/virt-format.pod:96 ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:161 ../src/guestfs.pod:2866
msgid "For example:"
msgstr ""
@@ -697,7 +697,7 @@ msgid "This program returns:"
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:324 ../align/virt-alignment-scan.pod:330 ../align/virt-alignment-scan.pod:336 ../align/virt-alignment-scan.pod:343 ../cat/virt-cat.pod:177 ../cat/virt-cat.pod:182 ../cat/virt-cat.pod:187 ../cat/virt-cat.pod:198 ../cat/virt-cat.pod:202 ../clone/virt-sysprep.pod:283 ../clone/virt-sysprep.pod:287 ../clone/virt-sysprep.pod:291 ../clone/virt-sysprep.pod:295 ../clone/virt-sysprep.pod:310 ../clone/virt-sysprep.pod:314 ../clone/virt-sysprep.pod:318 ../clone/virt-sysprep.pod:322 ../clone/virt-sysprep.pod:326 ../clone/virt-sysprep.pod:362 ../clone/virt-sysprep.pod:384 ../clone/virt-sysprep.pod:388 ../df/virt-df.pod:148 ../df/virt-df.pod:154 ../edit/virt-edit.pod:266 ../edit/virt-edit.pod:271 ../edit/virt-edit.pod:276 ../edit/virt-edit.pod:287 ../edit/virt-edit.pod:291 ../examples/guestfs-recipes.pod:98 ../examples/guestfs-recipes.pod:102 ../examples/guestfs-recipes.pod:106 ../examples/guestfs-recipes.pod:132 ../examples/guestfs-recipes.pod:137 ../examples/guestfs-recipes.pod:227 ../examples/guestfs-recipes.pod:231 ../examples/guestfs-recipes.pod:235 ../examples/guestfs-recipes.pod:239 ../examples/guestfs-recipes.pod:243 ../examples/guestfs-testing.pod:110 ../examples/guestfs-testing.pod:114 ../examples/guestfs-testing.pod:118 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:441 ../fish/guestfish-actions.pod:449 ../fish/guestfish-actions.pod:456 ../fish/guestfish-actions.pod:463 ../fish/guestfish-actions.pod:1321 ../fish/guestfish-actions.pod:1325 ../fish/guestfish-actions.pod:1329 ../fish/guestfish-actions.pod:1333 ../fish/guestfish-actions.pod:1341 ../fish/guestfish-actions.pod:1345 ../fish/guestfish-actions.pod:1349 ../fish/guestfish-actions.pod:1359 ../fish/guestfish-actions.pod:1363 ../fish/guestfish-actions.pod:1367 ../fish/guestfish-actions.pod:1457 ../fish/guestfish-actions.pod:1461 ../fish/guestfish-actions.pod:1466 ../fish/guestfish-actions.pod:1471 ../fish/guestfish-actions.pod:1513 ../fish/guestfish-actions.pod:1517 ../fish/guestfish-actions.pod:1522 ../fish/guestfish-actions.pod:1778 ../fish/guestfish-actions.pod:1785 ../fish/guestfish-actions.pod:1792 ../fish/guestfish-actions.pod:2193 ../fish/guestfish-actions.pod:2199 ../fish/guestfish-actions.pod:2207 ../fish/guestfish-actions.pod:2214 ../fish/guestfish-actions.pod:2221 ../fish/guestfish.pod:445 ../fish/guestfish.pod:449 ../fish/guestfish.pod:453 ../fish/guestfish.pod:457 ../inspector/virt-inspector.pod:514 ../inspector/virt-inspector.pod:518 ../resize/virt-resize.pod:365 ../resize/virt-resize.pod:369 ../resize/virt-resize.pod:378 ../resize/virt-resize.pod:384 ../sparsify/virt-sparsify.pod:32 ../sparsify/virt-sparsify.pod:39 ../sparsify/virt-sparsify.pod:43 ../sparsify/virt-sparsify.pod:49 ../sparsify/virt-sparsify.pod:54 ../sparsify/virt-sparsify.pod:59 ../sparsify/virt-sparsify.pod:65 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:29 ../src/guestfs-actions.pod:641 ../src/guestfs-actions.pod:649 ../src/guestfs-actions.pod:656 ../src/guestfs-actions.pod:663 ../src/guestfs-actions.pod:2183 ../src/guestfs-actions.pod:2187 ../src/guestfs-actions.pod:2191 ../src/guestfs-actions.pod:2195 ../src/guestfs-actions.pod:2203 ../src/guestfs-actions.pod:2207 ../src/guestfs-actions.pod:2211 ../src/guestfs-actions.pod:2221 ../src/guestfs-actions.pod:2225 ../src/guestfs-actions.pod:2229 ../src/guestfs-actions.pod:2367 ../src/guestfs-actions.pod:2371 ../src/guestfs-actions.pod:2376 ../src/guestfs-actions.pod:2381 ../src/guestfs-actions.pod:2442 ../src/guestfs-actions.pod:2446 ../src/guestfs-actions.pod:2451 ../src/guestfs-actions.pod:2866 ../src/guestfs-actions.pod:2873 ../src/guestfs-actions.pod:2880 ../src/guestfs-actions.pod:3423 ../src/guestfs-actions.pod:3429 ../src/guestfs-actions.pod:3437 ../src/guestfs-actions.pod:3444 ../src/guestfs-actions.pod:3451 ../src/guestfs.pod:403 ../src/guestfs.pod:408 ../src/guestfs.pod:413 ../src/guestfs.pod:417 ../src/guestfs.pod:422 ../src/guestfs.pod:426 ../src/guestfs.pod:431 ../src/guestfs.pod:436 ../src/guestfs.pod:1116 ../src/guestfs.pod:1120 ../src/guestfs.pod:1124 ../src/guestfs.pod:1129 ../src/guestfs.pod:1137 ../src/guestfs.pod:1156 ../src/guestfs.pod:1164 ../src/guestfs.pod:1186 ../src/guestfs.pod:1190 ../src/guestfs.pod:1194 ../src/guestfs.pod:1198 ../src/guestfs.pod:1202 ../src/guestfs.pod:1206 ../src/guestfs.pod:1696 ../src/guestfs.pod:1701 ../src/guestfs.pod:1705 ../src/guestfs.pod:1807 ../src/guestfs.pod:1812 ../src/guestfs.pod:1816 ../src/guestfs.pod:1826 ../src/guestfs.pod:2115 ../src/guestfs.pod:2120 ../src/guestfs.pod:2126 ../src/guestfs.pod:2134 ../src/guestfs.pod:2652 ../src/guestfs.pod:2658 ../src/guestfs.pod:2663 ../src/guestfs.pod:2669 ../src/guestfs.pod:3061 ../src/guestfs.pod:3066 ../src/guestfs.pod:3070 ../src/guestfs.pod:3074 ../src/guestfs.pod:3078 ../src/guestfs.pod:3092 ../src/guestfs.pod:3097 ../src/guestfs.pod:3331 ../src/guestfs.pod:3335 ../src/guestfs.pod:3339 ../src/guestfs.pod:3343 ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:721 ../tools/virt-win-reg.pl:727 ../tools/virt-win-reg.pl:733
+#: ../align/virt-alignment-scan.pod:324 ../align/virt-alignment-scan.pod:330 ../align/virt-alignment-scan.pod:336 ../align/virt-alignment-scan.pod:343 ../cat/virt-cat.pod:177 ../cat/virt-cat.pod:182 ../cat/virt-cat.pod:187 ../cat/virt-cat.pod:198 ../cat/virt-cat.pod:202 ../clone/virt-sysprep.pod:283 ../clone/virt-sysprep.pod:287 ../clone/virt-sysprep.pod:291 ../clone/virt-sysprep.pod:295 ../clone/virt-sysprep.pod:310 ../clone/virt-sysprep.pod:314 ../clone/virt-sysprep.pod:318 ../clone/virt-sysprep.pod:322 ../clone/virt-sysprep.pod:326 ../clone/virt-sysprep.pod:362 ../clone/virt-sysprep.pod:384 ../clone/virt-sysprep.pod:388 ../df/virt-df.pod:148 ../df/virt-df.pod:154 ../edit/virt-edit.pod:266 ../edit/virt-edit.pod:271 ../edit/virt-edit.pod:276 ../edit/virt-edit.pod:287 ../edit/virt-edit.pod:291 ../examples/guestfs-recipes.pod:98 ../examples/guestfs-recipes.pod:102 ../examples/guestfs-recipes.pod:106 ../examples/guestfs-recipes.pod:132 ../examples/guestfs-recipes.pod:137 ../examples/guestfs-recipes.pod:227 ../examples/guestfs-recipes.pod:231 ../examples/guestfs-recipes.pod:235 ../examples/guestfs-recipes.pod:239 ../examples/guestfs-recipes.pod:243 ../examples/guestfs-testing.pod:110 ../examples/guestfs-testing.pod:114 ../examples/guestfs-testing.pod:118 ../fish/guestfish-actions.pod:13 ../fish/guestfish-actions.pod:20 ../fish/guestfish-actions.pod:441 ../fish/guestfish-actions.pod:449 ../fish/guestfish-actions.pod:456 ../fish/guestfish-actions.pod:463 ../fish/guestfish-actions.pod:1321 ../fish/guestfish-actions.pod:1325 ../fish/guestfish-actions.pod:1329 ../fish/guestfish-actions.pod:1333 ../fish/guestfish-actions.pod:1341 ../fish/guestfish-actions.pod:1345 ../fish/guestfish-actions.pod:1349 ../fish/guestfish-actions.pod:1359 ../fish/guestfish-actions.pod:1363 ../fish/guestfish-actions.pod:1367 ../fish/guestfish-actions.pod:1457 ../fish/guestfish-actions.pod:1461 ../fish/guestfish-actions.pod:1466 ../fish/guestfish-actions.pod:1471 ../fish/guestfish-actions.pod:1513 ../fish/guestfish-actions.pod:1517 ../fish/guestfish-actions.pod:1522 ../fish/guestfish-actions.pod:1778 ../fish/guestfish-actions.pod:1785 ../fish/guestfish-actions.pod:1792 ../fish/guestfish-actions.pod:2193 ../fish/guestfish-actions.pod:2199 ../fish/guestfish-actions.pod:2207 ../fish/guestfish-actions.pod:2214 ../fish/guestfish-actions.pod:2221 ../fish/guestfish.pod:445 ../fish/guestfish.pod:449 ../fish/guestfish.pod:453 ../fish/guestfish.pod:457 ../inspector/virt-inspector.pod:514 ../inspector/virt-inspector.pod:518 ../resize/virt-resize.pod:365 ../resize/virt-resize.pod:369 ../resize/virt-resize.pod:378 ../resize/virt-resize.pod:384 ../sparsify/virt-sparsify.pod:32 ../sparsify/virt-sparsify.pod:39 ../sparsify/virt-sparsify.pod:43 ../sparsify/virt-sparsify.pod:49 ../sparsify/virt-sparsify.pod:54 ../sparsify/virt-sparsify.pod:59 ../sparsify/virt-sparsify.pod:65 ../src/guestfs-actions.pod:22 ../src/guestfs-actions.pod:29 ../src/guestfs-actions.pod:641 ../src/guestfs-actions.pod:649 ../src/guestfs-actions.pod:656 ../src/guestfs-actions.pod:663 ../src/guestfs-actions.pod:2183 ../src/guestfs-actions.pod:2187 ../src/guestfs-actions.pod:2191 ../src/guestfs-actions.pod:2195 ../src/guestfs-actions.pod:2203 ../src/guestfs-actions.pod:2207 ../src/guestfs-actions.pod:2211 ../src/guestfs-actions.pod:2221 ../src/guestfs-actions.pod:2225 ../src/guestfs-actions.pod:2229 ../src/guestfs-actions.pod:2367 ../src/guestfs-actions.pod:2371 ../src/guestfs-actions.pod:2376 ../src/guestfs-actions.pod:2381 ../src/guestfs-actions.pod:2442 ../src/guestfs-actions.pod:2446 ../src/guestfs-actions.pod:2451 ../src/guestfs-actions.pod:2866 ../src/guestfs-actions.pod:2873 ../src/guestfs-actions.pod:2880 ../src/guestfs-actions.pod:3423 ../src/guestfs-actions.pod:3429 ../src/guestfs-actions.pod:3437 ../src/guestfs-actions.pod:3444 ../src/guestfs-actions.pod:3451 ../src/guestfs.pod:384 ../src/guestfs.pod:389 ../src/guestfs.pod:394 ../src/guestfs.pod:398 ../src/guestfs.pod:403 ../src/guestfs.pod:407 ../src/guestfs.pod:412 ../src/guestfs.pod:417 ../src/guestfs.pod:1097 ../src/guestfs.pod:1101 ../src/guestfs.pod:1105 ../src/guestfs.pod:1110 ../src/guestfs.pod:1118 ../src/guestfs.pod:1137 ../src/guestfs.pod:1145 ../src/guestfs.pod:1167 ../src/guestfs.pod:1171 ../src/guestfs.pod:1175 ../src/guestfs.pod:1179 ../src/guestfs.pod:1183 ../src/guestfs.pod:1187 ../src/guestfs.pod:1677 ../src/guestfs.pod:1682 ../src/guestfs.pod:1686 ../src/guestfs.pod:1788 ../src/guestfs.pod:1793 ../src/guestfs.pod:1797 ../src/guestfs.pod:1807 ../src/guestfs.pod:2096 ../src/guestfs.pod:2101 ../src/guestfs.pod:2107 ../src/guestfs.pod:2115 ../src/guestfs.pod:2633 ../src/guestfs.pod:2639 ../src/guestfs.pod:2644 ../src/guestfs.pod:2650 ../src/guestfs.pod:3042 ../src/guestfs.pod:3047 ../src/guestfs.pod:3051 ../src/guestfs.pod:3055 ../src/guestfs.pod:3059 ../src/guestfs.pod:3073 ../src/guestfs.pod:3078 ../src/guestfs.pod:3312 ../src/guestfs.pod:3316 ../src/guestfs.pod:3320 ../src/guestfs.pod:3324 ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:721 ../tools/virt-win-reg.pl:727 ../tools/virt-win-reg.pl:733
msgid "*"
msgstr ""
@@ -746,7 +746,7 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../align/virt-alignment-scan.pod:352 ../cat/virt-cat.pod:243 ../cat/virt-filesystems.pod:385 ../cat/virt-ls.pod:495 ../clone/virt-sysprep.pod:486 ../df/virt-df.pod:253 ../edit/virt-edit.pod:354 ../erlang/examples/guestfs-erlang.pod:97 ../examples/guestfs-examples.pod:33 ../examples/guestfs-recipes.pod:384 ../examples/guestfs-testing.pod:291 ../fish/guestfish.pod:1268 ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39 ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41 ../format/virt-format.pod:177 ../fuse/guestmount.pod:317 ../inspector/virt-inspector.pod:501 ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:39 ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:325 ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36 ../sparsify/virt-sparsify.pod:284 ../src/guestfs.pod:3269 ../test-tool/libguestfs-test-tool.pod:100 ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 ../tools/virt-make-fs.pl:559 ../tools/virt-tar.pl:296 ../tools/virt-win-reg.pl:757
+#: ../align/virt-alignment-scan.pod:352 ../cat/virt-cat.pod:243 ../cat/virt-filesystems.pod:385 ../cat/virt-ls.pod:495 ../clone/virt-sysprep.pod:486 ../df/virt-df.pod:253 ../edit/virt-edit.pod:354 ../erlang/examples/guestfs-erlang.pod:97 ../examples/guestfs-examples.pod:33 ../examples/guestfs-recipes.pod:384 ../examples/guestfs-testing.pod:291 ../fish/guestfish.pod:1268 ../fish/virt-copy-in.pod:50 ../fish/virt-copy-out.pod:39 ../fish/virt-tar-in.pod:47 ../fish/virt-tar-out.pod:41 ../format/virt-format.pod:177 ../fuse/guestmount.pod:317 ../inspector/virt-inspector.pod:501 ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:39 ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:325 ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36 ../sparsify/virt-sparsify.pod:284 ../src/guestfs.pod:3250 ../test-tool/libguestfs-test-tool.pod:100 ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 ../tools/virt-make-fs.pl:559 ../tools/virt-tar.pl:296 ../tools/virt-win-reg.pl:757
msgid "SEE ALSO"
msgstr ""
@@ -768,7 +768,7 @@ msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
msgstr ""
#. type: =head1
-#: ../align/virt-alignment-scan.pod:365 ../cat/virt-cat.pod:256 ../cat/virt-filesystems.pod:400 ../cat/virt-ls.pod:511 ../clone/virt-sysprep.pod:505 ../df/virt-df.pod:265 ../edit/virt-edit.pod:372 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:49 ../examples/guestfs-recipes.pod:401 ../examples/guestfs-testing.pod:302 ../fish/guestfish.pod:1300 ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53 ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55 ../format/virt-format.pod:191 ../fuse/guestmount.pod:332 ../inspector/virt-inspector.pod:524 ../java/examples/guestfs-java.pod:62 ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:56 ../python/examples/guestfs-python.pod:58 ../rescue/virt-rescue.pod:338 ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:52 ../sparsify/virt-sparsify.pod:301 ../src/guestfs.pod:3354 ../test-tool/libguestfs-test-tool.pod:110 ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 ../tools/virt-make-fs.pl:589 ../tools/virt-tar.pl:315 ../tools/virt-win-reg.pl:787
+#: ../align/virt-alignment-scan.pod:365 ../cat/virt-cat.pod:256 ../cat/virt-filesystems.pod:400 ../cat/virt-ls.pod:511 ../clone/virt-sysprep.pod:505 ../df/virt-df.pod:265 ../edit/virt-edit.pod:372 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:49 ../examples/guestfs-recipes.pod:401 ../examples/guestfs-testing.pod:302 ../fish/guestfish.pod:1300 ../fish/virt-copy-in.pod:64 ../fish/virt-copy-out.pod:53 ../fish/virt-tar-in.pod:62 ../fish/virt-tar-out.pod:55 ../format/virt-format.pod:191 ../fuse/guestmount.pod:332 ../inspector/virt-inspector.pod:524 ../java/examples/guestfs-java.pod:62 ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:56 ../python/examples/guestfs-python.pod:58 ../rescue/virt-rescue.pod:338 ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:52 ../sparsify/virt-sparsify.pod:301 ../src/guestfs.pod:3335 ../test-tool/libguestfs-test-tool.pod:110 ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 ../tools/virt-make-fs.pl:589 ../tools/virt-tar.pl:315 ../tools/virt-win-reg.pl:787
msgid "COPYRIGHT"
msgstr ""
@@ -3273,7 +3273,7 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1171
+#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1152
msgid "SECURITY"
msgstr ""
@@ -4149,7 +4149,7 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1119 ../rescue/virt-rescue.pod:298 ../sparsify/virt-sparsify.pod:257 ../src/guestfs.pod:3208 ../test-tool/libguestfs-test-tool.pod:95
+#: ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1119 ../rescue/virt-rescue.pod:298 ../sparsify/virt-sparsify.pod:257 ../src/guestfs.pod:3189 ../test-tool/libguestfs-test-tool.pod:95
msgid "ENVIRONMENT VARIABLES"
msgstr ""
@@ -4392,12 +4392,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../erlang/examples/guestfs-erlang.pod:110 ../examples/guestfs-examples.pod:45 ../examples/guestfs-recipes.pod:397 ../examples/guestfs-testing.pod:298 ../fish/guestfish.pod:1296 ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49 ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:328 ../inspector/virt-inspector.pod:510 ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91 ../perl/examples/guestfs-perl.pod:52 ../python/examples/guestfs-python.pod:54 ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3350 ../test-tool/libguestfs-test-tool.pod:106
+#: ../erlang/examples/guestfs-erlang.pod:110 ../examples/guestfs-examples.pod:45 ../examples/guestfs-recipes.pod:397 ../examples/guestfs-testing.pod:298 ../fish/guestfish.pod:1296 ../fish/virt-copy-in.pod:60 ../fish/virt-copy-out.pod:49 ../fish/virt-tar-in.pod:58 ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:328 ../inspector/virt-inspector.pod:510 ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91 ../perl/examples/guestfs-perl.pod:52 ../python/examples/guestfs-python.pod:54 ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3331 ../test-tool/libguestfs-test-tool.pod:106
msgid "AUTHORS"
msgstr ""
#. type: textblock
-#: ../erlang/examples/guestfs-erlang.pod:112 ../examples/guestfs-examples.pod:47 ../examples/guestfs-recipes.pod:399 ../examples/guestfs-testing.pod:300 ../fish/guestfish.pod:1298 ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51 ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53 ../fuse/guestmount.pod:330 ../java/examples/guestfs-java.pod:60 ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:54 ../python/examples/guestfs-python.pod:56 ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3352 ../test-tool/libguestfs-test-tool.pod:108
+#: ../erlang/examples/guestfs-erlang.pod:112 ../examples/guestfs-examples.pod:47 ../examples/guestfs-recipes.pod:399 ../examples/guestfs-testing.pod:300 ../fish/guestfish.pod:1298 ../fish/virt-copy-in.pod:62 ../fish/virt-copy-out.pod:51 ../fish/virt-tar-in.pod:60 ../fish/virt-tar-out.pod:53 ../fuse/guestmount.pod:330 ../java/examples/guestfs-java.pod:60 ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:54 ../python/examples/guestfs-python.pod:56 ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3333 ../test-tool/libguestfs-test-tool.pod:108
msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
msgstr ""
@@ -4414,7 +4414,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../erlang/examples/guestfs-erlang.pod:121 ../examples/guestfs-examples.pod:56 ../examples/guestfs-recipes.pod:408 ../examples/guestfs-testing.pod:306 ../java/examples/guestfs-java.pod:69 ../ocaml/examples/guestfs-ocaml.pod:102 ../perl/examples/guestfs-perl.pod:63 ../python/examples/guestfs-python.pod:65 ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3359
+#: ../erlang/examples/guestfs-erlang.pod:121 ../examples/guestfs-examples.pod:56 ../examples/guestfs-recipes.pod:408 ../examples/guestfs-testing.pod:306 ../java/examples/guestfs-java.pod:69 ../ocaml/examples/guestfs-ocaml.pod:102 ../perl/examples/guestfs-perl.pod:63 ../python/examples/guestfs-python.pod:65 ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3340
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 "
@@ -4423,7 +4423,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../erlang/examples/guestfs-erlang.pod:126 ../examples/guestfs-examples.pod:61 ../examples/guestfs-recipes.pod:413 ../examples/guestfs-testing.pod:311 ../java/examples/guestfs-java.pod:74 ../ocaml/examples/guestfs-ocaml.pod:107 ../perl/examples/guestfs-perl.pod:68 ../python/examples/guestfs-python.pod:70 ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3364
+#: ../erlang/examples/guestfs-erlang.pod:126 ../examples/guestfs-examples.pod:61 ../examples/guestfs-recipes.pod:413 ../examples/guestfs-testing.pod:311 ../java/examples/guestfs-java.pod:74 ../ocaml/examples/guestfs-ocaml.pod:107 ../perl/examples/guestfs-perl.pod:68 ../python/examples/guestfs-python.pod:70 ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3345
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 "
@@ -4432,7 +4432,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../erlang/examples/guestfs-erlang.pod:131 ../examples/guestfs-examples.pod:66 ../examples/guestfs-recipes.pod:418 ../examples/guestfs-testing.pod:316 ../java/examples/guestfs-java.pod:79 ../ocaml/examples/guestfs-ocaml.pod:112 ../perl/examples/guestfs-perl.pod:73 ../python/examples/guestfs-python.pod:75 ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3369
+#: ../erlang/examples/guestfs-erlang.pod:131 ../examples/guestfs-examples.pod:66 ../examples/guestfs-recipes.pod:418 ../examples/guestfs-testing.pod:316 ../java/examples/guestfs-java.pod:79 ../ocaml/examples/guestfs-ocaml.pod:112 ../perl/examples/guestfs-perl.pod:73 ../python/examples/guestfs-python.pod:75 ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3350
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, "
@@ -4767,7 +4767,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:128 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1509 ../fish/guestfish-actions.pod:1774 ../fish/guestfish-actions.pod:2189 ../src/guestfs-actions.pod:18 ../src/guestfs-actions.pod:2438 ../src/guestfs-actions.pod:2862 ../src/guestfs-actions.pod:3419 ../src/guestfs.pod:1692 ../tools/virt-win-reg.pl:717
+#: ../examples/guestfs-recipes.pod:128 ../fish/guestfish-actions.pod:9 ../fish/guestfish-actions.pod:1509 ../fish/guestfish-actions.pod:1774 ../fish/guestfish-actions.pod:2189 ../src/guestfs-actions.pod:18 ../src/guestfs-actions.pod:2438 ../src/guestfs-actions.pod:2862 ../src/guestfs-actions.pod:3419 ../src/guestfs.pod:1673 ../tools/virt-win-reg.pl:717
msgid "Notes:"
msgstr ""
@@ -5420,7 +5420,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:54 ../examples/guestfs-testing.pod:161 ../examples/guestfs-testing.pod:174 ../examples/guestfs-testing.pod:234 ../src/guestfs.pod:2800
+#: ../examples/guestfs-testing.pod:54 ../examples/guestfs-testing.pod:161 ../examples/guestfs-testing.pod:174 ../examples/guestfs-testing.pod:234 ../src/guestfs.pod:2781
msgid "or:"
msgstr ""
@@ -5594,7 +5594,7 @@ msgid "Try importing virt-df CSV output into a spreadsheet or database."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3082
+#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3063
msgid "Run:"
msgstr ""
@@ -6314,7 +6314,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish-actions.pod:171 ../src/guestfs-actions.pod:231 ../src/guestfs.pod:2965
+#: ../fish/guestfish-actions.pod:171 ../src/guestfs-actions.pod:231 ../src/guestfs.pod:2946
msgid "C<format>"
msgstr ""
@@ -15425,7 +15425,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish-actions.pod:4441 ../src/guestfs-actions.pod:6919 ../src/guestfs.pod:2924
+#: ../fish/guestfish-actions.pod:4441 ../src/guestfs-actions.pod:6919 ../src/guestfs.pod:2905
msgid "C<appliance>"
msgstr ""
@@ -19078,7 +19078,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2250
+#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2231
#, no-wrap
msgid ""
" guestfish -N fs\n"
@@ -20545,7 +20545,7 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../fish/guestfish.pod:825 ../src/guestfs.pod:534
+#: ../fish/guestfish.pod:825 ../src/guestfs.pod:515
msgid "ENCRYPTED DISKS"
msgstr ""
@@ -20909,7 +20909,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:982 ../src/guestfs.pod:987
+#: ../fish/guestfish.pod:982 ../src/guestfs.pod:968
#, no-wrap
msgid ""
" #!/bin/bash -\n"
@@ -21195,7 +21195,7 @@ msgid "COMMANDS"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1527
+#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1508
msgid "@ACTIONS@"
msgstr ""
@@ -21219,17 +21219,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3212
+#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3193
msgid "FEBOOTSTRAP_KERNEL"
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3214
+#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3195
msgid "FEBOOTSTRAP_MODULES"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3216
+#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3197
msgid ""
"These two environment variables allow the kernel that libguestfs uses in the "
"appliance to be selected. If C<$FEBOOTSTRAP_KERNEL> is not set, then the "
@@ -21287,17 +21287,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3222
+#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3203
msgid "LIBGUESTFS_APPEND"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3224
+#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3205
msgid "Pass additional options to the guest kernel."
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3226
+#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3207
msgid "LIBGUESTFS_DEBUG"
msgstr ""
@@ -21309,17 +21309,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3231
+#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3212
msgid "LIBGUESTFS_MEMSIZE"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3233
+#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3214
msgid "Set the memory allocated to the qemu process, in megabytes. For example:"
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3236
+#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3217
#, no-wrap
msgid ""
" LIBGUESTFS_MEMSIZE=700\n"
@@ -21327,7 +21327,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3238
+#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3219
msgid "LIBGUESTFS_PATH"
msgstr ""
@@ -21339,19 +21339,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3243
+#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3224
msgid "LIBGUESTFS_QEMU"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3245
+#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3226
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: =item
-#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3251
+#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3232
msgid "LIBGUESTFS_TRACE"
msgstr ""
@@ -21373,19 +21373,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1196 ../sparsify/virt-sparsify.pod:261 ../src/guestfs.pod:3256
+#: ../fish/guestfish.pod:1196 ../sparsify/virt-sparsify.pod:261 ../src/guestfs.pod:3237
msgid "TMPDIR"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3258
+#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3239
msgid ""
"Location of temporary directory, defaults to C</tmp> except for the cached "
"supermin appliance which defaults to C</var/tmp>."
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3261
+#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3242
msgid ""
"If libguestfs was compiled to use the supermin appliance then the real "
"appliance is cached in this directory, shared between all handles belonging "
@@ -21530,7 +21530,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1302 ../fuse/guestmount.pod:334 ../src/guestfs.pod:3356 ../test-tool/libguestfs-test-tool.pod:112
+#: ../fish/guestfish.pod:1302 ../fuse/guestmount.pod:334 ../src/guestfs.pod:3337 ../test-tool/libguestfs-test-tool.pod:112
msgid "Copyright (C) 2009-2012 Red Hat Inc. L<http://libguestfs.org/>"
msgstr ""
@@ -24142,7 +24142,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:228 ../src/guestfs.pod:484 ../src/guestfs.pod:1309 ../src/guestfs.pod:1448 ../src/guestfs.pod:2697
+#: ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:228 ../src/guestfs.pod:465 ../src/guestfs.pod:1290 ../src/guestfs.pod:1429 ../src/guestfs.pod:2678
msgid "1."
msgstr ""
@@ -24180,7 +24180,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:235 ../src/guestfs.pod:490 ../src/guestfs.pod:1313 ../src/guestfs.pod:1452 ../src/guestfs.pod:2722
+#: ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:235 ../src/guestfs.pod:471 ../src/guestfs.pod:1294 ../src/guestfs.pod:1433 ../src/guestfs.pod:2703
msgid "2."
msgstr ""
@@ -24201,7 +24201,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:241 ../src/guestfs.pod:501 ../src/guestfs.pod:1458
+#: ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:241 ../src/guestfs.pod:482 ../src/guestfs.pod:1439
msgid "3."
msgstr ""
@@ -35588,68 +35588,39 @@ msgstr ""
#. type: textblock
#: ../src/guestfs.pod:25
msgid ""
-"Libguestfs is a library for accessing and modifying guest disk images. "
-"Amongst the things this is good for: making batch configuration changes to "
-"guests, getting disk used/free statistics (see also: virt-df), migrating "
-"between virtualization systems (see also: virt-p2v), performing partial "
-"backups, performing partial guest clones, cloning guests and changing "
-"registry/UUID/hostname info, and much else besides."
+"Libguestfs is a library for accessing and modifying disk images and virtual "
+"machines. This manual page documents the C API."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:33
+#: ../src/guestfs.pod:28
msgid ""
-"Libguestfs uses Linux kernel and qemu code, and can access any type of guest "
-"filesystem that Linux and qemu can, including but not limited to: ext2/3/4, "
-"btrfs, FAT and NTFS, LVM, many different disk partition schemes, qcow, "
-"qcow2, vmdk."
+"If you are looking for an introduction to libguestfs, see the web site: "
+"L<http://libguestfs.org/>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:38
-msgid ""
-"Libguestfs provides ways to enumerate guest storage (eg. partitions, LVs, "
-"what filesystem is in each LV, etc.). It can also run commands in the "
-"context of the guest. Also you can access filesystems over FUSE."
-msgstr ""
-
-#. type: textblock
-#: ../src/guestfs.pod:43
+#: ../src/guestfs.pod:31
msgid ""
-"Libguestfs is a library that can be linked with C and C++ management "
-"programs (or management programs written in OCaml, Perl, Python, Ruby, Java, "
-"PHP, Erlang, Haskell or C#). You can also use it from shell scripts or the "
-"command line."
+"Each virt tool has its own man page (for a full list, go to L</SEE ALSO> at "
+"the end of this file)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:48
-msgid ""
-"You don't need to be root to use libguestfs, although obviously you do need "
-"enough permissions to access the disk images."
-msgstr ""
-
-#. type: textblock
-#: ../src/guestfs.pod:51
-msgid ""
-"Libguestfs is a large API because it can do many things. For a gentle "
-"introduction, please read the L</API OVERVIEW> section next."
-msgstr ""
-
-#. type: textblock
-#: ../src/guestfs.pod:54
+#: ../src/guestfs.pod:34
msgid ""
-"There are also some example programs in the L<guestfs-examples(3)> manual "
-"page."
+"For examples of using the API from C, see L<guestfs-examples(3)>. For "
+"examples in other languages, see L</USING LIBGUESTFS WITH OTHER PROGRAMMING "
+"LANGUAGES> below."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:57
+#: ../src/guestfs.pod:38
msgid "API OVERVIEW"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:59
+#: ../src/guestfs.pod:40
msgid ""
"This section provides a gentler overview of the libguestfs API. We also try "
"to group API calls together, where that may not be obvious from reading "
@@ -35657,12 +35628,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:64
+#: ../src/guestfs.pod:45
msgid "HANDLES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:66
+#: ../src/guestfs.pod:47
msgid ""
"Before you can use libguestfs calls, you have to create a handle. Then you "
"must add at least one disk image to the handle, followed by launching the "
@@ -35672,12 +35643,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:73
+#: ../src/guestfs.pod:54
msgid "The general structure of all libguestfs-using programs looks like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:76
+#: ../src/guestfs.pod:57
#, no-wrap
msgid ""
" guestfs_h *g = guestfs_create ();\n"
@@ -35685,7 +35656,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:78
+#: ../src/guestfs.pod:59
#, no-wrap
msgid ""
" /* Call guestfs_add_drive additional times if there are\n"
@@ -35696,7 +35667,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:83
+#: ../src/guestfs.pod:64
#, no-wrap
msgid ""
" /* Most manipulation calls won't work until you've launched\n"
@@ -35708,7 +35679,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:89
+#: ../src/guestfs.pod:70
#, no-wrap
msgid ""
" /* Now you can examine what partitions, LVs etc are available.\n"
@@ -35719,7 +35690,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:94
+#: ../src/guestfs.pod:75
#, no-wrap
msgid ""
" /* To access a filesystem in the image, you must mount it.\n"
@@ -35729,7 +35700,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:98
+#: ../src/guestfs.pod:79
#, no-wrap
msgid ""
" /* Now you can perform filesystem actions on the guest\n"
@@ -35740,7 +35711,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:103
+#: ../src/guestfs.pod:84
#, no-wrap
msgid ""
" /* This is only needed for libguestfs < 1.5.24. Since then\n"
@@ -35752,7 +35723,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:109
+#: ../src/guestfs.pod:90
#, no-wrap
msgid ""
" /* Close the handle 'g'. */\n"
@@ -35761,7 +35732,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:112
+#: ../src/guestfs.pod:93
msgid ""
"The code above doesn't include any error checking. In real code you should "
"check return values carefully for errors. In general all functions that "
@@ -35773,12 +35744,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:121
+#: ../src/guestfs.pod:102
msgid "DISK IMAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:123
+#: ../src/guestfs.pod:104
msgid ""
"The image filename (C<\"guest.img\"> in the example above) could be a disk "
"image from a virtual machine, a L<dd(1)> copy of a physical hard disk, an "
@@ -35788,7 +35759,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:129
+#: ../src/guestfs.pod:110
msgid ""
"The call you should use in modern code for adding drives is "
"L</guestfs_add_drive_opts>. To add a disk image, allowing writes, and "
@@ -35796,7 +35767,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:133
+#: ../src/guestfs.pod:114
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -35806,12 +35777,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:137
+#: ../src/guestfs.pod:118
msgid "You can add a disk read-only using:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:139
+#: ../src/guestfs.pod:120
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -35822,14 +35793,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:144
+#: ../src/guestfs.pod:125
msgid ""
"or by calling the older function L</guestfs_add_drive_ro>. In either case "
"libguestfs won't modify the file."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:147
+#: ../src/guestfs.pod:128
msgid ""
"Be extremely cautious if the disk image is in use, eg. if it is being used "
"by a virtual machine. Adding it read-write will almost certainly cause disk "
@@ -35837,7 +35808,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:151
+#: ../src/guestfs.pod:132
msgid ""
"You must add at least one disk image, and you may add multiple disk images. "
"In the API, the disk images are usually referred to as C</dev/sda> (for the "
@@ -35845,7 +35816,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:156
+#: ../src/guestfs.pod:137
msgid ""
"Once L</guestfs_launch> has been called you cannot add any more images. You "
"can call L</guestfs_list_devices> to get a list of the device names, in the "
@@ -35853,12 +35824,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:161
+#: ../src/guestfs.pod:142
msgid "MOUNTING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:163
+#: ../src/guestfs.pod:144
msgid ""
"Before you can read or write files, create directories and so on in a disk "
"image that contains filesystems, you have to mount those filesystems using "
@@ -35868,7 +35839,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:170
+#: ../src/guestfs.pod:151
#, no-wrap
msgid ""
" guestfs_mount_options (g, \"\", \"/dev/sda1\", \"/\");\n"
@@ -35876,7 +35847,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:172
+#: ../src/guestfs.pod:153
msgid ""
"where C</dev/sda1> means literally the first partition (C<1>) of the first "
"disk image that we added (C</dev/sda>). If the disk contains Linux LVM2 "
@@ -35886,7 +35857,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:178
+#: ../src/guestfs.pod:159
msgid ""
"If you are given a disk image and you don't know what it contains then you "
"have to find out. Libguestfs can do that too: use "
@@ -35897,7 +35868,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:186
+#: ../src/guestfs.pod:167
msgid ""
"Libguestfs also has a set of APIs for inspection of unknown disk images (see "
"L</INSPECTION> below). But you might find it easier to look at higher level "
@@ -35905,19 +35876,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:191
+#: ../src/guestfs.pod:172
msgid ""
"To mount a filesystem read-only, use L</guestfs_mount_ro>. There are "
"several other variations of the C<guestfs_mount_*> call."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:194
+#: ../src/guestfs.pod:175
msgid "FILESYSTEM ACCESS AND MODIFICATION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:196
+#: ../src/guestfs.pod:177
msgid ""
"The majority of the libguestfs API consists of fairly low-level calls for "
"accessing and modifying the files, directories, symlinks etc on mounted "
@@ -35927,21 +35898,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:202
+#: ../src/guestfs.pod:183
msgid ""
"Specify filenames as full paths, starting with C<\"/\"> and including the "
"mount point."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:205
+#: ../src/guestfs.pod:186
msgid ""
"For example, if you mounted a filesystem at C<\"/\"> and you want to read "
"the file called C<\"etc/passwd\"> then you could do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:208
+#: ../src/guestfs.pod:189
#, no-wrap
msgid ""
" char *data = guestfs_cat (g, \"/etc/passwd\");\n"
@@ -35949,7 +35920,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:210
+#: ../src/guestfs.pod:191
msgid ""
"This would return C<data> as a newly allocated buffer containing the full "
"content of that file (with some conditions: see also L</DOWNLOADING> below), "
@@ -35957,14 +35928,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:214
+#: ../src/guestfs.pod:195
msgid ""
"As another example, to create a top-level directory on that filesystem "
"called C<\"var\"> you would do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:217
+#: ../src/guestfs.pod:198
#, no-wrap
msgid ""
" guestfs_mkdir (g, \"/var\");\n"
@@ -35972,12 +35943,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:219
+#: ../src/guestfs.pod:200
msgid "To create a symlink you could do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:221
+#: ../src/guestfs.pod:202
#, no-wrap
msgid ""
" guestfs_ln_s (g, \"/etc/init.d/portmap\",\n"
@@ -35986,14 +35957,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:224
+#: ../src/guestfs.pod:205
msgid ""
"Libguestfs will reject attempts to use relative paths and there is no "
"concept of a current working directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:227
+#: ../src/guestfs.pod:208
msgid ""
"Libguestfs can return errors in many situations: for example if the "
"filesystem isn't writable, or if a file or directory that you requested "
@@ -36003,33 +35974,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:233
+#: ../src/guestfs.pod:214
msgid ""
"File writes are affected by the per-handle umask, set by calling "
"L</guestfs_umask> and defaulting to 022. See L</UMASK>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:236
+#: ../src/guestfs.pod:217
msgid "PARTITIONING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:238
+#: ../src/guestfs.pod:219
msgid ""
"Libguestfs contains API calls to read, create and modify partition tables on "
"disk images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:241
+#: ../src/guestfs.pod:222
msgid ""
"In the common case where you want to create a single partition covering the "
"whole disk, you should use the L</guestfs_part_disk> call:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:245
+#: ../src/guestfs.pod:226
#, no-wrap
msgid ""
" const char *parttype = \"mbr\";\n"
@@ -36040,19 +36011,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:250
+#: ../src/guestfs.pod:231
msgid ""
"Obviously this effectively wipes anything that was on that disk image "
"before."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:253
+#: ../src/guestfs.pod:234
msgid "LVM2"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:255
+#: ../src/guestfs.pod:236
msgid ""
"Libguestfs provides access to a large part of the LVM2 API, such as "
"L</guestfs_lvcreate> and L</guestfs_vgremove>. It won't make much sense "
@@ -36061,19 +36032,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:260
+#: ../src/guestfs.pod:241
msgid ""
"This author strongly recommends reading the LVM HOWTO, online at "
"L<http://tldp.org/HOWTO/LVM-HOWTO/>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:263
+#: ../src/guestfs.pod:244
msgid "DOWNLOADING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:265
+#: ../src/guestfs.pod:246
msgid ""
"Use L</guestfs_cat> to download small, text only files. This call is "
"limited to files which are less than 2 MB and which cannot contain any ASCII "
@@ -36081,7 +36052,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:269
+#: ../src/guestfs.pod:250
msgid ""
"L</guestfs_read_file> can be used to read files which contain arbitrary 8 "
"bit data, since it returns a (pointer, size) pair. However it is still "
@@ -36089,31 +36060,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:273
+#: ../src/guestfs.pod:254
msgid ""
"L</guestfs_download> can be used to download any file, with no limits on "
"content or size (even files larger than 4 GB)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:276
+#: ../src/guestfs.pod:257
msgid "To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:279
+#: ../src/guestfs.pod:260
msgid "UPLOADING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:281
+#: ../src/guestfs.pod:262
msgid ""
"It's often the case that you want to write a file or files to the disk "
"image."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:284
+#: ../src/guestfs.pod:265
msgid ""
"To write a small file with fixed content, use L</guestfs_write>. To create "
"a file of all zeroes, use L</guestfs_truncate_size> (sparse) or "
@@ -36123,19 +36094,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:290
+#: ../src/guestfs.pod:271
msgid ""
"To upload a single file, use L</guestfs_upload>. This call has no limits on "
"file content or size (even files larger than 4 GB)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:293
+#: ../src/guestfs.pod:274
msgid "To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:295
+#: ../src/guestfs.pod:276
msgid ""
"However the fastest way to upload I<large numbers of arbitrary files> is to "
"turn them into a squashfs or CD ISO (see L<mksquashfs(8)> and "
@@ -36149,12 +36120,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:306
+#: ../src/guestfs.pod:287
msgid "COPYING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:308
+#: ../src/guestfs.pod:289
msgid ""
"There are various different commands for copying between files and devices "
"and in and out of the guest filesystem. These are summarised in the table "
@@ -36162,51 +36133,51 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:314
+#: ../src/guestfs.pod:295
msgid "B<file> to B<file>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:316
+#: ../src/guestfs.pod:297
msgid ""
"Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy "
"directories recursively."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:319
+#: ../src/guestfs.pod:300
msgid "To copy part of a file (offset and size) use L</guestfs_copy_file_to_file>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:322
+#: ../src/guestfs.pod:303
msgid "B<file> to B<device>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:324
+#: ../src/guestfs.pod:305
msgid "B<device> to B<file>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:326
+#: ../src/guestfs.pod:307
msgid "B<device> to B<device>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:328
+#: ../src/guestfs.pod:309
msgid ""
"Use L</guestfs_copy_file_to_device>, L</guestfs_copy_device_to_file>, or "
"L</guestfs_copy_device_to_device>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:331
+#: ../src/guestfs.pod:312
msgid "Example: duplicate the contents of an LV:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:333
+#: ../src/guestfs.pod:314
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
@@ -36217,7 +36188,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:338
+#: ../src/guestfs.pod:319
msgid ""
"The destination (C</dev/VG/Copy>) must be at least as large as the source "
"(C</dev/VG/Original>). To copy less than the whole source device, use the "
@@ -36225,7 +36196,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:342
+#: ../src/guestfs.pod:323
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
@@ -36236,32 +36207,32 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:347
+#: ../src/guestfs.pod:328
msgid "B<file on the host> to B<file or device>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:349
+#: ../src/guestfs.pod:330
msgid "Use L</guestfs_upload>. See L</UPLOADING> above."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:351
+#: ../src/guestfs.pod:332
msgid "B<file or device> to B<file on the host>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:353
+#: ../src/guestfs.pod:334
msgid "Use L</guestfs_download>. See L</DOWNLOADING> above."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:357
+#: ../src/guestfs.pod:338
msgid "UPLOADING AND DOWNLOADING TO PIPES AND FILE DESCRIPTORS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:359
+#: ../src/guestfs.pod:340
msgid ""
"Calls like L</guestfs_upload>, L</guestfs_download>, L</guestfs_tar_in>, "
"L</guestfs_tar_out> etc appear to only take filenames as arguments, so it "
@@ -36272,12 +36243,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:367
+#: ../src/guestfs.pod:348
msgid "For example, L<virt-cat(1)> writes its output to stdout by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:370
+#: ../src/guestfs.pod:351
#, no-wrap
msgid ""
" guestfs_download (g, filename, \"/dev/stdout\");\n"
@@ -36285,12 +36256,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:372
+#: ../src/guestfs.pod:353
msgid "and you can write tar output to a file descriptor C<fd> by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:374
+#: ../src/guestfs.pod:355
#, no-wrap
msgid ""
" char devfd[64];\n"
@@ -36300,26 +36271,26 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:378
+#: ../src/guestfs.pod:359
msgid "LISTING FILES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:380
+#: ../src/guestfs.pod:361
msgid ""
"L</guestfs_ll> is just designed for humans to read (mainly when using the "
"L<guestfish(1)>-equivalent command C<ll>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:383
+#: ../src/guestfs.pod:364
msgid ""
"L</guestfs_ls> is a quick way to get a list of files in a directory from "
"programs, as a flat list of strings."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:386
+#: ../src/guestfs.pod:367
msgid ""
"L</guestfs_readdir> is a programmatic way to get a list of files in a "
"directory, plus additional information about each one. It is more "
@@ -36327,19 +36298,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:390
+#: ../src/guestfs.pod:371
msgid ""
"L</guestfs_find> and L</guestfs_find0> can be used to recursively list "
"files."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:393
+#: ../src/guestfs.pod:374
msgid "RUNNING COMMANDS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:395
+#: ../src/guestfs.pod:376
msgid ""
"Although libguestfs is primarily an API for manipulating files inside guest "
"images, we also provide some limited facilities for running commands inside "
@@ -36347,55 +36318,55 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:399
+#: ../src/guestfs.pod:380
msgid "There are many limitations to this:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:405
+#: ../src/guestfs.pod:386
msgid ""
"The kernel version that the command runs under will be different from what "
"it expects."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:410
+#: ../src/guestfs.pod:391
msgid ""
"If the command needs to communicate with daemons, then most likely they "
"won't be running."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:415
+#: ../src/guestfs.pod:396
msgid "The command will be running in limited memory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:419
+#: ../src/guestfs.pod:400
msgid ""
"The network may not be available unless you enable it (see "
"L</guestfs_set_network>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:424
+#: ../src/guestfs.pod:405
msgid "Only supports Linux guests (not Windows, BSD, etc)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:428
+#: ../src/guestfs.pod:409
msgid "Architecture limitations (eg. won't work for a PPC guest on an X86 host)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:433
+#: ../src/guestfs.pod:414
msgid ""
"For SELinux guests, you may need to enable SELinux and load policy first. "
"See L</SELINUX> in this manpage."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:438
+#: ../src/guestfs.pod:419
msgid ""
"I<Security:> It is not safe to run commands from untrusted, possibly "
"malicious guests. These commands may attempt to exploit your program by "
@@ -36407,7 +36378,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:447
+#: ../src/guestfs.pod:428
msgid ""
"A secure alternative is to use libguestfs to install a \"firstboot\" script "
"(a script which runs when the guest next boots normally), and to have this "
@@ -36417,26 +36388,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:455
+#: ../src/guestfs.pod:436
msgid ""
"The two main API calls to run commands are L</guestfs_command> and "
"L</guestfs_sh> (there are also variations)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:458
+#: ../src/guestfs.pod:439
msgid ""
"The difference is that L</guestfs_sh> runs commands using the shell, so any "
"shell globs, redirections, etc will work."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:461
+#: ../src/guestfs.pod:442
msgid "CONFIGURATION FILES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:463
+#: ../src/guestfs.pod:444
msgid ""
"To read and write configuration files in Linux guest filesystems, we "
"strongly recommend using Augeas. For example, Augeas understands how to "
@@ -36445,7 +36416,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:468
+#: ../src/guestfs.pod:449
msgid ""
"The main Augeas calls are bound through the C<guestfs_aug_*> APIs. We don't "
"document Augeas itself here because there is excellent documentation on the "
@@ -36453,7 +36424,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:472
+#: ../src/guestfs.pod:453
msgid ""
"If you don't want to use Augeas (you fool!) then try calling "
"L</guestfs_read_lines> to get the file as a list of lines which you can "
@@ -36461,24 +36432,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:476
+#: ../src/guestfs.pod:457
msgid "SELINUX"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:478
+#: ../src/guestfs.pod:459
msgid ""
"We support SELinux guests. To ensure that labeling happens correctly in "
"SELinux guests, you need to enable SELinux and load the guest's policy:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:486
+#: ../src/guestfs.pod:467
msgid "Before launching, do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:488
+#: ../src/guestfs.pod:469
#, no-wrap
msgid ""
" guestfs_set_selinux (g, 1);\n"
@@ -36486,14 +36457,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:492
+#: ../src/guestfs.pod:473
msgid ""
"After mounting the guest's filesystem(s), load the policy. This is best "
"done by running the L<load_policy(8)> command in the guest itself:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:496
+#: ../src/guestfs.pod:477
#, no-wrap
msgid ""
" guestfs_sh (g, \"/usr/sbin/load_policy\");\n"
@@ -36501,21 +36472,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:498
+#: ../src/guestfs.pod:479
msgid ""
"(Older versions of C<load_policy> require you to specify the name of the "
"policy file)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:503
+#: ../src/guestfs.pod:484
msgid ""
"Optionally, set the security context for the API. The correct security "
"context to use can only be known by inspecting the guest. As an example:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:507
+#: ../src/guestfs.pod:488
#, no-wrap
msgid ""
" guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n"
@@ -36523,24 +36494,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:511
+#: ../src/guestfs.pod:492
msgid "This will work for running commands and editing existing files."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:513
+#: ../src/guestfs.pod:494
msgid ""
"When new files are created, you may need to label them explicitly, for "
"example by running the external command C<restorecon pathname>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:517
+#: ../src/guestfs.pod:498
msgid "UMASK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:519
+#: ../src/guestfs.pod:500
msgid ""
"Certain calls are affected by the current file mode creation mask (the "
"\"umask\"). In particular ones which create files or directories, such as "
@@ -36550,14 +36521,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:525
+#: ../src/guestfs.pod:506
msgid ""
"The default umask is C<022>, so files are created with modes such as C<0644> "
"and directories with C<0755>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:528
+#: ../src/guestfs.pod:509
msgid ""
"There are two ways to avoid being affected by umask. Either set umask to 0 "
"(call C<guestfs_umask (g, 0)> early after launching). Or call "
@@ -36565,12 +36536,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:532
+#: ../src/guestfs.pod:513
msgid "For more information about umask, see L<umask(2)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:536
+#: ../src/guestfs.pod:517
msgid ""
"Libguestfs allows you to access Linux guests which have been encrypted using "
"whole disk encryption that conforms to the Linux Unified Key Setup (LUKS) "
@@ -36579,21 +36550,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:542
+#: ../src/guestfs.pod:523
msgid ""
"Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it "
"returns the string C<crypto_LUKS>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:545
+#: ../src/guestfs.pod:526
msgid ""
"Then open these devices by calling L</guestfs_luks_open>. Obviously you "
"will require the passphrase!"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:548
+#: ../src/guestfs.pod:529
msgid ""
"Opening a LUKS device creates a new device mapper device called "
"C</dev/mapper/mapname> (where C<mapname> is the string you supply to "
@@ -36602,7 +36573,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:554
+#: ../src/guestfs.pod:535
msgid ""
"LVM volume groups on the device can be made visible by calling "
"L</guestfs_vgscan> followed by L</guestfs_vg_activate_all>. The logical "
@@ -36610,7 +36581,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:558
+#: ../src/guestfs.pod:539
msgid ""
"Use the reverse process to close a LUKS device. Unmount any logical volumes "
"on it, deactivate the volume groups by caling C<guestfs_vg_activate (g, 0, "
@@ -36620,12 +36591,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:565
+#: ../src/guestfs.pod:546
msgid "INSPECTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:567
+#: ../src/guestfs.pod:548
msgid ""
"Libguestfs has APIs for inspecting an unknown disk image to find out if it "
"contains operating systems, an install CD or a live CD. (These APIs used to "
@@ -36635,14 +36606,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:574
+#: ../src/guestfs.pod:555
msgid ""
"Add all disks belonging to the unknown virtual machine and call "
"L</guestfs_launch> in the usual way."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:577
+#: ../src/guestfs.pod:558
msgid ""
"Then call L</guestfs_inspect_os>. This function uses other libguestfs calls "
"and certain heuristics, and returns a list of operating systems that were "
@@ -36655,7 +36626,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:586
+#: ../src/guestfs.pod:567
msgid ""
"For each root, you can then call various C<guestfs_inspect_get_*> functions "
"to get additional details about that operating system. For example, call "
@@ -36664,7 +36635,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:592
+#: ../src/guestfs.pod:573
msgid ""
"Un*x-like and Linux-based operating systems usually consist of several "
"filesystems which are mounted at boot time (for example, a separate boot "
@@ -36675,7 +36646,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:599
+#: ../src/guestfs.pod:580
#, no-wrap
msgid ""
" /boot => /dev/sda1\n"
@@ -36685,14 +36656,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:603
+#: ../src/guestfs.pod:584
msgid ""
"The caller can then make calls to L</guestfs_mount_options> to mount the "
"filesystems as suggested."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:606
+#: ../src/guestfs.pod:587
msgid ""
"Be careful to mount filesystems in the right order (eg. C</> before "
"C</usr>). Sorting the keys of the hash by length, shortest first, should "
@@ -36700,7 +36671,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:610
+#: ../src/guestfs.pod:591
msgid ""
"Inspection currently only works for some common operating systems. "
"Contributors are welcome to send patches for other operating systems that we "
@@ -36708,7 +36679,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:614
+#: ../src/guestfs.pod:595
msgid ""
"Encrypted disks must be opened before inspection. See L</ENCRYPTED DISKS> "
"for more details. The L</guestfs_inspect_os> function just ignores any "
@@ -36716,7 +36687,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:618
+#: ../src/guestfs.pod:599
msgid ""
"A note on the implementation: The call L</guestfs_inspect_os> performs "
"inspection and caches the results in the guest handle. Subsequent calls to "
@@ -36729,19 +36700,19 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:627
+#: ../src/guestfs.pod:608
msgid "INSPECTING INSTALL DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:629
+#: ../src/guestfs.pod:610
msgid ""
"Libguestfs (since 1.9.4) can detect some install disks, install CDs, live "
"CDs and more."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:632
+#: ../src/guestfs.pod:613
msgid ""
"Call L</guestfs_inspect_get_format> to return the format of the operating "
"system, which currently can be C<installed> (a regular operating system) or "
@@ -36749,7 +36720,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:636
+#: ../src/guestfs.pod:617
msgid ""
"Further information is available about the operating system that can be "
"installed using the regular inspection APIs like "
@@ -36758,7 +36729,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:641
+#: ../src/guestfs.pod:622
msgid ""
"Some additional information specific to installer disks is also available "
"from the L</guestfs_inspect_is_live>, L</guestfs_inspect_is_netinst> and "
@@ -36766,24 +36737,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:646
+#: ../src/guestfs.pod:627
msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:648
+#: ../src/guestfs.pod:629
msgid ""
"Libguestfs can mount NTFS partitions. It does this using the "
"L<http://www.ntfs-3g.org/> driver."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:651
+#: ../src/guestfs.pod:632
msgid "DRIVE LETTERS AND PATHS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:653
+#: ../src/guestfs.pod:634
msgid ""
"DOS and Windows still use drive letters, and the filesystems are always "
"treated as case insensitive by Windows itself, and therefore you might find "
@@ -36793,14 +36764,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:659
+#: ../src/guestfs.pod:640
msgid ""
"Drive letter mappings can be found using inspection (see L</INSPECTION> and "
"L</guestfs_inspect_get_drive_mappings>)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:662
+#: ../src/guestfs.pod:643
msgid ""
"Dealing with separator characters (backslash vs forward slash) is outside "
"the scope of libguestfs, but usually a simple character replacement will "
@@ -36808,19 +36779,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:666
+#: ../src/guestfs.pod:647
msgid ""
"To resolve the case insensitivity of paths, call "
"L</guestfs_case_sensitive_path>."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:669
+#: ../src/guestfs.pod:650
msgid "ACCESSING THE WINDOWS REGISTRY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:671
+#: ../src/guestfs.pod:652
msgid ""
"Libguestfs also provides some help for decoding Windows Registry \"hive\" "
"files, through the library C<hivex> which is part of the libguestfs project "
@@ -36831,12 +36802,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:679
+#: ../src/guestfs.pod:660
msgid "SYMLINKS ON NTFS-3G FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:681
+#: ../src/guestfs.pod:662
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 "
@@ -36844,12 +36815,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:685
+#: ../src/guestfs.pod:666
msgid "L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-symbolic-links/>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:687
+#: ../src/guestfs.pod:668
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 "
@@ -36859,7 +36830,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:694
+#: ../src/guestfs.pod:675
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 "
@@ -36868,36 +36839,36 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:699
+#: ../src/guestfs.pod:680
msgid "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:701
+#: ../src/guestfs.pod:682
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:704
+#: ../src/guestfs.pod:685
msgid "L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:706
+#: ../src/guestfs.pod:687
msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:708
+#: ../src/guestfs.pod:689
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:711
+#: ../src/guestfs.pod:692
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)> "
@@ -36907,14 +36878,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:717
+#: ../src/guestfs.pod:698
msgid ""
"Error messages are automatically transformed into exceptions if the language "
"supports it."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:720
+#: ../src/guestfs.pod:701
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 "
@@ -36922,58 +36893,58 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:726
+#: ../src/guestfs.pod:707
msgid "B<C++>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:728
+#: ../src/guestfs.pod:709
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:732
+#: ../src/guestfs.pod:713
msgid "B<C#>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:734
+#: ../src/guestfs.pod:715
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:737
+#: ../src/guestfs.pod:718
msgid "B<Erlang>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:739
+#: ../src/guestfs.pod:720
msgid "See L<guestfs-erlang(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:741
+#: ../src/guestfs.pod:722
msgid "B<GObject>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:743
+#: ../src/guestfs.pod:724
msgid ""
"Experimental GObject bindings (with GObject Introspection support) are "
"available. See the C<gobject> directory in the source."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:746
+#: ../src/guestfs.pod:727
msgid "B<Haskell>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:748
+#: ../src/guestfs.pod:729
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 "
@@ -36981,96 +36952,96 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:752
+#: ../src/guestfs.pod:733
msgid "B<Java>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:754
+#: ../src/guestfs.pod:735
msgid ""
"Full documentation is contained in the Javadoc which is distributed with "
"libguestfs. For examples, see L<guestfs-java(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:757
+#: ../src/guestfs.pod:738
msgid "B<OCaml>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:759
+#: ../src/guestfs.pod:740
msgid "See L<guestfs-ocaml(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:761
+#: ../src/guestfs.pod:742
msgid "B<Perl>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:763
+#: ../src/guestfs.pod:744
msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:765
+#: ../src/guestfs.pod:746
msgid "B<PHP>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:767
+#: ../src/guestfs.pod:748
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:770
+#: ../src/guestfs.pod:751
msgid "The PHP binding only works correctly on 64 bit machines."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:772
+#: ../src/guestfs.pod:753
msgid "B<Python>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:774
+#: ../src/guestfs.pod:755
msgid "See L<guestfs-python(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:776
+#: ../src/guestfs.pod:757
msgid "B<Ruby>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:778
+#: ../src/guestfs.pod:759
msgid "See L<guestfs-ruby(3)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:780
+#: ../src/guestfs.pod:761
msgid "For JRuby, use the Java bindings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:782
+#: ../src/guestfs.pod:763
msgid "B<shell scripts>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:784
+#: ../src/guestfs.pod:765
msgid "See L<guestfish(1)>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:788
+#: ../src/guestfs.pod:769
msgid "LIBGUESTFS GOTCHAS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:790
+#: ../src/guestfs.pod:771
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 "
@@ -37078,7 +37049,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:794
+#: ../src/guestfs.pod:775
msgid ""
"Since we developed libguestfs and the associated tools, there are several "
"things we would have designed differently, but are now stuck with for "
@@ -37087,19 +37058,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:802
+#: ../src/guestfs.pod:783
msgid "Autosync / forgetting to sync."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:804
+#: ../src/guestfs.pod:785
msgid ""
"I<Update:> Autosync is enabled by default for all API users starting from "
"libguestfs 1.5.24. This section only applies to older versions."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:807
+#: ../src/guestfs.pod:788
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 "
@@ -37107,7 +37078,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:811
+#: ../src/guestfs.pod:792
#, no-wrap
msgid ""
" guestfs_set_autosync (g, 1);\n"
@@ -37115,7 +37086,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:813
+#: ../src/guestfs.pod:794
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> "
@@ -37123,7 +37094,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:817
+#: ../src/guestfs.pod:798
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 "
@@ -37131,7 +37102,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:821
+#: ../src/guestfs.pod:802
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 "
@@ -37139,19 +37110,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:825
+#: ../src/guestfs.pod:806
msgid "Mount option C<-o sync> should not be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:827
+#: ../src/guestfs.pod:808
msgid ""
"I<Update:> L</guestfs_mount> no longer adds any options starting from "
"libguestfs 1.13.16. This section only applies to older versions."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:830
+#: ../src/guestfs.pod:811
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 "
@@ -37159,31 +37130,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:834
+#: ../src/guestfs.pod:815
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:837
+#: ../src/guestfs.pod:818
msgid "Read-only should be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:839
+#: ../src/guestfs.pod:820
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:842
+#: ../src/guestfs.pod:823
msgid "This would reduce the potential to corrupt live VM images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:844
+#: ../src/guestfs.pod:825
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 "
@@ -37191,12 +37162,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:848
+#: ../src/guestfs.pod:829
msgid "guestfish command line is hard to use."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:850
+#: ../src/guestfs.pod:831
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 "
@@ -37206,12 +37177,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:857
+#: ../src/guestfs.pod:838
msgid "guestfish megabyte modifiers don't work right on all commands"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:859
+#: ../src/guestfs.pod:840
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 "
@@ -37221,12 +37192,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:866
+#: ../src/guestfs.pod:847
msgid "The most common is L</guestfs_lvcreate>. The guestfish command:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:868
+#: ../src/guestfs.pod:849
#, no-wrap
msgid ""
" lvcreate LV VG 100M\n"
@@ -37234,7 +37205,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:870
+#: ../src/guestfs.pod:851
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 "
@@ -37243,19 +37214,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:875
+#: ../src/guestfs.pod:856
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:878
+#: ../src/guestfs.pod:859
msgid "Ambiguity between devices and paths"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:880
+#: ../src/guestfs.pod:861
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 "
@@ -37263,7 +37234,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:885
+#: ../src/guestfs.pod:866
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>. "
@@ -37272,7 +37243,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:891
+#: ../src/guestfs.pod:872
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 "
@@ -37282,7 +37253,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:897
+#: ../src/guestfs.pod:878
#, no-wrap
msgid ""
" type path = Path of string | Device of int | Partition of int * int\n"
@@ -37290,12 +37261,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:899
+#: ../src/guestfs.pod:880
msgid "which would allow you to pass arguments like:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:901
+#: ../src/guestfs.pod:882
#, no-wrap
msgid ""
" Path \"/foo/bar\"\n"
@@ -37306,26 +37277,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:906
+#: ../src/guestfs.pod:887
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:911
+#: ../src/guestfs.pod:892
msgid "KEYS AND PASSPHRASES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:913
+#: ../src/guestfs.pod:894
msgid ""
"Certain libguestfs calls take a parameter that contains sensitive key "
"material, passed in as a C string."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:916
+#: ../src/guestfs.pod:897
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 "
@@ -37334,7 +37305,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:921
+#: ../src/guestfs.pod:902
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, "
@@ -37342,19 +37313,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:926
+#: ../src/guestfs.pod:907
msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:928
+#: ../src/guestfs.pod:909
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:931
+#: ../src/guestfs.pod:912
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 "
@@ -37362,33 +37333,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:935
+#: ../src/guestfs.pod:916
msgid ""
"See the graphical program guestfs-browser for one possible architecture for "
"multithreaded programs using libvirt and libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:938
+#: ../src/guestfs.pod:919
msgid "PATH"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:940
+#: ../src/guestfs.pod:921
msgid ""
"Libguestfs needs a supermin appliance, which it finds by looking along an "
"internal path."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:943
+#: ../src/guestfs.pod:924
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:946
+#: ../src/guestfs.pod:927
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 "
@@ -37399,12 +37370,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:953
+#: ../src/guestfs.pod:934
msgid "QEMU WRAPPERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:955
+#: ../src/guestfs.pod:936
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 "
@@ -37412,7 +37383,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:959
+#: ../src/guestfs.pod:940
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 "
@@ -37421,14 +37392,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:964
+#: ../src/guestfs.pod:945
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:967
+#: ../src/guestfs.pod:948
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -37439,7 +37410,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:971
+#: ../src/guestfs.pod:952
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 "
@@ -37447,7 +37418,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:975
+#: ../src/guestfs.pod:956
#, no-wrap
msgid ""
" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
@@ -37455,14 +37426,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:977
+#: ../src/guestfs.pod:958
msgid ""
"Note that libguestfs also calls qemu with the -help and -version options in "
"order to determine features."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:980
+#: ../src/guestfs.pod:961
msgid ""
"Wrappers can also be used to edit the options passed to qemu. In the "
"following example, the C<-machine ...> option (C<-machine> and the following "
@@ -37472,7 +37443,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:989
+#: ../src/guestfs.pod:970
#, no-wrap
msgid ""
" i=0\n"
@@ -37490,7 +37461,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1001
+#: ../src/guestfs.pod:982
#, no-wrap
msgid ""
" exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n"
@@ -37498,19 +37469,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1003
+#: ../src/guestfs.pod:984
msgid "ATTACHING TO RUNNING DAEMONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1005
+#: ../src/guestfs.pod:986
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:1008
+#: ../src/guestfs.pod:989
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 "
@@ -37518,12 +37489,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1012
+#: ../src/guestfs.pod:993
msgid "Using guestfs_set_attach_method"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1014
+#: ../src/guestfs.pod:995
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 "
@@ -37531,14 +37502,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1018
+#: ../src/guestfs.pod:999
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:1021
+#: ../src/guestfs.pod:1002
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 "
@@ -37546,7 +37517,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1025
+#: ../src/guestfs.pod:1006
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 "
@@ -37554,12 +37525,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1029
+#: ../src/guestfs.pod:1010
msgid "Using guestfs_add_domain with live flag"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1031
+#: ../src/guestfs.pod:1012
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 "
@@ -37568,7 +37539,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1037
+#: ../src/guestfs.pod:1018
#, no-wrap
msgid ""
" <domain>\n"
@@ -37586,14 +37557,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1049
+#: ../src/guestfs.pod:1030
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:1052
+#: ../src/guestfs.pod:1033
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 "
@@ -37601,19 +37572,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1056
+#: ../src/guestfs.pod:1037
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:1060
+#: ../src/guestfs.pod:1041
msgid "ABI GUARANTEE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1062
+#: ../src/guestfs.pod:1043
msgid ""
"We guarantee the libguestfs ABI (binary interface), for public, high-level "
"actions as outlined in this section. Although we will deprecate some "
@@ -37623,12 +37594,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1068
+#: ../src/guestfs.pod:1049
msgid "BLOCK DEVICE NAMING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1070
+#: ../src/guestfs.pod:1051
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 "
@@ -37643,7 +37614,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1082
+#: ../src/guestfs.pod:1063
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 "
@@ -37651,7 +37622,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1086
+#: ../src/guestfs.pod:1067
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 "
@@ -37659,7 +37630,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1091
+#: ../src/guestfs.pod:1072
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 "
@@ -37668,7 +37639,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1097
+#: ../src/guestfs.pod:1078
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 "
@@ -37676,12 +37647,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1102
+#: ../src/guestfs.pod:1083
msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1104
+#: ../src/guestfs.pod:1085
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 "
@@ -37691,7 +37662,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1110
+#: ../src/guestfs.pod:1091
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 "
@@ -37699,54 +37670,54 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1118
+#: ../src/guestfs.pod:1099
msgid "Is the string a parameter which is a device or partition name?"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1122
+#: ../src/guestfs.pod:1103
msgid "Does the string begin with C</dev/sd>?"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1126
+#: ../src/guestfs.pod:1107
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:1131
+#: ../src/guestfs.pod:1112
msgid "Replace initial C</dev/sd> string with C</dev/hd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1133
+#: ../src/guestfs.pod:1114
msgid "For example, change C</dev/sda2> to C</dev/hda2>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1135
+#: ../src/guestfs.pod:1116
msgid "If that named device exists, use it. If not, continue."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1139
+#: ../src/guestfs.pod:1120
msgid "Replace initial C</dev/sd> string with C</dev/vd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1141
+#: ../src/guestfs.pod:1122
msgid "If that named device exists, use it. If not, return an error."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1145
+#: ../src/guestfs.pod:1126
msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1147
+#: ../src/guestfs.pod:1128
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 "
@@ -37754,45 +37725,45 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1151
+#: ../src/guestfs.pod:1132
msgid ""
"Where possible for maximum future portability programs using libguestfs "
"should use these future-proof techniques:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1158
+#: ../src/guestfs.pod:1139
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:1161
+#: ../src/guestfs.pod:1142
msgid "Since those device names exist by definition, they will never be translated."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1166
+#: ../src/guestfs.pod:1147
msgid ""
"Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
"filesystem labels."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1173
+#: ../src/guestfs.pod:1154
msgid ""
"This section discusses security implications of using libguestfs, "
"particularly with untrusted or malicious guests or disk images."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1176
+#: ../src/guestfs.pod:1157
msgid "GENERAL SECURITY CONSIDERATIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1178
+#: ../src/guestfs.pod:1159
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 "
@@ -37802,42 +37773,42 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1188
+#: ../src/guestfs.pod:1169
msgid "the data (file etc) not being present"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1192
+#: ../src/guestfs.pod:1173
msgid "being present but empty"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1196
+#: ../src/guestfs.pod:1177
msgid "being much larger than normal"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1200
+#: ../src/guestfs.pod:1181
msgid "containing arbitrary 8 bit data"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1204
+#: ../src/guestfs.pod:1185
msgid "being in an unexpected character encoding"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1208
+#: ../src/guestfs.pod:1189
msgid "containing homoglyphs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1212
+#: ../src/guestfs.pod:1193
msgid "SECURITY OF MOUNTING FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1214
+#: ../src/guestfs.pod:1195
msgid ""
"When you mount a filesystem under Linux, mistakes in the kernel filesystem "
"(VFS) module can sometimes be escalated into exploits by deliberately "
@@ -37853,7 +37824,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1227
+#: ../src/guestfs.pod:1208
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 "
@@ -37867,19 +37838,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1238
+#: ../src/guestfs.pod:1219
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:1241
+#: ../src/guestfs.pod:1222
msgid "PROTOCOL SECURITY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1243
+#: ../src/guestfs.pod:1224
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 "
@@ -37889,12 +37860,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1249
+#: ../src/guestfs.pod:1230
msgid "INSPECTION SECURITY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1251
+#: ../src/guestfs.pod:1232
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 "
@@ -37903,7 +37874,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1257
+#: ../src/guestfs.pod:1238
msgid ""
"Guest configuration may be altered in unusual ways by the administrator of "
"the virtual machine, and may not reflect reality (particularly for untrusted "
@@ -37914,7 +37885,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1265
+#: ../src/guestfs.pod:1246
msgid ""
"The inspection API parses guest configuration using two external libraries: "
"Augeas (Linux configuration) and hivex (Windows Registry). Both are "
@@ -37924,12 +37895,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1271
+#: ../src/guestfs.pod:1252
msgid "RUNNING UNTRUSTED GUEST COMMANDS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1273
+#: ../src/guestfs.pod:1254
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 "
@@ -37939,24 +37910,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1279
+#: ../src/guestfs.pod:1260
msgid "CVE-2010-3851"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1281
+#: ../src/guestfs.pod:1262
msgid "https://bugzilla.redhat.com/642934"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1283
+#: ../src/guestfs.pod:1264
msgid ""
"This security bug concerns the automatic disk format detection that qemu "
"does on disk images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1286
+#: ../src/guestfs.pod:1267
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 "
@@ -37965,7 +37936,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1291
+#: ../src/guestfs.pod:1272
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 "
@@ -37974,7 +37945,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1296
+#: ../src/guestfs.pod:1277
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 "
@@ -37986,24 +37957,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1304
+#: ../src/guestfs.pod:1285
msgid "In libguestfs this is rather hard to exploit except under two circumstances:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1311
+#: ../src/guestfs.pod:1292
msgid "You have enabled the network or have opened the disk in write mode."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1315
+#: ../src/guestfs.pod:1296
msgid ""
"You are also running untrusted code from the guest (see L</RUNNING "
"COMMANDS>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1320
+#: ../src/guestfs.pod:1301
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 "
@@ -38012,31 +37983,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1325
+#: ../src/guestfs.pod:1306
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:1328
+#: ../src/guestfs.pod:1309
msgid ""
"For libguestfs tools, use the I<--format> command line parameter as "
"appropriate."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1331
+#: ../src/guestfs.pod:1312
msgid "CONNECTION MANAGEMENT"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1333
+#: ../src/guestfs.pod:1314
msgid "guestfs_h *"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1335
+#: ../src/guestfs.pod:1316
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 "
@@ -38044,19 +38015,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1339
+#: ../src/guestfs.pod:1320
msgid ""
"For information on using multiple handles and threads, see the section "
"L</MULTIPLE HANDLES AND MULTIPLE THREADS> above."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1342
+#: ../src/guestfs.pod:1323
msgid "guestfs_create"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1344
+#: ../src/guestfs.pod:1325
#, no-wrap
msgid ""
" guestfs_h *guestfs_create (void);\n"
@@ -38064,19 +38035,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1346
+#: ../src/guestfs.pod:1327
msgid "Create a connection handle."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1348
+#: ../src/guestfs.pod:1329
msgid ""
"On success this returns a non-NULL pointer to a handle. On error it returns "
"NULL."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1351
+#: ../src/guestfs.pod:1332
msgid ""
"You have to \"configure\" the handle after creating it. This includes "
"calling L</guestfs_add_drive_opts> (or one of the equivalent calls) on the "
@@ -38084,24 +38055,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1355
+#: ../src/guestfs.pod:1336
msgid "After configuring the handle, you have to call L</guestfs_launch>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1357
+#: ../src/guestfs.pod:1338
msgid ""
"You may also want to configure error handling for the handle. See the "
"L</ERROR HANDLING> section below."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1360
+#: ../src/guestfs.pod:1341
msgid "guestfs_close"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1362
+#: ../src/guestfs.pod:1343
#, no-wrap
msgid ""
" void guestfs_close (guestfs_h *g);\n"
@@ -38109,12 +38080,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1364
+#: ../src/guestfs.pod:1345
msgid "This closes the connection handle and frees up all resources used."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1366
+#: ../src/guestfs.pod:1347
msgid ""
"If autosync was set on the handle and the handle was launched, then this "
"implicitly calls various functions to unmount filesystems and sync the "
@@ -38122,24 +38093,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1370
+#: ../src/guestfs.pod:1351
msgid "If a close callback was set on the handle, then it is called."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1372
+#: ../src/guestfs.pod:1353
msgid "ERROR HANDLING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1374
+#: ../src/guestfs.pod:1355
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:1377
+#: ../src/guestfs.pod:1358
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 "
@@ -38147,7 +38118,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1381
+#: ../src/guestfs.pod:1362
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 "
@@ -38155,7 +38126,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1386
+#: ../src/guestfs.pod:1367
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 "
@@ -38163,7 +38134,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1390
+#: ../src/guestfs.pod:1371
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1)\n"
@@ -38172,21 +38143,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1393
+#: ../src/guestfs.pod:1374
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:1396
+#: ../src/guestfs.pod:1377
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:1399
+#: ../src/guestfs.pod:1380
#, no-wrap
msgid ""
" /* This disables the default behaviour of printing errors\n"
@@ -38196,7 +38167,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1403
+#: ../src/guestfs.pod:1384
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1) {\n"
@@ -38213,7 +38184,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1414
+#: ../src/guestfs.pod:1395
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 "
@@ -38221,7 +38192,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1418
+#: ../src/guestfs.pod:1399
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 "
@@ -38231,12 +38202,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1424
+#: ../src/guestfs.pod:1405
msgid "guestfs_last_error"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1426
+#: ../src/guestfs.pod:1407
#, no-wrap
msgid ""
" const char *guestfs_last_error (guestfs_h *g);\n"
@@ -38244,26 +38215,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1428
+#: ../src/guestfs.pod:1409
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:1432
+#: ../src/guestfs.pod:1413
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:1435
+#: ../src/guestfs.pod:1416
msgid "guestfs_last_errno"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1437
+#: ../src/guestfs.pod:1418
#, no-wrap
msgid ""
" int guestfs_last_errno (guestfs_h *g);\n"
@@ -38271,27 +38242,27 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1439
+#: ../src/guestfs.pod:1420
msgid "This returns the last error number (errno) that happened on C<g>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1441
+#: ../src/guestfs.pod:1422
msgid "If successful, an errno integer not equal to zero is returned."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1443
+#: ../src/guestfs.pod:1424
msgid "If no error, this returns 0. This call can return 0 in three situations:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1450
+#: ../src/guestfs.pod:1431
msgid "There has not been any error on the handle."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1454
+#: ../src/guestfs.pod:1435
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 "
@@ -38299,14 +38270,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1460
+#: ../src/guestfs.pod:1441
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:1466
+#: ../src/guestfs.pod:1447
msgid ""
"Libguestfs tries to convert the errno from inside the applicance into a "
"corresponding errno for the caller (not entirely trivial: the appliance "
@@ -38317,12 +38288,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1474
+#: ../src/guestfs.pod:1455
msgid "guestfs_set_error_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1476
+#: ../src/guestfs.pod:1457
#, no-wrap
msgid ""
" typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
@@ -38335,7 +38306,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1483
+#: ../src/guestfs.pod:1464
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 "
@@ -38343,14 +38314,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1487
+#: ../src/guestfs.pod:1468
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:1490
+#: ../src/guestfs.pod:1471
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 "
@@ -38358,22 +38329,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1494
+#: ../src/guestfs.pod:1475
msgid "The default handler prints messages on C<stderr>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1496
+#: ../src/guestfs.pod:1477
msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1498
+#: ../src/guestfs.pod:1479
msgid "guestfs_get_error_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1500
+#: ../src/guestfs.pod:1481
#, no-wrap
msgid ""
" guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
@@ -38382,17 +38353,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1503
+#: ../src/guestfs.pod:1484
msgid "Returns the current error handler callback."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1505
+#: ../src/guestfs.pod:1486
msgid "guestfs_set_out_of_memory_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1507
+#: ../src/guestfs.pod:1488
#, no-wrap
msgid ""
" typedef void (*guestfs_abort_cb) (void);\n"
@@ -38402,29 +38373,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1511
+#: ../src/guestfs.pod:1492
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:1514
+#: ../src/guestfs.pod:1495
msgid "The default is to call L<abort(3)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1516
+#: ../src/guestfs.pod:1497
msgid "You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1519
+#: ../src/guestfs.pod:1500
msgid "guestfs_get_out_of_memory_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1521
+#: ../src/guestfs.pod:1502
#, no-wrap
msgid ""
" guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
@@ -38432,37 +38403,37 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1523
+#: ../src/guestfs.pod:1504
msgid "This returns the current out of memory handler."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1525
+#: ../src/guestfs.pod:1506
msgid "API CALLS"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1529
+#: ../src/guestfs.pod:1510
msgid "STRUCTURES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1531
+#: ../src/guestfs.pod:1512
msgid "@STRUCTS@"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1533
+#: ../src/guestfs.pod:1514
msgid "AVAILABILITY"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1535
+#: ../src/guestfs.pod:1516
msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1537
+#: ../src/guestfs.pod:1518
msgid ""
"Using L</guestfs_available> you can test availability of the following "
"groups of functions. This test queries the appliance to see if the "
@@ -38470,17 +38441,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1542
+#: ../src/guestfs.pod:1523
msgid "@AVAILABILITY@"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1544
+#: ../src/guestfs.pod:1525
msgid "GUESTFISH supported COMMAND"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1546
+#: ../src/guestfs.pod:1527
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 "
@@ -38488,19 +38459,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1551
+#: ../src/guestfs.pod:1532
msgid "SINGLE CALLS AT COMPILE TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1553
+#: ../src/guestfs.pod:1534
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:1556
+#: ../src/guestfs.pod:1537
#, no-wrap
msgid ""
" #define LIBGUESTFS_HAVE_DD 1\n"
@@ -38508,12 +38479,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1558
+#: ../src/guestfs.pod:1539
msgid "if L</guestfs_dd> is available."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1560
+#: ../src/guestfs.pod:1541
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 "
@@ -38521,7 +38492,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1565
+#: ../src/guestfs.pod:1546
#, no-wrap
msgid ""
" AC_CHECK_LIB([guestfs],[guestfs_create])\n"
@@ -38530,19 +38501,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1568
+#: ../src/guestfs.pod:1549
msgid ""
"which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
"in your program."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1571
+#: ../src/guestfs.pod:1552
msgid "SINGLE CALLS AT RUN TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1573
+#: ../src/guestfs.pod:1554
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 "
@@ -38552,7 +38523,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1580
+#: ../src/guestfs.pod:1561
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 "
@@ -38560,7 +38531,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1584
+#: ../src/guestfs.pod:1565
#, no-wrap
msgid ""
" #include <stdio.h>\n"
@@ -38572,7 +38543,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1590
+#: ../src/guestfs.pod:1571
#, no-wrap
msgid ""
" main ()\n"
@@ -38584,7 +38555,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1596
+#: ../src/guestfs.pod:1577
#, no-wrap
msgid ""
" /* Test if the function guestfs_dd is really available. */\n"
@@ -38599,7 +38570,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1605
+#: ../src/guestfs.pod:1586
#, no-wrap
msgid ""
" if (!has_function)\n"
@@ -38618,7 +38589,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1618
+#: ../src/guestfs.pod:1599
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 "
@@ -38626,7 +38597,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1623
+#: ../src/guestfs.pod:1604
#, no-wrap
msgid ""
" Requires: libguestfs >= 1.0.80\n"
@@ -38634,12 +38605,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1625
+#: ../src/guestfs.pod:1606
msgid "CALLS WITH OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1627
+#: ../src/guestfs.pod:1608
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 "
@@ -38647,7 +38618,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1632
+#: ../src/guestfs.pod:1613
#, no-wrap
msgid ""
" int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
@@ -38655,14 +38626,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1634
+#: ../src/guestfs.pod:1615
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:1637
+#: ../src/guestfs.pod:1618
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename, -1);\n"
@@ -38670,12 +38641,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1639
+#: ../src/guestfs.pod:1620
msgid "With a single optional argument:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1641
+#: ../src/guestfs.pod:1622
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -38685,12 +38656,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1645
+#: ../src/guestfs.pod:1626
msgid "With two:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1647
+#: ../src/guestfs.pod:1628
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -38701,19 +38672,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1652
+#: ../src/guestfs.pod:1633
msgid ""
"and so forth. Don't forget the terminating C<-1> otherwise Bad Things will "
"happen!"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1655
+#: ../src/guestfs.pod:1636
msgid "USING va_list FOR OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1657
+#: ../src/guestfs.pod:1638
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 "
@@ -38721,7 +38692,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1661
+#: ../src/guestfs.pod:1642
#, no-wrap
msgid ""
" int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
@@ -38730,12 +38701,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1664
+#: ../src/guestfs.pod:1645
msgid "CONSTRUCTING OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1666
+#: ../src/guestfs.pod:1647
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 "
@@ -38745,7 +38716,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1672
+#: ../src/guestfs.pod:1653
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv {\n"
@@ -38760,12 +38731,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1681
+#: ../src/guestfs.pod:1662
msgid "You could call it like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1683
+#: ../src/guestfs.pod:1664
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv optargs = {\n"
@@ -38778,7 +38749,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1690
+#: ../src/guestfs.pod:1671
#, no-wrap
msgid ""
" guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
@@ -38786,29 +38757,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1698
+#: ../src/guestfs.pod:1679
msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1703
+#: ../src/guestfs.pod:1684
msgid "You do not need to fill in all fields of the structure."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1707
+#: ../src/guestfs.pod:1688
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:1712
+#: ../src/guestfs.pod:1693
msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1714
+#: ../src/guestfs.pod:1695
msgid ""
"In other languages, optional arguments are expressed in the way that is "
"natural for that language. We refer you to the language-specific "
@@ -38816,17 +38787,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1718
+#: ../src/guestfs.pod:1699
msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1720
+#: ../src/guestfs.pod:1701
msgid "SETTING CALLBACKS TO HANDLE EVENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1722
+#: ../src/guestfs.pod:1703
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 "
@@ -38838,7 +38809,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1731
+#: ../src/guestfs.pod:1712
msgid ""
"Handles generate events when certain things happen, such as log messages "
"being generated, progress messages during long-running operations, or the "
@@ -38850,7 +38821,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1739
+#: ../src/guestfs.pod:1720
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 "
@@ -38859,31 +38830,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1744
+#: ../src/guestfs.pod:1725
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:1748
+#: ../src/guestfs.pod:1729
msgid "CLASSES OF EVENTS"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1752
+#: ../src/guestfs.pod:1733
msgid "GUESTFS_EVENT_CLOSE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1755
+#: ../src/guestfs.pod:1736
msgid ""
"The callback function will be called while the handle is being closed "
"(synchronously from L</guestfs_close>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1758
+#: ../src/guestfs.pod:1739
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 "
@@ -38894,19 +38865,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1765
+#: ../src/guestfs.pod:1746
msgid ""
"If no callback is registered: the handle is closed without any callback "
"being invoked."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1768
+#: ../src/guestfs.pod:1749
msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1771
+#: ../src/guestfs.pod:1752
msgid ""
"The callback function will be called when the child process quits, either "
"asynchronously or if killed by L</guestfs_kill_subprocess>. (This "
@@ -38914,17 +38885,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1775 ../src/guestfs.pod:1784 ../src/guestfs.pod:1901
+#: ../src/guestfs.pod:1756 ../src/guestfs.pod:1765 ../src/guestfs.pod:1882
msgid "If no callback is registered: the event is ignored."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1777
+#: ../src/guestfs.pod:1758
msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1780
+#: ../src/guestfs.pod:1761
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 "
@@ -38932,12 +38903,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1786
+#: ../src/guestfs.pod:1767
msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1789
+#: ../src/guestfs.pod:1770
msgid ""
"Some long-running operations can generate progress messages. If this "
"callback is registered, then it will be called each time a progress message "
@@ -38947,14 +38918,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1795
+#: ../src/guestfs.pod:1776
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:1798
+#: ../src/guestfs.pod:1779
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 "
@@ -38963,24 +38934,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1803
+#: ../src/guestfs.pod:1784
msgid "The only defined and stable parts of the API are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1809
+#: ../src/guestfs.pod:1790
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:1814
+#: ../src/guestfs.pod:1795
msgid "0 E<lt>= C<position> E<lt>= C<total>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1818
+#: ../src/guestfs.pod:1799
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 "
@@ -38988,7 +38959,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1822
+#: ../src/guestfs.pod:1803
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 "
@@ -38996,7 +38967,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1828
+#: ../src/guestfs.pod:1809
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 "
@@ -39005,7 +38976,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1833
+#: ../src/guestfs.pod:1814
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 "
@@ -39013,14 +38984,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1837
+#: ../src/guestfs.pod:1818
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:1842
+#: ../src/guestfs.pod:1823
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 "
@@ -39029,31 +39000,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1848
+#: ../src/guestfs.pod:1829
msgid "If no callback is registered: progress messages are discarded."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1850
+#: ../src/guestfs.pod:1831
msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1853
+#: ../src/guestfs.pod:1834
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:1856
+#: ../src/guestfs.pod:1837
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:1859 ../src/guestfs.pod:1873
+#: ../src/guestfs.pod:1840 ../src/guestfs.pod:1854
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 "
@@ -39061,62 +39032,62 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1864
+#: ../src/guestfs.pod:1845
msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1867
+#: ../src/guestfs.pod:1848
msgid ""
"The callback function is called whenever a log message is generated by the "
"library part of libguestfs."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1870
+#: ../src/guestfs.pod:1851
msgid ""
"If the verbose flag (L</guestfs_set_verbose>) is set then additional debug "
"messages are generated."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1878
+#: ../src/guestfs.pod:1859
msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1881
+#: ../src/guestfs.pod:1862
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:1884
+#: ../src/guestfs.pod:1865
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: =item
-#: ../src/guestfs.pod:1888
+#: ../src/guestfs.pod:1869
msgid "GUESTFS_EVENT_ENTER (payload type: function name)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1891
+#: ../src/guestfs.pod:1872
msgid "The callback function is called whenever a libguestfs function is entered."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1894
+#: ../src/guestfs.pod:1875
msgid ""
"The payload is a string which contains the name of the function that we are "
"entering (not including C<guestfs_> prefix)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1897
+#: ../src/guestfs.pod:1878
msgid ""
"Note that libguestfs functions can call themselves, so you may see many "
"events from a single call. A few libguestfs functions do not generate this "
@@ -39124,12 +39095,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1905
+#: ../src/guestfs.pod:1886
msgid "guestfs_set_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1907
+#: ../src/guestfs.pod:1888
#, no-wrap
msgid ""
" int guestfs_set_event_callback (guestfs_h *g,\n"
@@ -39141,14 +39112,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1913
+#: ../src/guestfs.pod:1894
msgid ""
"This function registers a callback (C<cb>) for all event classes in the "
"C<event_bitmask>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1916
+#: ../src/guestfs.pod:1897
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>. "
@@ -39157,40 +39128,40 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1922
+#: ../src/guestfs.pod:1903
msgid "C<flags> should always be passed as 0."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1924
+#: ../src/guestfs.pod:1905
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:1927
+#: ../src/guestfs.pod:1908
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:1930
+#: ../src/guestfs.pod:1911
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:1933
+#: ../src/guestfs.pod:1914
msgid ""
"Callbacks remain in effect until they are deleted, or until the handle is "
"closed."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1936
+#: ../src/guestfs.pod:1917
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 "
@@ -39198,12 +39169,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1940
+#: ../src/guestfs.pod:1921
msgid "guestfs_delete_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1942
+#: ../src/guestfs.pod:1923
#, no-wrap
msgid ""
" void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n"
@@ -39211,7 +39182,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1944
+#: ../src/guestfs.pod:1925
msgid ""
"Delete a callback that was previously registered. C<event_handle> should be "
"the integer that was returned by a previous call to "
@@ -39219,12 +39190,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1948
+#: ../src/guestfs.pod:1929
msgid "guestfs_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1950
+#: ../src/guestfs.pod:1931
#, no-wrap
msgid ""
" typedef void (*guestfs_event_callback) (\n"
@@ -39239,12 +39210,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1959
+#: ../src/guestfs.pod:1940
msgid "This is the type of the event callback function that you have to provide."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1962
+#: ../src/guestfs.pod:1943
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 "
@@ -39252,7 +39223,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1966
+#: ../src/guestfs.pod:1947
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 "
@@ -39261,7 +39232,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1971
+#: ../src/guestfs.pod:1952
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 "
@@ -39269,19 +39240,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1975
+#: ../src/guestfs.pod:1956
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:1978
+#: ../src/guestfs.pod:1959
msgid "EXAMPLE: CAPTURING LOG MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1980
+#: ../src/guestfs.pod:1961
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 "
@@ -39289,7 +39260,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1984
+#: ../src/guestfs.pod:1965
msgid ""
"Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, "
"C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error "
@@ -39297,14 +39268,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1989
+#: ../src/guestfs.pod:1970
msgid ""
"Programs have to set up a callback to capture the classes of events of "
"interest:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1992
+#: ../src/guestfs.pod:1973
#, no-wrap
msgid ""
" int eh =\n"
@@ -39320,14 +39291,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2002
+#: ../src/guestfs.pod:1983
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:2005
+#: ../src/guestfs.pod:1986
#, no-wrap
msgid ""
" static void\n"
@@ -39348,12 +39319,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2020
+#: ../src/guestfs.pod:2001
msgid "CANCELLING LONG TRANSFERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2022
+#: ../src/guestfs.pod:2003
msgid ""
"Some operations can be cancelled by the caller while they are in progress. "
"Currently only operations that involve uploading or downloading data can be "
@@ -39362,12 +39333,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2027
+#: ../src/guestfs.pod:2008
msgid "guestfs_user_cancel"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2029
+#: ../src/guestfs.pod:2010
#, no-wrap
msgid ""
" void guestfs_user_cancel (guestfs_h *g);\n"
@@ -39375,12 +39346,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2031
+#: ../src/guestfs.pod:2012
msgid "C<guestfs_user_cancel> cancels the current upload or download operation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2034
+#: ../src/guestfs.pod:2015
msgid ""
"Unlike most other libguestfs calls, this function is signal safe and thread "
"safe. You can call it from a signal handler or from another thread, without "
@@ -39388,7 +39359,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2038
+#: ../src/guestfs.pod:2019
msgid ""
"The transfer that was in progress (if there is one) will stop shortly "
"afterwards, and will return an error. The errno (see "
@@ -39397,7 +39368,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2044
+#: ../src/guestfs.pod:2025
msgid ""
"No cleanup is performed: for example, if a file was being uploaded then "
"after cancellation there may be a partially uploaded file. It is the "
@@ -39405,12 +39376,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2048
+#: ../src/guestfs.pod:2029
msgid "There are two common places that you might call C<guestfs_user_cancel>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2050
+#: ../src/guestfs.pod:2031
msgid ""
"In an interactive text-based program, you might call it from a C<SIGINT> "
"signal handler so that pressing C<^C> cancels the current operation. (You "
@@ -39419,19 +39390,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2055
+#: ../src/guestfs.pod:2036
msgid ""
"In a graphical program, when the main thread is displaying a progress bar "
"with a cancel button, wire up the cancel button to call this function."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2059
+#: ../src/guestfs.pod:2040
msgid "PRIVATE DATA AREA"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2061
+#: ../src/guestfs.pod:2042
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 "
@@ -39439,12 +39410,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2066
+#: ../src/guestfs.pod:2047
msgid "To attach a named piece of data, use the following call:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2068
+#: ../src/guestfs.pod:2049
#, no-wrap
msgid ""
" void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
@@ -39452,7 +39423,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2070
+#: ../src/guestfs.pod:2051
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 key is "
@@ -39460,7 +39431,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2074
+#: ../src/guestfs.pod:2055
msgid ""
"You can use any C<key> you want, but your key should I<not> start with an "
"underscore character. Keys beginning with an underscore character are "
@@ -39470,12 +39441,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2080
+#: ../src/guestfs.pod:2061
msgid "To retrieve the pointer, use:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2082
+#: ../src/guestfs.pod:2063
#, no-wrap
msgid ""
" void *guestfs_get_private (guestfs_h *g, const char *key);\n"
@@ -39483,7 +39454,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2084
+#: ../src/guestfs.pod:2065
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 "
@@ -39491,7 +39462,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2088
+#: ../src/guestfs.pod:2069
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 "
@@ -39502,12 +39473,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2095
+#: ../src/guestfs.pod:2076
msgid "To walk over all entries, use these two functions:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2097
+#: ../src/guestfs.pod:2078
#, no-wrap
msgid ""
" void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n"
@@ -39515,7 +39486,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2099
+#: ../src/guestfs.pod:2080
#, no-wrap
msgid ""
" void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n"
@@ -39523,7 +39494,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2101
+#: ../src/guestfs.pod:2082
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 "
@@ -39533,7 +39504,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2107
+#: ../src/guestfs.pod:2088
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 "
@@ -39541,17 +39512,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2111
+#: ../src/guestfs.pod:2092
msgid "Notes about walking over entries:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2117
+#: ../src/guestfs.pod:2098
msgid "You must not call C<guestfs_set_private> while walking over the entries."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2122
+#: ../src/guestfs.pod:2103
msgid ""
"The handle maintains an internal iterator which is reset when you call "
"C<guestfs_first_private>. This internal iterator is invalidated when you "
@@ -39559,12 +39530,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2128
+#: ../src/guestfs.pod:2109
msgid "If you have set the data pointer associated with a key to C<NULL>, ie:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2130
+#: ../src/guestfs.pod:2111
#, no-wrap
msgid ""
" guestfs_set_private (g, key, NULL);\n"
@@ -39572,26 +39543,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2132
+#: ../src/guestfs.pod:2113
msgid "then that C<key> is not returned when walking."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2136
+#: ../src/guestfs.pod:2117
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:2142
+#: ../src/guestfs.pod:2123
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:2145
+#: ../src/guestfs.pod:2126
#, no-wrap
msgid ""
" const char *key;\n"
@@ -39605,14 +39576,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2153
+#: ../src/guestfs.pod:2134
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:2156
+#: ../src/guestfs.pod:2137
#, no-wrap
msgid ""
" const char *key;\n"
@@ -39627,7 +39598,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2165
+#: ../src/guestfs.pod:2146
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 "
@@ -39635,7 +39606,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2169
+#: ../src/guestfs.pod:2150
#, no-wrap
msgid ""
" const char *key;\n"
@@ -39657,7 +39628,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2185
+#: ../src/guestfs.pod:2166
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 "
@@ -39666,12 +39637,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2190
+#: ../src/guestfs.pod:2171
msgid "SYSTEMTAP"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2192
+#: ../src/guestfs.pod:2173
msgid ""
"The libguestfs C library can be probed using systemtap or DTrace. This is "
"true of any library, not just libguestfs. However libguestfs also contains "
@@ -39679,12 +39650,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2196
+#: ../src/guestfs.pod:2177
msgid "You can list all the static markers by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2198
+#: ../src/guestfs.pod:2179
#, no-wrap
msgid ""
" stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n"
@@ -39693,26 +39664,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2201
+#: ../src/guestfs.pod:2182
msgid ""
"B<Note:> These static markers are I<not> part of the stable API and may "
"change in future versions."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2204
+#: ../src/guestfs.pod:2185
msgid "SYSTEMTAP SCRIPT EXAMPLE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2206
+#: ../src/guestfs.pod:2187
msgid ""
"This script contains examples of displaying both the static markers and some "
"ordinary C entry points:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2209
+#: ../src/guestfs.pod:2190
#, no-wrap
msgid ""
" global last;\n"
@@ -39720,7 +39691,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2211
+#: ../src/guestfs.pod:2192
#, no-wrap
msgid ""
" function display_time () {\n"
@@ -39733,7 +39704,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2218
+#: ../src/guestfs.pod:2199
#, no-wrap
msgid ""
" printf (\"%d (+%d):\", now, delta);\n"
@@ -39742,7 +39713,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2221
+#: ../src/guestfs.pod:2202
#, no-wrap
msgid ""
" probe begin {\n"
@@ -39753,7 +39724,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2226
+#: ../src/guestfs.pod:2207
#, no-wrap
msgid ""
" /* Display all calls to static markers. */\n"
@@ -39766,7 +39737,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2233
+#: ../src/guestfs.pod:2214
#, no-wrap
msgid ""
" /* Display all calls to guestfs_mkfs* functions. */\n"
@@ -39779,7 +39750,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2240
+#: ../src/guestfs.pod:2221
msgid ""
"The script above can be saved to C<test.stap> and run using the L<stap(1)> "
"program. Note that you either have to be root, or you have to add yourself "
@@ -39788,7 +39759,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2245
+#: ../src/guestfs.pod:2226
#, no-wrap
msgid ""
" # stap /tmp/test.stap\n"
@@ -39797,17 +39768,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2248
+#: ../src/guestfs.pod:2229
msgid "In another terminal, run a guestfish command such as this:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2252
+#: ../src/guestfs.pod:2233
msgid "In the first terminal, stap trace output similar to this is shown:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2254
+#: ../src/guestfs.pod:2235
#, no-wrap
msgid ""
" 1318248056692655 (+0):\tlaunch_start\n"
@@ -39821,24 +39792,24 @@ msgid ""
msgstr ""
#. type: =end
-#: ../src/guestfs.pod:2261 ../src/guestfs.pod:2266
+#: ../src/guestfs.pod:2242 ../src/guestfs.pod:2247
msgid "html"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2263
+#: ../src/guestfs.pod:2244
msgid ""
"<!-- old anchor for the next section --> <a "
"name=\"state_machine_and_low_level_event_api\"/>"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2268
+#: ../src/guestfs.pod:2249
msgid "ARCHITECTURE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2270
+#: ../src/guestfs.pod:2251
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 "
@@ -39846,7 +39817,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2274
+#: ../src/guestfs.pod:2255
#, no-wrap
msgid ""
" ___________________\n"
@@ -39872,14 +39843,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2294
+#: ../src/guestfs.pod:2275
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:2297
+#: ../src/guestfs.pod:2278
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 "
@@ -39891,7 +39862,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2306
+#: ../src/guestfs.pod:2287
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 "
@@ -39902,17 +39873,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2313
+#: ../src/guestfs.pod:2294
msgid "STATE MACHINE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2315
+#: ../src/guestfs.pod:2296
msgid "libguestfs uses a state machine to model the child process:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2317
+#: ../src/guestfs.pod:2298
#, no-wrap
msgid ""
" |\n"
@@ -39940,7 +39911,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2339
+#: ../src/guestfs.pod:2320
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), "
@@ -39949,7 +39920,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2344
+#: ../src/guestfs.pod:2325
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 "
@@ -39957,14 +39928,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2348
+#: ../src/guestfs.pod:2329
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:2351
+#: ../src/guestfs.pod:2332
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 "
@@ -39973,7 +39944,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2357
+#: ../src/guestfs.pod:2338
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 "
@@ -39983,7 +39954,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2363
+#: ../src/guestfs.pod:2344
msgid ""
"Finally, the child process sends asynchronous messages back to the main "
"program, such as kernel log messages. You can register a callback to "
@@ -39991,17 +39962,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2367
+#: ../src/guestfs.pod:2348
msgid "INTERNALS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2369
+#: ../src/guestfs.pod:2350
msgid "APPLIANCE BOOT PROCESS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2371
+#: ../src/guestfs.pod:2352
msgid ""
"This process has evolved and continues to evolve. The description here "
"corresponds only to the current version of libguestfs and is provided for "
@@ -40009,55 +39980,55 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2375
+#: ../src/guestfs.pod:2356
msgid ""
"In order to follow the stages involved below, enable libguestfs debugging "
"(set the environment variable C<LIBGUESTFS_DEBUG=1>)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2380
+#: ../src/guestfs.pod:2361
msgid "Create the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2382
+#: ../src/guestfs.pod:2363
msgid ""
"C<febootstrap-supermin-helper> is invoked to create the kernel, a small "
"initrd and the appliance."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2385
+#: ../src/guestfs.pod:2366
msgid ""
"The appliance is cached in C</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another "
"directory if C<TMPDIR> is set)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2388
+#: ../src/guestfs.pod:2369
msgid ""
"For a complete description of how the appliance is created and cached, read "
"the L<febootstrap(8)> and L<febootstrap-supermin-helper(8)> man pages."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2392
+#: ../src/guestfs.pod:2373
msgid "Start qemu and boot the kernel"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2394
+#: ../src/guestfs.pod:2375
msgid "qemu is invoked to boot the kernel."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2396
+#: ../src/guestfs.pod:2377
msgid "Run the initrd"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2398
+#: ../src/guestfs.pod:2379
msgid ""
"C<febootstrap-supermin-helper> builds a small initrd. The initrd is not the "
"appliance. The purpose of the initrd is to load enough kernel modules in "
@@ -40065,21 +40036,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2402
+#: ../src/guestfs.pod:2383
msgid ""
"The initrd is a cpio archive called "
"C</var/tmp/.guestfs-E<lt>UIDE<gt>/initrd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2405
+#: ../src/guestfs.pod:2386
msgid ""
"When the initrd has started you will see messages showing that kernel "
"modules are being loaded, similar to this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2408
+#: ../src/guestfs.pod:2389
#, no-wrap
msgid ""
" febootstrap: ext2 mini initrd starting up\n"
@@ -40090,12 +40061,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2413
+#: ../src/guestfs.pod:2394
msgid "Find and mount the appliance device"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2415
+#: ../src/guestfs.pod:2396
msgid ""
"The appliance is a sparse file containing an ext2 filesystem which contains "
"a familiar (although reduced in size) Linux operating system. It would "
@@ -40103,33 +40074,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2419
+#: ../src/guestfs.pod:2400
msgid ""
"The regular disks being inspected by libguestfs are the first devices "
"exposed by qemu (eg. as C</dev/vda>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2422
+#: ../src/guestfs.pod:2403
msgid ""
"The last disk added to qemu is the appliance itself (eg. C</dev/vdb> if "
"there was only one regular disk)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2425
+#: ../src/guestfs.pod:2406
msgid ""
"Thus the final job of the initrd is to locate the appliance disk, mount it, "
"and switch root into the appliance, and run C</init> from the appliance."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2429
+#: ../src/guestfs.pod:2410
msgid "If this works successfully you will see messages such as:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2431
+#: ../src/guestfs.pod:2412
#, no-wrap
msgid ""
" febootstrap: picked /sys/block/vdb/dev as root device\n"
@@ -40141,19 +40112,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2437
+#: ../src/guestfs.pod:2418
msgid ""
"Note that C<Starting /init script ...> indicates that the appliance's init "
"script is now running."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2440
+#: ../src/guestfs.pod:2421
msgid "Initialize the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2442
+#: ../src/guestfs.pod:2423
msgid ""
"The appliance itself now initializes itself. This involves starting certain "
"processes like C<udev>, possibly printing some debug information, and "
@@ -40161,19 +40132,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2446
+#: ../src/guestfs.pod:2427
msgid "The daemon"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2448
+#: ../src/guestfs.pod:2429
msgid ""
"Finally the daemon (C<guestfsd>) runs inside the appliance. If it runs you "
"should see:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2451
+#: ../src/guestfs.pod:2432
#, no-wrap
msgid ""
" verbose daemon enabled\n"
@@ -40181,14 +40152,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2453
+#: ../src/guestfs.pod:2434
msgid ""
"The daemon expects to see a named virtio-serial port exposed by qemu and "
"connected on the other end to the library."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2456
+#: ../src/guestfs.pod:2437
msgid ""
"The daemon connects to this port (and hence to the library) and sends a four "
"byte message C<GUESTFS_LAUNCH_FLAG>, which initiates the communication "
@@ -40196,19 +40167,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2462
+#: ../src/guestfs.pod:2443
msgid "COMMUNICATION PROTOCOL"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2464
+#: ../src/guestfs.pod:2445
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:2467
+#: ../src/guestfs.pod:2448
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 "
@@ -40216,14 +40187,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2471
+#: ../src/guestfs.pod:2452
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:2474
+#: ../src/guestfs.pod:2455
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 "
@@ -40233,17 +40204,17 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2481
+#: ../src/guestfs.pod:2462
msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2483
+#: ../src/guestfs.pod:2464
msgid "For ordinary functions, the request message is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2485
+#: ../src/guestfs.pod:2466
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -40254,7 +40225,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2490
+#: ../src/guestfs.pod:2471
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 "
@@ -40263,21 +40234,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2496
+#: ../src/guestfs.pod:2477
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:2499
+#: ../src/guestfs.pod:2480
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:2503
+#: ../src/guestfs.pod:2484
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 "
@@ -40289,12 +40260,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2511
+#: ../src/guestfs.pod:2492
msgid "The reply message for ordinary functions is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2513
+#: ../src/guestfs.pod:2494
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -40305,26 +40276,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2518
+#: ../src/guestfs.pod:2499
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:2521
+#: ../src/guestfs.pod:2502
msgid "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2524
+#: ../src/guestfs.pod:2505
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:2527
+#: ../src/guestfs.pod:2508
#, no-wrap
msgid ""
" total length (header + error,\n"
@@ -40335,19 +40306,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2532
+#: ../src/guestfs.pod:2513
msgid ""
"The C<guestfs_message_error> structure contains the error message as a "
"string."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2535
+#: ../src/guestfs.pod:2516
msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2537
+#: ../src/guestfs.pod:2518
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 "
@@ -40355,7 +40326,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2541
+#: ../src/guestfs.pod:2522
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -40369,12 +40340,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2549
+#: ../src/guestfs.pod:2530
msgid "The \"sequence of chunks\" is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2551
+#: ../src/guestfs.pod:2532
#, no-wrap
msgid ""
" length of chunk (not including length word itself)\n"
@@ -40388,7 +40359,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2559
+#: ../src/guestfs.pod:2540
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 "
@@ -40396,7 +40367,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2563
+#: ../src/guestfs.pod:2544
msgid ""
"At time of writing there are no functions that have more than one FileIn "
"parameter. However this is (theoretically) supported, by sending the "
@@ -40405,7 +40376,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2568
+#: ../src/guestfs.pod:2549
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 "
@@ -40414,7 +40385,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2574
+#: ../src/guestfs.pod:2555
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 "
@@ -40426,7 +40397,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2583
+#: ../src/guestfs.pod:2564
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 "
@@ -40436,19 +40407,19 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2589
+#: ../src/guestfs.pod:2570
msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2591
+#: ../src/guestfs.pod:2572
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:2594
+#: ../src/guestfs.pod:2575
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -40462,12 +40433,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2602
+#: ../src/guestfs.pod:2583
msgid "INITIAL MESSAGE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2604
+#: ../src/guestfs.pod:2585
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 "
@@ -40475,12 +40446,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2608
+#: ../src/guestfs.pod:2589
msgid "PROGRESS NOTIFICATION MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2610
+#: ../src/guestfs.pod:2591
msgid ""
"The daemon may send progress notification messages at any time. These are "
"distinguished by the normal length word being replaced by "
@@ -40488,7 +40459,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2614
+#: ../src/guestfs.pod:2595
msgid ""
"The library turns them into progress callbacks (see "
"L</GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards "
@@ -40496,7 +40467,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2618
+#: ../src/guestfs.pod:2599
msgid ""
"The daemon self-limits the frequency of progress messages it sends (see "
"C<daemon/proto.c:notify_progress>). Not all calls generate progress "
@@ -40504,12 +40475,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2622
+#: ../src/guestfs.pod:2603
msgid "LIBGUESTFS VERSION NUMBERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2624
+#: ../src/guestfs.pod:2605
msgid ""
"Since April 2010, libguestfs has started to make separate development and "
"stable releases, along with corresponding branches in our git repository. "
@@ -40517,7 +40488,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2629
+#: ../src/guestfs.pod:2610
#, no-wrap
msgid ""
" even numbers for stable: 1.2.x, 1.4.x, ...\n"
@@ -40534,12 +40505,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2640
+#: ../src/guestfs.pod:2621
msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2642
+#: ../src/guestfs.pod:2623
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 "
@@ -40549,26 +40520,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2648
+#: ../src/guestfs.pod:2629
msgid "Our criteria for backporting changes are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2654
+#: ../src/guestfs.pod:2635
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:2660
+#: ../src/guestfs.pod:2641
msgid ""
"Bug fixes which are not controversial, fix obvious problems, and have been "
"well tested are backported."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2665
+#: ../src/guestfs.pod:2646
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 "
@@ -40576,7 +40547,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2671
+#: ../src/guestfs.pod:2652
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 "
@@ -40584,7 +40555,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2677
+#: ../src/guestfs.pod:2658
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 "
@@ -40595,17 +40566,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2685
+#: ../src/guestfs.pod:2666
msgid "EXTENDING LIBGUESTFS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2687
+#: ../src/guestfs.pod:2668
msgid "ADDING A NEW API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2689
+#: ../src/guestfs.pod:2670
msgid ""
"Large amounts of boilerplate code in libguestfs (RPC, bindings, "
"documentation) are generated, and this makes it easy to extend the "
@@ -40613,19 +40584,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2693
+#: ../src/guestfs.pod:2674
msgid "To add a new API action there are two changes:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2699
+#: ../src/guestfs.pod:2680
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:2702
+#: ../src/guestfs.pod:2683
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 "
@@ -40636,7 +40607,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2710
+#: ../src/guestfs.pod:2691
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 "
@@ -40646,7 +40617,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2716
+#: ../src/guestfs.pod:2697
msgid ""
"For library-only actions of the second type, add to the "
"C<non_daemon_functions> list. Since these functions are serviced by the "
@@ -40656,36 +40627,36 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2724
+#: ../src/guestfs.pod:2705
msgid "Implement the action (in C):"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2726
+#: ../src/guestfs.pod:2707
msgid ""
"For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the "
"C<daemon/> directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2729
+#: ../src/guestfs.pod:2710
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:2732
+#: ../src/guestfs.pod:2713
msgid "In either case, use another function as an example of what to do."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2736
+#: ../src/guestfs.pod:2717
msgid "After making these changes, use C<make> to compile."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2738
+#: ../src/guestfs.pod:2719
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 "
@@ -40693,12 +40664,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2742
+#: ../src/guestfs.pod:2723
msgid "ADDING TESTS FOR AN API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2744
+#: ../src/guestfs.pod:2725
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 "
@@ -40708,61 +40679,61 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2751
+#: ../src/guestfs.pod:2732
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:2754
+#: ../src/guestfs.pod:2735
msgid "The test environment has 4 block devices:"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2758
+#: ../src/guestfs.pod:2739
msgid "C</dev/sda> 500MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2760
+#: ../src/guestfs.pod:2741
msgid "General block device for testing."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2762
+#: ../src/guestfs.pod:2743
msgid "C</dev/sdb> 50MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2764
+#: ../src/guestfs.pod:2745
msgid ""
"C</dev/sdb1> is an ext2 filesystem used for testing filesystem write "
"operations."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2767
+#: ../src/guestfs.pod:2748
msgid "C</dev/sdc> 10MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2769
+#: ../src/guestfs.pod:2750
msgid "Used in a few tests where two block devices are needed."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2771
+#: ../src/guestfs.pod:2752
msgid "C</dev/sdd>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2773
+#: ../src/guestfs.pod:2754
msgid "ISO with fixed content (see C<images/test.iso>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2777
+#: ../src/guestfs.pod:2758
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 "
@@ -40770,7 +40741,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2781
+#: ../src/guestfs.pod:2762
msgid ""
"Each test starts with an initial scenario, selected using one of the "
"C<Init*> expressions, described in C<generator/generator_types.ml>. These "
@@ -40780,7 +40751,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2787
+#: ../src/guestfs.pod:2768
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 "
@@ -40790,14 +40761,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2793
+#: ../src/guestfs.pod:2774
msgid ""
"In addition, packagers can skip individual tests by setting environment "
"variables before running C<make check>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2796
+#: ../src/guestfs.pod:2777
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>_<NUM>=1\n"
@@ -40805,12 +40776,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2798
+#: ../src/guestfs.pod:2779
msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2802
+#: ../src/guestfs.pod:2783
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>=1\n"
@@ -40818,17 +40789,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2804
+#: ../src/guestfs.pod:2785
msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2806
+#: ../src/guestfs.pod:2787
msgid "Packagers can run only certain tests by setting for example:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2808
+#: ../src/guestfs.pod:2789
#, no-wrap
msgid ""
" TEST_ONLY=\"vfs_type zerofree\"\n"
@@ -40836,29 +40807,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2810
+#: ../src/guestfs.pod:2791
msgid ""
"See C<tests/c-api/tests.c> for more details of how these environment "
"variables work."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2813
+#: ../src/guestfs.pod:2794
msgid "DEBUGGING NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2815
+#: ../src/guestfs.pod:2796
msgid "Test new actions work before submitting them."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2817
+#: ../src/guestfs.pod:2798
msgid "You can use guestfish to try out new commands."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2819
+#: ../src/guestfs.pod:2800
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 "
@@ -40866,12 +40837,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2823
+#: ../src/guestfs.pod:2804
msgid "FORMATTING CODE AND OTHER CONVENTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2825
+#: ../src/guestfs.pod:2806
msgid ""
"Our C source code generally adheres to some basic code-formatting "
"conventions. The existing code base is not totally consistent on this "
@@ -40881,14 +40852,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2831
+#: ../src/guestfs.pod:2812
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:2834
+#: ../src/guestfs.pod:2815
#, no-wrap
msgid ""
" ;;; In libguestfs, indent with spaces everywhere (not TABs).\n"
@@ -40904,7 +40875,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2844
+#: ../src/guestfs.pod:2825
#, no-wrap
msgid ""
" ;;; When editing C sources in libguestfs, use this style.\n"
@@ -40922,12 +40893,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2856
+#: ../src/guestfs.pod:2837
msgid "Enable warnings when compiling (and fix any problems this finds):"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2859
+#: ../src/guestfs.pod:2840
#, no-wrap
msgid ""
" ./configure --enable-gcc-warnings\n"
@@ -40935,12 +40906,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2861
+#: ../src/guestfs.pod:2842
msgid "Useful targets are:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2863
+#: ../src/guestfs.pod:2844
#, no-wrap
msgid ""
" make syntax-check # checks the syntax of the C code\n"
@@ -40949,43 +40920,43 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2866
+#: ../src/guestfs.pod:2847
msgid "DAEMON CUSTOM PRINTF FORMATTERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2868
+#: ../src/guestfs.pod:2849
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:2873
+#: ../src/guestfs.pod:2854
msgid "%Q"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2875
+#: ../src/guestfs.pod:2856
msgid ""
"Simple shell quoted string. Any spaces or other shell characters are "
"escaped for you."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2878
+#: ../src/guestfs.pod:2859
msgid "%R"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2880
+#: ../src/guestfs.pod:2861
msgid ""
"Same as C<%Q> except the string is treated as a path which is prefixed by "
"the sysroot."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2887
+#: ../src/guestfs.pod:2868
#, no-wrap
msgid ""
" asprintf (&cmd, \"cat %R\", path);\n"
@@ -40993,12 +40964,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2889
+#: ../src/guestfs.pod:2870
msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2891
+#: ../src/guestfs.pod:2872
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 "
@@ -41007,12 +40978,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2897
+#: ../src/guestfs.pod:2878
msgid "SUBMITTING YOUR NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2899
+#: ../src/guestfs.pod:2880
msgid ""
"Submit patches to the mailing list: "
"L<http://www.redhat.com/mailman/listinfo/libguestfs> and CC to "
@@ -41020,17 +40991,17 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2903
+#: ../src/guestfs.pod:2884
msgid "INTERNATIONALIZATION (I18N) SUPPORT"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2905
+#: ../src/guestfs.pod:2886
msgid "We support i18n (gettext anyhow) in the library."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2907
+#: ../src/guestfs.pod:2888
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 "
@@ -41039,115 +41010,115 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2913
+#: ../src/guestfs.pod:2894
msgid ""
"Debugging messages are never translated, since they are intended for the "
"programmers."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2916
+#: ../src/guestfs.pod:2897
msgid "SOURCE CODE SUBDIRECTORIES"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2920
+#: ../src/guestfs.pod:2901
msgid "C<align>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2922
+#: ../src/guestfs.pod:2903
msgid "L<virt-alignment-scan(1)> command and documentation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2926
+#: ../src/guestfs.pod:2907
msgid "The libguestfs appliance, build scripts and so on."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2928
+#: ../src/guestfs.pod:2909
msgid "C<cat>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2930
+#: ../src/guestfs.pod:2911
msgid ""
"The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and "
"documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2933
+#: ../src/guestfs.pod:2914
msgid "C<clone>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2935
+#: ../src/guestfs.pod:2916
msgid ""
"Tools for cloning virtual machines. Currently contains L<virt-sysprep(1)> "
"command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2938
+#: ../src/guestfs.pod:2919
msgid "C<contrib>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2940
+#: ../src/guestfs.pod:2921
msgid "Outside contributions, experimental parts."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2942
+#: ../src/guestfs.pod:2923
msgid "C<daemon>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2944
+#: ../src/guestfs.pod:2925
msgid ""
"The daemon that runs inside the libguestfs appliance and carries out "
"actions."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2947
+#: ../src/guestfs.pod:2928
msgid "C<df>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2949
+#: ../src/guestfs.pod:2930
msgid "L<virt-df(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2951
+#: ../src/guestfs.pod:2932
msgid "C<edit>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2953
+#: ../src/guestfs.pod:2934
msgid "L<virt-edit(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2955
+#: ../src/guestfs.pod:2936
msgid "C<examples>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2957
+#: ../src/guestfs.pod:2938
msgid "C API example code."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2959
+#: ../src/guestfs.pod:2940
msgid "C<fish>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2961
+#: ../src/guestfs.pod:2942
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)>, "
@@ -41155,79 +41126,79 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2967
+#: ../src/guestfs.pod:2948
msgid "L<virt-format(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2969
+#: ../src/guestfs.pod:2950
msgid "C<fuse>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2971
+#: ../src/guestfs.pod:2952
msgid "L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2973
+#: ../src/guestfs.pod:2954
msgid "C<generator>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2975
+#: ../src/guestfs.pod:2956
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:2978
+#: ../src/guestfs.pod:2959
msgid "C<inspector>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2980
+#: ../src/guestfs.pod:2961
msgid "L<virt-inspector(1)>, the virtual machine image inspector."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2982
+#: ../src/guestfs.pod:2963
msgid "C<logo>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2984
+#: ../src/guestfs.pod:2965
msgid "Logo used on the website. The fish is called Arthur by the way."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2986
+#: ../src/guestfs.pod:2967
msgid "C<m4>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2988
+#: ../src/guestfs.pod:2969
msgid "M4 macros used by autoconf."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2990
+#: ../src/guestfs.pod:2971
msgid "C<po>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2992
+#: ../src/guestfs.pod:2973
msgid "Translations of simple gettext strings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2994
+#: ../src/guestfs.pod:2975
msgid "C<po-docs>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2996
+#: ../src/guestfs.pod:2977
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 "
@@ -41235,139 +41206,139 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3000
+#: ../src/guestfs.pod:2981
msgid "C<rescue>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3002
+#: ../src/guestfs.pod:2983
msgid "L<virt-rescue(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3004
+#: ../src/guestfs.pod:2985
msgid "C<resize>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3006
+#: ../src/guestfs.pod:2987
msgid "L<virt-resize(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3008
+#: ../src/guestfs.pod:2989
msgid "C<sparsify>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3010
+#: ../src/guestfs.pod:2991
msgid "L<virt-sparsify(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3012
+#: ../src/guestfs.pod:2993
msgid "C<src>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3014
+#: ../src/guestfs.pod:2995
msgid "Source code to the C library."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3016
+#: ../src/guestfs.pod:2997
msgid "C<test-tool>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3018
+#: ../src/guestfs.pod:2999
msgid ""
"Test tool for end users to test if their qemu/kernel combination will work "
"with libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3021
+#: ../src/guestfs.pod:3002
msgid "C<tests>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3023
+#: ../src/guestfs.pod:3004
msgid "Tests."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3025
+#: ../src/guestfs.pod:3006
msgid "C<tools>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3027
+#: ../src/guestfs.pod:3008
msgid "Command line tools written in Perl (L<virt-win-reg(1)> and many others)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3029
+#: ../src/guestfs.pod:3010
msgid "C<csharp>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3031
+#: ../src/guestfs.pod:3012
msgid "C<erlang>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3033
+#: ../src/guestfs.pod:3014
msgid "C<gobject>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3035
+#: ../src/guestfs.pod:3016
msgid "C<haskell>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3037
+#: ../src/guestfs.pod:3018
msgid "C<java>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3039
+#: ../src/guestfs.pod:3020
msgid "C<ocaml>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3041
+#: ../src/guestfs.pod:3022
msgid "C<php>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3043
+#: ../src/guestfs.pod:3024
msgid "C<perl>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3045
+#: ../src/guestfs.pod:3026
msgid "C<python>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3047
+#: ../src/guestfs.pod:3028
msgid "C<ruby>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3049
+#: ../src/guestfs.pod:3030
msgid "Language bindings."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3053
+#: ../src/guestfs.pod:3034
msgid "MAKING A STABLE RELEASE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3055
+#: ../src/guestfs.pod:3036
msgid ""
"When we make a stable release, there are several steps documented here. See "
"L</LIBGUESTFS VERSION NUMBERS> for general information about the stable "
@@ -41375,32 +41346,32 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3063
+#: ../src/guestfs.pod:3044
msgid "Check C<make && make check> works on at least Fedora, Debian and Ubuntu."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3068
+#: ../src/guestfs.pod:3049
msgid "Finalize RELEASE-NOTES."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3072
+#: ../src/guestfs.pod:3053
msgid "Update ROADMAP."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3076
+#: ../src/guestfs.pod:3057
msgid "Run C<src/api-support/update-from-tarballs.sh>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3080
+#: ../src/guestfs.pod:3061
msgid "Push and pull from Transifex."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3084
+#: ../src/guestfs.pod:3065
#, no-wrap
msgid ""
" tx push -s\n"
@@ -41408,12 +41379,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3086
+#: ../src/guestfs.pod:3067
msgid "to push the latest POT files to Transifex. Then run:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3088
+#: ../src/guestfs.pod:3069
#, no-wrap
msgid ""
" ./tx-pull.sh\n"
@@ -41421,24 +41392,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3090
+#: ../src/guestfs.pod:3071
msgid "which is a wrapper to pull the latest translated C<*.po> files."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3094
+#: ../src/guestfs.pod:3075
msgid ""
"Create new stable and development directories under "
"L<http://libguestfs.org/download>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3099
+#: ../src/guestfs.pod:3080
msgid "Create the branch in git:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3101
+#: ../src/guestfs.pod:3082
#, no-wrap
msgid ""
" git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n"
@@ -41449,17 +41420,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:3108
+#: ../src/guestfs.pod:3089
msgid "LIMITS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3110
+#: ../src/guestfs.pod:3091
msgid "PROTOCOL LIMITS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3112
+#: ../src/guestfs.pod:3093
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 "
@@ -41470,7 +41441,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3120
+#: ../src/guestfs.pod:3101
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 "
@@ -41479,7 +41450,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3126
+#: ../src/guestfs.pod:3107
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> "
@@ -41487,24 +41458,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3130
+#: ../src/guestfs.pod:3111
msgid ""
"You might also consider mounting the disk image using our FUSE filesystem "
"support (L<guestmount(1)>)."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3133
+#: ../src/guestfs.pod:3114
msgid "MAXIMUM NUMBER OF DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3135
+#: ../src/guestfs.pod:3116
msgid "When using virtio disks (the default) the current limit is B<25> disks."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3138
+#: ../src/guestfs.pod:3119
msgid ""
"Virtio itself consumes 1 virtual PCI slot per disk, and PCI is limited to 31 "
"slots. However febootstrap only understands disks with names C</dev/vda> "
@@ -41513,14 +41484,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3143
+#: ../src/guestfs.pod:3124
msgid ""
"We are working to substantially raise this limit in future versions but it "
"requires complex changes to qemu."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3146
+#: ../src/guestfs.pod:3127
msgid ""
"In future versions of libguestfs it should also be possible to \"hot plug\" "
"disks (add and remove disks after calling L</guestfs_launch>). This also "
@@ -41528,41 +41499,41 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3150
+#: ../src/guestfs.pod:3131
msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3152
+#: ../src/guestfs.pod:3133
msgid "Virtio limits the maximum number of partitions per disk to B<15>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3154
+#: ../src/guestfs.pod:3135
msgid ""
"This is because it reserves 4 bits for the minor device number (thus "
"C</dev/vda>, and C</dev/vda1> through C</dev/vda15>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3157
+#: ../src/guestfs.pod:3138
msgid ""
"If you attach a disk with more than 15 partitions, the extra partitions are "
"ignored by libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3160
+#: ../src/guestfs.pod:3141
msgid "MAXIMUM SIZE OF A DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3162
+#: ../src/guestfs.pod:3143
msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3164
+#: ../src/guestfs.pod:3145
msgid ""
"We have tested block devices up to 1 exabyte (2**60 or "
"1,152,921,504,606,846,976 bytes) using sparse files backed by an XFS host "
@@ -41570,7 +41541,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3168
+#: ../src/guestfs.pod:3149
msgid ""
"Although libguestfs probably does not impose any limit, the underlying host "
"storage will. If you store disk images on a host ext4 filesystem, then the "
@@ -41580,19 +41551,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3174
+#: ../src/guestfs.pod:3155
msgid ""
"For the hugest disk image files, we recommend using XFS on the host for "
"storage."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3177
+#: ../src/guestfs.pod:3158
msgid "MAXIMUM SIZE OF A PARTITION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3179
+#: ../src/guestfs.pod:3160
msgid ""
"The MBR (ie. classic MS-DOS) partitioning scheme uses 32 bit sector "
"numbers. Assuming a 512 byte sector size, this means that MBR cannot "
@@ -41600,7 +41571,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3183
+#: ../src/guestfs.pod:3164
msgid ""
"It is recommended that you use GPT partitions on disks which are larger than "
"this size. GPT uses 64 bit sector numbers and so can address partitions "
@@ -41608,12 +41579,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3188
+#: ../src/guestfs.pod:3169
msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3190
+#: ../src/guestfs.pod:3171
msgid ""
"This depends on the filesystem type. libguestfs itself does not impose any "
"known limit. Consult Wikipedia or the filesystem documentation to find out "
@@ -41621,12 +41592,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3194
+#: ../src/guestfs.pod:3175
msgid "MAXIMUM UPLOAD AND DOWNLOAD"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3196
+#: ../src/guestfs.pod:3177
msgid ""
"The API functions L</guestfs_upload>, L</guestfs_download>, "
"L</guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized "
@@ -41634,12 +41605,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3200
+#: ../src/guestfs.pod:3181
msgid "INSPECTION LIMITS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3202
+#: ../src/guestfs.pod:3183
msgid ""
"The inspection code has several arbitrary limits on things like the size of "
"Windows Registry hive it will read, and the length of product name. These "
@@ -41649,33 +41620,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3228
+#: ../src/guestfs.pod:3209
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: textblock
-#: ../src/guestfs.pod:3240
+#: ../src/guestfs.pod:3221
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: textblock
-#: ../src/guestfs.pod:3249
+#: ../src/guestfs.pod:3230
msgid "See also L</QEMU WRAPPERS> above."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3253
+#: ../src/guestfs.pod:3234
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: textblock
-#: ../src/guestfs.pod:3271
+#: ../src/guestfs.pod:3252
msgid ""
"L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, "
"L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, "
@@ -41692,59 +41663,59 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3310
+#: ../src/guestfs.pod:3291
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:3317 ../tools/virt-make-fs.pl:574 ../tools/virt-win-reg.pl:772
+#: ../src/guestfs.pod:3298 ../tools/virt-make-fs.pl:574 ../tools/virt-win-reg.pl:772
msgid "BUGS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3319
+#: ../src/guestfs.pod:3300
msgid "To get a list of bugs against libguestfs use this link:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3321
+#: ../src/guestfs.pod:3302
msgid "L<https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3323
+#: ../src/guestfs.pod:3304
msgid "To report a new bug against libguestfs use this link:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3325
+#: ../src/guestfs.pod:3306
msgid "L<https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3327
+#: ../src/guestfs.pod:3308
msgid "When reporting a bug, please check:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3333
+#: ../src/guestfs.pod:3314
msgid "That the bug hasn't been reported already."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3337
+#: ../src/guestfs.pod:3318
msgid "That you are testing a recent version."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3341
+#: ../src/guestfs.pod:3322
msgid "Describe the bug accurately, and give a way to reproduce it."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3345
+#: ../src/guestfs.pod:3326
msgid ""
"Run libguestfs-test-tool and paste the B<complete, unedited> output into the "
"bug report."
diff --git a/po-docs/uk.po b/po-docs/uk.po
index ebcb80d8..6d9f2087 100644
--- a/po-docs/uk.po
+++ b/po-docs/uk.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
-"POT-Creation-Date: 2012-04-24 11:27+0200\n"
+"POT-Creation-Date: 2012-05-01 15:29+0200\n"
"PO-Revision-Date: 2012-01-23 13:10+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
@@ -464,7 +464,7 @@ msgstr ""
#: ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242
#: ../fish/guestfish.pod:673 ../format/virt-format.pod:96
#: ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:161
-#: ../src/guestfs.pod:2885
+#: ../src/guestfs.pod:2866
msgid "For example:"
msgstr "Приклад:"
@@ -1010,22 +1010,22 @@ msgstr "Ця програма повертає:"
#: ../src/guestfs-actions.pod:2880 ../src/guestfs-actions.pod:3423
#: ../src/guestfs-actions.pod:3429 ../src/guestfs-actions.pod:3437
#: ../src/guestfs-actions.pod:3444 ../src/guestfs-actions.pod:3451
-#: ../src/guestfs.pod:403 ../src/guestfs.pod:408 ../src/guestfs.pod:413
-#: ../src/guestfs.pod:417 ../src/guestfs.pod:422 ../src/guestfs.pod:426
-#: ../src/guestfs.pod:431 ../src/guestfs.pod:436 ../src/guestfs.pod:1116
-#: ../src/guestfs.pod:1120 ../src/guestfs.pod:1124 ../src/guestfs.pod:1129
-#: ../src/guestfs.pod:1137 ../src/guestfs.pod:1156 ../src/guestfs.pod:1164
-#: ../src/guestfs.pod:1186 ../src/guestfs.pod:1190 ../src/guestfs.pod:1194
-#: ../src/guestfs.pod:1198 ../src/guestfs.pod:1202 ../src/guestfs.pod:1206
-#: ../src/guestfs.pod:1696 ../src/guestfs.pod:1701 ../src/guestfs.pod:1705
-#: ../src/guestfs.pod:1807 ../src/guestfs.pod:1812 ../src/guestfs.pod:1816
-#: ../src/guestfs.pod:1826 ../src/guestfs.pod:2115 ../src/guestfs.pod:2120
-#: ../src/guestfs.pod:2126 ../src/guestfs.pod:2134 ../src/guestfs.pod:2652
-#: ../src/guestfs.pod:2658 ../src/guestfs.pod:2663 ../src/guestfs.pod:2669
-#: ../src/guestfs.pod:3061 ../src/guestfs.pod:3066 ../src/guestfs.pod:3070
-#: ../src/guestfs.pod:3074 ../src/guestfs.pod:3078 ../src/guestfs.pod:3092
-#: ../src/guestfs.pod:3097 ../src/guestfs.pod:3331 ../src/guestfs.pod:3335
-#: ../src/guestfs.pod:3339 ../src/guestfs.pod:3343
+#: ../src/guestfs.pod:384 ../src/guestfs.pod:389 ../src/guestfs.pod:394
+#: ../src/guestfs.pod:398 ../src/guestfs.pod:403 ../src/guestfs.pod:407
+#: ../src/guestfs.pod:412 ../src/guestfs.pod:417 ../src/guestfs.pod:1097
+#: ../src/guestfs.pod:1101 ../src/guestfs.pod:1105 ../src/guestfs.pod:1110
+#: ../src/guestfs.pod:1118 ../src/guestfs.pod:1137 ../src/guestfs.pod:1145
+#: ../src/guestfs.pod:1167 ../src/guestfs.pod:1171 ../src/guestfs.pod:1175
+#: ../src/guestfs.pod:1179 ../src/guestfs.pod:1183 ../src/guestfs.pod:1187
+#: ../src/guestfs.pod:1677 ../src/guestfs.pod:1682 ../src/guestfs.pod:1686
+#: ../src/guestfs.pod:1788 ../src/guestfs.pod:1793 ../src/guestfs.pod:1797
+#: ../src/guestfs.pod:1807 ../src/guestfs.pod:2096 ../src/guestfs.pod:2101
+#: ../src/guestfs.pod:2107 ../src/guestfs.pod:2115 ../src/guestfs.pod:2633
+#: ../src/guestfs.pod:2639 ../src/guestfs.pod:2644 ../src/guestfs.pod:2650
+#: ../src/guestfs.pod:3042 ../src/guestfs.pod:3047 ../src/guestfs.pod:3051
+#: ../src/guestfs.pod:3055 ../src/guestfs.pod:3059 ../src/guestfs.pod:3073
+#: ../src/guestfs.pod:3078 ../src/guestfs.pod:3312 ../src/guestfs.pod:3316
+#: ../src/guestfs.pod:3320 ../src/guestfs.pod:3324
#: ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202
#: ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:721
#: ../tools/virt-win-reg.pl:727 ../tools/virt-win-reg.pl:733
@@ -1091,7 +1091,7 @@ msgstr ""
#: ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:39
#: ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:325
#: ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36
-#: ../sparsify/virt-sparsify.pod:284 ../src/guestfs.pod:3269
+#: ../sparsify/virt-sparsify.pod:284 ../src/guestfs.pod:3250
#: ../test-tool/libguestfs-test-tool.pod:100
#: ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267
#: ../tools/virt-make-fs.pl:559 ../tools/virt-tar.pl:296
@@ -1147,7 +1147,7 @@ msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
#: ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:56
#: ../python/examples/guestfs-python.pod:58 ../rescue/virt-rescue.pod:338
#: ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:52
-#: ../sparsify/virt-sparsify.pod:301 ../src/guestfs.pod:3354
+#: ../sparsify/virt-sparsify.pod:301 ../src/guestfs.pod:3335
#: ../test-tool/libguestfs-test-tool.pod:110
#: ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283
#: ../tools/virt-make-fs.pl:589 ../tools/virt-tar.pl:315
@@ -3858,7 +3858,7 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1171
+#: ../clone/virt-sysprep.pod:429 ../src/guestfs.pod:1152
msgid "SECURITY"
msgstr "БЕЗПЕКА"
@@ -4757,7 +4757,7 @@ msgstr ""
#. type: =head1
#: ../edit/virt-edit.pod:329 ../fish/guestfish.pod:1119
#: ../rescue/virt-rescue.pod:298 ../sparsify/virt-sparsify.pod:257
-#: ../src/guestfs.pod:3208 ../test-tool/libguestfs-test-tool.pod:95
+#: ../src/guestfs.pod:3189 ../test-tool/libguestfs-test-tool.pod:95
msgid "ENVIRONMENT VARIABLES"
msgstr "ЗМІННІ СЕРЕДОВИЩА"
@@ -5027,7 +5027,7 @@ msgstr ""
#: ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91
#: ../perl/examples/guestfs-perl.pod:52
#: ../python/examples/guestfs-python.pod:54
-#: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3350
+#: ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:3331
#: ../test-tool/libguestfs-test-tool.pod:106
msgid "AUTHORS"
msgstr "АВТОРИ"
@@ -5041,7 +5041,7 @@ msgstr "АВТОРИ"
#: ../fuse/guestmount.pod:330 ../java/examples/guestfs-java.pod:60
#: ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:54
#: ../python/examples/guestfs-python.pod:56
-#: ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3352
+#: ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:3333
#: ../test-tool/libguestfs-test-tool.pod:108
msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
msgstr "Richard W.M. Jones (C<rjones at redhat dot com>)"
@@ -5072,7 +5072,7 @@ msgstr ""
#: ../ocaml/examples/guestfs-ocaml.pod:102
#: ../perl/examples/guestfs-perl.pod:63
#: ../python/examples/guestfs-python.pod:65
-#: ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3359
+#: ../ruby/examples/guestfs-ruby.pod:59 ../src/guestfs.pod:3340
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 "
@@ -5087,7 +5087,7 @@ msgstr ""
#: ../ocaml/examples/guestfs-ocaml.pod:107
#: ../perl/examples/guestfs-perl.pod:68
#: ../python/examples/guestfs-python.pod:70
-#: ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3364
+#: ../ruby/examples/guestfs-ruby.pod:64 ../src/guestfs.pod:3345
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 "
@@ -5102,7 +5102,7 @@ msgstr ""
#: ../ocaml/examples/guestfs-ocaml.pod:112
#: ../perl/examples/guestfs-perl.pod:73
#: ../python/examples/guestfs-python.pod:75
-#: ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3369
+#: ../ruby/examples/guestfs-ruby.pod:69 ../src/guestfs.pod:3350
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, "
@@ -5460,7 +5460,7 @@ msgstr ""
#: ../fish/guestfish-actions.pod:1509 ../fish/guestfish-actions.pod:1774
#: ../fish/guestfish-actions.pod:2189 ../src/guestfs-actions.pod:18
#: ../src/guestfs-actions.pod:2438 ../src/guestfs-actions.pod:2862
-#: ../src/guestfs-actions.pod:3419 ../src/guestfs.pod:1692
+#: ../src/guestfs-actions.pod:3419 ../src/guestfs.pod:1673
#: ../tools/virt-win-reg.pl:717
msgid "Notes:"
msgstr "Нотатки:"
@@ -6134,7 +6134,7 @@ msgstr ""
#. type: textblock
#: ../examples/guestfs-testing.pod:54 ../examples/guestfs-testing.pod:161
#: ../examples/guestfs-testing.pod:174 ../examples/guestfs-testing.pod:234
-#: ../src/guestfs.pod:2800
+#: ../src/guestfs.pod:2781
msgid "or:"
msgstr "або:"
@@ -6308,7 +6308,7 @@ msgid "Try importing virt-df CSV output into a spreadsheet or database."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3082
+#: ../examples/guestfs-testing.pod:131 ../src/guestfs.pod:3063
msgid "Run:"
msgstr "Віддайте команду:"
@@ -7059,7 +7059,7 @@ msgstr ""
#. type: =item
#: ../fish/guestfish-actions.pod:171 ../src/guestfs-actions.pod:231
-#: ../src/guestfs.pod:2965
+#: ../src/guestfs.pod:2946
msgid "C<format>"
msgstr "C<format>"
@@ -16618,7 +16618,7 @@ msgstr ""
#. type: =item
#: ../fish/guestfish-actions.pod:4441 ../src/guestfs-actions.pod:6919
-#: ../src/guestfs.pod:2924
+#: ../src/guestfs.pod:2905
msgid "C<appliance>"
msgstr "C<appliance>"
@@ -20437,7 +20437,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2250
+#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2231
#, no-wrap
msgid ""
" guestfish -N fs\n"
@@ -21930,7 +21930,7 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../fish/guestfish.pod:825 ../src/guestfs.pod:534
+#: ../fish/guestfish.pod:825 ../src/guestfs.pod:515
msgid "ENCRYPTED DISKS"
msgstr "ЗАШИФРОВАНІ ДИСКИ"
@@ -22295,7 +22295,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:982 ../src/guestfs.pod:987
+#: ../fish/guestfish.pod:982 ../src/guestfs.pod:968
#, no-wrap
msgid ""
" #!/bin/bash -\n"
@@ -22586,7 +22586,7 @@ msgid "COMMANDS"
msgstr "КОМАНДИ"
#. type: textblock
-#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1527
+#: ../fish/guestfish.pod:1112 ../src/guestfs.pod:1508
msgid "@ACTIONS@"
msgstr "@ACTIONS@"
@@ -22610,17 +22610,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3212
+#: ../fish/guestfish.pod:1128 ../src/guestfs.pod:3193
msgid "FEBOOTSTRAP_KERNEL"
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3214
+#: ../fish/guestfish.pod:1130 ../src/guestfs.pod:3195
msgid "FEBOOTSTRAP_MODULES"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3216
+#: ../fish/guestfish.pod:1132 ../src/guestfs.pod:3197
msgid ""
"These two environment variables allow the kernel that libguestfs uses in the "
"appliance to be selected. If C<$FEBOOTSTRAP_KERNEL> is not set, then the "
@@ -22678,17 +22678,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3222
+#: ../fish/guestfish.pod:1160 ../src/guestfs.pod:3203
msgid "LIBGUESTFS_APPEND"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3224
+#: ../fish/guestfish.pod:1162 ../src/guestfs.pod:3205
msgid "Pass additional options to the guest kernel."
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3226
+#: ../fish/guestfish.pod:1164 ../src/guestfs.pod:3207
msgid "LIBGUESTFS_DEBUG"
msgstr "LIBGUESTFS_DEBUG"
@@ -22700,18 +22700,18 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3231
+#: ../fish/guestfish.pod:1169 ../src/guestfs.pod:3212
msgid "LIBGUESTFS_MEMSIZE"
msgstr "LIBGUESTFS_MEMSIZE"
#. type: textblock
-#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3233
+#: ../fish/guestfish.pod:1171 ../src/guestfs.pod:3214
msgid ""
"Set the memory allocated to the qemu process, in megabytes. For example:"
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3236
+#: ../fish/guestfish.pod:1174 ../src/guestfs.pod:3217
#, no-wrap
msgid ""
" LIBGUESTFS_MEMSIZE=700\n"
@@ -22721,7 +22721,7 @@ msgstr ""
"\n"
#. type: =item
-#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3238
+#: ../fish/guestfish.pod:1176 ../src/guestfs.pod:3219
msgid "LIBGUESTFS_PATH"
msgstr ""
@@ -22733,19 +22733,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3243
+#: ../fish/guestfish.pod:1181 ../src/guestfs.pod:3224
msgid "LIBGUESTFS_QEMU"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3245
+#: ../fish/guestfish.pod:1183 ../src/guestfs.pod:3226
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: =item
-#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3251
+#: ../fish/guestfish.pod:1187 ../src/guestfs.pod:3232
msgid "LIBGUESTFS_TRACE"
msgstr ""
@@ -22768,19 +22768,19 @@ msgstr ""
#. type: =item
#: ../fish/guestfish.pod:1196 ../sparsify/virt-sparsify.pod:261
-#: ../src/guestfs.pod:3256
+#: ../src/guestfs.pod:3237
msgid "TMPDIR"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3258
+#: ../fish/guestfish.pod:1198 ../src/guestfs.pod:3239
msgid ""
"Location of temporary directory, defaults to C</tmp> except for the cached "
"supermin appliance which defaults to C</var/tmp>."
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3261
+#: ../fish/guestfish.pod:1201 ../src/guestfs.pod:3242
msgid ""
"If libguestfs was compiled to use the supermin appliance then the real "
"appliance is cached in this directory, shared between all handles belonging "
@@ -22929,7 +22929,7 @@ msgstr ""
#. type: textblock
#: ../fish/guestfish.pod:1302 ../fuse/guestmount.pod:334
-#: ../src/guestfs.pod:3356 ../test-tool/libguestfs-test-tool.pod:112
+#: ../src/guestfs.pod:3337 ../test-tool/libguestfs-test-tool.pod:112
msgid "Copyright (C) 2009-2012 Red Hat Inc. L<http://libguestfs.org/>"
msgstr ""
@@ -25570,8 +25570,8 @@ msgstr ""
#. type: =item
#: ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603
-#: ../sparsify/virt-sparsify.pod:228 ../src/guestfs.pod:484
-#: ../src/guestfs.pod:1309 ../src/guestfs.pod:1448 ../src/guestfs.pod:2697
+#: ../sparsify/virt-sparsify.pod:228 ../src/guestfs.pod:465
+#: ../src/guestfs.pod:1290 ../src/guestfs.pod:1429 ../src/guestfs.pod:2678
msgid "1."
msgstr "1."
@@ -25610,8 +25610,8 @@ msgstr ""
#. type: =item
#: ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610
-#: ../sparsify/virt-sparsify.pod:235 ../src/guestfs.pod:490
-#: ../src/guestfs.pod:1313 ../src/guestfs.pod:1452 ../src/guestfs.pod:2722
+#: ../sparsify/virt-sparsify.pod:235 ../src/guestfs.pod:471
+#: ../src/guestfs.pod:1294 ../src/guestfs.pod:1433 ../src/guestfs.pod:2703
msgid "2."
msgstr "2."
@@ -25633,8 +25633,8 @@ msgstr ""
#. type: =item
#: ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616
-#: ../sparsify/virt-sparsify.pod:241 ../src/guestfs.pod:501
-#: ../src/guestfs.pod:1458
+#: ../sparsify/virt-sparsify.pod:241 ../src/guestfs.pod:482
+#: ../src/guestfs.pod:1439
msgid "3."
msgstr "3."
@@ -37977,69 +37977,44 @@ msgstr ""
#. type: textblock
#: ../src/guestfs.pod:25
+#, fuzzy
+#| msgid "guestfs - Library for accessing and modifying virtual machine images"
msgid ""
-"Libguestfs is a library for accessing and modifying guest disk images. "
-"Amongst the things this is good for: making batch configuration changes to "
-"guests, getting disk used/free statistics (see also: virt-df), migrating "
-"between virtualization systems (see also: virt-p2v), performing partial "
-"backups, performing partial guest clones, cloning guests and changing "
-"registry/UUID/hostname info, and much else besides."
-msgstr ""
-
-#. type: textblock
-#: ../src/guestfs.pod:33
-msgid ""
-"Libguestfs uses Linux kernel and qemu code, and can access any type of guest "
-"filesystem that Linux and qemu can, including but not limited to: ext2/3/4, "
-"btrfs, FAT and NTFS, LVM, many different disk partition schemes, qcow, "
-"qcow2, vmdk."
-msgstr ""
-
-#. type: textblock
-#: ../src/guestfs.pod:38
-msgid ""
-"Libguestfs provides ways to enumerate guest storage (eg. partitions, LVs, "
-"what filesystem is in each LV, etc.). It can also run commands in the "
-"context of the guest. Also you can access filesystems over FUSE."
-msgstr ""
-
-#. type: textblock
-#: ../src/guestfs.pod:43
-msgid ""
-"Libguestfs is a library that can be linked with C and C++ management "
-"programs (or management programs written in OCaml, Perl, Python, Ruby, Java, "
-"PHP, Erlang, Haskell or C#). You can also use it from shell scripts or the "
-"command line."
+"Libguestfs is a library for accessing and modifying disk images and virtual "
+"machines. This manual page documents the C API."
msgstr ""
+"guestfs — бібліотека для доступу та внесення змін до образів віртуальних "
+"машин"
#. type: textblock
-#: ../src/guestfs.pod:48
+#: ../src/guestfs.pod:28
msgid ""
-"You don't need to be root to use libguestfs, although obviously you do need "
-"enough permissions to access the disk images."
+"If you are looking for an introduction to libguestfs, see the web site: "
+"L<http://libguestfs.org/>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:51
+#: ../src/guestfs.pod:31
msgid ""
-"Libguestfs is a large API because it can do many things. For a gentle "
-"introduction, please read the L</API OVERVIEW> section next."
+"Each virt tool has its own man page (for a full list, go to L</SEE ALSO> at "
+"the end of this file)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:54
+#: ../src/guestfs.pod:34
msgid ""
-"There are also some example programs in the L<guestfs-examples(3)> manual "
-"page."
+"For examples of using the API from C, see L<guestfs-examples(3)>. For "
+"examples in other languages, see L</USING LIBGUESTFS WITH OTHER PROGRAMMING "
+"LANGUAGES> below."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:57
+#: ../src/guestfs.pod:38
msgid "API OVERVIEW"
msgstr "ОГЛЯД API"
#. type: textblock
-#: ../src/guestfs.pod:59
+#: ../src/guestfs.pod:40
msgid ""
"This section provides a gentler overview of the libguestfs API. We also try "
"to group API calls together, where that may not be obvious from reading "
@@ -38047,12 +38022,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:64
+#: ../src/guestfs.pod:45
msgid "HANDLES"
msgstr "ОБРОБНИКИ"
#. type: textblock
-#: ../src/guestfs.pod:66
+#: ../src/guestfs.pod:47
msgid ""
"Before you can use libguestfs calls, you have to create a handle. Then you "
"must add at least one disk image to the handle, followed by launching the "
@@ -38062,12 +38037,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:73
+#: ../src/guestfs.pod:54
msgid "The general structure of all libguestfs-using programs looks like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:76
+#: ../src/guestfs.pod:57
#, no-wrap
msgid ""
" guestfs_h *g = guestfs_create ();\n"
@@ -38077,7 +38052,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:78
+#: ../src/guestfs.pod:59
#, no-wrap
msgid ""
" /* Call guestfs_add_drive additional times if there are\n"
@@ -38088,7 +38063,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:83
+#: ../src/guestfs.pod:64
#, no-wrap
msgid ""
" /* Most manipulation calls won't work until you've launched\n"
@@ -38100,7 +38075,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:89
+#: ../src/guestfs.pod:70
#, no-wrap
msgid ""
" /* Now you can examine what partitions, LVs etc are available.\n"
@@ -38116,7 +38091,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:94
+#: ../src/guestfs.pod:75
#, no-wrap
msgid ""
" /* To access a filesystem in the image, you must mount it.\n"
@@ -38130,7 +38105,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:98
+#: ../src/guestfs.pod:79
#, no-wrap
msgid ""
" /* Now you can perform filesystem actions on the guest\n"
@@ -38146,7 +38121,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:103
+#: ../src/guestfs.pod:84
#, no-wrap
msgid ""
" /* This is only needed for libguestfs < 1.5.24. Since then\n"
@@ -38158,7 +38133,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:109
+#: ../src/guestfs.pod:90
#, no-wrap
msgid ""
" /* Close the handle 'g'. */\n"
@@ -38170,7 +38145,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:112
+#: ../src/guestfs.pod:93
msgid ""
"The code above doesn't include any error checking. In real code you should "
"check return values carefully for errors. In general all functions that "
@@ -38182,12 +38157,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:121
+#: ../src/guestfs.pod:102
msgid "DISK IMAGES"
msgstr "ОБРАЗИ ДИСКІВ"
#. type: textblock
-#: ../src/guestfs.pod:123
+#: ../src/guestfs.pod:104
msgid ""
"The image filename (C<\"guest.img\"> in the example above) could be a disk "
"image from a virtual machine, a L<dd(1)> copy of a physical hard disk, an "
@@ -38197,7 +38172,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:129
+#: ../src/guestfs.pod:110
msgid ""
"The call you should use in modern code for adding drives is L</"
"guestfs_add_drive_opts>. To add a disk image, allowing writes, and "
@@ -38205,7 +38180,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:133
+#: ../src/guestfs.pod:114
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -38219,12 +38194,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:137
+#: ../src/guestfs.pod:118
msgid "You can add a disk read-only using:"
msgstr "Ви можете додати диск у режимі лише читання:"
#. type: verbatim
-#: ../src/guestfs.pod:139
+#: ../src/guestfs.pod:120
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -38240,14 +38215,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:144
+#: ../src/guestfs.pod:125
msgid ""
"or by calling the older function L</guestfs_add_drive_ro>. In either case "
"libguestfs won't modify the file."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:147
+#: ../src/guestfs.pod:128
msgid ""
"Be extremely cautious if the disk image is in use, eg. if it is being used "
"by a virtual machine. Adding it read-write will almost certainly cause disk "
@@ -38255,7 +38230,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:151
+#: ../src/guestfs.pod:132
msgid ""
"You must add at least one disk image, and you may add multiple disk images. "
"In the API, the disk images are usually referred to as C</dev/sda> (for the "
@@ -38263,7 +38238,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:156
+#: ../src/guestfs.pod:137
msgid ""
"Once L</guestfs_launch> has been called you cannot add any more images. You "
"can call L</guestfs_list_devices> to get a list of the device names, in the "
@@ -38271,12 +38246,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:161
+#: ../src/guestfs.pod:142
msgid "MOUNTING"
msgstr "МОНТУВАННЯ"
#. type: textblock
-#: ../src/guestfs.pod:163
+#: ../src/guestfs.pod:144
msgid ""
"Before you can read or write files, create directories and so on in a disk "
"image that contains filesystems, you have to mount those filesystems using "
@@ -38286,7 +38261,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:170
+#: ../src/guestfs.pod:151
#, no-wrap
msgid ""
" guestfs_mount_options (g, \"\", \"/dev/sda1\", \"/\");\n"
@@ -38296,7 +38271,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:172
+#: ../src/guestfs.pod:153
msgid ""
"where C</dev/sda1> means literally the first partition (C<1>) of the first "
"disk image that we added (C</dev/sda>). If the disk contains Linux LVM2 "
@@ -38306,7 +38281,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:178
+#: ../src/guestfs.pod:159
msgid ""
"If you are given a disk image and you don't know what it contains then you "
"have to find out. Libguestfs can do that too: use L</"
@@ -38317,7 +38292,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:186
+#: ../src/guestfs.pod:167
msgid ""
"Libguestfs also has a set of APIs for inspection of unknown disk images (see "
"L</INSPECTION> below). But you might find it easier to look at higher level "
@@ -38325,19 +38300,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:191
+#: ../src/guestfs.pod:172
msgid ""
"To mount a filesystem read-only, use L</guestfs_mount_ro>. There are "
"several other variations of the C<guestfs_mount_*> call."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:194
+#: ../src/guestfs.pod:175
msgid "FILESYSTEM ACCESS AND MODIFICATION"
msgstr "ДОСТУП ТА ВНЕСЕННЯ ЗМІН ДО ФАЙЛОВИХ СИСТЕМ"
#. type: textblock
-#: ../src/guestfs.pod:196
+#: ../src/guestfs.pod:177
msgid ""
"The majority of the libguestfs API consists of fairly low-level calls for "
"accessing and modifying the files, directories, symlinks etc on mounted "
@@ -38347,7 +38322,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:202
+#: ../src/guestfs.pod:183
msgid ""
"Specify filenames as full paths, starting with C<\"/\"> and including the "
"mount point."
@@ -38356,7 +38331,7 @@ msgstr ""
"точкою монтування."
#. type: textblock
-#: ../src/guestfs.pod:205
+#: ../src/guestfs.pod:186
msgid ""
"For example, if you mounted a filesystem at C<\"/\"> and you want to read "
"the file called C<\"etc/passwd\"> then you could do:"
@@ -38366,7 +38341,7 @@ msgstr ""
"таким кодом:"
#. type: verbatim
-#: ../src/guestfs.pod:208
+#: ../src/guestfs.pod:189
#, no-wrap
msgid ""
" char *data = guestfs_cat (g, \"/etc/passwd\");\n"
@@ -38376,7 +38351,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:210
+#: ../src/guestfs.pod:191
msgid ""
"This would return C<data> as a newly allocated buffer containing the full "
"content of that file (with some conditions: see also L</DOWNLOADING> below), "
@@ -38384,14 +38359,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:214
+#: ../src/guestfs.pod:195
msgid ""
"As another example, to create a top-level directory on that filesystem "
"called C<\"var\"> you would do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:217
+#: ../src/guestfs.pod:198
#, no-wrap
msgid ""
" guestfs_mkdir (g, \"/var\");\n"
@@ -38401,12 +38376,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:219
+#: ../src/guestfs.pod:200
msgid "To create a symlink you could do:"
msgstr "Щоб створити символічне посилання, ви можете скористатися таким кодом:"
#. type: verbatim
-#: ../src/guestfs.pod:221
+#: ../src/guestfs.pod:202
#, no-wrap
msgid ""
" guestfs_ln_s (g, \"/etc/init.d/portmap\",\n"
@@ -38418,14 +38393,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:224
+#: ../src/guestfs.pod:205
msgid ""
"Libguestfs will reject attempts to use relative paths and there is no "
"concept of a current working directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:227
+#: ../src/guestfs.pod:208
msgid ""
"Libguestfs can return errors in many situations: for example if the "
"filesystem isn't writable, or if a file or directory that you requested "
@@ -38435,33 +38410,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:233
+#: ../src/guestfs.pod:214
msgid ""
"File writes are affected by the per-handle umask, set by calling L</"
"guestfs_umask> and defaulting to 022. See L</UMASK>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:236
+#: ../src/guestfs.pod:217
msgid "PARTITIONING"
msgstr "ПОДІЛ НА РОЗДІЛИ"
#. type: textblock
-#: ../src/guestfs.pod:238
+#: ../src/guestfs.pod:219
msgid ""
"Libguestfs contains API calls to read, create and modify partition tables on "
"disk images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:241
+#: ../src/guestfs.pod:222
msgid ""
"In the common case where you want to create a single partition covering the "
"whole disk, you should use the L</guestfs_part_disk> call:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:245
+#: ../src/guestfs.pod:226
#, no-wrap
msgid ""
" const char *parttype = \"mbr\";\n"
@@ -38477,18 +38452,18 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:250
+#: ../src/guestfs.pod:231
msgid ""
"Obviously this effectively wipes anything that was on that disk image before."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:253
+#: ../src/guestfs.pod:234
msgid "LVM2"
msgstr "LVM2"
#. type: textblock
-#: ../src/guestfs.pod:255
+#: ../src/guestfs.pod:236
msgid ""
"Libguestfs provides access to a large part of the LVM2 API, such as L</"
"guestfs_lvcreate> and L</guestfs_vgremove>. It won't make much sense unless "
@@ -38497,19 +38472,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:260
+#: ../src/guestfs.pod:241
msgid ""
"This author strongly recommends reading the LVM HOWTO, online at L<http://"
"tldp.org/HOWTO/LVM-HOWTO/>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:263
+#: ../src/guestfs.pod:244
msgid "DOWNLOADING"
msgstr "ОТРИМАННЯ ДАНИХ"
#. type: textblock
-#: ../src/guestfs.pod:265
+#: ../src/guestfs.pod:246
msgid ""
"Use L</guestfs_cat> to download small, text only files. This call is "
"limited to files which are less than 2 MB and which cannot contain any ASCII "
@@ -38517,7 +38492,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:269
+#: ../src/guestfs.pod:250
msgid ""
"L</guestfs_read_file> can be used to read files which contain arbitrary 8 "
"bit data, since it returns a (pointer, size) pair. However it is still "
@@ -38525,31 +38500,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:273
+#: ../src/guestfs.pod:254
msgid ""
"L</guestfs_download> can be used to download any file, with no limits on "
"content or size (even files larger than 4 GB)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:276
+#: ../src/guestfs.pod:257
msgid ""
"To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:279
+#: ../src/guestfs.pod:260
msgid "UPLOADING"
msgstr "ВИВАНТАЖЕННЯ"
#. type: textblock
-#: ../src/guestfs.pod:281
+#: ../src/guestfs.pod:262
msgid ""
"It's often the case that you want to write a file or files to the disk image."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:284
+#: ../src/guestfs.pod:265
msgid ""
"To write a small file with fixed content, use L</guestfs_write>. To create "
"a file of all zeroes, use L</guestfs_truncate_size> (sparse) or L</"
@@ -38559,20 +38534,20 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:290
+#: ../src/guestfs.pod:271
msgid ""
"To upload a single file, use L</guestfs_upload>. This call has no limits on "
"file content or size (even files larger than 4 GB)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:293
+#: ../src/guestfs.pod:274
msgid ""
"To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:295
+#: ../src/guestfs.pod:276
msgid ""
"However the fastest way to upload I<large numbers of arbitrary files> is to "
"turn them into a squashfs or CD ISO (see L<mksquashfs(8)> and L<mkisofs(8)"
@@ -38586,12 +38561,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:306
+#: ../src/guestfs.pod:287
msgid "COPYING"
msgstr "КОПІЮВАННЯ"
#. type: textblock
-#: ../src/guestfs.pod:308
+#: ../src/guestfs.pod:289
msgid ""
"There are various different commands for copying between files and devices "
"and in and out of the guest filesystem. These are summarised in the table "
@@ -38599,52 +38574,52 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:314
+#: ../src/guestfs.pod:295
msgid "B<file> to B<file>"
msgstr "B<файл> у B<файл>"
#. type: textblock
-#: ../src/guestfs.pod:316
+#: ../src/guestfs.pod:297
msgid ""
"Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy "
"directories recursively."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:319
+#: ../src/guestfs.pod:300
msgid ""
"To copy part of a file (offset and size) use L</guestfs_copy_file_to_file>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:322
+#: ../src/guestfs.pod:303
msgid "B<file> to B<device>"
msgstr "B<файл> на B<пристрій>"
#. type: =item
-#: ../src/guestfs.pod:324
+#: ../src/guestfs.pod:305
msgid "B<device> to B<file>"
msgstr "B<пристрій> до B<файла>"
#. type: =item
-#: ../src/guestfs.pod:326
+#: ../src/guestfs.pod:307
msgid "B<device> to B<device>"
msgstr "B<пристрій> на B<пристрій>"
#. type: textblock
-#: ../src/guestfs.pod:328
+#: ../src/guestfs.pod:309
msgid ""
"Use L</guestfs_copy_file_to_device>, L</guestfs_copy_device_to_file>, or L</"
"guestfs_copy_device_to_device>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:331
+#: ../src/guestfs.pod:312
msgid "Example: duplicate the contents of an LV:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:333
+#: ../src/guestfs.pod:314
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
@@ -38655,7 +38630,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:338
+#: ../src/guestfs.pod:319
msgid ""
"The destination (C</dev/VG/Copy>) must be at least as large as the source "
"(C</dev/VG/Original>). To copy less than the whole source device, use the "
@@ -38663,7 +38638,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:342
+#: ../src/guestfs.pod:323
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
@@ -38674,32 +38649,32 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:347
+#: ../src/guestfs.pod:328
msgid "B<file on the host> to B<file or device>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:349
+#: ../src/guestfs.pod:330
msgid "Use L</guestfs_upload>. See L</UPLOADING> above."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:351
+#: ../src/guestfs.pod:332
msgid "B<file or device> to B<file on the host>"
msgstr "B<файл або пристрій> у B<файл на вузлі>"
#. type: textblock
-#: ../src/guestfs.pod:353
+#: ../src/guestfs.pod:334
msgid "Use L</guestfs_download>. See L</DOWNLOADING> above."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:357
+#: ../src/guestfs.pod:338
msgid "UPLOADING AND DOWNLOADING TO PIPES AND FILE DESCRIPTORS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:359
+#: ../src/guestfs.pod:340
msgid ""
"Calls like L</guestfs_upload>, L</guestfs_download>, L</guestfs_tar_in>, L</"
"guestfs_tar_out> etc appear to only take filenames as arguments, so it "
@@ -38710,12 +38685,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:367
+#: ../src/guestfs.pod:348
msgid "For example, L<virt-cat(1)> writes its output to stdout by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:370
+#: ../src/guestfs.pod:351
#, no-wrap
msgid ""
" guestfs_download (g, filename, \"/dev/stdout\");\n"
@@ -38725,12 +38700,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:372
+#: ../src/guestfs.pod:353
msgid "and you can write tar output to a file descriptor C<fd> by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:374
+#: ../src/guestfs.pod:355
#, no-wrap
msgid ""
" char devfd[64];\n"
@@ -38744,26 +38719,26 @@ msgstr ""
"\n"
#. type: =head2
-#: ../src/guestfs.pod:378
+#: ../src/guestfs.pod:359
msgid "LISTING FILES"
msgstr "СПИСКИ ФАЙЛІВ"
#. type: textblock
-#: ../src/guestfs.pod:380
+#: ../src/guestfs.pod:361
msgid ""
"L</guestfs_ll> is just designed for humans to read (mainly when using the "
"L<guestfish(1)>-equivalent command C<ll>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:383
+#: ../src/guestfs.pod:364
msgid ""
"L</guestfs_ls> is a quick way to get a list of files in a directory from "
"programs, as a flat list of strings."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:386
+#: ../src/guestfs.pod:367
msgid ""
"L</guestfs_readdir> is a programmatic way to get a list of files in a "
"directory, plus additional information about each one. It is more "
@@ -38771,18 +38746,18 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:390
+#: ../src/guestfs.pod:371
msgid ""
"L</guestfs_find> and L</guestfs_find0> can be used to recursively list files."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:393
+#: ../src/guestfs.pod:374
msgid "RUNNING COMMANDS"
msgstr "ВИКОНАННЯ КОМАНД"
#. type: textblock
-#: ../src/guestfs.pod:395
+#: ../src/guestfs.pod:376
msgid ""
"Although libguestfs is primarily an API for manipulating files inside guest "
"images, we also provide some limited facilities for running commands inside "
@@ -38790,56 +38765,56 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:399
+#: ../src/guestfs.pod:380
msgid "There are many limitations to this:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:405
+#: ../src/guestfs.pod:386
msgid ""
"The kernel version that the command runs under will be different from what "
"it expects."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:410
+#: ../src/guestfs.pod:391
msgid ""
"If the command needs to communicate with daemons, then most likely they "
"won't be running."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:415
+#: ../src/guestfs.pod:396
msgid "The command will be running in limited memory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:419
+#: ../src/guestfs.pod:400
msgid ""
"The network may not be available unless you enable it (see L</"
"guestfs_set_network>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:424
+#: ../src/guestfs.pod:405
msgid "Only supports Linux guests (not Windows, BSD, etc)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:428
+#: ../src/guestfs.pod:409
msgid ""
"Architecture limitations (eg. won't work for a PPC guest on an X86 host)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:433
+#: ../src/guestfs.pod:414
msgid ""
"For SELinux guests, you may need to enable SELinux and load policy first. "
"See L</SELINUX> in this manpage."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:438
+#: ../src/guestfs.pod:419
msgid ""
"I<Security:> It is not safe to run commands from untrusted, possibly "
"malicious guests. These commands may attempt to exploit your program by "
@@ -38851,7 +38826,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:447
+#: ../src/guestfs.pod:428
msgid ""
"A secure alternative is to use libguestfs to install a \"firstboot\" script "
"(a script which runs when the guest next boots normally), and to have this "
@@ -38861,26 +38836,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:455
+#: ../src/guestfs.pod:436
msgid ""
"The two main API calls to run commands are L</guestfs_command> and L</"
"guestfs_sh> (there are also variations)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:458
+#: ../src/guestfs.pod:439
msgid ""
"The difference is that L</guestfs_sh> runs commands using the shell, so any "
"shell globs, redirections, etc will work."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:461
+#: ../src/guestfs.pod:442
msgid "CONFIGURATION FILES"
msgstr "ФАЙЛИ НАЛАШТУВАННЯ"
#. type: textblock
-#: ../src/guestfs.pod:463
+#: ../src/guestfs.pod:444
msgid ""
"To read and write configuration files in Linux guest filesystems, we "
"strongly recommend using Augeas. For example, Augeas understands how to "
@@ -38889,7 +38864,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:468
+#: ../src/guestfs.pod:449
msgid ""
"The main Augeas calls are bound through the C<guestfs_aug_*> APIs. We don't "
"document Augeas itself here because there is excellent documentation on the "
@@ -38897,7 +38872,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:472
+#: ../src/guestfs.pod:453
msgid ""
"If you don't want to use Augeas (you fool!) then try calling L</"
"guestfs_read_lines> to get the file as a list of lines which you can iterate "
@@ -38905,24 +38880,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:476
+#: ../src/guestfs.pod:457
msgid "SELINUX"
msgstr "SELINUX"
#. type: textblock
-#: ../src/guestfs.pod:478
+#: ../src/guestfs.pod:459
msgid ""
"We support SELinux guests. To ensure that labeling happens correctly in "
"SELinux guests, you need to enable SELinux and load the guest's policy:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:486
+#: ../src/guestfs.pod:467
msgid "Before launching, do:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:488
+#: ../src/guestfs.pod:469
#, no-wrap
msgid ""
" guestfs_set_selinux (g, 1);\n"
@@ -38932,14 +38907,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:492
+#: ../src/guestfs.pod:473
msgid ""
"After mounting the guest's filesystem(s), load the policy. This is best "
"done by running the L<load_policy(8)> command in the guest itself:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:496
+#: ../src/guestfs.pod:477
#, no-wrap
msgid ""
" guestfs_sh (g, \"/usr/sbin/load_policy\");\n"
@@ -38949,21 +38924,21 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:498
+#: ../src/guestfs.pod:479
msgid ""
"(Older versions of C<load_policy> require you to specify the name of the "
"policy file)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:503
+#: ../src/guestfs.pod:484
msgid ""
"Optionally, set the security context for the API. The correct security "
"context to use can only be known by inspecting the guest. As an example:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:507
+#: ../src/guestfs.pod:488
#, no-wrap
msgid ""
" guestfs_setcon (g, \"unconfined_u:unconfined_r:unconfined_t:s0\");\n"
@@ -38973,24 +38948,24 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:511
+#: ../src/guestfs.pod:492
msgid "This will work for running commands and editing existing files."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:513
+#: ../src/guestfs.pod:494
msgid ""
"When new files are created, you may need to label them explicitly, for "
"example by running the external command C<restorecon pathname>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:517
+#: ../src/guestfs.pod:498
msgid "UMASK"
msgstr "UMASK"
#. type: textblock
-#: ../src/guestfs.pod:519
+#: ../src/guestfs.pod:500
msgid ""
"Certain calls are affected by the current file mode creation mask (the "
"\"umask\"). In particular ones which create files or directories, such as "
@@ -39000,14 +38975,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:525
+#: ../src/guestfs.pod:506
msgid ""
"The default umask is C<022>, so files are created with modes such as C<0644> "
"and directories with C<0755>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:528
+#: ../src/guestfs.pod:509
msgid ""
"There are two ways to avoid being affected by umask. Either set umask to 0 "
"(call C<guestfs_umask (g, 0)> early after launching). Or call L</"
@@ -39015,12 +38990,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:532
+#: ../src/guestfs.pod:513
msgid "For more information about umask, see L<umask(2)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:536
+#: ../src/guestfs.pod:517
msgid ""
"Libguestfs allows you to access Linux guests which have been encrypted using "
"whole disk encryption that conforms to the Linux Unified Key Setup (LUKS) "
@@ -39029,21 +39004,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:542
+#: ../src/guestfs.pod:523
msgid ""
"Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it "
"returns the string C<crypto_LUKS>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:545
+#: ../src/guestfs.pod:526
msgid ""
"Then open these devices by calling L</guestfs_luks_open>. Obviously you "
"will require the passphrase!"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:548
+#: ../src/guestfs.pod:529
msgid ""
"Opening a LUKS device creates a new device mapper device called C</dev/"
"mapper/mapname> (where C<mapname> is the string you supply to L</"
@@ -39052,7 +39027,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:554
+#: ../src/guestfs.pod:535
msgid ""
"LVM volume groups on the device can be made visible by calling L</"
"guestfs_vgscan> followed by L</guestfs_vg_activate_all>. The logical volume"
@@ -39060,7 +39035,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:558
+#: ../src/guestfs.pod:539
msgid ""
"Use the reverse process to close a LUKS device. Unmount any logical volumes "
"on it, deactivate the volume groups by caling C<guestfs_vg_activate (g, 0, "
@@ -39070,12 +39045,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:565
+#: ../src/guestfs.pod:546
msgid "INSPECTION"
msgstr "ПЕРЕВІРКА"
#. type: textblock
-#: ../src/guestfs.pod:567
+#: ../src/guestfs.pod:548
msgid ""
"Libguestfs has APIs for inspecting an unknown disk image to find out if it "
"contains operating systems, an install CD or a live CD. (These APIs used to "
@@ -39085,14 +39060,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:574
+#: ../src/guestfs.pod:555
msgid ""
"Add all disks belonging to the unknown virtual machine and call L</"
"guestfs_launch> in the usual way."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:577
+#: ../src/guestfs.pod:558
msgid ""
"Then call L</guestfs_inspect_os>. This function uses other libguestfs calls "
"and certain heuristics, and returns a list of operating systems that were "
@@ -39105,7 +39080,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:586
+#: ../src/guestfs.pod:567
msgid ""
"For each root, you can then call various C<guestfs_inspect_get_*> functions "
"to get additional details about that operating system. For example, call L</"
@@ -39114,7 +39089,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:592
+#: ../src/guestfs.pod:573
msgid ""
"Un*x-like and Linux-based operating systems usually consist of several "
"filesystems which are mounted at boot time (for example, a separate boot "
@@ -39125,7 +39100,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:599
+#: ../src/guestfs.pod:580
#, no-wrap
msgid ""
" /boot => /dev/sda1\n"
@@ -39139,21 +39114,21 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:603
+#: ../src/guestfs.pod:584
msgid ""
"The caller can then make calls to L</guestfs_mount_options> to mount the "
"filesystems as suggested."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:606
+#: ../src/guestfs.pod:587
msgid ""
"Be careful to mount filesystems in the right order (eg. C</> before C</"
"usr>). Sorting the keys of the hash by length, shortest first, should work."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:610
+#: ../src/guestfs.pod:591
msgid ""
"Inspection currently only works for some common operating systems. "
"Contributors are welcome to send patches for other operating systems that we "
@@ -39161,7 +39136,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:614
+#: ../src/guestfs.pod:595
msgid ""
"Encrypted disks must be opened before inspection. See L</ENCRYPTED DISKS> "
"for more details. The L</guestfs_inspect_os> function just ignores any "
@@ -39169,7 +39144,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:618
+#: ../src/guestfs.pod:599
msgid ""
"A note on the implementation: The call L</guestfs_inspect_os> performs "
"inspection and caches the results in the guest handle. Subsequent calls to "
@@ -39182,19 +39157,19 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:627
+#: ../src/guestfs.pod:608
msgid "INSPECTING INSTALL DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:629
+#: ../src/guestfs.pod:610
msgid ""
"Libguestfs (since 1.9.4) can detect some install disks, install CDs, live "
"CDs and more."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:632
+#: ../src/guestfs.pod:613
msgid ""
"Call L</guestfs_inspect_get_format> to return the format of the operating "
"system, which currently can be C<installed> (a regular operating system) or "
@@ -39202,7 +39177,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:636
+#: ../src/guestfs.pod:617
msgid ""
"Further information is available about the operating system that can be "
"installed using the regular inspection APIs like L</"
@@ -39210,7 +39185,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:641
+#: ../src/guestfs.pod:622
msgid ""
"Some additional information specific to installer disks is also available "
"from the L</guestfs_inspect_is_live>, L</guestfs_inspect_is_netinst> and L</"
@@ -39218,24 +39193,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:646
+#: ../src/guestfs.pod:627
msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:648
+#: ../src/guestfs.pod:629
msgid ""
"Libguestfs can mount NTFS partitions. It does this using the L<http://www."
"ntfs-3g.org/> driver."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:651
+#: ../src/guestfs.pod:632
msgid "DRIVE LETTERS AND PATHS"
msgstr "ЛІТЕРИ ДИСКІВ ТА ШЛЯХИ"
#. type: textblock
-#: ../src/guestfs.pod:653
+#: ../src/guestfs.pod:634
msgid ""
"DOS and Windows still use drive letters, and the filesystems are always "
"treated as case insensitive by Windows itself, and therefore you might find "
@@ -39245,14 +39220,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:659
+#: ../src/guestfs.pod:640
msgid ""
"Drive letter mappings can be found using inspection (see L</INSPECTION> and "
"L</guestfs_inspect_get_drive_mappings>)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:662
+#: ../src/guestfs.pod:643
msgid ""
"Dealing with separator characters (backslash vs forward slash) is outside "
"the scope of libguestfs, but usually a simple character replacement will "
@@ -39260,19 +39235,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:666
+#: ../src/guestfs.pod:647
msgid ""
"To resolve the case insensitivity of paths, call L</"
"guestfs_case_sensitive_path>."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:669
+#: ../src/guestfs.pod:650
msgid "ACCESSING THE WINDOWS REGISTRY"
msgstr "ДОСТУП ДО РЕГІСТРУ WINDOWS"
#. type: textblock
-#: ../src/guestfs.pod:671
+#: ../src/guestfs.pod:652
msgid ""
"Libguestfs also provides some help for decoding Windows Registry \"hive\" "
"files, through the library C<hivex> which is part of the libguestfs project "
@@ -39283,12 +39258,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:679
+#: ../src/guestfs.pod:660
msgid "SYMLINKS ON NTFS-3G FILESYSTEMS"
msgstr "СИМВОЛІЧНІ ПОСИЛАННЯ У ФАЙЛОВИХ СИСТЕМАХ NTFS-3G"
#. type: textblock
-#: ../src/guestfs.pod:681
+#: ../src/guestfs.pod:662
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 "
@@ -39296,7 +39271,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:685
+#: ../src/guestfs.pod:666
msgid ""
"L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-"
"symbolic-links/>"
@@ -39305,7 +39280,7 @@ msgstr ""
"symbolic-links/>"
#. type: textblock
-#: ../src/guestfs.pod:687
+#: ../src/guestfs.pod:668
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 "
@@ -39315,7 +39290,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:694
+#: ../src/guestfs.pod:675
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 "
@@ -39324,38 +39299,38 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:699
+#: ../src/guestfs.pod:680
msgid "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:701
+#: ../src/guestfs.pod:682
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:704
+#: ../src/guestfs.pod:685
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:706
+#: ../src/guestfs.pod:687
msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES"
msgstr "ВИКОРИСТАННЯ LIBGUESTFS ЗА ДОПОМОГОЮ ІНШИХ МОВ ПРОГРАМУВАННЯ"
#. type: textblock
-#: ../src/guestfs.pod:708
+#: ../src/guestfs.pod:689
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:711
+#: ../src/guestfs.pod:692
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)> "
@@ -39365,14 +39340,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:717
+#: ../src/guestfs.pod:698
msgid ""
"Error messages are automatically transformed into exceptions if the language "
"supports it."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:720
+#: ../src/guestfs.pod:701
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 "
@@ -39380,58 +39355,58 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:726
+#: ../src/guestfs.pod:707
msgid "B<C++>"
msgstr "B<C++>"
#. type: textblock
-#: ../src/guestfs.pod:728
+#: ../src/guestfs.pod:709
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:732
+#: ../src/guestfs.pod:713
msgid "B<C#>"
msgstr "B<C#>"
#. type: textblock
-#: ../src/guestfs.pod:734
+#: ../src/guestfs.pod:715
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:737
+#: ../src/guestfs.pod:718
msgid "B<Erlang>"
msgstr "B<Erlang>"
#. type: textblock
-#: ../src/guestfs.pod:739
+#: ../src/guestfs.pod:720
msgid "See L<guestfs-erlang(3)>."
msgstr "Див. L<guestfs-erlang(3)>."
#. type: =item
-#: ../src/guestfs.pod:741
+#: ../src/guestfs.pod:722
msgid "B<GObject>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:743
+#: ../src/guestfs.pod:724
msgid ""
"Experimental GObject bindings (with GObject Introspection support) are "
"available. See the C<gobject> directory in the source."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:746
+#: ../src/guestfs.pod:727
msgid "B<Haskell>"
msgstr "B<Haskell>"
#. type: textblock
-#: ../src/guestfs.pod:748
+#: ../src/guestfs.pod:729
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 "
@@ -39439,96 +39414,96 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:752
+#: ../src/guestfs.pod:733
msgid "B<Java>"
msgstr "B<Java>"
#. type: textblock
-#: ../src/guestfs.pod:754
+#: ../src/guestfs.pod:735
msgid ""
"Full documentation is contained in the Javadoc which is distributed with "
"libguestfs. For examples, see L<guestfs-java(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:757
+#: ../src/guestfs.pod:738
msgid "B<OCaml>"
msgstr "B<OCaml>"
#. type: textblock
-#: ../src/guestfs.pod:759
+#: ../src/guestfs.pod:740
msgid "See L<guestfs-ocaml(3)>."
msgstr "Див. L<guestfs-ocaml(3)>."
#. type: =item
-#: ../src/guestfs.pod:761
+#: ../src/guestfs.pod:742
msgid "B<Perl>"
msgstr "B<Perl>"
#. type: textblock
-#: ../src/guestfs.pod:763
+#: ../src/guestfs.pod:744
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:765
+#: ../src/guestfs.pod:746
msgid "B<PHP>"
msgstr "B<PHP>"
#. type: textblock
-#: ../src/guestfs.pod:767
+#: ../src/guestfs.pod:748
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:770
+#: ../src/guestfs.pod:751
msgid "The PHP binding only works correctly on 64 bit machines."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:772
+#: ../src/guestfs.pod:753
msgid "B<Python>"
msgstr "B<Python>"
#. type: textblock
-#: ../src/guestfs.pod:774
+#: ../src/guestfs.pod:755
msgid "See L<guestfs-python(3)>."
msgstr "Див. L<guestfs-python(3)>."
#. type: =item
-#: ../src/guestfs.pod:776
+#: ../src/guestfs.pod:757
msgid "B<Ruby>"
msgstr "B<Ruby>"
#. type: textblock
-#: ../src/guestfs.pod:778
+#: ../src/guestfs.pod:759
msgid "See L<guestfs-ruby(3)>."
msgstr "Див. L<guestfs-ruby(3)>."
#. type: textblock
-#: ../src/guestfs.pod:780
+#: ../src/guestfs.pod:761
msgid "For JRuby, use the Java bindings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:782
+#: ../src/guestfs.pod:763
msgid "B<shell scripts>"
msgstr "B<скрипти оболонки>"
#. type: textblock
-#: ../src/guestfs.pod:784
+#: ../src/guestfs.pod:765
msgid "See L<guestfish(1)>."
msgstr "Див. L<guestfish(1)>."
#. type: =head2
-#: ../src/guestfs.pod:788
+#: ../src/guestfs.pod:769
msgid "LIBGUESTFS GOTCHAS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:790
+#: ../src/guestfs.pod:771
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 "
@@ -39536,7 +39511,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:794
+#: ../src/guestfs.pod:775
msgid ""
"Since we developed libguestfs and the associated tools, there are several "
"things we would have designed differently, but are now stuck with for "
@@ -39545,19 +39520,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:802
+#: ../src/guestfs.pod:783
msgid "Autosync / forgetting to sync."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:804
+#: ../src/guestfs.pod:785
msgid ""
"I<Update:> Autosync is enabled by default for all API users starting from "
"libguestfs 1.5.24. This section only applies to older versions."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:807
+#: ../src/guestfs.pod:788
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 "
@@ -39565,7 +39540,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:811
+#: ../src/guestfs.pod:792
#, no-wrap
msgid ""
" guestfs_set_autosync (g, 1);\n"
@@ -39575,14 +39550,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:813
+#: ../src/guestfs.pod:794
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:817
+#: ../src/guestfs.pod:798
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 "
@@ -39590,7 +39565,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:821
+#: ../src/guestfs.pod:802
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 "
@@ -39598,19 +39573,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:825
+#: ../src/guestfs.pod:806
msgid "Mount option C<-o sync> should not be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:827
+#: ../src/guestfs.pod:808
msgid ""
"I<Update:> L</guestfs_mount> no longer adds any options starting from "
"libguestfs 1.13.16. This section only applies to older versions."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:830
+#: ../src/guestfs.pod:811
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 "
@@ -39618,31 +39593,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:834
+#: ../src/guestfs.pod:815
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:837
+#: ../src/guestfs.pod:818
msgid "Read-only should be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:839
+#: ../src/guestfs.pod:820
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:842
+#: ../src/guestfs.pod:823
msgid "This would reduce the potential to corrupt live VM images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:844
+#: ../src/guestfs.pod:825
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</"
@@ -39650,12 +39625,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:848
+#: ../src/guestfs.pod:829
msgid "guestfish command line is hard to use."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:850
+#: ../src/guestfs.pod:831
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 "
@@ -39665,12 +39640,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:857
+#: ../src/guestfs.pod:838
msgid "guestfish megabyte modifiers don't work right on all commands"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:859
+#: ../src/guestfs.pod:840
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 "
@@ -39680,12 +39655,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:866
+#: ../src/guestfs.pod:847
msgid "The most common is L</guestfs_lvcreate>. The guestfish command:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:868
+#: ../src/guestfs.pod:849
#, no-wrap
msgid ""
" lvcreate LV VG 100M\n"
@@ -39695,7 +39670,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:870
+#: ../src/guestfs.pod:851
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 "
@@ -39704,19 +39679,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:875
+#: ../src/guestfs.pod:856
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:878
+#: ../src/guestfs.pod:859
msgid "Ambiguity between devices and paths"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:880
+#: ../src/guestfs.pod:861
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 "
@@ -39724,7 +39699,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:885
+#: ../src/guestfs.pod:866
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>. "
@@ -39733,7 +39708,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:891
+#: ../src/guestfs.pod:872
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 "
@@ -39743,7 +39718,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:897
+#: ../src/guestfs.pod:878
#, no-wrap
msgid ""
" type path = Path of string | Device of int | Partition of int * int\n"
@@ -39751,12 +39726,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:899
+#: ../src/guestfs.pod:880
msgid "which would allow you to pass arguments like:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:901
+#: ../src/guestfs.pod:882
#, no-wrap
msgid ""
" Path \"/foo/bar\"\n"
@@ -39767,26 +39742,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:906
+#: ../src/guestfs.pod:887
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:911
+#: ../src/guestfs.pod:892
msgid "KEYS AND PASSPHRASES"
msgstr "КЛЮЧІ І ПАРОЛІ"
#. type: textblock
-#: ../src/guestfs.pod:913
+#: ../src/guestfs.pod:894
msgid ""
"Certain libguestfs calls take a parameter that contains sensitive key "
"material, passed in as a C string."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:916
+#: ../src/guestfs.pod:897
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 "
@@ -39795,7 +39770,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:921
+#: ../src/guestfs.pod:902
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, "
@@ -39803,19 +39778,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:926
+#: ../src/guestfs.pod:907
msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:928
+#: ../src/guestfs.pod:909
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:931
+#: ../src/guestfs.pod:912
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 "
@@ -39823,33 +39798,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:935
+#: ../src/guestfs.pod:916
msgid ""
"See the graphical program guestfs-browser for one possible architecture for "
"multithreaded programs using libvirt and libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:938
+#: ../src/guestfs.pod:919
msgid "PATH"
msgstr "ШЛЯХ"
#. type: textblock
-#: ../src/guestfs.pod:940
+#: ../src/guestfs.pod:921
msgid ""
"Libguestfs needs a supermin appliance, which it finds by looking along an "
"internal path."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:943
+#: ../src/guestfs.pod:924
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:946
+#: ../src/guestfs.pod:927
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 "
@@ -39860,12 +39835,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:953
+#: ../src/guestfs.pod:934
msgid "QEMU WRAPPERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:955
+#: ../src/guestfs.pod:936
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 "
@@ -39873,7 +39848,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:959
+#: ../src/guestfs.pod:940
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 "
@@ -39882,14 +39857,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:964
+#: ../src/guestfs.pod:945
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:967
+#: ../src/guestfs.pod:948
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -39903,7 +39878,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:971
+#: ../src/guestfs.pod:952
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 "
@@ -39911,7 +39886,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:975
+#: ../src/guestfs.pod:956
#, no-wrap
msgid ""
" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
@@ -39921,14 +39896,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:977
+#: ../src/guestfs.pod:958
msgid ""
"Note that libguestfs also calls qemu with the -help and -version options in "
"order to determine features."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:980
+#: ../src/guestfs.pod:961
msgid ""
"Wrappers can also be used to edit the options passed to qemu. In the "
"following example, the C<-machine ...> option (C<-machine> and the following "
@@ -39938,7 +39913,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:989
+#: ../src/guestfs.pod:970
#, no-wrap
msgid ""
" i=0\n"
@@ -39956,7 +39931,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1001
+#: ../src/guestfs.pod:982
#, no-wrap
msgid ""
" exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n"
@@ -39964,19 +39939,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1003
+#: ../src/guestfs.pod:984
msgid "ATTACHING TO RUNNING DAEMONS"
msgstr "ДОЛУЧЕННЯ ДО ЗАПУЩЕНИХ ФОНОВИХ СЛУЖБ"
#. type: textblock
-#: ../src/guestfs.pod:1005
+#: ../src/guestfs.pod:986
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:1008
+#: ../src/guestfs.pod:989
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 "
@@ -39984,12 +39959,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1012
+#: ../src/guestfs.pod:993
msgid "Using guestfs_set_attach_method"
msgstr "За допомогою guestfs_set_attach_method"
#. type: textblock
-#: ../src/guestfs.pod:1014
+#: ../src/guestfs.pod:995
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</"
@@ -39997,14 +39972,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1018
+#: ../src/guestfs.pod:999
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:1021
+#: ../src/guestfs.pod:1002
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 "
@@ -40012,7 +39987,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1025
+#: ../src/guestfs.pod:1006
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 "
@@ -40020,12 +39995,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1029
+#: ../src/guestfs.pod:1010
msgid "Using guestfs_add_domain with live flag"
msgstr "За допомогою guestfs_add_domain з прапорцем live"
#. type: textblock
-#: ../src/guestfs.pod:1031
+#: ../src/guestfs.pod:1012
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 "
@@ -40034,7 +40009,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1037
+#: ../src/guestfs.pod:1018
#, no-wrap
msgid ""
" <domain>\n"
@@ -40064,14 +40039,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1049
+#: ../src/guestfs.pod:1030
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:1052
+#: ../src/guestfs.pod:1033
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 "
@@ -40079,19 +40054,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1056
+#: ../src/guestfs.pod:1037
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:1060
+#: ../src/guestfs.pod:1041
msgid "ABI GUARANTEE"
msgstr "ГАРАНТІЯ ЩОДО ABI"
#. type: textblock
-#: ../src/guestfs.pod:1062
+#: ../src/guestfs.pod:1043
msgid ""
"We guarantee the libguestfs ABI (binary interface), for public, high-level "
"actions as outlined in this section. Although we will deprecate some "
@@ -40101,12 +40076,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1068
+#: ../src/guestfs.pod:1049
msgid "BLOCK DEVICE NAMING"
msgstr "ІМЕНУВАННЯ БЛОКОВИХ ПРИСТРОЇВ"
#. type: textblock
-#: ../src/guestfs.pod:1070
+#: ../src/guestfs.pod:1051
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 "
@@ -40120,7 +40095,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1082
+#: ../src/guestfs.pod:1063
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 "
@@ -40128,7 +40103,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1086
+#: ../src/guestfs.pod:1067
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 "
@@ -40136,7 +40111,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1091
+#: ../src/guestfs.pod:1072
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 "
@@ -40145,7 +40120,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1097
+#: ../src/guestfs.pod:1078
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 "
@@ -40153,12 +40128,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1102
+#: ../src/guestfs.pod:1083
msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1104
+#: ../src/guestfs.pod:1085
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 "
@@ -40167,7 +40142,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1110
+#: ../src/guestfs.pod:1091
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</"
@@ -40175,54 +40150,54 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1118
+#: ../src/guestfs.pod:1099
msgid "Is the string a parameter which is a device or partition name?"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1122
+#: ../src/guestfs.pod:1103
msgid "Does the string begin with C</dev/sd>?"
msgstr "Чи починається рядок з C</dev/sd>?"
#. type: textblock
-#: ../src/guestfs.pod:1126
+#: ../src/guestfs.pod:1107
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:1131
+#: ../src/guestfs.pod:1112
msgid "Replace initial C</dev/sd> string with C</dev/hd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1133
+#: ../src/guestfs.pod:1114
msgid "For example, change C</dev/sda2> to C</dev/hda2>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1135
+#: ../src/guestfs.pod:1116
msgid "If that named device exists, use it. If not, continue."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1139
+#: ../src/guestfs.pod:1120
msgid "Replace initial C</dev/sd> string with C</dev/vd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1141
+#: ../src/guestfs.pod:1122
msgid "If that named device exists, use it. If not, return an error."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1145
+#: ../src/guestfs.pod:1126
msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1147
+#: ../src/guestfs.pod:1128
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 "
@@ -40230,46 +40205,46 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1151
+#: ../src/guestfs.pod:1132
msgid ""
"Where possible for maximum future portability programs using libguestfs "
"should use these future-proof techniques:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1158
+#: ../src/guestfs.pod:1139
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:1161
+#: ../src/guestfs.pod:1142
msgid ""
"Since those device names exist by definition, they will never be translated."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1166
+#: ../src/guestfs.pod:1147
msgid ""
"Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
"filesystem labels."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1173
+#: ../src/guestfs.pod:1154
msgid ""
"This section discusses security implications of using libguestfs, "
"particularly with untrusted or malicious guests or disk images."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1176
+#: ../src/guestfs.pod:1157
msgid "GENERAL SECURITY CONSIDERATIONS"
msgstr "ЗАГАЛЬНІ ЗАУВАЖЕННЯ ЩОДО ЗАХИСТУ"
#. type: textblock
-#: ../src/guestfs.pod:1178
+#: ../src/guestfs.pod:1159
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 "
@@ -40279,42 +40254,42 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1188
+#: ../src/guestfs.pod:1169
msgid "the data (file etc) not being present"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1192
+#: ../src/guestfs.pod:1173
msgid "being present but empty"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1196
+#: ../src/guestfs.pod:1177
msgid "being much larger than normal"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1200
+#: ../src/guestfs.pod:1181
msgid "containing arbitrary 8 bit data"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1204
+#: ../src/guestfs.pod:1185
msgid "being in an unexpected character encoding"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1208
+#: ../src/guestfs.pod:1189
msgid "containing homoglyphs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1212
+#: ../src/guestfs.pod:1193
msgid "SECURITY OF MOUNTING FILESYSTEMS"
msgstr "ЗАХИСТ ФАЙЛОВИХ СИСТЕМ МОНТУВАННЯ"
#. type: textblock
-#: ../src/guestfs.pod:1214
+#: ../src/guestfs.pod:1195
msgid ""
"When you mount a filesystem under Linux, mistakes in the kernel filesystem "
"(VFS) module can sometimes be escalated into exploits by deliberately "
@@ -40330,7 +40305,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1227
+#: ../src/guestfs.pod:1208
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 "
@@ -40344,19 +40319,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1238
+#: ../src/guestfs.pod:1219
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:1241
+#: ../src/guestfs.pod:1222
msgid "PROTOCOL SECURITY"
msgstr "ЗАХИСТ ПРОТОКОЛУ"
#. type: textblock
-#: ../src/guestfs.pod:1243
+#: ../src/guestfs.pod:1224
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 "
@@ -40366,12 +40341,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1249
+#: ../src/guestfs.pod:1230
msgid "INSPECTION SECURITY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1251
+#: ../src/guestfs.pod:1232
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 "
@@ -40380,7 +40355,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1257
+#: ../src/guestfs.pod:1238
msgid ""
"Guest configuration may be altered in unusual ways by the administrator of "
"the virtual machine, and may not reflect reality (particularly for untrusted "
@@ -40391,7 +40366,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1265
+#: ../src/guestfs.pod:1246
msgid ""
"The inspection API parses guest configuration using two external libraries: "
"Augeas (Linux configuration) and hivex (Windows Registry). Both are "
@@ -40401,12 +40376,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1271
+#: ../src/guestfs.pod:1252
msgid "RUNNING UNTRUSTED GUEST COMMANDS"
msgstr "ЗАПУСК НЕЗАХИЩЕНИХ КОМАНД ГОСТЬОВОЇ СИСТЕМИ"
#. type: textblock
-#: ../src/guestfs.pod:1273
+#: ../src/guestfs.pod:1254
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 "
@@ -40416,24 +40391,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1279
+#: ../src/guestfs.pod:1260
msgid "CVE-2010-3851"
msgstr "CVE-2010-3851"
#. type: textblock
-#: ../src/guestfs.pod:1281
+#: ../src/guestfs.pod:1262
msgid "https://bugzilla.redhat.com/642934"
msgstr "https://bugzilla.redhat.com/642934"
#. type: textblock
-#: ../src/guestfs.pod:1283
+#: ../src/guestfs.pod:1264
msgid ""
"This security bug concerns the automatic disk format detection that qemu "
"does on disk images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1286
+#: ../src/guestfs.pod:1267
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 "
@@ -40442,7 +40417,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1291
+#: ../src/guestfs.pod:1272
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 "
@@ -40451,7 +40426,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1296
+#: ../src/guestfs.pod:1277
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 "
@@ -40463,25 +40438,25 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1304
+#: ../src/guestfs.pod:1285
msgid ""
"In libguestfs this is rather hard to exploit except under two circumstances:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1311
+#: ../src/guestfs.pod:1292
msgid "You have enabled the network or have opened the disk in write mode."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1315
+#: ../src/guestfs.pod:1296
msgid ""
"You are also running untrusted code from the guest (see L</RUNNING "
"COMMANDS>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1320
+#: ../src/guestfs.pod:1301
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 "
@@ -40490,31 +40465,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1325
+#: ../src/guestfs.pod:1306
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:1328
+#: ../src/guestfs.pod:1309
msgid ""
"For libguestfs tools, use the I<--format> command line parameter as "
"appropriate."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1331
+#: ../src/guestfs.pod:1312
msgid "CONNECTION MANAGEMENT"
msgstr "КЕРУВАННЯ З’ЄДНАННЯМ"
#. type: =head2
-#: ../src/guestfs.pod:1333
+#: ../src/guestfs.pod:1314
msgid "guestfs_h *"
msgstr "guestfs_h *"
#. type: textblock
-#: ../src/guestfs.pod:1335
+#: ../src/guestfs.pod:1316
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 "
@@ -40522,19 +40497,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1339
+#: ../src/guestfs.pod:1320
msgid ""
"For information on using multiple handles and threads, see the section L</"
"MULTIPLE HANDLES AND MULTIPLE THREADS> above."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1342
+#: ../src/guestfs.pod:1323
msgid "guestfs_create"
msgstr "guestfs_create"
#. type: verbatim
-#: ../src/guestfs.pod:1344
+#: ../src/guestfs.pod:1325
#, no-wrap
msgid ""
" guestfs_h *guestfs_create (void);\n"
@@ -40544,19 +40519,19 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1346
+#: ../src/guestfs.pod:1327
msgid "Create a connection handle."
msgstr "Створити дескриптор з’єднання."
#. type: textblock
-#: ../src/guestfs.pod:1348
+#: ../src/guestfs.pod:1329
msgid ""
"On success this returns a non-NULL pointer to a handle. On error it returns "
"NULL."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1351
+#: ../src/guestfs.pod:1332
msgid ""
"You have to \"configure\" the handle after creating it. This includes "
"calling L</guestfs_add_drive_opts> (or one of the equivalent calls) on the "
@@ -40564,24 +40539,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1355
+#: ../src/guestfs.pod:1336
msgid "After configuring the handle, you have to call L</guestfs_launch>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1357
+#: ../src/guestfs.pod:1338
msgid ""
"You may also want to configure error handling for the handle. See the L</"
"ERROR HANDLING> section below."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1360
+#: ../src/guestfs.pod:1341
msgid "guestfs_close"
msgstr "guestfs_close"
#. type: verbatim
-#: ../src/guestfs.pod:1362
+#: ../src/guestfs.pod:1343
#, no-wrap
msgid ""
" void guestfs_close (guestfs_h *g);\n"
@@ -40591,12 +40566,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1364
+#: ../src/guestfs.pod:1345
msgid "This closes the connection handle and frees up all resources used."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1366
+#: ../src/guestfs.pod:1347
msgid ""
"If autosync was set on the handle and the handle was launched, then this "
"implicitly calls various functions to unmount filesystems and sync the "
@@ -40604,24 +40579,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1370
+#: ../src/guestfs.pod:1351
msgid "If a close callback was set on the handle, then it is called."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1372
+#: ../src/guestfs.pod:1353
msgid "ERROR HANDLING"
msgstr "ОБРОБКА ПОМИЛОК"
#. type: textblock
-#: ../src/guestfs.pod:1374
+#: ../src/guestfs.pod:1355
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:1377
+#: ../src/guestfs.pod:1358
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 "
@@ -40629,7 +40604,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1381
+#: ../src/guestfs.pod:1362
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 "
@@ -40637,7 +40612,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1386
+#: ../src/guestfs.pod:1367
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 "
@@ -40645,7 +40620,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1390
+#: ../src/guestfs.pod:1371
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1)\n"
@@ -40657,21 +40632,21 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1393
+#: ../src/guestfs.pod:1374
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:1396
+#: ../src/guestfs.pod:1377
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:1399
+#: ../src/guestfs.pod:1380
#, no-wrap
msgid ""
" /* This disables the default behaviour of printing errors\n"
@@ -40681,7 +40656,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1403
+#: ../src/guestfs.pod:1384
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1) {\n"
@@ -40698,7 +40673,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1414
+#: ../src/guestfs.pod:1395
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</"
@@ -40706,7 +40681,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1418
+#: ../src/guestfs.pod:1399
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 "
@@ -40716,12 +40691,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1424
+#: ../src/guestfs.pod:1405
msgid "guestfs_last_error"
msgstr "guestfs_last_error"
#. type: verbatim
-#: ../src/guestfs.pod:1426
+#: ../src/guestfs.pod:1407
#, no-wrap
msgid ""
" const char *guestfs_last_error (guestfs_h *g);\n"
@@ -40731,26 +40706,26 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1428
+#: ../src/guestfs.pod:1409
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:1432
+#: ../src/guestfs.pod:1413
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:1435
+#: ../src/guestfs.pod:1416
msgid "guestfs_last_errno"
msgstr "guestfs_last_errno"
#. type: verbatim
-#: ../src/guestfs.pod:1437
+#: ../src/guestfs.pod:1418
#, no-wrap
msgid ""
" int guestfs_last_errno (guestfs_h *g);\n"
@@ -40760,28 +40735,28 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1439
+#: ../src/guestfs.pod:1420
msgid "This returns the last error number (errno) that happened on C<g>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1441
+#: ../src/guestfs.pod:1422
msgid "If successful, an errno integer not equal to zero is returned."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1443
+#: ../src/guestfs.pod:1424
msgid ""
"If no error, this returns 0. This call can return 0 in three situations:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1450
+#: ../src/guestfs.pod:1431
msgid "There has not been any error on the handle."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1454
+#: ../src/guestfs.pod:1435
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 "
@@ -40789,14 +40764,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1460
+#: ../src/guestfs.pod:1441
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:1466
+#: ../src/guestfs.pod:1447
msgid ""
"Libguestfs tries to convert the errno from inside the applicance into a "
"corresponding errno for the caller (not entirely trivial: the appliance "
@@ -40807,12 +40782,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1474
+#: ../src/guestfs.pod:1455
msgid "guestfs_set_error_handler"
msgstr "guestfs_set_error_handler"
#. type: verbatim
-#: ../src/guestfs.pod:1476
+#: ../src/guestfs.pod:1457
#, no-wrap
msgid ""
" typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
@@ -40832,7 +40807,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1483
+#: ../src/guestfs.pod:1464
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 "
@@ -40840,14 +40815,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1487
+#: ../src/guestfs.pod:1468
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:1490
+#: ../src/guestfs.pod:1471
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 "
@@ -40855,22 +40830,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1494
+#: ../src/guestfs.pod:1475
msgid "The default handler prints messages on C<stderr>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1496
+#: ../src/guestfs.pod:1477
msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1498
+#: ../src/guestfs.pod:1479
msgid "guestfs_get_error_handler"
msgstr "guestfs_get_error_handler"
#. type: verbatim
-#: ../src/guestfs.pod:1500
+#: ../src/guestfs.pod:1481
#, no-wrap
msgid ""
" guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
@@ -40882,17 +40857,17 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1503
+#: ../src/guestfs.pod:1484
msgid "Returns the current error handler callback."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1505
+#: ../src/guestfs.pod:1486
msgid "guestfs_set_out_of_memory_handler"
msgstr "guestfs_set_out_of_memory_handler"
#. type: verbatim
-#: ../src/guestfs.pod:1507
+#: ../src/guestfs.pod:1488
#, no-wrap
msgid ""
" typedef void (*guestfs_abort_cb) (void);\n"
@@ -40902,30 +40877,30 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1511
+#: ../src/guestfs.pod:1492
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:1514
+#: ../src/guestfs.pod:1495
msgid "The default is to call L<abort(3)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1516
+#: ../src/guestfs.pod:1497
msgid ""
"You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1519
+#: ../src/guestfs.pod:1500
msgid "guestfs_get_out_of_memory_handler"
msgstr "guestfs_get_out_of_memory_handler"
#. type: verbatim
-#: ../src/guestfs.pod:1521
+#: ../src/guestfs.pod:1502
#, no-wrap
msgid ""
" guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
@@ -40935,37 +40910,37 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1523
+#: ../src/guestfs.pod:1504
msgid "This returns the current out of memory handler."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1525
+#: ../src/guestfs.pod:1506
msgid "API CALLS"
msgstr "ВИКЛИКИ API"
#. type: =head1
-#: ../src/guestfs.pod:1529
+#: ../src/guestfs.pod:1510
msgid "STRUCTURES"
msgstr "СТРУКТУРИ"
#. type: textblock
-#: ../src/guestfs.pod:1531
+#: ../src/guestfs.pod:1512
msgid "@STRUCTS@"
msgstr "@STRUCTS@"
#. type: =head1
-#: ../src/guestfs.pod:1533
+#: ../src/guestfs.pod:1514
msgid "AVAILABILITY"
msgstr "ДОСТУПНІСТЬ"
#. type: =head2
-#: ../src/guestfs.pod:1535
+#: ../src/guestfs.pod:1516
msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
msgstr "ГРУПИ ФУНКЦІОНАЛЬНИХ МОЖЛИВОСТЕЙ У ОБРАЗІ ОСНОВНОЇ СИСТЕМИ"
#. type: textblock
-#: ../src/guestfs.pod:1537
+#: ../src/guestfs.pod:1518
msgid ""
"Using L</guestfs_available> you can test availability of the following "
"groups of functions. This test queries the appliance to see if the "
@@ -40973,17 +40948,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1542
+#: ../src/guestfs.pod:1523
msgid "@AVAILABILITY@"
msgstr "@AVAILABILITY@"
#. type: =head2
-#: ../src/guestfs.pod:1544
+#: ../src/guestfs.pod:1525
msgid "GUESTFISH supported COMMAND"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1546
+#: ../src/guestfs.pod:1527
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 "
@@ -40991,19 +40966,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1551
+#: ../src/guestfs.pod:1532
msgid "SINGLE CALLS AT COMPILE TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1553
+#: ../src/guestfs.pod:1534
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:1556
+#: ../src/guestfs.pod:1537
#, no-wrap
msgid ""
" #define LIBGUESTFS_HAVE_DD 1\n"
@@ -41013,12 +40988,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1558
+#: ../src/guestfs.pod:1539
msgid "if L</guestfs_dd> is available."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1560
+#: ../src/guestfs.pod:1541
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 "
@@ -41026,7 +41001,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1565
+#: ../src/guestfs.pod:1546
#, no-wrap
msgid ""
" AC_CHECK_LIB([guestfs],[guestfs_create])\n"
@@ -41038,19 +41013,19 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1568
+#: ../src/guestfs.pod:1549
msgid ""
"which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
"in your program."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1571
+#: ../src/guestfs.pod:1552
msgid "SINGLE CALLS AT RUN TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1573
+#: ../src/guestfs.pod:1554
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 "
@@ -41060,7 +41035,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1580
+#: ../src/guestfs.pod:1561
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 "
@@ -41068,7 +41043,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1584
+#: ../src/guestfs.pod:1565
#, no-wrap
msgid ""
" #include <stdio.h>\n"
@@ -41086,7 +41061,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:1590
+#: ../src/guestfs.pod:1571
#, no-wrap
msgid ""
" main ()\n"
@@ -41104,7 +41079,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:1596
+#: ../src/guestfs.pod:1577
#, no-wrap
msgid ""
" /* Test if the function guestfs_dd is really available. */\n"
@@ -41119,7 +41094,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1605
+#: ../src/guestfs.pod:1586
#, no-wrap
msgid ""
" if (!has_function)\n"
@@ -41138,7 +41113,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1618
+#: ../src/guestfs.pod:1599
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 "
@@ -41146,7 +41121,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1623
+#: ../src/guestfs.pod:1604
#, no-wrap
msgid ""
" Requires: libguestfs >= 1.0.80\n"
@@ -41154,12 +41129,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1625
+#: ../src/guestfs.pod:1606
msgid "CALLS WITH OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1627
+#: ../src/guestfs.pod:1608
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 "
@@ -41167,7 +41142,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1632
+#: ../src/guestfs.pod:1613
#, no-wrap
msgid ""
" int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
@@ -41177,14 +41152,14 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1634
+#: ../src/guestfs.pod:1615
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:1637
+#: ../src/guestfs.pod:1618
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename, -1);\n"
@@ -41194,12 +41169,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1639
+#: ../src/guestfs.pod:1620
msgid "With a single optional argument:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1641
+#: ../src/guestfs.pod:1622
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -41213,12 +41188,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1645
+#: ../src/guestfs.pod:1626
msgid "With two:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1647
+#: ../src/guestfs.pod:1628
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -41234,19 +41209,19 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1652
+#: ../src/guestfs.pod:1633
msgid ""
"and so forth. Don't forget the terminating C<-1> otherwise Bad Things will "
"happen!"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1655
+#: ../src/guestfs.pod:1636
msgid "USING va_list FOR OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1657
+#: ../src/guestfs.pod:1638
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 "
@@ -41254,7 +41229,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1661
+#: ../src/guestfs.pod:1642
#, no-wrap
msgid ""
" int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
@@ -41266,12 +41241,12 @@ msgstr ""
"\n"
#. type: =head2
-#: ../src/guestfs.pod:1664
+#: ../src/guestfs.pod:1645
msgid "CONSTRUCTING OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1666
+#: ../src/guestfs.pod:1647
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 "
@@ -41281,7 +41256,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1672
+#: ../src/guestfs.pod:1653
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv {\n"
@@ -41305,12 +41280,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1681
+#: ../src/guestfs.pod:1662
msgid "You could call it like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1683
+#: ../src/guestfs.pod:1664
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv optargs = {\n"
@@ -41330,7 +41305,7 @@ msgstr ""
" \n"
#. type: verbatim
-#: ../src/guestfs.pod:1690
+#: ../src/guestfs.pod:1671
#, no-wrap
msgid ""
" guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
@@ -41340,29 +41315,29 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:1698
+#: ../src/guestfs.pod:1679
msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1703
+#: ../src/guestfs.pod:1684
msgid "You do not need to fill in all fields of the structure."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1707
+#: ../src/guestfs.pod:1688
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:1712
+#: ../src/guestfs.pod:1693
msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1714
+#: ../src/guestfs.pod:1695
msgid ""
"In other languages, optional arguments are expressed in the way that is "
"natural for that language. We refer you to the language-specific "
@@ -41370,17 +41345,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1718
+#: ../src/guestfs.pod:1699
msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1720
+#: ../src/guestfs.pod:1701
msgid "SETTING CALLBACKS TO HANDLE EVENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1722
+#: ../src/guestfs.pod:1703
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 "
@@ -41392,7 +41367,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1731
+#: ../src/guestfs.pod:1712
msgid ""
"Handles generate events when certain things happen, such as log messages "
"being generated, progress messages during long-running operations, or the "
@@ -41404,7 +41379,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1739
+#: ../src/guestfs.pod:1720
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 "
@@ -41413,31 +41388,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1744
+#: ../src/guestfs.pod:1725
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:1748
+#: ../src/guestfs.pod:1729
msgid "CLASSES OF EVENTS"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1752
+#: ../src/guestfs.pod:1733
msgid "GUESTFS_EVENT_CLOSE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1755
+#: ../src/guestfs.pod:1736
msgid ""
"The callback function will be called while the handle is being closed "
"(synchronously from L</guestfs_close>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1758
+#: ../src/guestfs.pod:1739
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 "
@@ -41448,19 +41423,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1765
+#: ../src/guestfs.pod:1746
msgid ""
"If no callback is registered: the handle is closed without any callback "
"being invoked."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1768
+#: ../src/guestfs.pod:1749
msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1771
+#: ../src/guestfs.pod:1752
msgid ""
"The callback function will be called when the child process quits, either "
"asynchronously or if killed by L</guestfs_kill_subprocess>. (This "
@@ -41468,17 +41443,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1775 ../src/guestfs.pod:1784 ../src/guestfs.pod:1901
+#: ../src/guestfs.pod:1756 ../src/guestfs.pod:1765 ../src/guestfs.pod:1882
msgid "If no callback is registered: the event is ignored."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1777
+#: ../src/guestfs.pod:1758
msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1780
+#: ../src/guestfs.pod:1761
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 "
@@ -41486,12 +41461,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1786
+#: ../src/guestfs.pod:1767
msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1789
+#: ../src/guestfs.pod:1770
msgid ""
"Some long-running operations can generate progress messages. If this "
"callback is registered, then it will be called each time a progress message "
@@ -41501,14 +41476,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1795
+#: ../src/guestfs.pod:1776
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:1798
+#: ../src/guestfs.pod:1779
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 "
@@ -41516,24 +41491,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1803
+#: ../src/guestfs.pod:1784
msgid "The only defined and stable parts of the API are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1809
+#: ../src/guestfs.pod:1790
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:1814
+#: ../src/guestfs.pod:1795
msgid "0 E<lt>= C<position> E<lt>= C<total>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1818
+#: ../src/guestfs.pod:1799
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 "
@@ -41541,7 +41516,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1822
+#: ../src/guestfs.pod:1803
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 "
@@ -41549,7 +41524,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1828
+#: ../src/guestfs.pod:1809
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 "
@@ -41558,7 +41533,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1833
+#: ../src/guestfs.pod:1814
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 "
@@ -41566,14 +41541,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1837
+#: ../src/guestfs.pod:1818
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:1842
+#: ../src/guestfs.pod:1823
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 "
@@ -41582,31 +41557,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1848
+#: ../src/guestfs.pod:1829
msgid "If no callback is registered: progress messages are discarded."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1850
+#: ../src/guestfs.pod:1831
msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1853
+#: ../src/guestfs.pod:1834
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:1856
+#: ../src/guestfs.pod:1837
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:1859 ../src/guestfs.pod:1873
+#: ../src/guestfs.pod:1840 ../src/guestfs.pod:1854
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 "
@@ -41614,63 +41589,63 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1864
+#: ../src/guestfs.pod:1845
msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1867
+#: ../src/guestfs.pod:1848
msgid ""
"The callback function is called whenever a log message is generated by the "
"library part of libguestfs."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1870
+#: ../src/guestfs.pod:1851
msgid ""
"If the verbose flag (L</guestfs_set_verbose>) is set then additional debug "
"messages are generated."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1878
+#: ../src/guestfs.pod:1859
msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1881
+#: ../src/guestfs.pod:1862
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:1884
+#: ../src/guestfs.pod:1865
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: =item
-#: ../src/guestfs.pod:1888
+#: ../src/guestfs.pod:1869
msgid "GUESTFS_EVENT_ENTER (payload type: function name)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1891
+#: ../src/guestfs.pod:1872
msgid ""
"The callback function is called whenever a libguestfs function is entered."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1894
+#: ../src/guestfs.pod:1875
msgid ""
"The payload is a string which contains the name of the function that we are "
"entering (not including C<guestfs_> prefix)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1897
+#: ../src/guestfs.pod:1878
msgid ""
"Note that libguestfs functions can call themselves, so you may see many "
"events from a single call. A few libguestfs functions do not generate this "
@@ -41678,12 +41653,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1905
+#: ../src/guestfs.pod:1886
msgid "guestfs_set_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1907
+#: ../src/guestfs.pod:1888
#, no-wrap
msgid ""
" int guestfs_set_event_callback (guestfs_h *g,\n"
@@ -41695,14 +41670,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1913
+#: ../src/guestfs.pod:1894
msgid ""
"This function registers a callback (C<cb>) for all event classes in the "
"C<event_bitmask>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1916
+#: ../src/guestfs.pod:1897
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>. "
@@ -41711,40 +41686,40 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1922
+#: ../src/guestfs.pod:1903
msgid "C<flags> should always be passed as 0."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1924
+#: ../src/guestfs.pod:1905
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:1927
+#: ../src/guestfs.pod:1908
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:1930
+#: ../src/guestfs.pod:1911
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:1933
+#: ../src/guestfs.pod:1914
msgid ""
"Callbacks remain in effect until they are deleted, or until the handle is "
"closed."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1936
+#: ../src/guestfs.pod:1917
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 "
@@ -41752,12 +41727,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1940
+#: ../src/guestfs.pod:1921
msgid "guestfs_delete_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1942
+#: ../src/guestfs.pod:1923
#, no-wrap
msgid ""
" void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n"
@@ -41765,7 +41740,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1944
+#: ../src/guestfs.pod:1925
msgid ""
"Delete a callback that was previously registered. C<event_handle> should be "
"the integer that was returned by a previous call to "
@@ -41773,12 +41748,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1948
+#: ../src/guestfs.pod:1929
msgid "guestfs_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1950
+#: ../src/guestfs.pod:1931
#, no-wrap
msgid ""
" typedef void (*guestfs_event_callback) (\n"
@@ -41793,13 +41768,13 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1959
+#: ../src/guestfs.pod:1940
msgid ""
"This is the type of the event callback function that you have to provide."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1962
+#: ../src/guestfs.pod:1943
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 "
@@ -41807,7 +41782,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1966
+#: ../src/guestfs.pod:1947
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 "
@@ -41816,7 +41791,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1971
+#: ../src/guestfs.pod:1952
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 "
@@ -41824,19 +41799,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1975
+#: ../src/guestfs.pod:1956
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:1978
+#: ../src/guestfs.pod:1959
msgid "EXAMPLE: CAPTURING LOG MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1980
+#: ../src/guestfs.pod:1961
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 "
@@ -41844,7 +41819,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1984
+#: ../src/guestfs.pod:1965
msgid ""
"Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, "
"C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error "
@@ -41852,14 +41827,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1989
+#: ../src/guestfs.pod:1970
msgid ""
"Programs have to set up a callback to capture the classes of events of "
"interest:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1992
+#: ../src/guestfs.pod:1973
#, no-wrap
msgid ""
" int eh =\n"
@@ -41875,14 +41850,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2002
+#: ../src/guestfs.pod:1983
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:2005
+#: ../src/guestfs.pod:1986
#, no-wrap
msgid ""
" static void\n"
@@ -41903,12 +41878,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2020
+#: ../src/guestfs.pod:2001
msgid "CANCELLING LONG TRANSFERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2022
+#: ../src/guestfs.pod:2003
msgid ""
"Some operations can be cancelled by the caller while they are in progress. "
"Currently only operations that involve uploading or downloading data can be "
@@ -41917,12 +41892,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2027
+#: ../src/guestfs.pod:2008
msgid "guestfs_user_cancel"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2029
+#: ../src/guestfs.pod:2010
#, no-wrap
msgid ""
" void guestfs_user_cancel (guestfs_h *g);\n"
@@ -41930,13 +41905,13 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2031
+#: ../src/guestfs.pod:2012
msgid ""
"C<guestfs_user_cancel> cancels the current upload or download operation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2034
+#: ../src/guestfs.pod:2015
msgid ""
"Unlike most other libguestfs calls, this function is signal safe and thread "
"safe. You can call it from a signal handler or from another thread, without "
@@ -41944,7 +41919,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2038
+#: ../src/guestfs.pod:2019
msgid ""
"The transfer that was in progress (if there is one) will stop shortly "
"afterwards, and will return an error. The errno (see L</"
@@ -41953,7 +41928,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2044
+#: ../src/guestfs.pod:2025
msgid ""
"No cleanup is performed: for example, if a file was being uploaded then "
"after cancellation there may be a partially uploaded file. It is the "
@@ -41961,12 +41936,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2048
+#: ../src/guestfs.pod:2029
msgid "There are two common places that you might call C<guestfs_user_cancel>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2050
+#: ../src/guestfs.pod:2031
msgid ""
"In an interactive text-based program, you might call it from a C<SIGINT> "
"signal handler so that pressing C<^C> cancels the current operation. (You "
@@ -41975,19 +41950,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2055
+#: ../src/guestfs.pod:2036
msgid ""
"In a graphical program, when the main thread is displaying a progress bar "
"with a cancel button, wire up the cancel button to call this function."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2059
+#: ../src/guestfs.pod:2040
msgid "PRIVATE DATA AREA"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2061
+#: ../src/guestfs.pod:2042
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 "
@@ -41995,12 +41970,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2066
+#: ../src/guestfs.pod:2047
msgid "To attach a named piece of data, use the following call:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2068
+#: ../src/guestfs.pod:2049
#, no-wrap
msgid ""
" void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
@@ -42010,7 +41985,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:2070
+#: ../src/guestfs.pod:2051
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 key is "
@@ -42018,7 +41993,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2074
+#: ../src/guestfs.pod:2055
msgid ""
"You can use any C<key> you want, but your key should I<not> start with an "
"underscore character. Keys beginning with an underscore character are "
@@ -42028,12 +42003,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2080
+#: ../src/guestfs.pod:2061
msgid "To retrieve the pointer, use:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2082
+#: ../src/guestfs.pod:2063
#, no-wrap
msgid ""
" void *guestfs_get_private (guestfs_h *g, const char *key);\n"
@@ -42043,7 +42018,7 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:2084
+#: ../src/guestfs.pod:2065
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 "
@@ -42051,7 +42026,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2088
+#: ../src/guestfs.pod:2069
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 "
@@ -42062,12 +42037,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2095
+#: ../src/guestfs.pod:2076
msgid "To walk over all entries, use these two functions:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2097
+#: ../src/guestfs.pod:2078
#, no-wrap
msgid ""
" void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n"
@@ -42075,7 +42050,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2099
+#: ../src/guestfs.pod:2080
#, no-wrap
msgid ""
" void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n"
@@ -42083,7 +42058,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2101
+#: ../src/guestfs.pod:2082
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 "
@@ -42093,7 +42068,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2107
+#: ../src/guestfs.pod:2088
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 "
@@ -42101,18 +42076,18 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2111
+#: ../src/guestfs.pod:2092
msgid "Notes about walking over entries:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2117
+#: ../src/guestfs.pod:2098
msgid ""
"You must not call C<guestfs_set_private> while walking over the entries."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2122
+#: ../src/guestfs.pod:2103
msgid ""
"The handle maintains an internal iterator which is reset when you call "
"C<guestfs_first_private>. This internal iterator is invalidated when you "
@@ -42120,12 +42095,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2128
+#: ../src/guestfs.pod:2109
msgid "If you have set the data pointer associated with a key to C<NULL>, ie:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2130
+#: ../src/guestfs.pod:2111
#, no-wrap
msgid ""
" guestfs_set_private (g, key, NULL);\n"
@@ -42133,26 +42108,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2132
+#: ../src/guestfs.pod:2113
msgid "then that C<key> is not returned when walking."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2136
+#: ../src/guestfs.pod:2117
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:2142
+#: ../src/guestfs.pod:2123
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:2145
+#: ../src/guestfs.pod:2126
#, no-wrap
msgid ""
" const char *key;\n"
@@ -42166,14 +42141,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2153
+#: ../src/guestfs.pod:2134
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:2156
+#: ../src/guestfs.pod:2137
#, no-wrap
msgid ""
" const char *key;\n"
@@ -42188,7 +42163,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2165
+#: ../src/guestfs.pod:2146
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 "
@@ -42196,7 +42171,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2169
+#: ../src/guestfs.pod:2150
#, no-wrap
msgid ""
" const char *key;\n"
@@ -42218,7 +42193,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2185
+#: ../src/guestfs.pod:2166
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 "
@@ -42227,12 +42202,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2190
+#: ../src/guestfs.pod:2171
msgid "SYSTEMTAP"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2192
+#: ../src/guestfs.pod:2173
msgid ""
"The libguestfs C library can be probed using systemtap or DTrace. This is "
"true of any library, not just libguestfs. However libguestfs also contains "
@@ -42240,12 +42215,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2196
+#: ../src/guestfs.pod:2177
msgid "You can list all the static markers by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2198
+#: ../src/guestfs.pod:2179
#, no-wrap
msgid ""
" stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n"
@@ -42254,26 +42229,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2201
+#: ../src/guestfs.pod:2182
msgid ""
"B<Note:> These static markers are I<not> part of the stable API and may "
"change in future versions."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2204
+#: ../src/guestfs.pod:2185
msgid "SYSTEMTAP SCRIPT EXAMPLE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2206
+#: ../src/guestfs.pod:2187
msgid ""
"This script contains examples of displaying both the static markers and some "
"ordinary C entry points:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2209
+#: ../src/guestfs.pod:2190
#, no-wrap
msgid ""
" global last;\n"
@@ -42281,7 +42256,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2211
+#: ../src/guestfs.pod:2192
#, no-wrap
msgid ""
" function display_time () {\n"
@@ -42294,7 +42269,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2218
+#: ../src/guestfs.pod:2199
#, no-wrap
msgid ""
" printf (\"%d (+%d):\", now, delta);\n"
@@ -42303,7 +42278,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2221
+#: ../src/guestfs.pod:2202
#, no-wrap
msgid ""
" probe begin {\n"
@@ -42314,7 +42289,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2226
+#: ../src/guestfs.pod:2207
#, no-wrap
msgid ""
" /* Display all calls to static markers. */\n"
@@ -42327,7 +42302,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2233
+#: ../src/guestfs.pod:2214
#, no-wrap
msgid ""
" /* Display all calls to guestfs_mkfs* functions. */\n"
@@ -42340,7 +42315,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2240
+#: ../src/guestfs.pod:2221
msgid ""
"The script above can be saved to C<test.stap> and run using the L<stap(1)> "
"program. Note that you either have to be root, or you have to add yourself "
@@ -42349,7 +42324,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2245
+#: ../src/guestfs.pod:2226
#, no-wrap
msgid ""
" # stap /tmp/test.stap\n"
@@ -42358,17 +42333,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2248
+#: ../src/guestfs.pod:2229
msgid "In another terminal, run a guestfish command such as this:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2252
+#: ../src/guestfs.pod:2233
msgid "In the first terminal, stap trace output similar to this is shown:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2254
+#: ../src/guestfs.pod:2235
#, no-wrap
msgid ""
" 1318248056692655 (+0):\tlaunch_start\n"
@@ -42381,12 +42356,12 @@ msgid ""
msgstr ""
#. type: =end
-#: ../src/guestfs.pod:2261 ../src/guestfs.pod:2266
+#: ../src/guestfs.pod:2242 ../src/guestfs.pod:2247
msgid "html"
msgstr "html"
#. type: textblock
-#: ../src/guestfs.pod:2263
+#: ../src/guestfs.pod:2244
msgid ""
"<!-- old anchor for the next section --> <a name="
"\"state_machine_and_low_level_event_api\"/>"
@@ -42395,12 +42370,12 @@ msgstr ""
"\"state_machine_and_low_level_event_api\"/>"
#. type: =head1
-#: ../src/guestfs.pod:2268
+#: ../src/guestfs.pod:2249
msgid "ARCHITECTURE"
msgstr "АРХІТЕКТУРА"
#. type: textblock
-#: ../src/guestfs.pod:2270
+#: ../src/guestfs.pod:2251
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 "
@@ -42408,7 +42383,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2274
+#: ../src/guestfs.pod:2255
#, no-wrap
msgid ""
" ___________________\n"
@@ -42434,14 +42409,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2294
+#: ../src/guestfs.pod:2275
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:2297
+#: ../src/guestfs.pod:2278
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 "
@@ -42453,7 +42428,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2306
+#: ../src/guestfs.pod:2287
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 "
@@ -42464,17 +42439,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2313
+#: ../src/guestfs.pod:2294
msgid "STATE MACHINE"
msgstr "СКІНЧЕННИЙ АВТОМАТ"
#. type: textblock
-#: ../src/guestfs.pod:2315
+#: ../src/guestfs.pod:2296
msgid "libguestfs uses a state machine to model the child process:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2317
+#: ../src/guestfs.pod:2298
#, no-wrap
msgid ""
" |\n"
@@ -42502,7 +42477,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2339
+#: ../src/guestfs.pod:2320
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), "
@@ -42511,7 +42486,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2344
+#: ../src/guestfs.pod:2325
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 "
@@ -42519,14 +42494,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2348
+#: ../src/guestfs.pod:2329
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:2351
+#: ../src/guestfs.pod:2332
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 "
@@ -42535,7 +42510,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2357
+#: ../src/guestfs.pod:2338
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. "
@@ -42545,7 +42520,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2363
+#: ../src/guestfs.pod:2344
msgid ""
"Finally, the child process sends asynchronous messages back to the main "
"program, such as kernel log messages. You can register a callback to "
@@ -42553,17 +42528,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2367
+#: ../src/guestfs.pod:2348
msgid "INTERNALS"
msgstr "ВНУТРІШНІ ПРИНЦИПИ РОБОТИ"
#. type: =head2
-#: ../src/guestfs.pod:2369
+#: ../src/guestfs.pod:2350
msgid "APPLIANCE BOOT PROCESS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2371
+#: ../src/guestfs.pod:2352
msgid ""
"This process has evolved and continues to evolve. The description here "
"corresponds only to the current version of libguestfs and is provided for "
@@ -42571,55 +42546,55 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2375
+#: ../src/guestfs.pod:2356
msgid ""
"In order to follow the stages involved below, enable libguestfs debugging "
"(set the environment variable C<LIBGUESTFS_DEBUG=1>)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2380
+#: ../src/guestfs.pod:2361
msgid "Create the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2382
+#: ../src/guestfs.pod:2363
msgid ""
"C<febootstrap-supermin-helper> is invoked to create the kernel, a small "
"initrd and the appliance."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2385
+#: ../src/guestfs.pod:2366
msgid ""
"The appliance is cached in C</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another "
"directory if C<TMPDIR> is set)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2388
+#: ../src/guestfs.pod:2369
msgid ""
"For a complete description of how the appliance is created and cached, read "
"the L<febootstrap(8)> and L<febootstrap-supermin-helper(8)> man pages."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2392
+#: ../src/guestfs.pod:2373
msgid "Start qemu and boot the kernel"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2394
+#: ../src/guestfs.pod:2375
msgid "qemu is invoked to boot the kernel."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2396
+#: ../src/guestfs.pod:2377
msgid "Run the initrd"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2398
+#: ../src/guestfs.pod:2379
msgid ""
"C<febootstrap-supermin-helper> builds a small initrd. The initrd is not the "
"appliance. The purpose of the initrd is to load enough kernel modules in "
@@ -42627,21 +42602,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2402
+#: ../src/guestfs.pod:2383
msgid ""
"The initrd is a cpio archive called C</var/tmp/.guestfs-E<lt>UIDE<gt>/"
"initrd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2405
+#: ../src/guestfs.pod:2386
msgid ""
"When the initrd has started you will see messages showing that kernel "
"modules are being loaded, similar to this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2408
+#: ../src/guestfs.pod:2389
#, no-wrap
msgid ""
" febootstrap: ext2 mini initrd starting up\n"
@@ -42652,12 +42627,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2413
+#: ../src/guestfs.pod:2394
msgid "Find and mount the appliance device"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2415
+#: ../src/guestfs.pod:2396
msgid ""
"The appliance is a sparse file containing an ext2 filesystem which contains "
"a familiar (although reduced in size) Linux operating system. It would "
@@ -42665,33 +42640,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2419
+#: ../src/guestfs.pod:2400
msgid ""
"The regular disks being inspected by libguestfs are the first devices "
"exposed by qemu (eg. as C</dev/vda>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2422
+#: ../src/guestfs.pod:2403
msgid ""
"The last disk added to qemu is the appliance itself (eg. C</dev/vdb> if "
"there was only one regular disk)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2425
+#: ../src/guestfs.pod:2406
msgid ""
"Thus the final job of the initrd is to locate the appliance disk, mount it, "
"and switch root into the appliance, and run C</init> from the appliance."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2429
+#: ../src/guestfs.pod:2410
msgid "If this works successfully you will see messages such as:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2431
+#: ../src/guestfs.pod:2412
#, no-wrap
msgid ""
" febootstrap: picked /sys/block/vdb/dev as root device\n"
@@ -42703,19 +42678,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2437
+#: ../src/guestfs.pod:2418
msgid ""
"Note that C<Starting /init script ...> indicates that the appliance's init "
"script is now running."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2440
+#: ../src/guestfs.pod:2421
msgid "Initialize the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2442
+#: ../src/guestfs.pod:2423
msgid ""
"The appliance itself now initializes itself. This involves starting certain "
"processes like C<udev>, possibly printing some debug information, and "
@@ -42723,19 +42698,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2446
+#: ../src/guestfs.pod:2427
msgid "The daemon"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2448
+#: ../src/guestfs.pod:2429
msgid ""
"Finally the daemon (C<guestfsd>) runs inside the appliance. If it runs you "
"should see:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2451
+#: ../src/guestfs.pod:2432
#, no-wrap
msgid ""
" verbose daemon enabled\n"
@@ -42743,14 +42718,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2453
+#: ../src/guestfs.pod:2434
msgid ""
"The daemon expects to see a named virtio-serial port exposed by qemu and "
"connected on the other end to the library."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2456
+#: ../src/guestfs.pod:2437
msgid ""
"The daemon connects to this port (and hence to the library) and sends a four "
"byte message C<GUESTFS_LAUNCH_FLAG>, which initiates the communication "
@@ -42758,19 +42733,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2462
+#: ../src/guestfs.pod:2443
msgid "COMMUNICATION PROTOCOL"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2464
+#: ../src/guestfs.pod:2445
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:2467
+#: ../src/guestfs.pod:2448
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 "
@@ -42778,14 +42753,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2471
+#: ../src/guestfs.pod:2452
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:2474
+#: ../src/guestfs.pod:2455
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 "
@@ -42795,17 +42770,17 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2481
+#: ../src/guestfs.pod:2462
msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2483
+#: ../src/guestfs.pod:2464
msgid "For ordinary functions, the request message is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2485
+#: ../src/guestfs.pod:2466
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -42816,7 +42791,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2490
+#: ../src/guestfs.pod:2471
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 "
@@ -42825,21 +42800,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2496
+#: ../src/guestfs.pod:2477
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:2499
+#: ../src/guestfs.pod:2480
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:2503
+#: ../src/guestfs.pod:2484
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 "
@@ -42851,12 +42826,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2511
+#: ../src/guestfs.pod:2492
msgid "The reply message for ordinary functions is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2513
+#: ../src/guestfs.pod:2494
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -42867,27 +42842,27 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2518
+#: ../src/guestfs.pod:2499
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:2521
+#: ../src/guestfs.pod:2502
msgid ""
"As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2524
+#: ../src/guestfs.pod:2505
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:2527
+#: ../src/guestfs.pod:2508
#, no-wrap
msgid ""
" total length (header + error,\n"
@@ -42898,19 +42873,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2532
+#: ../src/guestfs.pod:2513
msgid ""
"The C<guestfs_message_error> structure contains the error message as a "
"string."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2535
+#: ../src/guestfs.pod:2516
msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2537
+#: ../src/guestfs.pod:2518
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 "
@@ -42918,7 +42893,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2541
+#: ../src/guestfs.pod:2522
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -42932,12 +42907,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2549
+#: ../src/guestfs.pod:2530
msgid "The \"sequence of chunks\" is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2551
+#: ../src/guestfs.pod:2532
#, no-wrap
msgid ""
" length of chunk (not including length word itself)\n"
@@ -42951,7 +42926,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2559
+#: ../src/guestfs.pod:2540
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 "
@@ -42959,7 +42934,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2563
+#: ../src/guestfs.pod:2544
msgid ""
"At time of writing there are no functions that have more than one FileIn "
"parameter. However this is (theoretically) supported, by sending the "
@@ -42968,7 +42943,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2568
+#: ../src/guestfs.pod:2549
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 "
@@ -42977,7 +42952,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2574
+#: ../src/guestfs.pod:2555
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 "
@@ -42989,7 +42964,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2583
+#: ../src/guestfs.pod:2564
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 "
@@ -42999,19 +42974,19 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2589
+#: ../src/guestfs.pod:2570
msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2591
+#: ../src/guestfs.pod:2572
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:2594
+#: ../src/guestfs.pod:2575
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -43025,12 +43000,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2602
+#: ../src/guestfs.pod:2583
msgid "INITIAL MESSAGE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2604
+#: ../src/guestfs.pod:2585
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</"
@@ -43038,12 +43013,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2608
+#: ../src/guestfs.pod:2589
msgid "PROGRESS NOTIFICATION MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2610
+#: ../src/guestfs.pod:2591
msgid ""
"The daemon may send progress notification messages at any time. These are "
"distinguished by the normal length word being replaced by "
@@ -43051,7 +43026,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2614
+#: ../src/guestfs.pod:2595
msgid ""
"The library turns them into progress callbacks (see L</"
"GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards them "
@@ -43059,7 +43034,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2618
+#: ../src/guestfs.pod:2599
msgid ""
"The daemon self-limits the frequency of progress messages it sends (see "
"C<daemon/proto.c:notify_progress>). Not all calls generate progress "
@@ -43067,12 +43042,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2622
+#: ../src/guestfs.pod:2603
msgid "LIBGUESTFS VERSION NUMBERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2624
+#: ../src/guestfs.pod:2605
msgid ""
"Since April 2010, libguestfs has started to make separate development and "
"stable releases, along with corresponding branches in our git repository. "
@@ -43080,7 +43055,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2629
+#: ../src/guestfs.pod:2610
#, no-wrap
msgid ""
" even numbers for stable: 1.2.x, 1.4.x, ...\n"
@@ -43097,12 +43072,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2640
+#: ../src/guestfs.pod:2621
msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2642
+#: ../src/guestfs.pod:2623
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 "
@@ -43112,26 +43087,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2648
+#: ../src/guestfs.pod:2629
msgid "Our criteria for backporting changes are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2654
+#: ../src/guestfs.pod:2635
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:2660
+#: ../src/guestfs.pod:2641
msgid ""
"Bug fixes which are not controversial, fix obvious problems, and have been "
"well tested are backported."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2665
+#: ../src/guestfs.pod:2646
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 "
@@ -43139,7 +43114,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2671
+#: ../src/guestfs.pod:2652
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 "
@@ -43147,7 +43122,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2677
+#: ../src/guestfs.pod:2658
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 "
@@ -43158,17 +43133,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2685
+#: ../src/guestfs.pod:2666
msgid "EXTENDING LIBGUESTFS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2687
+#: ../src/guestfs.pod:2668
msgid "ADDING A NEW API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2689
+#: ../src/guestfs.pod:2670
msgid ""
"Large amounts of boilerplate code in libguestfs (RPC, bindings, "
"documentation) are generated, and this makes it easy to extend the "
@@ -43176,19 +43151,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2693
+#: ../src/guestfs.pod:2674
msgid "To add a new API action there are two changes:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2699
+#: ../src/guestfs.pod:2680
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:2702
+#: ../src/guestfs.pod:2683
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 "
@@ -43199,7 +43174,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2710
+#: ../src/guestfs.pod:2691
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 "
@@ -43209,7 +43184,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2716
+#: ../src/guestfs.pod:2697
msgid ""
"For library-only actions of the second type, add to the "
"C<non_daemon_functions> list. Since these functions are serviced by the "
@@ -43219,36 +43194,36 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2724
+#: ../src/guestfs.pod:2705
msgid "Implement the action (in C):"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2726
+#: ../src/guestfs.pod:2707
msgid ""
"For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the "
"C<daemon/> directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2729
+#: ../src/guestfs.pod:2710
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:2732
+#: ../src/guestfs.pod:2713
msgid "In either case, use another function as an example of what to do."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2736
+#: ../src/guestfs.pod:2717
msgid "After making these changes, use C<make> to compile."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2738
+#: ../src/guestfs.pod:2719
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 "
@@ -43256,12 +43231,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2742
+#: ../src/guestfs.pod:2723
msgid "ADDING TESTS FOR AN API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2744
+#: ../src/guestfs.pod:2725
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/"
@@ -43271,61 +43246,61 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2751
+#: ../src/guestfs.pod:2732
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:2754
+#: ../src/guestfs.pod:2735
msgid "The test environment has 4 block devices:"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2758
+#: ../src/guestfs.pod:2739
msgid "C</dev/sda> 500MB"
msgstr "C</dev/sda> 500 МБ"
#. type: textblock
-#: ../src/guestfs.pod:2760
+#: ../src/guestfs.pod:2741
msgid "General block device for testing."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2762
+#: ../src/guestfs.pod:2743
msgid "C</dev/sdb> 50MB"
msgstr "C</dev/sdb> 50 МБ"
#. type: textblock
-#: ../src/guestfs.pod:2764
+#: ../src/guestfs.pod:2745
msgid ""
"C</dev/sdb1> is an ext2 filesystem used for testing filesystem write "
"operations."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2767
+#: ../src/guestfs.pod:2748
msgid "C</dev/sdc> 10MB"
msgstr "C</dev/sdc> 10 МБ"
#. type: textblock
-#: ../src/guestfs.pod:2769
+#: ../src/guestfs.pod:2750
msgid "Used in a few tests where two block devices are needed."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2771
+#: ../src/guestfs.pod:2752
msgid "C</dev/sdd>"
msgstr "C</dev/sdd>"
#. type: textblock
-#: ../src/guestfs.pod:2773
+#: ../src/guestfs.pod:2754
msgid "ISO with fixed content (see C<images/test.iso>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2777
+#: ../src/guestfs.pod:2758
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 "
@@ -43333,7 +43308,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2781
+#: ../src/guestfs.pod:2762
msgid ""
"Each test starts with an initial scenario, selected using one of the "
"C<Init*> expressions, described in C<generator/generator_types.ml>. These "
@@ -43343,7 +43318,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2787
+#: ../src/guestfs.pod:2768
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 "
@@ -43353,14 +43328,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2793
+#: ../src/guestfs.pod:2774
msgid ""
"In addition, packagers can skip individual tests by setting environment "
"variables before running C<make check>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2796
+#: ../src/guestfs.pod:2777
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>_<NUM>=1\n"
@@ -43368,12 +43343,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2798
+#: ../src/guestfs.pod:2779
msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2802
+#: ../src/guestfs.pod:2783
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>=1\n"
@@ -43381,17 +43356,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2804
+#: ../src/guestfs.pod:2785
msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2806
+#: ../src/guestfs.pod:2787
msgid "Packagers can run only certain tests by setting for example:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2808
+#: ../src/guestfs.pod:2789
#, no-wrap
msgid ""
" TEST_ONLY=\"vfs_type zerofree\"\n"
@@ -43399,29 +43374,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2810
+#: ../src/guestfs.pod:2791
msgid ""
"See C<tests/c-api/tests.c> for more details of how these environment "
"variables work."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2813
+#: ../src/guestfs.pod:2794
msgid "DEBUGGING NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2815
+#: ../src/guestfs.pod:2796
msgid "Test new actions work before submitting them."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2817
+#: ../src/guestfs.pod:2798
msgid "You can use guestfish to try out new commands."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2819
+#: ../src/guestfs.pod:2800
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 "
@@ -43429,12 +43404,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2823
+#: ../src/guestfs.pod:2804
msgid "FORMATTING CODE AND OTHER CONVENTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2825
+#: ../src/guestfs.pod:2806
msgid ""
"Our C source code generally adheres to some basic code-formatting "
"conventions. The existing code base is not totally consistent on this "
@@ -43444,14 +43419,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2831
+#: ../src/guestfs.pod:2812
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:2834
+#: ../src/guestfs.pod:2815
#, no-wrap
msgid ""
" ;;; In libguestfs, indent with spaces everywhere (not TABs).\n"
@@ -43467,7 +43442,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2844
+#: ../src/guestfs.pod:2825
#, no-wrap
msgid ""
" ;;; When editing C sources in libguestfs, use this style.\n"
@@ -43485,12 +43460,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2856
+#: ../src/guestfs.pod:2837
msgid "Enable warnings when compiling (and fix any problems this finds):"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2859
+#: ../src/guestfs.pod:2840
#, no-wrap
msgid ""
" ./configure --enable-gcc-warnings\n"
@@ -43500,12 +43475,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:2861
+#: ../src/guestfs.pod:2842
msgid "Useful targets are:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2863
+#: ../src/guestfs.pod:2844
#, no-wrap
msgid ""
" make syntax-check # checks the syntax of the C code\n"
@@ -43514,43 +43489,43 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2866
+#: ../src/guestfs.pod:2847
msgid "DAEMON CUSTOM PRINTF FORMATTERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2868
+#: ../src/guestfs.pod:2849
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:2873
+#: ../src/guestfs.pod:2854
msgid "%Q"
msgstr "%Q"
#. type: textblock
-#: ../src/guestfs.pod:2875
+#: ../src/guestfs.pod:2856
msgid ""
"Simple shell quoted string. Any spaces or other shell characters are "
"escaped for you."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2878
+#: ../src/guestfs.pod:2859
msgid "%R"
msgstr "%R"
#. type: textblock
-#: ../src/guestfs.pod:2880
+#: ../src/guestfs.pod:2861
msgid ""
"Same as C<%Q> except the string is treated as a path which is prefixed by "
"the sysroot."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2887
+#: ../src/guestfs.pod:2868
#, no-wrap
msgid ""
" asprintf (&cmd, \"cat %R\", path);\n"
@@ -43560,12 +43535,12 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:2889
+#: ../src/guestfs.pod:2870
msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2891
+#: ../src/guestfs.pod:2872
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 "
@@ -43574,29 +43549,29 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2897
+#: ../src/guestfs.pod:2878
msgid "SUBMITTING YOUR NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2899
+#: ../src/guestfs.pod:2880
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:2903
+#: ../src/guestfs.pod:2884
msgid "INTERNATIONALIZATION (I18N) SUPPORT"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2905
+#: ../src/guestfs.pod:2886
msgid "We support i18n (gettext anyhow) in the library."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2907
+#: ../src/guestfs.pod:2888
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 "
@@ -43605,114 +43580,114 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2913
+#: ../src/guestfs.pod:2894
msgid ""
"Debugging messages are never translated, since they are intended for the "
"programmers."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2916
+#: ../src/guestfs.pod:2897
msgid "SOURCE CODE SUBDIRECTORIES"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2920
+#: ../src/guestfs.pod:2901
msgid "C<align>"
msgstr "C<align>"
#. type: textblock
-#: ../src/guestfs.pod:2922
+#: ../src/guestfs.pod:2903
msgid "L<virt-alignment-scan(1)> command and documentation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2926
+#: ../src/guestfs.pod:2907
msgid "The libguestfs appliance, build scripts and so on."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2928
+#: ../src/guestfs.pod:2909
msgid "C<cat>"
msgstr "C<cat>"
#. type: textblock
-#: ../src/guestfs.pod:2930
+#: ../src/guestfs.pod:2911
msgid ""
"The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and "
"documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2933
+#: ../src/guestfs.pod:2914
msgid "C<clone>"
msgstr "C<clone>"
#. type: textblock
-#: ../src/guestfs.pod:2935
+#: ../src/guestfs.pod:2916
msgid ""
"Tools for cloning virtual machines. Currently contains L<virt-sysprep(1)> "
"command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2938
+#: ../src/guestfs.pod:2919
msgid "C<contrib>"
msgstr "C<contrib>"
#. type: textblock
-#: ../src/guestfs.pod:2940
+#: ../src/guestfs.pod:2921
msgid "Outside contributions, experimental parts."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2942
+#: ../src/guestfs.pod:2923
msgid "C<daemon>"
msgstr "C<daemon>"
#. type: textblock
-#: ../src/guestfs.pod:2944
+#: ../src/guestfs.pod:2925
msgid ""
"The daemon that runs inside the libguestfs appliance and carries out actions."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2947
+#: ../src/guestfs.pod:2928
msgid "C<df>"
msgstr "C<df>"
#. type: textblock
-#: ../src/guestfs.pod:2949
+#: ../src/guestfs.pod:2930
msgid "L<virt-df(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2951
+#: ../src/guestfs.pod:2932
msgid "C<edit>"
msgstr "C<edit>"
#. type: textblock
-#: ../src/guestfs.pod:2953
+#: ../src/guestfs.pod:2934
msgid "L<virt-edit(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2955
+#: ../src/guestfs.pod:2936
msgid "C<examples>"
msgstr "C<examples>"
#. type: textblock
-#: ../src/guestfs.pod:2957
+#: ../src/guestfs.pod:2938
msgid "C API example code."
msgstr "Код прикладів використання програмного інтерфейсу мовою C."
#. type: =item
-#: ../src/guestfs.pod:2959
+#: ../src/guestfs.pod:2940
msgid "C<fish>"
msgstr "C<fish>"
#. type: textblock
-#: ../src/guestfs.pod:2961
+#: ../src/guestfs.pod:2942
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)>, "
@@ -43720,80 +43695,80 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2967
+#: ../src/guestfs.pod:2948
msgid "L<virt-format(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2969
+#: ../src/guestfs.pod:2950
msgid "C<fuse>"
msgstr "C<fuse>"
#. type: textblock
-#: ../src/guestfs.pod:2971
+#: ../src/guestfs.pod:2952
msgid ""
"L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2973
+#: ../src/guestfs.pod:2954
msgid "C<generator>"
msgstr "C<generator>"
#. type: textblock
-#: ../src/guestfs.pod:2975
+#: ../src/guestfs.pod:2956
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:2978
+#: ../src/guestfs.pod:2959
msgid "C<inspector>"
msgstr "C<inspector>"
#. type: textblock
-#: ../src/guestfs.pod:2980
+#: ../src/guestfs.pod:2961
msgid "L<virt-inspector(1)>, the virtual machine image inspector."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2982
+#: ../src/guestfs.pod:2963
msgid "C<logo>"
msgstr "C<logo>"
#. type: textblock
-#: ../src/guestfs.pod:2984
+#: ../src/guestfs.pod:2965
msgid "Logo used on the website. The fish is called Arthur by the way."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2986
+#: ../src/guestfs.pod:2967
msgid "C<m4>"
msgstr "C<m4>"
#. type: textblock
-#: ../src/guestfs.pod:2988
+#: ../src/guestfs.pod:2969
msgid "M4 macros used by autoconf."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2990
+#: ../src/guestfs.pod:2971
msgid "C<po>"
msgstr "C<po>"
#. type: textblock
-#: ../src/guestfs.pod:2992
+#: ../src/guestfs.pod:2973
msgid "Translations of simple gettext strings."
msgstr "Переклади простих рядків gettext."
#. type: =item
-#: ../src/guestfs.pod:2994
+#: ../src/guestfs.pod:2975
msgid "C<po-docs>"
msgstr "C<po-docs>"
#. type: textblock
-#: ../src/guestfs.pod:2996
+#: ../src/guestfs.pod:2977
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 "
@@ -43801,140 +43776,140 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3000
+#: ../src/guestfs.pod:2981
msgid "C<rescue>"
msgstr "C<rescue>"
#. type: textblock
-#: ../src/guestfs.pod:3002
+#: ../src/guestfs.pod:2983
msgid "L<virt-rescue(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3004
+#: ../src/guestfs.pod:2985
msgid "C<resize>"
msgstr "C<resize>"
#. type: textblock
-#: ../src/guestfs.pod:3006
+#: ../src/guestfs.pod:2987
msgid "L<virt-resize(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3008
+#: ../src/guestfs.pod:2989
msgid "C<sparsify>"
msgstr "C<sparsify>"
#. type: textblock
-#: ../src/guestfs.pod:3010
+#: ../src/guestfs.pod:2991
msgid "L<virt-sparsify(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3012
+#: ../src/guestfs.pod:2993
msgid "C<src>"
msgstr "C<src>"
#. type: textblock
-#: ../src/guestfs.pod:3014
+#: ../src/guestfs.pod:2995
msgid "Source code to the C library."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3016
+#: ../src/guestfs.pod:2997
msgid "C<test-tool>"
msgstr "C<test-tool>"
#. type: textblock
-#: ../src/guestfs.pod:3018
+#: ../src/guestfs.pod:2999
msgid ""
"Test tool for end users to test if their qemu/kernel combination will work "
"with libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3021
+#: ../src/guestfs.pod:3002
msgid "C<tests>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3023
+#: ../src/guestfs.pod:3004
msgid "Tests."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3025
+#: ../src/guestfs.pod:3006
msgid "C<tools>"
msgstr "C<tools>"
#. type: textblock
-#: ../src/guestfs.pod:3027
+#: ../src/guestfs.pod:3008
msgid ""
"Command line tools written in Perl (L<virt-win-reg(1)> and many others)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3029
+#: ../src/guestfs.pod:3010
msgid "C<csharp>"
msgstr "C<csharp>"
#. type: =item
-#: ../src/guestfs.pod:3031
+#: ../src/guestfs.pod:3012
msgid "C<erlang>"
msgstr "C<erlang>"
#. type: =item
-#: ../src/guestfs.pod:3033
+#: ../src/guestfs.pod:3014
msgid "C<gobject>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3035
+#: ../src/guestfs.pod:3016
msgid "C<haskell>"
msgstr "C<haskell>"
#. type: =item
-#: ../src/guestfs.pod:3037
+#: ../src/guestfs.pod:3018
msgid "C<java>"
msgstr "C<java>"
#. type: =item
-#: ../src/guestfs.pod:3039
+#: ../src/guestfs.pod:3020
msgid "C<ocaml>"
msgstr "C<ocaml>"
#. type: =item
-#: ../src/guestfs.pod:3041
+#: ../src/guestfs.pod:3022
msgid "C<php>"
msgstr "C<php>"
#. type: =item
-#: ../src/guestfs.pod:3043
+#: ../src/guestfs.pod:3024
msgid "C<perl>"
msgstr "C<perl>"
#. type: =item
-#: ../src/guestfs.pod:3045
+#: ../src/guestfs.pod:3026
msgid "C<python>"
msgstr "C<python>"
#. type: =item
-#: ../src/guestfs.pod:3047
+#: ../src/guestfs.pod:3028
msgid "C<ruby>"
msgstr "C<ruby>"
#. type: textblock
-#: ../src/guestfs.pod:3049
+#: ../src/guestfs.pod:3030
msgid "Language bindings."
msgstr "Прив’язки до мов програмування."
#. type: =head2
-#: ../src/guestfs.pod:3053
+#: ../src/guestfs.pod:3034
msgid "MAKING A STABLE RELEASE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3055
+#: ../src/guestfs.pod:3036
msgid ""
"When we make a stable release, there are several steps documented here. See "
"L</LIBGUESTFS VERSION NUMBERS> for general information about the stable "
@@ -43942,33 +43917,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3063
+#: ../src/guestfs.pod:3044
msgid ""
"Check C<make && make check> works on at least Fedora, Debian and Ubuntu."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3068
+#: ../src/guestfs.pod:3049
msgid "Finalize RELEASE-NOTES."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3072
+#: ../src/guestfs.pod:3053
msgid "Update ROADMAP."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3076
+#: ../src/guestfs.pod:3057
msgid "Run C<src/api-support/update-from-tarballs.sh>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3080
+#: ../src/guestfs.pod:3061
msgid "Push and pull from Transifex."
msgstr "Передавання даних на Transifex та отримання даних з Transifex."
#. type: verbatim
-#: ../src/guestfs.pod:3084
+#: ../src/guestfs.pod:3065
#, no-wrap
msgid ""
" tx push -s\n"
@@ -43978,13 +43953,13 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:3086
+#: ../src/guestfs.pod:3067
msgid "to push the latest POT files to Transifex. Then run:"
msgstr ""
"щоб надіслати найсвіжіші файли POT на Transifex. Потім віддайте команду:"
#. type: verbatim
-#: ../src/guestfs.pod:3088
+#: ../src/guestfs.pod:3069
#, no-wrap
msgid ""
" ./tx-pull.sh\n"
@@ -43994,24 +43969,24 @@ msgstr ""
"\n"
#. type: textblock
-#: ../src/guestfs.pod:3090
+#: ../src/guestfs.pod:3071
msgid "which is a wrapper to pull the latest translated C<*.po> files."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3094
+#: ../src/guestfs.pod:3075
msgid ""
"Create new stable and development directories under L<http://libguestfs.org/"
"download>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3099
+#: ../src/guestfs.pod:3080
msgid "Create the branch in git:"
msgstr "Створення гілки у git:"
#. type: verbatim
-#: ../src/guestfs.pod:3101
+#: ../src/guestfs.pod:3082
#, no-wrap
msgid ""
" git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n"
@@ -44027,17 +44002,17 @@ msgstr ""
"\n"
#. type: =head1
-#: ../src/guestfs.pod:3108
+#: ../src/guestfs.pod:3089
msgid "LIMITS"
msgstr "ОБМЕЖЕННЯ"
#. type: =head2
-#: ../src/guestfs.pod:3110
+#: ../src/guestfs.pod:3091
msgid "PROTOCOL LIMITS"
msgstr "ОБМЕЖЕННЯ ПРОТОКОЛУ"
#. type: textblock
-#: ../src/guestfs.pod:3112
+#: ../src/guestfs.pod:3093
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 "
@@ -44048,7 +44023,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3120
+#: ../src/guestfs.pod:3101
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 "
@@ -44057,7 +44032,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3126
+#: ../src/guestfs.pod:3107
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> "
@@ -44065,24 +44040,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3130
+#: ../src/guestfs.pod:3111
msgid ""
"You might also consider mounting the disk image using our FUSE filesystem "
"support (L<guestmount(1)>)."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3133
+#: ../src/guestfs.pod:3114
msgid "MAXIMUM NUMBER OF DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3135
+#: ../src/guestfs.pod:3116
msgid "When using virtio disks (the default) the current limit is B<25> disks."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3138
+#: ../src/guestfs.pod:3119
msgid ""
"Virtio itself consumes 1 virtual PCI slot per disk, and PCI is limited to 31 "
"slots. However febootstrap only understands disks with names C</dev/vda> "
@@ -44091,14 +44066,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3143
+#: ../src/guestfs.pod:3124
msgid ""
"We are working to substantially raise this limit in future versions but it "
"requires complex changes to qemu."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3146
+#: ../src/guestfs.pod:3127
msgid ""
"In future versions of libguestfs it should also be possible to \"hot plug\" "
"disks (add and remove disks after calling L</guestfs_launch>). This also "
@@ -44106,41 +44081,41 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3150
+#: ../src/guestfs.pod:3131
msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3152
+#: ../src/guestfs.pod:3133
msgid "Virtio limits the maximum number of partitions per disk to B<15>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3154
+#: ../src/guestfs.pod:3135
msgid ""
"This is because it reserves 4 bits for the minor device number (thus C</dev/"
"vda>, and C</dev/vda1> through C</dev/vda15>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3157
+#: ../src/guestfs.pod:3138
msgid ""
"If you attach a disk with more than 15 partitions, the extra partitions are "
"ignored by libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3160
+#: ../src/guestfs.pod:3141
msgid "MAXIMUM SIZE OF A DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3162
+#: ../src/guestfs.pod:3143
msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3164
+#: ../src/guestfs.pod:3145
msgid ""
"We have tested block devices up to 1 exabyte (2**60 or "
"1,152,921,504,606,846,976 bytes) using sparse files backed by an XFS host "
@@ -44148,7 +44123,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3168
+#: ../src/guestfs.pod:3149
msgid ""
"Although libguestfs probably does not impose any limit, the underlying host "
"storage will. If you store disk images on a host ext4 filesystem, then the "
@@ -44158,19 +44133,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3174
+#: ../src/guestfs.pod:3155
msgid ""
"For the hugest disk image files, we recommend using XFS on the host for "
"storage."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3177
+#: ../src/guestfs.pod:3158
msgid "MAXIMUM SIZE OF A PARTITION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3179
+#: ../src/guestfs.pod:3160
msgid ""
"The MBR (ie. classic MS-DOS) partitioning scheme uses 32 bit sector "
"numbers. Assuming a 512 byte sector size, this means that MBR cannot "
@@ -44178,7 +44153,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3183
+#: ../src/guestfs.pod:3164
msgid ""
"It is recommended that you use GPT partitions on disks which are larger than "
"this size. GPT uses 64 bit sector numbers and so can address partitions "
@@ -44186,12 +44161,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3188
+#: ../src/guestfs.pod:3169
msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3190
+#: ../src/guestfs.pod:3171
msgid ""
"This depends on the filesystem type. libguestfs itself does not impose any "
"known limit. Consult Wikipedia or the filesystem documentation to find out "
@@ -44199,12 +44174,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3194
+#: ../src/guestfs.pod:3175
msgid "MAXIMUM UPLOAD AND DOWNLOAD"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3196
+#: ../src/guestfs.pod:3177
msgid ""
"The API functions L</guestfs_upload>, L</guestfs_download>, L</"
"guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized "
@@ -44212,12 +44187,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3200
+#: ../src/guestfs.pod:3181
msgid "INSPECTION LIMITS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3202
+#: ../src/guestfs.pod:3183
msgid ""
"The inspection code has several arbitrary limits on things like the size of "
"Windows Registry hive it will read, and the length of product name. These "
@@ -44227,33 +44202,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3228
+#: ../src/guestfs.pod:3209
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: textblock
-#: ../src/guestfs.pod:3240
+#: ../src/guestfs.pod:3221
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: textblock
-#: ../src/guestfs.pod:3249
+#: ../src/guestfs.pod:3230
msgid "See also L</QEMU WRAPPERS> above."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3253
+#: ../src/guestfs.pod:3234
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: textblock
-#: ../src/guestfs.pod:3271
+#: ../src/guestfs.pod:3252
msgid ""
"L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-"
"ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-ruby(3)>, "
@@ -44269,27 +44244,27 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3310
+#: ../src/guestfs.pod:3291
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:3317 ../tools/virt-make-fs.pl:574
+#: ../src/guestfs.pod:3298 ../tools/virt-make-fs.pl:574
#: ../tools/virt-win-reg.pl:772
msgid "BUGS"
msgstr "ВАДИ"
#. type: textblock
-#: ../src/guestfs.pod:3319
+#: ../src/guestfs.pod:3300
msgid "To get a list of bugs against libguestfs use this link:"
msgstr ""
"Щоб переглянути список відомих вад у libguestfs, скористайтеся таким "
"посиланням:"
#. type: textblock
-#: ../src/guestfs.pod:3321
+#: ../src/guestfs.pod:3302
msgid ""
"L<https://bugzilla.redhat.com/buglist.cgi?"
"component=libguestfs&product=Virtualization+Tools>"
@@ -44298,12 +44273,12 @@ msgstr ""
"component=libguestfs&product=Virtualization+Tools>"
#. type: textblock
-#: ../src/guestfs.pod:3323
+#: ../src/guestfs.pod:3304
msgid "To report a new bug against libguestfs use this link:"
msgstr "Для звітування щодо вад у libguestfs скористайтеся цим посиланням:"
#. type: textblock
-#: ../src/guestfs.pod:3325
+#: ../src/guestfs.pod:3306
msgid ""
"L<https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools>"
@@ -44312,27 +44287,27 @@ msgstr ""
"component=libguestfs&product=Virtualization+Tools>"
#. type: textblock
-#: ../src/guestfs.pod:3327
+#: ../src/guestfs.pod:3308
msgid "When reporting a bug, please check:"
msgstr "Під час створення повідомлення щодо вади вам слід переконатися:"
#. type: textblock
-#: ../src/guestfs.pod:3333
+#: ../src/guestfs.pod:3314
msgid "That the bug hasn't been reported already."
msgstr "Що про ваду вже не повідомлено кимось іншим."
#. type: textblock
-#: ../src/guestfs.pod:3337
+#: ../src/guestfs.pod:3318
msgid "That you are testing a recent version."
msgstr "Що ви користуєтеся найсвіжішою версією."
#. type: textblock
-#: ../src/guestfs.pod:3341
+#: ../src/guestfs.pod:3322
msgid "Describe the bug accurately, and give a way to reproduce it."
msgstr "Що ви точно описали ваду та способи її відтворення."
#. type: textblock
-#: ../src/guestfs.pod:3345
+#: ../src/guestfs.pod:3326
msgid ""
"Run libguestfs-test-tool and paste the B<complete, unedited> output into the "
"bug report."
diff --git a/po/en_GB.po b/po/en_GB.po
index 64cb60e1..12f2f596 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.net/projects/p/"
diff --git a/po/es.po b/po/es.po
index 75a80187..0b2b3c6c 100644
--- a/po/es.po
+++ b/po/es.po
@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Spanish (Castilian) <trans-es@lists.fedoraproject.org>\n"
diff --git a/po/gu.po b/po/gu.po
index 830a36a9..3df456ed 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Gujarati <trans-gu@lists.fedoraproject.org>\n"
diff --git a/po/hi.po b/po/hi.po
index 548ed03c..35e68835 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Hindi <indlinux-hindi@lists.sourceforge.net>\n"
diff --git a/po/kn.po b/po/kn.po
index 3cbdd08c..78f971ee 100644
--- a/po/kn.po
+++ b/po/kn.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Kannada (http://www.transifex.net/projects/p/fedora/team/"
diff --git a/po/libguestfs.pot b/po/libguestfs.pot
index b9620019..9f6e347b 100644
--- a/po/libguestfs.pot
+++ b/po/libguestfs.pot
@@ -6,10 +6,10 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: libguestfs 1.16.20\n"
+"Project-Id-Version: libguestfs 1.16.21\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\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"
diff --git a/po/ml.po b/po/ml.po
index 8676334d..0acc8c6f 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Malayalam <discuss@lists.smc.org.in>\n"
diff --git a/po/mr.po b/po/mr.po
index a38852d9..1f517423 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Marathi (http://www.transifex.net/projects/p/fedora/team/"
diff --git a/po/nl.po b/po/nl.po
index 7c2d86fe..9375f095 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Dutch (http://www.transifex.net/projects/p/fedora/team/nl/)\n"
diff --git a/po/or.po b/po/or.po
index fd703c93..61f38a5d 100644
--- a/po/or.po
+++ b/po/or.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Oriya (http://www.transifex.net/projects/p/fedora/team/or/)\n"
diff --git a/po/pa.po b/po/pa.po
index 7ce93dd2..95058cb8 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Panjabi (Punjabi) <punjabi-users@lists.sf.net>\n"
diff --git a/po/pl.po b/po/pl.po
index 26fd7d2e..a2003f4b 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Polish (http://www.transifex.net/projects/p/fedora/team/pl/)\n"
diff --git a/po/ta.po b/po/ta.po
index 2679b860..75b4066a 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Tamil <tamil-users@lists.fedoraproject.org>\n"
diff --git a/po/te.po b/po/te.po
index 827a0c53..346e0672 100644
--- a/po/te.po
+++ b/po/te.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Telugu (http://www.transifex.net/projects/p/fedora/team/te/)\n"
diff --git a/po/uk.po b/po/uk.po
index ba79eb2b..ed999f53 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: libguestfs\n"
"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2012-04-24 11:26+0100\n"
+"POT-Creation-Date: 2012-05-01 15:29+0100\n"
"PO-Revision-Date: 2012-01-23 13:09+0000\n"
"Last-Translator: rjones <rjones@redhat.com>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"