summaryrefslogtreecommitdiffstats
path: root/po-docs/libguestfs-docs.pot
diff options
context:
space:
mode:
Diffstat (limited to 'po-docs/libguestfs-docs.pot')
-rw-r--r--po-docs/libguestfs-docs.pot2230
1 files changed, 1221 insertions, 1009 deletions
diff --git a/po-docs/libguestfs-docs.pot b/po-docs/libguestfs-docs.pot
index fa242446..eb69ce76 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.19.59\n"
+"Project-Id-Version: libguestfs 1.19.60\n"
"Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
-"POT-Creation-Date: 2012-11-13 14:41+0000\n"
+"POT-Creation-Date: 2012-11-17 19:54+0000\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"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#. type: =head1
-#: ../align/virt-alignment-scan.pod:3 ../appliance/libguestfs-make-fixed-appliance.pod:3 ../cat/virt-cat.pod:3 ../cat/virt-filesystems.pod:3 ../cat/virt-ls.pod:3 ../daemon/guestfsd.pod:3 ../df/virt-df.pod:3 ../edit/virt-edit.pod:3 ../erlang/examples/guestfs-erlang.pod:3 ../examples/guestfs-examples.pod:3 ../examples/guestfs-faq.pod:3 ../examples/guestfs-performance.pod:3 ../examples/guestfs-recipes.pod:10 ../examples/guestfs-testing.pod:3 ../fish/guestfish.pod:3 ../fish/virt-copy-in.pod:3 ../fish/virt-copy-out.pod:3 ../fish/virt-tar-in.pod:3 ../fish/virt-tar-out.pod:3 ../format/virt-format.pod:3 ../fuse/guestmount.pod:3 ../guestfs-release-notes.pod:3 ../inspector/virt-inspector.pod:3 ../java/examples/guestfs-java.pod:3 ../ocaml/examples/guestfs-ocaml.pod:3 ../perl/examples/guestfs-perl.pod:3 ../python/examples/guestfs-python.pod:3 ../rescue/virt-rescue.pod:3 ../resize/virt-resize.pod:3 ../ruby/examples/guestfs-ruby.pod:3 ../sparsify/virt-sparsify.pod:3 ../src/guestfs.pod:3 ../sysprep/virt-sysprep.pod:3 ../test-tool/libguestfs-test-tool.pod:3 ../tools/virt-list-filesystems.pl:30 ../tools/virt-list-partitions.pl:30 ../tools/virt-make-fs.pl:36 ../tools/virt-tar.pl:31 ../tools/virt-win-reg.pl:35
+#: ../align/virt-alignment-scan.pod:3 ../appliance/libguestfs-make-fixed-appliance.pod:3 ../cat/virt-cat.pod:3 ../cat/virt-filesystems.pod:3 ../cat/virt-ls.pod:3 ../daemon/guestfsd.pod:3 ../df/virt-df.pod:3 ../edit/virt-edit.pod:3 ../erlang/examples/guestfs-erlang.pod:3 ../examples/guestfs-examples.pod:3 ../examples/guestfs-faq.pod:3 ../examples/guestfs-performance.pod:3 ../examples/guestfs-recipes.pod:10 ../examples/guestfs-testing.pod:3 ../fish/guestfish.pod:3 ../fish/virt-copy-in.pod:3 ../fish/virt-copy-out.pod:3 ../fish/virt-tar-in.pod:3 ../fish/virt-tar-out.pod:3 ../format/virt-format.pod:3 ../fuse/guestmount.pod:3 ../guestfs-release-notes.pod:3 ../inspector/virt-inspector.pod:3 ../java/examples/guestfs-java.pod:3 ../lua/examples/guestfs-lua.pod:3 ../ocaml/examples/guestfs-ocaml.pod:3 ../perl/examples/guestfs-perl.pod:3 ../python/examples/guestfs-python.pod:3 ../rescue/virt-rescue.pod:3 ../resize/virt-resize.pod:3 ../ruby/examples/guestfs-ruby.pod:3 ../sparsify/virt-sparsify.pod:3 ../src/guestfs.pod:3 ../sysprep/virt-sysprep.pod:3 ../test-tool/libguestfs-test-tool.pod:3 ../tools/virt-list-filesystems.pl:30 ../tools/virt-list-partitions.pl:30 ../tools/virt-make-fs.pl:36 ../tools/virt-tar.pl:31 ../tools/virt-win-reg.pl:35
msgid "NAME"
msgstr ""
@@ -28,7 +28,7 @@ msgid "virt-alignment-scan - Check alignment of virtual machine partitions"
msgstr ""
#. type: =head1
-#: ../align/virt-alignment-scan.pod:7 ../appliance/libguestfs-make-fixed-appliance.pod:7 ../cat/virt-cat.pod:7 ../cat/virt-filesystems.pod:7 ../cat/virt-ls.pod:7 ../daemon/guestfsd.pod:7 ../df/virt-df.pod:7 ../edit/virt-edit.pod:7 ../erlang/examples/guestfs-erlang.pod:7 ../examples/guestfs-examples.pod:7 ../fish/guestfish.pod:7 ../fish/virt-copy-in.pod:7 ../fish/virt-copy-out.pod:7 ../fish/virt-tar-in.pod:7 ../fish/virt-tar-out.pod:7 ../format/virt-format.pod:7 ../fuse/guestmount.pod:7 ../inspector/virt-inspector.pod:7 ../java/examples/guestfs-java.pod:7 ../ocaml/examples/guestfs-ocaml.pod:7 ../perl/examples/guestfs-perl.pod:7 ../python/examples/guestfs-python.pod:7 ../rescue/virt-rescue.pod:7 ../resize/virt-resize.pod:7 ../ruby/examples/guestfs-ruby.pod:7 ../sparsify/virt-sparsify.pod:7 ../src/guestfs.pod:7 ../sysprep/virt-sysprep.pod:7 ../test-tool/libguestfs-test-tool.pod:7 ../tools/virt-list-filesystems.pl:34 ../tools/virt-list-partitions.pl:34 ../tools/virt-make-fs.pl:40 ../tools/virt-tar.pl:35 ../tools/virt-win-reg.pl:39
+#: ../align/virt-alignment-scan.pod:7 ../appliance/libguestfs-make-fixed-appliance.pod:7 ../cat/virt-cat.pod:7 ../cat/virt-filesystems.pod:7 ../cat/virt-ls.pod:7 ../daemon/guestfsd.pod:7 ../df/virt-df.pod:7 ../edit/virt-edit.pod:7 ../erlang/examples/guestfs-erlang.pod:7 ../examples/guestfs-examples.pod:7 ../fish/guestfish.pod:7 ../fish/virt-copy-in.pod:7 ../fish/virt-copy-out.pod:7 ../fish/virt-tar-in.pod:7 ../fish/virt-tar-out.pod:7 ../format/virt-format.pod:7 ../fuse/guestmount.pod:7 ../inspector/virt-inspector.pod:7 ../java/examples/guestfs-java.pod:7 ../lua/examples/guestfs-lua.pod:7 ../ocaml/examples/guestfs-ocaml.pod:7 ../perl/examples/guestfs-perl.pod:7 ../python/examples/guestfs-python.pod:7 ../rescue/virt-rescue.pod:7 ../resize/virt-resize.pod:7 ../ruby/examples/guestfs-ruby.pod:7 ../sparsify/virt-sparsify.pod:7 ../src/guestfs.pod:7 ../sysprep/virt-sysprep.pod:7 ../test-tool/libguestfs-test-tool.pod:7 ../tools/virt-list-filesystems.pl:34 ../tools/virt-list-partitions.pl:34 ../tools/virt-make-fs.pl:40 ../tools/virt-tar.pl:35 ../tools/virt-win-reg.pl:39
msgid "SYNOPSIS"
msgstr ""
@@ -57,7 +57,7 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../align/virt-alignment-scan.pod:15 ../appliance/libguestfs-make-fixed-appliance.pod:13 ../cat/virt-cat.pod:19 ../cat/virt-filesystems.pod:13 ../cat/virt-ls.pod:19 ../daemon/guestfsd.pod:11 ../df/virt-df.pod:21 ../edit/virt-edit.pod:27 ../erlang/examples/guestfs-erlang.pod:16 ../examples/guestfs-examples.pod:19 ../examples/guestfs-performance.pod:7 ../examples/guestfs-recipes.pod:14 ../examples/guestfs-testing.pod:7 ../fish/guestfish.pod:30 ../fish/virt-copy-in.pod:19 ../fish/virt-copy-out.pod:13 ../fish/virt-tar-in.pod:21 ../fish/virt-tar-out.pod:15 ../format/virt-format.pod:11 ../fuse/guestmount.pod:20 ../inspector/virt-inspector.pod:19 ../java/examples/guestfs-java.pod:15 ../ocaml/examples/guestfs-ocaml.pod:25 ../perl/examples/guestfs-perl.pod:19 ../python/examples/guestfs-python.pod:14 ../rescue/virt-rescue.pod:31 ../resize/virt-resize.pod:13 ../ruby/examples/guestfs-ruby.pod:15 ../sparsify/virt-sparsify.pod:11 ../src/guestfs.pod:24 ../sysprep/virt-sysprep.pod:13 ../test-tool/libguestfs-test-tool.pod:11 ../tools/virt-list-filesystems.pl:45 ../tools/virt-list-partitions.pl:45 ../tools/virt-make-fs.pl:48 ../tools/virt-tar.pl:77 ../tools/virt-win-reg.pl:63
+#: ../align/virt-alignment-scan.pod:15 ../appliance/libguestfs-make-fixed-appliance.pod:13 ../cat/virt-cat.pod:19 ../cat/virt-filesystems.pod:13 ../cat/virt-ls.pod:19 ../daemon/guestfsd.pod:11 ../df/virt-df.pod:21 ../edit/virt-edit.pod:27 ../erlang/examples/guestfs-erlang.pod:16 ../examples/guestfs-examples.pod:19 ../examples/guestfs-performance.pod:7 ../examples/guestfs-recipes.pod:14 ../examples/guestfs-testing.pod:7 ../fish/guestfish.pod:30 ../fish/virt-copy-in.pod:19 ../fish/virt-copy-out.pod:13 ../fish/virt-tar-in.pod:21 ../fish/virt-tar-out.pod:15 ../format/virt-format.pod:11 ../fuse/guestmount.pod:20 ../inspector/virt-inspector.pod:19 ../java/examples/guestfs-java.pod:15 ../lua/examples/guestfs-lua.pod:16 ../ocaml/examples/guestfs-ocaml.pod:25 ../perl/examples/guestfs-perl.pod:19 ../python/examples/guestfs-python.pod:14 ../rescue/virt-rescue.pod:31 ../resize/virt-resize.pod:13 ../ruby/examples/guestfs-ruby.pod:15 ../sparsify/virt-sparsify.pod:11 ../src/guestfs.pod:24 ../sysprep/virt-sysprep.pod:13 ../test-tool/libguestfs-test-tool.pod:11 ../tools/virt-list-filesystems.pl:45 ../tools/virt-list-partitions.pl:45 ../tools/virt-make-fs.pl:48 ../tools/virt-tar.pl:77 ../tools/virt-win-reg.pl:63
msgid "DESCRIPTION"
msgstr ""
@@ -343,7 +343,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../align/virt-alignment-scan.pod:146 ../cat/virt-cat.pod:114 ../cat/virt-filesystems.pod:179 ../cat/virt-ls.pod:337 ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 ../fish/guestfish.pod:689 ../format/virt-format.pod:96 ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:164 ../src/guestfs.pod:3581 ../sysprep/virt-sysprep.pod:112
+#: ../align/virt-alignment-scan.pod:146 ../cat/virt-cat.pod:114 ../cat/virt-filesystems.pod:179 ../cat/virt-ls.pod:337 ../df/virt-df.pod:110 ../edit/virt-edit.pod:141 ../fish/guestfish.pod:242 ../fish/guestfish.pod:689 ../format/virt-format.pod:96 ../inspector/virt-inspector.pod:350 ../rescue/virt-rescue.pod:164 ../src/guestfs.pod:3585 ../sysprep/virt-sysprep.pod:112
msgid "For example:"
msgstr ""
@@ -751,7 +751,7 @@ msgid "This program returns:"
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:347 ../align/virt-alignment-scan.pod:353 ../align/virt-alignment-scan.pod:359 ../align/virt-alignment-scan.pod:366 ../appliance/libguestfs-make-fixed-appliance.pod:32 ../appliance/libguestfs-make-fixed-appliance.pod:53 ../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 ../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-faq.pod:149 ../examples/guestfs-faq.pod:155 ../examples/guestfs-faq.pod:194 ../examples/guestfs-faq.pod:200 ../examples/guestfs-performance.pod:107 ../examples/guestfs-performance.pod:113 ../examples/guestfs-performance.pod:118 ../examples/guestfs-performance.pod:253 ../examples/guestfs-performance.pod:258 ../examples/guestfs-performance.pod:263 ../examples/guestfs-recipes.pod:128 ../examples/guestfs-recipes.pod:132 ../examples/guestfs-recipes.pod:136 ../examples/guestfs-recipes.pod:162 ../examples/guestfs-recipes.pod:167 ../examples/guestfs-recipes.pod:257 ../examples/guestfs-recipes.pod:261 ../examples/guestfs-recipes.pod:265 ../examples/guestfs-recipes.pod:269 ../examples/guestfs-recipes.pod:273 ../examples/guestfs-testing.pod:124 ../examples/guestfs-testing.pod:128 ../examples/guestfs-testing.pod:132 ../fish/guestfish-actions.pod:432 ../fish/guestfish-actions.pod:440 ../fish/guestfish-actions.pod:447 ../fish/guestfish-actions.pod:454 ../fish/guestfish-actions.pod:1495 ../fish/guestfish-actions.pod:1499 ../fish/guestfish-actions.pod:1503 ../fish/guestfish-actions.pod:1507 ../fish/guestfish-actions.pod:1515 ../fish/guestfish-actions.pod:1519 ../fish/guestfish-actions.pod:1523 ../fish/guestfish-actions.pod:1533 ../fish/guestfish-actions.pod:1537 ../fish/guestfish-actions.pod:1541 ../fish/guestfish-actions.pod:1652 ../fish/guestfish-actions.pod:1656 ../fish/guestfish-actions.pod:1661 ../fish/guestfish-actions.pod:1703 ../fish/guestfish-actions.pod:1707 ../fish/guestfish-actions.pod:1712 ../fish/guestfish-actions.pod:2213 ../fish/guestfish-actions.pod:2220 ../fish/guestfish-actions.pod:2227 ../fish/guestfish-actions.pod:2805 ../fish/guestfish-actions.pod:2811 ../fish/guestfish-actions.pod:2819 ../fish/guestfish-actions.pod:2826 ../fish/guestfish-actions.pod:2833 ../fish/guestfish.pod:461 ../fish/guestfish.pod:465 ../fish/guestfish.pod:469 ../fish/guestfish.pod:473 ../guestfs-release-notes.pod:92 ../guestfs-release-notes.pod:96 ../guestfs-release-notes.pod:100 ../guestfs-release-notes.pod:104 ../guestfs-release-notes.pod:108 ../guestfs-release-notes.pod:112 ../guestfs-release-notes.pod:117 ../guestfs-release-notes.pod:121 ../guestfs-release-notes.pod:125 ../guestfs-release-notes.pod:266 ../guestfs-release-notes.pod:270 ../guestfs-release-notes.pod:274 ../guestfs-release-notes.pod:278 ../guestfs-release-notes.pod:282 ../guestfs-release-notes.pod:286 ../guestfs-release-notes.pod:290 ../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:45 ../sparsify/virt-sparsify.pod:52 ../sparsify/virt-sparsify.pod:56 ../sparsify/virt-sparsify.pod:62 ../sparsify/virt-sparsify.pod:67 ../sparsify/virt-sparsify.pod:72 ../src/guestfs-actions.pod:638 ../src/guestfs-actions.pod:646 ../src/guestfs-actions.pod:653 ../src/guestfs-actions.pod:660 ../src/guestfs-actions.pod:2497 ../src/guestfs-actions.pod:2501 ../src/guestfs-actions.pod:2505 ../src/guestfs-actions.pod:2509 ../src/guestfs-actions.pod:2517 ../src/guestfs-actions.pod:2521 ../src/guestfs-actions.pod:2525 ../src/guestfs-actions.pod:2535 ../src/guestfs-actions.pod:2539 ../src/guestfs-actions.pod:2543 ../src/guestfs-actions.pod:2715 ../src/guestfs-actions.pod:2719 ../src/guestfs-actions.pod:2724 ../src/guestfs-actions.pod:2785 ../src/guestfs-actions.pod:2789 ../src/guestfs-actions.pod:2794 ../src/guestfs-actions.pod:3588 ../src/guestfs-actions.pod:3595 ../src/guestfs-actions.pod:3602 ../src/guestfs-actions.pod:4469 ../src/guestfs-actions.pod:4475 ../src/guestfs-actions.pod:4483 ../src/guestfs-actions.pod:4490 ../src/guestfs-actions.pod:4497 ../src/guestfs.pod:397 ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411 ../src/guestfs.pod:416 ../src/guestfs.pod:420 ../src/guestfs.pod:425 ../src/guestfs.pod:430 ../src/guestfs.pod:1264 ../src/guestfs.pod:1268 ../src/guestfs.pod:1272 ../src/guestfs.pod:1277 ../src/guestfs.pod:1285 ../src/guestfs.pod:1304 ../src/guestfs.pod:1312 ../src/guestfs.pod:1329 ../src/guestfs.pod:1334 ../src/guestfs.pod:1338 ../src/guestfs.pod:1480 ../src/guestfs.pod:1484 ../src/guestfs.pod:1488 ../src/guestfs.pod:1492 ../src/guestfs.pod:1496 ../src/guestfs.pod:1500 ../src/guestfs.pod:2134 ../src/guestfs.pod:2139 ../src/guestfs.pod:2143 ../src/guestfs.pod:2247 ../src/guestfs.pod:2252 ../src/guestfs.pod:2256 ../src/guestfs.pod:2266 ../src/guestfs.pod:2693 ../src/guestfs.pod:2698 ../src/guestfs.pod:2704 ../src/guestfs.pod:2712 ../src/guestfs.pod:3229 ../src/guestfs.pod:3235 ../src/guestfs.pod:3240 ../src/guestfs.pod:3246 ../src/guestfs.pod:3776 ../src/guestfs.pod:3781 ../src/guestfs.pod:3785 ../src/guestfs.pod:3789 ../src/guestfs.pod:3793 ../src/guestfs.pod:3807 ../src/guestfs.pod:3812 ../sysprep/virt-sysprep.pod:231 ../sysprep/virt-sysprep.pod:235 ../sysprep/virt-sysprep.pod:239 ../sysprep/virt-sysprep.pod:243 ../sysprep/virt-sysprep.pod:258 ../sysprep/virt-sysprep.pod:262 ../sysprep/virt-sysprep.pod:266 ../sysprep/virt-sysprep.pod:270 ../sysprep/virt-sysprep.pod:274 ../sysprep/virt-sysprep.pod:327 ../sysprep/virt-sysprep.pod:339 ../sysprep/virt-sysprep.pod:343 ../sysprep/virt-sysprep.pod:351 ../sysprep/virt-sysprep.pod:357 ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:711 ../tools/virt-win-reg.pl:717 ../tools/virt-win-reg.pl:723
+#: ../align/virt-alignment-scan.pod:347 ../align/virt-alignment-scan.pod:353 ../align/virt-alignment-scan.pod:359 ../align/virt-alignment-scan.pod:366 ../appliance/libguestfs-make-fixed-appliance.pod:32 ../appliance/libguestfs-make-fixed-appliance.pod:53 ../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 ../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-faq.pod:149 ../examples/guestfs-faq.pod:155 ../examples/guestfs-faq.pod:194 ../examples/guestfs-faq.pod:200 ../examples/guestfs-performance.pod:107 ../examples/guestfs-performance.pod:113 ../examples/guestfs-performance.pod:118 ../examples/guestfs-performance.pod:253 ../examples/guestfs-performance.pod:258 ../examples/guestfs-performance.pod:263 ../examples/guestfs-recipes.pod:138 ../examples/guestfs-recipes.pod:142 ../examples/guestfs-recipes.pod:146 ../examples/guestfs-recipes.pod:172 ../examples/guestfs-recipes.pod:177 ../examples/guestfs-recipes.pod:267 ../examples/guestfs-recipes.pod:271 ../examples/guestfs-recipes.pod:275 ../examples/guestfs-recipes.pod:279 ../examples/guestfs-recipes.pod:283 ../examples/guestfs-testing.pod:124 ../examples/guestfs-testing.pod:128 ../examples/guestfs-testing.pod:132 ../fish/guestfish-actions.pod:432 ../fish/guestfish-actions.pod:440 ../fish/guestfish-actions.pod:447 ../fish/guestfish-actions.pod:454 ../fish/guestfish-actions.pod:1495 ../fish/guestfish-actions.pod:1499 ../fish/guestfish-actions.pod:1503 ../fish/guestfish-actions.pod:1507 ../fish/guestfish-actions.pod:1515 ../fish/guestfish-actions.pod:1519 ../fish/guestfish-actions.pod:1523 ../fish/guestfish-actions.pod:1533 ../fish/guestfish-actions.pod:1537 ../fish/guestfish-actions.pod:1541 ../fish/guestfish-actions.pod:1652 ../fish/guestfish-actions.pod:1656 ../fish/guestfish-actions.pod:1661 ../fish/guestfish-actions.pod:1703 ../fish/guestfish-actions.pod:1707 ../fish/guestfish-actions.pod:1712 ../fish/guestfish-actions.pod:2213 ../fish/guestfish-actions.pod:2220 ../fish/guestfish-actions.pod:2227 ../fish/guestfish-actions.pod:2805 ../fish/guestfish-actions.pod:2811 ../fish/guestfish-actions.pod:2819 ../fish/guestfish-actions.pod:2826 ../fish/guestfish-actions.pod:2833 ../fish/guestfish.pod:461 ../fish/guestfish.pod:465 ../fish/guestfish.pod:469 ../fish/guestfish.pod:473 ../guestfs-release-notes.pod:92 ../guestfs-release-notes.pod:96 ../guestfs-release-notes.pod:100 ../guestfs-release-notes.pod:104 ../guestfs-release-notes.pod:108 ../guestfs-release-notes.pod:112 ../guestfs-release-notes.pod:117 ../guestfs-release-notes.pod:121 ../guestfs-release-notes.pod:125 ../guestfs-release-notes.pod:266 ../guestfs-release-notes.pod:270 ../guestfs-release-notes.pod:274 ../guestfs-release-notes.pod:278 ../guestfs-release-notes.pod:282 ../guestfs-release-notes.pod:286 ../guestfs-release-notes.pod:290 ../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:45 ../sparsify/virt-sparsify.pod:52 ../sparsify/virt-sparsify.pod:56 ../sparsify/virt-sparsify.pod:62 ../sparsify/virt-sparsify.pod:67 ../sparsify/virt-sparsify.pod:72 ../src/guestfs-actions.pod:638 ../src/guestfs-actions.pod:646 ../src/guestfs-actions.pod:653 ../src/guestfs-actions.pod:660 ../src/guestfs-actions.pod:2497 ../src/guestfs-actions.pod:2501 ../src/guestfs-actions.pod:2505 ../src/guestfs-actions.pod:2509 ../src/guestfs-actions.pod:2517 ../src/guestfs-actions.pod:2521 ../src/guestfs-actions.pod:2525 ../src/guestfs-actions.pod:2535 ../src/guestfs-actions.pod:2539 ../src/guestfs-actions.pod:2543 ../src/guestfs-actions.pod:2715 ../src/guestfs-actions.pod:2719 ../src/guestfs-actions.pod:2724 ../src/guestfs-actions.pod:2785 ../src/guestfs-actions.pod:2789 ../src/guestfs-actions.pod:2794 ../src/guestfs-actions.pod:3588 ../src/guestfs-actions.pod:3595 ../src/guestfs-actions.pod:3602 ../src/guestfs-actions.pod:4469 ../src/guestfs-actions.pod:4475 ../src/guestfs-actions.pod:4483 ../src/guestfs-actions.pod:4490 ../src/guestfs-actions.pod:4497 ../src/guestfs.pod:397 ../src/guestfs.pod:402 ../src/guestfs.pod:407 ../src/guestfs.pod:411 ../src/guestfs.pod:416 ../src/guestfs.pod:420 ../src/guestfs.pod:425 ../src/guestfs.pod:430 ../src/guestfs.pod:1268 ../src/guestfs.pod:1272 ../src/guestfs.pod:1276 ../src/guestfs.pod:1281 ../src/guestfs.pod:1289 ../src/guestfs.pod:1308 ../src/guestfs.pod:1316 ../src/guestfs.pod:1333 ../src/guestfs.pod:1338 ../src/guestfs.pod:1342 ../src/guestfs.pod:1484 ../src/guestfs.pod:1488 ../src/guestfs.pod:1492 ../src/guestfs.pod:1496 ../src/guestfs.pod:1500 ../src/guestfs.pod:1504 ../src/guestfs.pod:2138 ../src/guestfs.pod:2143 ../src/guestfs.pod:2147 ../src/guestfs.pod:2251 ../src/guestfs.pod:2256 ../src/guestfs.pod:2260 ../src/guestfs.pod:2270 ../src/guestfs.pod:2697 ../src/guestfs.pod:2702 ../src/guestfs.pod:2708 ../src/guestfs.pod:2716 ../src/guestfs.pod:3233 ../src/guestfs.pod:3239 ../src/guestfs.pod:3244 ../src/guestfs.pod:3250 ../src/guestfs.pod:3782 ../src/guestfs.pod:3787 ../src/guestfs.pod:3791 ../src/guestfs.pod:3795 ../src/guestfs.pod:3799 ../src/guestfs.pod:3813 ../src/guestfs.pod:3818 ../sysprep/virt-sysprep.pod:231 ../sysprep/virt-sysprep.pod:235 ../sysprep/virt-sysprep.pod:239 ../sysprep/virt-sysprep.pod:243 ../sysprep/virt-sysprep.pod:258 ../sysprep/virt-sysprep.pod:262 ../sysprep/virt-sysprep.pod:266 ../sysprep/virt-sysprep.pod:270 ../sysprep/virt-sysprep.pod:274 ../sysprep/virt-sysprep.pod:327 ../sysprep/virt-sysprep.pod:339 ../sysprep/virt-sysprep.pod:343 ../sysprep/virt-sysprep.pod:351 ../sysprep/virt-sysprep.pod:357 ../tools/virt-win-reg.pl:197 ../tools/virt-win-reg.pl:202 ../tools/virt-win-reg.pl:208 ../tools/virt-win-reg.pl:711 ../tools/virt-win-reg.pl:717 ../tools/virt-win-reg.pl:723
msgid "*"
msgstr ""
@@ -766,7 +766,7 @@ msgid "successful exit, all partitions are aligned E<ge> 64K for best performanc
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:355 ../src/guestfs.pod:1737
+#: ../align/virt-alignment-scan.pod:355 ../src/guestfs.pod:1741
msgid "1"
msgstr ""
@@ -776,7 +776,7 @@ msgid "an error scanning the disk image or guest"
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:361 ../src/guestfs.pod:1741
+#: ../align/virt-alignment-scan.pod:361 ../src/guestfs.pod:1745
msgid "2"
msgstr ""
@@ -788,7 +788,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../align/virt-alignment-scan.pod:368 ../src/guestfs.pod:1745
+#: ../align/virt-alignment-scan.pod:368 ../src/guestfs.pod:1749
msgid "3"
msgstr ""
@@ -800,7 +800,7 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../align/virt-alignment-scan.pod:375 ../appliance/libguestfs-make-fixed-appliance.pod:144 ../cat/virt-cat.pod:243 ../cat/virt-filesystems.pod:389 ../cat/virt-ls.pod:495 ../daemon/guestfsd.pod:92 ../df/virt-df.pod:253 ../edit/virt-edit.pod:368 ../erlang/examples/guestfs-erlang.pod:97 ../examples/guestfs-examples.pod:33 ../examples/guestfs-faq.pod:796 ../examples/guestfs-performance.pod:429 ../examples/guestfs-recipes.pod:473 ../examples/guestfs-testing.pod:305 ../fish/guestfish.pod:1374 ../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:398 ../guestfs-release-notes.pod:1853 ../inspector/virt-inspector.pod:501 ../java/examples/guestfs-java.pod:45 ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:40 ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:340 ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36 ../sparsify/virt-sparsify.pod:299 ../src/guestfs.pod:4025 ../sysprep/virt-sysprep.pod:480 ../test-tool/libguestfs-test-tool.pod:106 ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 ../tools/virt-make-fs.pl:627 ../tools/virt-tar.pl:294 ../tools/virt-win-reg.pl:747
+#: ../align/virt-alignment-scan.pod:375 ../appliance/libguestfs-make-fixed-appliance.pod:144 ../cat/virt-cat.pod:243 ../cat/virt-filesystems.pod:389 ../cat/virt-ls.pod:495 ../daemon/guestfsd.pod:92 ../df/virt-df.pod:253 ../edit/virt-edit.pod:368 ../erlang/examples/guestfs-erlang.pod:97 ../examples/guestfs-examples.pod:33 ../examples/guestfs-faq.pod:796 ../examples/guestfs-performance.pod:429 ../examples/guestfs-recipes.pod:496 ../examples/guestfs-testing.pod:305 ../fish/guestfish.pod:1374 ../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:398 ../guestfs-release-notes.pod:1853 ../inspector/virt-inspector.pod:501 ../java/examples/guestfs-java.pod:45 ../lua/examples/guestfs-lua.pod:78 ../ocaml/examples/guestfs-ocaml.pod:78 ../perl/examples/guestfs-perl.pod:40 ../python/examples/guestfs-python.pod:42 ../rescue/virt-rescue.pod:340 ../resize/virt-resize.pod:702 ../ruby/examples/guestfs-ruby.pod:36 ../sparsify/virt-sparsify.pod:299 ../src/guestfs.pod:4031 ../sysprep/virt-sysprep.pod:480 ../test-tool/libguestfs-test-tool.pod:106 ../tools/virt-list-filesystems.pl:197 ../tools/virt-list-partitions.pl:267 ../tools/virt-make-fs.pl:627 ../tools/virt-tar.pl:294 ../tools/virt-win-reg.pl:747
msgid "SEE ALSO"
msgstr ""
@@ -822,7 +822,7 @@ msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
msgstr ""
#. type: =head1
-#: ../align/virt-alignment-scan.pod:388 ../appliance/libguestfs-make-fixed-appliance.pod:157 ../cat/virt-cat.pod:256 ../cat/virt-filesystems.pod:404 ../cat/virt-ls.pod:511 ../daemon/guestfsd.pod:101 ../df/virt-df.pod:265 ../edit/virt-edit.pod:386 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:49 ../examples/guestfs-faq.pod:806 ../examples/guestfs-performance.pod:446 ../examples/guestfs-recipes.pod:490 ../examples/guestfs-testing.pod:316 ../fish/guestfish.pod:1406 ../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:413 ../guestfs-release-notes.pod:1868 ../inspector/virt-inspector.pod:524 ../java/examples/guestfs-java.pod:62 ../ocaml/examples/guestfs-ocaml.pod:95 ../perl/examples/guestfs-perl.pod:57 ../python/examples/guestfs-python.pod:58 ../rescue/virt-rescue.pod:353 ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:52 ../sparsify/virt-sparsify.pod:316 ../src/guestfs.pod:4081 ../sysprep/virt-sysprep.pod:501 ../test-tool/libguestfs-test-tool.pod:116 ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 ../tools/virt-make-fs.pl:646 ../tools/virt-tar.pl:313 ../tools/virt-win-reg.pl:766
+#: ../align/virt-alignment-scan.pod:388 ../appliance/libguestfs-make-fixed-appliance.pod:157 ../cat/virt-cat.pod:256 ../cat/virt-filesystems.pod:404 ../cat/virt-ls.pod:511 ../daemon/guestfsd.pod:101 ../df/virt-df.pod:265 ../edit/virt-edit.pod:386 ../erlang/examples/guestfs-erlang.pod:114 ../examples/guestfs-examples.pod:50 ../examples/guestfs-faq.pod:806 ../examples/guestfs-performance.pod:446 ../examples/guestfs-recipes.pod:514 ../examples/guestfs-testing.pod:316 ../fish/guestfish.pod:1406 ../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:413 ../guestfs-release-notes.pod:1868 ../inspector/virt-inspector.pod:524 ../java/examples/guestfs-java.pod:63 ../lua/examples/guestfs-lua.pod:95 ../ocaml/examples/guestfs-ocaml.pod:96 ../perl/examples/guestfs-perl.pod:58 ../python/examples/guestfs-python.pod:59 ../rescue/virt-rescue.pod:353 ../resize/virt-resize.pod:729 ../ruby/examples/guestfs-ruby.pod:53 ../sparsify/virt-sparsify.pod:316 ../src/guestfs.pod:4088 ../sysprep/virt-sysprep.pod:501 ../test-tool/libguestfs-test-tool.pod:116 ../tools/virt-list-filesystems.pl:214 ../tools/virt-list-partitions.pl:283 ../tools/virt-make-fs.pl:646 ../tools/virt-tar.pl:313 ../tools/virt-win-reg.pl:766
msgid "COPYRIGHT"
msgstr ""
@@ -1078,7 +1078,7 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../appliance/libguestfs-make-fixed-appliance.pod:139 ../edit/virt-edit.pod:343 ../fish/guestfish.pod:1202 ../rescue/virt-rescue.pod:313 ../sparsify/virt-sparsify.pod:272 ../src/guestfs.pod:3945 ../test-tool/libguestfs-test-tool.pod:101
+#: ../appliance/libguestfs-make-fixed-appliance.pod:139 ../edit/virt-edit.pod:343 ../fish/guestfish.pod:1202 ../rescue/virt-rescue.pod:313 ../sparsify/virt-sparsify.pod:272 ../src/guestfs.pod:3951 ../test-tool/libguestfs-test-tool.pod:101
msgid "ENVIRONMENT VARIABLES"
msgstr ""
@@ -1097,17 +1097,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../appliance/libguestfs-make-fixed-appliance.pod:153 ../erlang/examples/guestfs-erlang.pod:110 ../examples/guestfs-examples.pod:45 ../examples/guestfs-faq.pod:802 ../examples/guestfs-performance.pod:442 ../examples/guestfs-recipes.pod:486 ../examples/guestfs-testing.pod:312 ../fish/guestfish.pod:1402 ../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:409 ../inspector/virt-inspector.pod:510 ../java/examples/guestfs-java.pod:58 ../ocaml/examples/guestfs-ocaml.pod:91 ../perl/examples/guestfs-perl.pod:53 ../python/examples/guestfs-python.pod:54 ../ruby/examples/guestfs-ruby.pod:48 ../src/guestfs.pod:4077 ../sysprep/virt-sysprep.pod:495 ../test-tool/libguestfs-test-tool.pod:112
+#: ../appliance/libguestfs-make-fixed-appliance.pod:153 ../erlang/examples/guestfs-erlang.pod:110 ../examples/guestfs-examples.pod:46 ../examples/guestfs-faq.pod:802 ../examples/guestfs-performance.pod:442 ../examples/guestfs-recipes.pod:510 ../examples/guestfs-testing.pod:312 ../fish/guestfish.pod:1402 ../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:409 ../inspector/virt-inspector.pod:510 ../java/examples/guestfs-java.pod:59 ../lua/examples/guestfs-lua.pod:91 ../ocaml/examples/guestfs-ocaml.pod:92 ../perl/examples/guestfs-perl.pod:54 ../python/examples/guestfs-python.pod:55 ../ruby/examples/guestfs-ruby.pod:49 ../src/guestfs.pod:4084 ../sysprep/virt-sysprep.pod:495 ../test-tool/libguestfs-test-tool.pod:112
msgid "AUTHORS"
msgstr ""
#. type: textblock
-#: ../appliance/libguestfs-make-fixed-appliance.pod:155 ../erlang/examples/guestfs-erlang.pod:112 ../examples/guestfs-examples.pod:47 ../examples/guestfs-faq.pod:804 ../examples/guestfs-performance.pod:444 ../examples/guestfs-recipes.pod:488 ../examples/guestfs-testing.pod:314 ../fish/guestfish.pod:1404 ../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:411 ../java/examples/guestfs-java.pod:60 ../ocaml/examples/guestfs-ocaml.pod:93 ../perl/examples/guestfs-perl.pod:55 ../python/examples/guestfs-python.pod:56 ../ruby/examples/guestfs-ruby.pod:50 ../src/guestfs.pod:4079 ../test-tool/libguestfs-test-tool.pod:114
+#: ../appliance/libguestfs-make-fixed-appliance.pod:155 ../erlang/examples/guestfs-erlang.pod:112 ../examples/guestfs-examples.pod:48 ../examples/guestfs-faq.pod:804 ../examples/guestfs-performance.pod:444 ../examples/guestfs-recipes.pod:512 ../examples/guestfs-testing.pod:314 ../fish/guestfish.pod:1404 ../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:411 ../java/examples/guestfs-java.pod:61 ../lua/examples/guestfs-lua.pod:93 ../ocaml/examples/guestfs-ocaml.pod:94 ../perl/examples/guestfs-perl.pod:56 ../python/examples/guestfs-python.pod:57 ../ruby/examples/guestfs-ruby.pod:51 ../src/guestfs.pod:4086 ../test-tool/libguestfs-test-tool.pod:114
msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
msgstr ""
#. type: textblock
-#: ../appliance/libguestfs-make-fixed-appliance.pod:159 ../cat/virt-ls.pod:513 ../daemon/guestfsd.pod:103 ../df/virt-df.pod:267 ../edit/virt-edit.pod:388 ../examples/guestfs-recipes.pod:492 ../fish/guestfish.pod:1408 ../fuse/guestmount.pod:415 ../guestfs-release-notes.pod:1870 ../rescue/virt-rescue.pod:355 ../src/guestfs.pod:4083 ../test-tool/libguestfs-test-tool.pod:118 ../tools/virt-list-partitions.pl:285
+#: ../appliance/libguestfs-make-fixed-appliance.pod:159 ../cat/virt-ls.pod:513 ../daemon/guestfsd.pod:103 ../df/virt-df.pod:267 ../edit/virt-edit.pod:388 ../examples/guestfs-recipes.pod:516 ../fish/guestfish.pod:1408 ../fuse/guestmount.pod:415 ../guestfs-release-notes.pod:1870 ../rescue/virt-rescue.pod:355 ../src/guestfs.pod:4090 ../test-tool/libguestfs-test-tool.pod:118 ../tools/virt-list-partitions.pl:285
msgid "Copyright (C) 2009-2012 Red Hat Inc."
msgstr ""
@@ -1477,7 +1477,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../cat/virt-cat.pod:258 ../cat/virt-filesystems.pod:406 ../examples/guestfs-examples.pod:51 ../inspector/virt-inspector.pod:526 ../ocaml/examples/guestfs-ocaml.pod:97 ../python/examples/guestfs-python.pod:60 ../resize/virt-resize.pod:731 ../ruby/examples/guestfs-ruby.pod:54 ../tools/virt-make-fs.pl:648
+#: ../cat/virt-cat.pod:258 ../cat/virt-filesystems.pod:406 ../examples/guestfs-examples.pod:52 ../inspector/virt-inspector.pod:526 ../ocaml/examples/guestfs-ocaml.pod:98 ../python/examples/guestfs-python.pod:61 ../resize/virt-resize.pod:731 ../ruby/examples/guestfs-ruby.pod:55 ../tools/virt-make-fs.pl:648
msgid "Copyright (C) 2010-2012 Red Hat Inc."
msgstr ""
@@ -3860,7 +3860,7 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../erlang/examples/guestfs-erlang.pod:23
+#: ../erlang/examples/guestfs-erlang.pod:23 ../lua/examples/guestfs-lua.pod:23
msgid "OPENING AND CLOSING THE HANDLE"
msgstr ""
@@ -3907,7 +3907,7 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../erlang/examples/guestfs-erlang.pod:40
+#: ../erlang/examples/guestfs-erlang.pod:40 ../lua/examples/guestfs-lua.pod:48
msgid "FUNCTIONS WITH OPTIONAL ARGUMENTS"
msgstr ""
@@ -4017,27 +4017,27 @@ msgid "C<Arg> is the name of the unknown argument."
msgstr ""
#. type: =head1
-#: ../erlang/examples/guestfs-erlang.pod:89 ../examples/guestfs-examples.pod:25 ../java/examples/guestfs-java.pod:37 ../ocaml/examples/guestfs-ocaml.pod:70 ../perl/examples/guestfs-perl.pod:32 ../python/examples/guestfs-python.pod:34 ../ruby/examples/guestfs-ruby.pod:28
+#: ../erlang/examples/guestfs-erlang.pod:89 ../examples/guestfs-examples.pod:25 ../java/examples/guestfs-java.pod:37 ../lua/examples/guestfs-lua.pod:70 ../ocaml/examples/guestfs-ocaml.pod:70 ../perl/examples/guestfs-perl.pod:32 ../python/examples/guestfs-python.pod:34 ../ruby/examples/guestfs-ruby.pod:28
msgid "EXAMPLE 1: CREATE A DISK IMAGE"
msgstr ""
#. type: textblock
-#: ../erlang/examples/guestfs-erlang.pod:91 ../examples/guestfs-examples.pod:27 ../java/examples/guestfs-java.pod:39 ../ocaml/examples/guestfs-ocaml.pod:72 ../perl/examples/guestfs-perl.pod:34 ../python/examples/guestfs-python.pod:36 ../ruby/examples/guestfs-ruby.pod:30
+#: ../erlang/examples/guestfs-erlang.pod:91 ../examples/guestfs-examples.pod:27 ../java/examples/guestfs-java.pod:39 ../lua/examples/guestfs-lua.pod:72 ../ocaml/examples/guestfs-ocaml.pod:72 ../perl/examples/guestfs-perl.pod:34 ../python/examples/guestfs-python.pod:36 ../ruby/examples/guestfs-ruby.pod:30
msgid "@EXAMPLE1@"
msgstr ""
#. type: =head1
-#: ../erlang/examples/guestfs-erlang.pod:93 ../examples/guestfs-examples.pod:29 ../java/examples/guestfs-java.pod:41 ../ocaml/examples/guestfs-ocaml.pod:74 ../perl/examples/guestfs-perl.pod:36 ../python/examples/guestfs-python.pod:38 ../ruby/examples/guestfs-ruby.pod:32
+#: ../erlang/examples/guestfs-erlang.pod:93 ../examples/guestfs-examples.pod:29 ../java/examples/guestfs-java.pod:41 ../lua/examples/guestfs-lua.pod:74 ../ocaml/examples/guestfs-ocaml.pod:74 ../perl/examples/guestfs-perl.pod:36 ../python/examples/guestfs-python.pod:38 ../ruby/examples/guestfs-ruby.pod:32
msgid "EXAMPLE 2: INSPECT A VIRTUAL MACHINE DISK IMAGE"
msgstr ""
#. type: textblock
-#: ../erlang/examples/guestfs-erlang.pod:95 ../examples/guestfs-examples.pod:31 ../java/examples/guestfs-java.pod:43 ../ocaml/examples/guestfs-ocaml.pod:76 ../perl/examples/guestfs-perl.pod:38 ../python/examples/guestfs-python.pod:40 ../ruby/examples/guestfs-ruby.pod:34
+#: ../erlang/examples/guestfs-erlang.pod:95 ../examples/guestfs-examples.pod:31 ../java/examples/guestfs-java.pod:43 ../lua/examples/guestfs-lua.pod:76 ../ocaml/examples/guestfs-ocaml.pod:76 ../perl/examples/guestfs-perl.pod:38 ../python/examples/guestfs-python.pod:40 ../ruby/examples/guestfs-ruby.pod:34
msgid "@EXAMPLE2@"
msgstr ""
#. type: textblock
-#: ../erlang/examples/guestfs-erlang.pod:99
+#: ../erlang/examples/guestfs-erlang.pod:99 ../lua/examples/guestfs-lua.pod:80
msgid ""
"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-java(3)>, "
"L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, "
@@ -4046,7 +4046,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../erlang/examples/guestfs-erlang.pod:116 ../examples/guestfs-testing.pod:318 ../fish/virt-copy-in.pod:66 ../fish/virt-copy-out.pod:55 ../fish/virt-tar-in.pod:64 ../fish/virt-tar-out.pod:57 ../java/examples/guestfs-java.pod:64 ../perl/examples/guestfs-perl.pod:59 ../sparsify/virt-sparsify.pod:318 ../sysprep/virt-sysprep.pod:503
+#: ../erlang/examples/guestfs-erlang.pod:116 ../examples/guestfs-testing.pod:318 ../fish/virt-copy-in.pod:66 ../fish/virt-copy-out.pod:55 ../fish/virt-tar-in.pod:64 ../fish/virt-tar-out.pod:57 ../java/examples/guestfs-java.pod:65 ../perl/examples/guestfs-perl.pod:60 ../sparsify/virt-sparsify.pod:318 ../sysprep/virt-sysprep.pod:503
msgid "Copyright (C) 2011-2012 Red Hat Inc."
msgstr ""
@@ -4094,7 +4094,7 @@ msgstr ""
#. type: textblock
#: ../examples/guestfs-examples.pod:35
msgid ""
-"L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, "
+"L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, "
"L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, "
"L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>."
msgstr ""
@@ -4532,7 +4532,7 @@ msgid "DOWNLOADING, INSTALLING, COMPILING LIBGUESTFS"
msgstr ""
#. type: =end
-#: ../examples/guestfs-faq.pod:217 ../examples/guestfs-faq.pod:222 ../examples/guestfs-faq.pod:504 ../examples/guestfs-faq.pod:509 ../examples/guestfs-faq.pod:630 ../examples/guestfs-faq.pod:635 ../guestfs-release-notes.pod:14 ../guestfs-release-notes.pod:21 ../src/guestfs.pod:2839 ../src/guestfs.pod:2844
+#: ../examples/guestfs-faq.pod:217 ../examples/guestfs-faq.pod:222 ../examples/guestfs-faq.pod:504 ../examples/guestfs-faq.pod:509 ../examples/guestfs-faq.pod:630 ../examples/guestfs-faq.pod:635 ../guestfs-release-notes.pod:14 ../guestfs-release-notes.pod:21 ../src/guestfs.pod:2843 ../src/guestfs.pod:2848
msgid "html"
msgstr ""
@@ -5713,7 +5713,7 @@ msgid "L<guestfish(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-faq.pod:808 ../examples/guestfs-performance.pod:448 ../format/virt-format.pod:193
+#: ../examples/guestfs-faq.pod:808 ../examples/guestfs-performance.pod:448 ../format/virt-format.pod:193 ../lua/examples/guestfs-lua.pod:97
msgid "Copyright (C) 2012 Red Hat Inc."
msgstr ""
@@ -6009,7 +6009,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../examples/guestfs-performance.pod:162 ../examples/guestfs-performance.pod:211 ../examples/guestfs-recipes.pod:288 ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:243 ../src/guestfs.pod:478 ../src/guestfs.pod:1349 ../src/guestfs.pod:1603 ../src/guestfs.pod:1850 ../src/guestfs.pod:3340
+#: ../examples/guestfs-performance.pod:162 ../examples/guestfs-performance.pod:211 ../examples/guestfs-recipes.pod:298 ../resize/virt-resize.pod:31 ../resize/virt-resize.pod:603 ../sparsify/virt-sparsify.pod:243 ../src/guestfs.pod:478 ../src/guestfs.pod:1353 ../src/guestfs.pod:1607 ../src/guestfs.pod:1854 ../src/guestfs.pod:3344
msgid "1."
msgstr ""
@@ -6021,7 +6021,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../examples/guestfs-performance.pod:168 ../examples/guestfs-performance.pod:218 ../examples/guestfs-recipes.pod:294 ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:250 ../src/guestfs.pod:484 ../src/guestfs.pod:1353 ../src/guestfs.pod:1607 ../src/guestfs.pod:1854 ../src/guestfs.pod:3365
+#: ../examples/guestfs-performance.pod:168 ../examples/guestfs-performance.pod:218 ../examples/guestfs-recipes.pod:304 ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:610 ../sparsify/virt-sparsify.pod:250 ../src/guestfs.pod:484 ../src/guestfs.pod:1357 ../src/guestfs.pod:1611 ../src/guestfs.pod:1858 ../src/guestfs.pod:3369
msgid "2."
msgstr ""
@@ -6036,7 +6036,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../examples/guestfs-performance.pod:176 ../examples/guestfs-performance.pod:224 ../examples/guestfs-recipes.pod:300 ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:256 ../src/guestfs.pod:495 ../src/guestfs.pod:1357 ../src/guestfs.pod:1860
+#: ../examples/guestfs-performance.pod:176 ../examples/guestfs-performance.pod:224 ../examples/guestfs-recipes.pod:310 ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:616 ../sparsify/virt-sparsify.pod:256 ../src/guestfs.pod:495 ../src/guestfs.pod:1361 ../src/guestfs.pod:1864
msgid "3."
msgstr ""
@@ -6298,7 +6298,7 @@ msgid "Save the following script as C<time.stap>:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2787
+#: ../examples/guestfs-performance.pod:322 ../src/guestfs.pod:2791
#, no-wrap
msgid ""
" global last;\n"
@@ -6306,7 +6306,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-performance.pod:324 ../src/guestfs.pod:2789
+#: ../examples/guestfs-performance.pod:324 ../src/guestfs.pod:2793
#, no-wrap
msgid ""
" function display_time () {\n"
@@ -6319,7 +6319,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-performance.pod:331 ../src/guestfs.pod:2796
+#: ../examples/guestfs-performance.pod:331 ../src/guestfs.pod:2800
#, no-wrap
msgid ""
" printf (\"%d (+%d):\", now, delta);\n"
@@ -6328,7 +6328,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-performance.pod:334 ../src/guestfs.pod:2799
+#: ../examples/guestfs-performance.pod:334 ../src/guestfs.pod:2803
#, no-wrap
msgid ""
" probe begin {\n"
@@ -6339,7 +6339,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-performance.pod:339 ../src/guestfs.pod:2804
+#: ../examples/guestfs-performance.pod:339 ../src/guestfs.pod:2808
#, no-wrap
msgid ""
" /* Display all calls to static markers. */\n"
@@ -6448,7 +6448,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-performance.pod:394 ../fish/guestfish.pod:998 ../src/guestfs.pod:1113
+#: ../examples/guestfs-performance.pod:394 ../fish/guestfish.pod:998 ../src/guestfs.pod:1117
#, no-wrap
msgid ""
" #!/bin/bash -\n"
@@ -6778,19 +6778,40 @@ msgstr ""
#. type: =head1
#: ../examples/guestfs-recipes.pod:104
-msgid "Dump raw filesystem content from inside a disk image or VM"
+msgid "Diff two guests; compare a snapshot to the current version"
msgstr ""
#. type: textblock
#: ../examples/guestfs-recipes.pod:106
msgid ""
+"L<virt-ls(1)> provides a simple way to find the differences between two "
+"guests (for example if they were originally cloned from the same source), or "
+"between two snapshots from the same guest. See L<virt-ls(1)/DIFFERENCES IN "
+"SNAPSHOTS AND BACKING FILES>."
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:111
+msgid ""
+"There are also experimental patches on the mailing list for a \"virt-diff\" "
+"tool."
+msgstr ""
+
+#. type: =head1
+#: ../examples/guestfs-recipes.pod:114
+msgid "Dump raw filesystem content from inside a disk image or VM"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:116
+msgid ""
"You can use the L<guestfish(1)> C<download> command to extract the raw "
"filesystem content from any filesystem in a disk image or a VM (even one "
"which is encrypted or buried inside an LV or RAID device):"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:110
+#: ../examples/guestfs-recipes.pod:120
#, no-wrap
msgid ""
" guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n"
@@ -6798,7 +6819,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:112
+#: ../examples/guestfs-recipes.pod:122
#, no-wrap
msgid ""
" guestfish --ro -d Guest run : download /dev/vg_guest/lv_root lv.img\n"
@@ -6806,60 +6827,60 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:114
+#: ../examples/guestfs-recipes.pod:124
msgid "To download to stdout, replace the filename with a C<-> character:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:116
+#: ../examples/guestfs-recipes.pod:126
#, no-wrap
msgid ""
-" guestfish --ro -a disk.img run : download /dev/sda1 - | hexdump -C\n"
+" guestfish --ro -a disk.img run : download /dev/sda1 - | gzip > sda1.gz\n"
"\n"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:118
+#: ../examples/guestfs-recipes.pod:128
msgid "To list the filesystems in a disk image, use L<virt-filesystems(1)>."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:120
+#: ../examples/guestfs-recipes.pod:130
msgid "See also L</Uploading raw filesystem content>."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:122
+#: ../examples/guestfs-recipes.pod:132
msgid "Edit grub configuration in a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:124
+#: ../examples/guestfs-recipes.pod:134
msgid "You can use this to:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:130
+#: ../examples/guestfs-recipes.pod:140
msgid "Fix a virtual machine that does not boot."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:134
+#: ../examples/guestfs-recipes.pod:144
msgid "Change which kernel is used to boot the VM."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:138
+#: ../examples/guestfs-recipes.pod:148
msgid "Change kernel command line options."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:142
+#: ../examples/guestfs-recipes.pod:152
msgid "Use L<virt-edit(1)> to edit the grub configuration:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:144
+#: ../examples/guestfs-recipes.pod:154
#, no-wrap
msgid ""
" virt-edit -d BrokenGuest /boot/grub2/grub.cfg\n"
@@ -6867,14 +6888,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:146
+#: ../examples/guestfs-recipes.pod:156
msgid ""
"or for general tinkering inside an unbootable VM use L<virt-rescue(1)> like "
"this:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:149
+#: ../examples/guestfs-recipes.pod:159
#, no-wrap
msgid ""
" virt-rescue -d BrokenGuest\n"
@@ -6882,17 +6903,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:151
+#: ../examples/guestfs-recipes.pod:161
msgid "Export any directory from a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:153
+#: ../examples/guestfs-recipes.pod:163
msgid "To export C</home> from a VM into a local directory use L<virt-copy-out(1)>:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:156 ../examples/guestfs-testing.pod:107
+#: ../examples/guestfs-recipes.pod:166 ../examples/guestfs-testing.pod:107
#, no-wrap
msgid ""
" virt-copy-out -d Guest /home .\n"
@@ -6900,24 +6921,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:158 ../fish/guestfish-actions.pod:1699 ../fish/guestfish-actions.pod:2209 ../fish/guestfish-actions.pod:2801 ../src/guestfs-actions.pod:2781 ../src/guestfs-actions.pod:3584 ../src/guestfs-actions.pod:4465 ../src/guestfs.pod:2130 ../tools/virt-win-reg.pl:707
+#: ../examples/guestfs-recipes.pod:168 ../fish/guestfish-actions.pod:1699 ../fish/guestfish-actions.pod:2209 ../fish/guestfish-actions.pod:2801 ../src/guestfs-actions.pod:2781 ../src/guestfs-actions.pod:3584 ../src/guestfs-actions.pod:4465 ../src/guestfs.pod:2134 ../tools/virt-win-reg.pl:707
msgid "Notes:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:164
+#: ../examples/guestfs-recipes.pod:174
msgid ""
"The final dot of the command is not a printing error. It means we want to "
"copy out to the current directory."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:169
+#: ../examples/guestfs-recipes.pod:179
msgid "This creates a directory called C<home> under the current directory."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:173
+#: ../examples/guestfs-recipes.pod:183
msgid ""
"If the guest is a Windows guest then you can use drive letters and "
"backslashes, but you must prefix the path with C<win:> and quote it to "
@@ -6925,7 +6946,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:177
+#: ../examples/guestfs-recipes.pod:187
#, no-wrap
msgid ""
" virt-copy-out -d WinGuest 'win:c:\\windows\\system32\\config' .\n"
@@ -6933,12 +6954,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:179
+#: ../examples/guestfs-recipes.pod:189
msgid "To get the output as a compressed tarball, do:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:181
+#: ../examples/guestfs-recipes.pod:191
#, no-wrap
msgid ""
" virt-tar-out -d Guest /home - | gzip --best > home.tar.gz\n"
@@ -6946,7 +6967,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:183
+#: ../examples/guestfs-recipes.pod:193
msgid ""
"Although it sounds tempting, this is usually not a reliable way to get a "
"backup from a running guest. See the entry in the FAQ: "
@@ -6954,19 +6975,19 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:187
+#: ../examples/guestfs-recipes.pod:197
msgid "Find out which user is using the most space"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:189
+#: ../examples/guestfs-recipes.pod:199
msgid ""
"This simple script examines a Linux guest to find out which user is using "
"the most space in their home directory:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:192
+#: ../examples/guestfs-recipes.pod:202
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -6974,7 +6995,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:194 ../fish/guestfish.pod:1000
+#: ../examples/guestfs-recipes.pod:204 ../fish/guestfish.pod:1000
#, no-wrap
msgid ""
" set -e\n"
@@ -6982,7 +7003,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:196
+#: ../examples/guestfs-recipes.pod:206
#, no-wrap
msgid ""
" vm=\"$1\"\n"
@@ -6991,7 +7012,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:199
+#: ../examples/guestfs-recipes.pod:209
#, no-wrap
msgid ""
" eval $(guestfish --ro -d \"$vm\" -i --listen)\n"
@@ -6999,7 +7020,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:201
+#: ../examples/guestfs-recipes.pod:211
#, no-wrap
msgid ""
" for d in $(guestfish --remote ls \"$dir\"); do\n"
@@ -7011,7 +7032,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:207 ../fish/guestfish.pod:957
+#: ../examples/guestfs-recipes.pod:217 ../fish/guestfish.pod:957
#, no-wrap
msgid ""
" guestfish --remote exit\n"
@@ -7019,41 +7040,41 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:209
+#: ../examples/guestfs-recipes.pod:219
msgid "Get DHCP address from a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:211
+#: ../examples/guestfs-recipes.pod:221
msgid ""
"The link below explains the many different possible techniques for getting "
"the last assigned DHCP address of a virtual machine."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:214
+#: ../examples/guestfs-recipes.pod:224
msgid "L<https://rwmj.wordpress.com/2011/03/31/tip-code-for-getting-dhcp-address-from-a-virtual-machine-disk-image/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:216
+#: ../examples/guestfs-recipes.pod:226
msgid ""
"In the libguestfs source examples directory you will find the latest version "
"of the C<virt-dhcp-address.c> program."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:219
+#: ../examples/guestfs-recipes.pod:229
msgid "Get the operating system product name string"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:221
+#: ../examples/guestfs-recipes.pod:231
msgid "Save the following script into a file called C<product-name.sh>:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:223
+#: ../examples/guestfs-recipes.pod:233
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -7066,12 +7087,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:230
+#: ../examples/guestfs-recipes.pod:240
msgid "Make the script executable and run it on a named guest:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:232
+#: ../examples/guestfs-recipes.pod:242
#, no-wrap
msgid ""
" # product-name.sh RHEL60x64\n"
@@ -7080,14 +7101,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:235
+#: ../examples/guestfs-recipes.pod:245
msgid ""
"You can also use an XPath query on the L<virt-inspector(1)> XML using the "
"C<xpath> command line tool or from your favourite programming language:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:239
+#: ../examples/guestfs-recipes.pod:249
#, no-wrap
msgid ""
" # virt-inspector RHEL60x64 > xml\n"
@@ -7100,78 +7121,78 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:245
+#: ../examples/guestfs-recipes.pod:255
msgid "Get the default boot kernel for a Linux VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:247
+#: ../examples/guestfs-recipes.pod:257
msgid ""
"The link below contains a program to print the default boot kernel for a "
"Linux VM."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:250
+#: ../examples/guestfs-recipes.pod:260
msgid "L<https://rwmj.wordpress.com/2010/10/30/tip-use-augeas-to-get-the-default-boot-kernel-for-a-vm/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:252
+#: ../examples/guestfs-recipes.pod:262
msgid ""
"It uses Augeas, and the technique is generally applicable for many different "
"tasks, such as:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:259
+#: ../examples/guestfs-recipes.pod:269
msgid "listing the user accounts in the guest"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:263
+#: ../examples/guestfs-recipes.pod:273
msgid "what repositories is it configured to use"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:267
+#: ../examples/guestfs-recipes.pod:277
msgid "what NTP servers does it connect to"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:271
+#: ../examples/guestfs-recipes.pod:281
msgid "what were the boot messages last time it booted"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:275
+#: ../examples/guestfs-recipes.pod:285
msgid "listing who was logged in recently"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:279
+#: ../examples/guestfs-recipes.pod:289
msgid "L<http://augeas.net/>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:281
+#: ../examples/guestfs-recipes.pod:291
msgid "Hanging guests"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:283
+#: ../examples/guestfs-recipes.pod:293
msgid ""
"There are various ways to use libguestfs to find out why a guest is hanging "
"or unresponsive:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:290
+#: ../examples/guestfs-recipes.pod:300
msgid "Read the log files using virt-cat:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:292
+#: ../examples/guestfs-recipes.pod:302
#, no-wrap
msgid ""
" virt-cat Guest /var/log/messages | less\n"
@@ -7179,37 +7200,74 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:296
+#: ../examples/guestfs-recipes.pod:306
msgid "Read the Windows Event Log (Windows Vista or later only):"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:298 ../examples/guestfs-recipes.pod:400
+#: ../examples/guestfs-recipes.pod:308 ../examples/guestfs-recipes.pod:423
msgid "L<https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-guestfish/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:302
+#: ../examples/guestfs-recipes.pod:312
msgid "Find out which files were last updated in a guest:"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:304
+#: ../examples/guestfs-recipes.pod:314
msgid "L<https://rwmj.wordpress.com/2012/02/27/using-libguestfs-to-find-out-why-a-windows-guest-was-hanging/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:306
+#: ../examples/guestfs-recipes.pod:316
msgid "This might give you a clue as to what program is running."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:310
+#: ../examples/guestfs-recipes.pod:320
+msgid "Hex-dumping sectors from the guest"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:322
+msgid "Hex-dump the boot partition:"
+msgstr ""
+
+#. type: verbatim
+#: ../examples/guestfs-recipes.pod:324
+#, no-wrap
+msgid ""
+" guestfish --ro -a disk.img run : pread-device /dev/sda 0x200 0 |\n"
+" hexdump -C\n"
+"\n"
+msgstr ""
+
+#. type: =head1
+#: ../examples/guestfs-recipes.pod:327
+msgid "Hex-editing sectors in the guest"
+msgstr ""
+
+#. type: textblock
+#: ../examples/guestfs-recipes.pod:329
+msgid "Hex-edit the first sector (boot partition):"
+msgstr ""
+
+#. type: verbatim
+#: ../examples/guestfs-recipes.pod:331
+#, no-wrap
+msgid ""
+" guestfish --rw -a disk.img run : hexedit /dev/sda 0x200\n"
+"\n"
+msgstr ""
+
+#. type: =head1
+#: ../examples/guestfs-recipes.pod:333
msgid "Install RPMs in a guest"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:312
+#: ../examples/guestfs-recipes.pod:335
msgid ""
"The link below contains a method to install RPMs in a guest. In fact the "
"RPMs are just uploaded to the guest along with a \"firstboot\" script that "
@@ -7218,29 +7276,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:318
+#: ../examples/guestfs-recipes.pod:341
msgid "L<https://rwmj.wordpress.com/2010/12/01/tip-install-rpms-in-a-guest/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:320
+#: ../examples/guestfs-recipes.pod:343
msgid ""
"Since libguestfs 1.20, L<virt-sysprep(1)> has an option for installing "
"firstboot scripts in Linux guests."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:323
+#: ../examples/guestfs-recipes.pod:346
msgid "List applications installed in a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:325
+#: ../examples/guestfs-recipes.pod:348
msgid "Save the following to a file C<list-apps.sh>:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:327
+#: ../examples/guestfs-recipes.pod:350
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -7253,14 +7311,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:334
+#: ../examples/guestfs-recipes.pod:357
msgid ""
"Make the file executable and then you can run it on any named virtual "
"machine:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:337
+#: ../examples/guestfs-recipes.pod:360
#, no-wrap
msgid ""
" # list-apps.sh WinGuest\n"
@@ -7296,7 +7354,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:367
+#: ../examples/guestfs-recipes.pod:390
msgid ""
"If you want to run the script on disk images (instead of libvirt virtual "
"machines), change C<-d \"$1\"> to C<-a \"$1\">. See also "
@@ -7304,22 +7362,22 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:371
+#: ../examples/guestfs-recipes.pod:394
msgid "List files and directories in a VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:373
+#: ../examples/guestfs-recipes.pod:396
msgid "Use L<virt-ls(1)>."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:375
+#: ../examples/guestfs-recipes.pod:398
msgid "List services in a Windows VM"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:377
+#: ../examples/guestfs-recipes.pod:400
msgid ""
"The link below contains a script that can be used to list out the services "
"from a Windows VM, and whether those services run at boot time or are loaded "
@@ -7327,44 +7385,44 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:381
+#: ../examples/guestfs-recipes.pod:404
msgid "L<https://rwmj.wordpress.com/2010/12/10/tip-list-services-in-a-windows-guest/#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:383
+#: ../examples/guestfs-recipes.pod:406
msgid "Make a disk image sparse"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:385
+#: ../examples/guestfs-recipes.pod:408
msgid "Use L<virt-sparsify(1)>."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:387
+#: ../examples/guestfs-recipes.pod:410
msgid "Monitor disk usage over time"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:389
+#: ../examples/guestfs-recipes.pod:412
msgid ""
"You can use L<virt-df(1)> to monitor disk usage of your guests over time. "
"The link below contains a guide."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:392
+#: ../examples/guestfs-recipes.pod:415
msgid "L<http://virt-tools.org/learning/advanced-virt-df/>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:394
+#: ../examples/guestfs-recipes.pod:417
msgid "Reading the Windows Event Log from Windows Vista (or later)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:396
+#: ../examples/guestfs-recipes.pod:419
msgid ""
"L<guestfish(1)> plus the tools described in the link below can be used to "
"read out the Windows Event Log from any virtual machine running Windows "
@@ -7372,19 +7430,19 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:402
+#: ../examples/guestfs-recipes.pod:425
msgid "Remove root password (Linux)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:404
+#: ../examples/guestfs-recipes.pod:427
msgid ""
"Using the L<virt-edit(1)> I<-e> option you can do simple replacements on "
"files. One use is to remove the root password from a Linux guest:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:407
+#: ../examples/guestfs-recipes.pod:430
#, no-wrap
msgid ""
" virt-edit domname /etc/passwd -e 's/^root:.*?:/root::/'\n"
@@ -7392,12 +7450,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:409
+#: ../examples/guestfs-recipes.pod:432
msgid "Remove Administrator password (Windows)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:411
+#: ../examples/guestfs-recipes.pod:434
msgid ""
"The link below contains one technique for removing the Administrator "
"password from a Windows VM, or to be more precise, it gives you a command "
@@ -7405,17 +7463,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:416
+#: ../examples/guestfs-recipes.pod:439
msgid "L<https://mdbooth.wordpress.com/2010/10/18/resetting-a-windows-guests-administrator-password-with-guestfish/>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:418
+#: ../examples/guestfs-recipes.pod:441
msgid "Sysprepping a virtual machine (Windows)"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:420
+#: ../examples/guestfs-recipes.pod:443
msgid ""
"It is possible to do a \"sysprep\" using libguestfs alone, although not "
"straightforward. Currently there is code in the Aeolus Oz project which "
@@ -7424,19 +7482,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:425
+#: ../examples/guestfs-recipes.pod:448
msgid ""
"L<https://github.com/clalancette/oz> "
"L<https://www.redhat.com/archives/virt-tools-list/2011-May/msg00019.html>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:428
+#: ../examples/guestfs-recipes.pod:451
msgid "Unpack a live CD"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:430
+#: ../examples/guestfs-recipes.pod:453
msgid ""
"Linux live CDs often contain multiple layers of disk images wrapped like a "
"Russian doll. You can use L<guestfish(1)> to look inside these multiple "
@@ -7444,41 +7502,41 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:434
+#: ../examples/guestfs-recipes.pod:457
msgid "L<https://rwmj.wordpress.com/2009/07/15/unpack-the-russian-doll-of-a-f11-live-cd/#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:436
+#: ../examples/guestfs-recipes.pod:459
msgid "Uploading and downloading files"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:438
+#: ../examples/guestfs-recipes.pod:461
msgid ""
"The link below contains general tips on uploading (copying in) and "
"downloading (copying out) files from VMs."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:441
+#: ../examples/guestfs-recipes.pod:464
msgid "L<https://rwmj.wordpress.com/2010/12/02/tip-uploading-and-downloading/#content>"
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:443
+#: ../examples/guestfs-recipes.pod:466
msgid "Uploading raw filesystem content"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:445
+#: ../examples/guestfs-recipes.pod:468
msgid ""
"You can use L<guestfish(1)> to upload whole filesystems into a VM, even into "
"a filesystem which is encrypted or buried inside an LV or RAID device:"
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:449
+#: ../examples/guestfs-recipes.pod:472
#, no-wrap
msgid ""
" guestfish --rw -a disk.img run : upload sda1.img /dev/sda1\n"
@@ -7486,7 +7544,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:451
+#: ../examples/guestfs-recipes.pod:474
#, no-wrap
msgid ""
" guestfish --rw -d Guest run : upload lv.img /dev/vg_guest/lv_root\n"
@@ -7494,7 +7552,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:453
+#: ../examples/guestfs-recipes.pod:476
msgid ""
"One common problem is that the filesystem isn't the right size for the "
"target. If it is too large, there's not much you can do with libguestfs - "
@@ -7504,7 +7562,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../examples/guestfs-recipes.pod:459
+#: ../examples/guestfs-recipes.pod:482
#, no-wrap
msgid ""
" guestfish --rw -d Guest run : \\\n"
@@ -7514,34 +7572,34 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:463
+#: ../examples/guestfs-recipes.pod:486
msgid "(or use C<ntfsresize> if the filesystem is NTFS)."
msgstr ""
#. type: =head1
-#: ../examples/guestfs-recipes.pod:465
+#: ../examples/guestfs-recipes.pod:488
msgid "Use libguestfs tools on VMware ESX guests"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:467
+#: ../examples/guestfs-recipes.pod:490
msgid ""
"The link below explains how to use libguestfs, L<guestfish(1)> and the virt "
"tools on any VMware ESX guests, by first sharing the VMware VMFS over sshfs."
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:471
+#: ../examples/guestfs-recipes.pod:494
msgid "L<https://rwmj.wordpress.com/2011/05/10/tip-use-libguestfs-on-vmware-esx-guests/#content>"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-recipes.pod:475
+#: ../examples/guestfs-recipes.pod:498
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, 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)>, "
-"L<http://libguestfs.org/>."
+"L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, "
+"L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, "
+"L<guestfs-ruby(3)>, L<http://libguestfs.org/>."
msgstr ""
#. type: textblock
@@ -7598,7 +7656,7 @@ msgid "Run libguestfs-test-tool"
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:32 ../examples/guestfs-testing.pod:145 ../src/guestfs.pod:3797
+#: ../examples/guestfs-testing.pod:32 ../examples/guestfs-testing.pod:145 ../src/guestfs.pod:3803
msgid "Run:"
msgstr ""
@@ -7672,7 +7730,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../examples/guestfs-testing.pod:68 ../examples/guestfs-testing.pod:175 ../examples/guestfs-testing.pod:188 ../examples/guestfs-testing.pod:248 ../src/guestfs.pod:3442
+#: ../examples/guestfs-testing.pod:68 ../examples/guestfs-testing.pod:175 ../examples/guestfs-testing.pod:188 ../examples/guestfs-testing.pod:248 ../lua/examples/guestfs-lua.pod:56 ../src/guestfs.pod:3446
msgid "or:"
msgstr ""
@@ -8543,7 +8601,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish-actions.pod:152 ../src/guestfs-actions.pod:218 ../src/guestfs.pod:3660
+#: ../fish/guestfish-actions.pod:152 ../src/guestfs-actions.pod:218 ../src/guestfs.pod:3664
msgid "C<format>"
msgstr ""
@@ -11485,7 +11543,7 @@ msgid "You must call L</launch> before using this command."
msgstr ""
#. type: textblock
-#: ../fish/guestfish-actions.pod:1572 ../src/guestfs-actions.pod:2587 ../src/guestfs.pod:1977
+#: ../fish/guestfish-actions.pod:1572 ../src/guestfs-actions.pod:2587 ../src/guestfs.pod:1981
msgid ""
"This is mainly useful as a negative test. If this returns true, it doesn't "
"mean that a particular filesystem can be mounted, since filesystems can fail "
@@ -20061,7 +20119,7 @@ msgid "Possible attach methods are:"
msgstr ""
#. type: =item
-#: ../fish/guestfish-actions.pod:5647 ../src/guestfs-actions.pod:9096 ../src/guestfs.pod:3620
+#: ../fish/guestfish-actions.pod:5647 ../src/guestfs-actions.pod:9096 ../src/guestfs.pod:3624
msgid "C<appliance>"
msgstr ""
@@ -24459,7 +24517,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2828
+#: ../fish/guestfish.pod:135 ../src/guestfs.pod:2832
#, no-wrap
msgid ""
" guestfish -N fs\n"
@@ -26745,7 +26803,7 @@ msgid "COMMANDS"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1195 ../src/guestfs.pod:1955
+#: ../fish/guestfish.pod:1195 ../src/guestfs.pod:1959
msgid "__ACTIONS__"
msgstr ""
@@ -26769,17 +26827,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1211 ../src/guestfs.pod:3949
+#: ../fish/guestfish.pod:1211 ../src/guestfs.pod:3955
msgid "FEBOOTSTRAP_KERNEL"
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1213 ../src/guestfs.pod:3951
+#: ../fish/guestfish.pod:1213 ../src/guestfs.pod:3957
msgid "FEBOOTSTRAP_MODULES"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1215 ../src/guestfs.pod:3953
+#: ../fish/guestfish.pod:1215 ../src/guestfs.pod:3959
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 "
@@ -26847,17 +26905,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1247 ../src/guestfs.pod:3959
+#: ../fish/guestfish.pod:1247 ../src/guestfs.pod:3965
msgid "LIBGUESTFS_APPEND"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1249 ../src/guestfs.pod:3961
+#: ../fish/guestfish.pod:1249 ../src/guestfs.pod:3967
msgid "Pass additional options to the guest kernel."
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1251 ../src/guestfs.pod:3963
+#: ../fish/guestfish.pod:1251 ../src/guestfs.pod:3969
msgid "LIBGUESTFS_ATTACH_METHOD"
msgstr ""
@@ -26869,12 +26927,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1256 ../src/guestfs.pod:3968
+#: ../fish/guestfish.pod:1256 ../src/guestfs.pod:3974
msgid "LIBGUESTFS_CACHEDIR"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1258 ../src/guestfs.pod:3970
+#: ../fish/guestfish.pod:1258 ../src/guestfs.pod:3976
msgid ""
"The location where libguestfs will cache its appliance, when using a "
"supermin appliance. The appliance is cached and shared between all handles "
@@ -26882,7 +26940,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1262 ../src/guestfs.pod:3974
+#: ../fish/guestfish.pod:1262 ../src/guestfs.pod:3980
msgid ""
"If C<LIBGUESTFS_CACHEDIR> is not set, then C<TMPDIR> is used. If C<TMPDIR> "
"is not set, then C</var/tmp> is used."
@@ -26894,7 +26952,7 @@ msgid "See also L</LIBGUESTFS_TMPDIR>, L</set-cachedir>."
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1267 ../src/guestfs.pod:3979
+#: ../fish/guestfish.pod:1267 ../src/guestfs.pod:3985
msgid "LIBGUESTFS_DEBUG"
msgstr ""
@@ -26906,17 +26964,17 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1272 ../src/guestfs.pod:3984
+#: ../fish/guestfish.pod:1272 ../src/guestfs.pod:3990
msgid "LIBGUESTFS_MEMSIZE"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1274 ../src/guestfs.pod:3986
+#: ../fish/guestfish.pod:1274 ../src/guestfs.pod:3992
msgid "Set the memory allocated to the qemu process, in megabytes. For example:"
msgstr ""
#. type: verbatim
-#: ../fish/guestfish.pod:1277 ../src/guestfs.pod:3989
+#: ../fish/guestfish.pod:1277 ../src/guestfs.pod:3995
#, no-wrap
msgid ""
" LIBGUESTFS_MEMSIZE=700\n"
@@ -26924,7 +26982,7 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1279 ../src/guestfs.pod:3991
+#: ../fish/guestfish.pod:1279 ../src/guestfs.pod:3997
msgid "LIBGUESTFS_PATH"
msgstr ""
@@ -26936,31 +26994,31 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1284 ../src/guestfs.pod:3996
+#: ../fish/guestfish.pod:1284 ../src/guestfs.pod:4002
msgid "LIBGUESTFS_QEMU"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1286 ../src/guestfs.pod:3998
+#: ../fish/guestfish.pod:1286 ../src/guestfs.pod:4004
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:1290 ../src/guestfs.pod:4004
+#: ../fish/guestfish.pod:1290 ../src/guestfs.pod:4010
msgid "LIBGUESTFS_TMPDIR"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1292 ../src/guestfs.pod:4006
+#: ../fish/guestfish.pod:1292 ../src/guestfs.pod:4012
msgid ""
"The location where libguestfs will store temporary files used by each "
"handle."
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1295 ../src/guestfs.pod:4009
+#: ../fish/guestfish.pod:1295 ../src/guestfs.pod:4015
msgid ""
"If C<LIBGUESTFS_TMPDIR> is not set, then C<TMPDIR> is used. If C<TMPDIR> is "
"not set, then C</tmp> is used."
@@ -26972,7 +27030,7 @@ msgid "See also L</LIBGUESTFS_CACHEDIR>, L</set-tmpdir>."
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1300 ../src/guestfs.pod:4014
+#: ../fish/guestfish.pod:1300 ../src/guestfs.pod:4020
msgid "LIBGUESTFS_TRACE"
msgstr ""
@@ -26994,12 +27052,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../fish/guestfish.pod:1309 ../sparsify/virt-sparsify.pod:276 ../src/guestfs.pod:4019
+#: ../fish/guestfish.pod:1309 ../sparsify/virt-sparsify.pod:276 ../src/guestfs.pod:4025
msgid "TMPDIR"
msgstr ""
#. type: textblock
-#: ../fish/guestfish.pod:1311 ../src/guestfs.pod:4021
+#: ../fish/guestfish.pod:1311 ../src/guestfs.pod:4027
msgid "See L</LIBGUESTFS_CACHEDIR>, L</LIBGUESTFS_TMPDIR>."
msgstr ""
@@ -28944,7 +29002,7 @@ msgid "Code for temporarily ignoring/disabling errors now looks like this:"
msgstr ""
#. type: verbatim
-#: ../guestfs-release-notes.pod:370 ../src/guestfs.pod:1920
+#: ../guestfs-release-notes.pod:370 ../src/guestfs.pod:1924
#, no-wrap
msgid ""
" guestfs_push_error_handler (g, NULL, NULL);\n"
@@ -33530,9 +33588,151 @@ msgstr ""
#: ../java/examples/guestfs-java.pod:47
msgid ""
"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, "
-"L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, "
-"L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>, "
-"L<http://caml.inria.fr/>."
+"L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, "
+"L<guestfs-python(3)>, L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, "
+"L<http://libguestfs.org/>, L<http://caml.inria.fr/>."
+msgstr ""
+
+#. type: textblock
+#: ../lua/examples/guestfs-lua.pod:5
+msgid "guestfs-lua - How to use libguestfs from Lua"
+msgstr ""
+
+#. type: verbatim
+#: ../lua/examples/guestfs-lua.pod:9
+#, no-wrap
+msgid ""
+" require \"guestfs\"\n"
+" g = Guestfs.create ()\n"
+" g:add_drive (\"test.img\", { format = \"raw\", readonly = \"true\" })\n"
+" g:launch ()\n"
+" devices = g:list_devices ()\n"
+" g:close ()\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../lua/examples/guestfs-lua.pod:18
+msgid ""
+"This manual page documents how to call libguestfs from the Lua programming "
+"language. This page just documents the differences from the C API and gives "
+"some examples. If you are not familiar with using libguestfs, you also need "
+"to read L<guestfs(3)>."
+msgstr ""
+
+#. type: textblock
+#: ../lua/examples/guestfs-lua.pod:25
+msgid "To create a new handle, call:"
+msgstr ""
+
+#. type: verbatim
+#: ../lua/examples/guestfs-lua.pod:27
+#, no-wrap
+msgid ""
+" g = Guestfs.create ()\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../lua/examples/guestfs-lua.pod:29
+msgid "You can also use the optional arguments:"
+msgstr ""
+
+#. type: verbatim
+#: ../lua/examples/guestfs-lua.pod:31
+#, no-wrap
+msgid ""
+" g = Guestfs.create { environment = 0, close_on_exit = 0 }\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../lua/examples/guestfs-lua.pod:33
+msgid ""
+"to set the flags C<GUESTFS_CREATE_NO_ENVIRONMENT> and/or "
+"C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>."
+msgstr ""
+
+#. type: textblock
+#: ../lua/examples/guestfs-lua.pod:36
+msgid ""
+"The handle will be closed by the garbage collector, but you can also close "
+"it explicitly by doing:"
+msgstr ""
+
+#. type: verbatim
+#: ../lua/examples/guestfs-lua.pod:39
+#, no-wrap
+msgid ""
+" g:close ()\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../lua/examples/guestfs-lua.pod:41
+msgid "CALLING METHODS"
+msgstr ""
+
+#. type: textblock
+#: ../lua/examples/guestfs-lua.pod:43
+msgid ""
+"Use the ordinary Lua convention for calling methods on the handle. For "
+"example:"
+msgstr ""
+
+#. type: verbatim
+#: ../lua/examples/guestfs-lua.pod:46
+#, no-wrap
+msgid ""
+" g:set_verbose (true)\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../lua/examples/guestfs-lua.pod:50
+msgid ""
+"For functions that take optional arguments, the first arguments are the "
+"non-optional ones. The optional final argument is a table supplying the "
+"optional arguments."
+msgstr ""
+
+#. type: verbatim
+#: ../lua/examples/guestfs-lua.pod:54
+#, no-wrap
+msgid ""
+" g:add_drive (\"test.img\")\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../lua/examples/guestfs-lua.pod:58
+#, no-wrap
+msgid ""
+" g:add_drive (\"test.img\", { format = \"raw\", readonly = \"true\" })\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../lua/examples/guestfs-lua.pod:60
+msgid "64 BIT VALUES"
+msgstr ""
+
+#. type: textblock
+#: ../lua/examples/guestfs-lua.pod:62
+msgid ""
+"Currently 64 bit values must be passed as strings, and are returned as "
+"strings. This is because 32 bit Lua cannot handle 64 bit integers "
+"properly. We hope to come up with a better solution later."
+msgstr ""
+
+#. type: =head2
+#: ../lua/examples/guestfs-lua.pod:66 ../perl/examples/guestfs-perl.pod:27
+msgid "ERRORS"
+msgstr ""
+
+#. type: textblock
+#: ../lua/examples/guestfs-lua.pod:68
+msgid "Errors are converted into exceptions. Use C<pcall> to catch these."
msgstr ""
#. type: textblock
@@ -33675,9 +33875,9 @@ msgstr ""
#: ../ocaml/examples/guestfs-ocaml.pod:80
msgid ""
"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, "
-"L<guestfs-java(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, "
-"L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>, "
-"L<http://caml.inria.fr/>."
+"L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-perl(3)>, "
+"L<guestfs-python(3)>, L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, "
+"L<http://libguestfs.org/>, L<http://caml.inria.fr/>."
msgstr ""
#. type: textblock
@@ -33716,11 +33916,6 @@ msgid ""
"to read L<guestfs(3)>. To read the full Perl API, see L<Sys::Guestfs(3)>."
msgstr ""
-#. type: =head2
-#: ../perl/examples/guestfs-perl.pod:27
-msgid "ERRORS"
-msgstr ""
-
#. type: textblock
#: ../perl/examples/guestfs-perl.pod:29
msgid ""
@@ -33732,9 +33927,9 @@ msgstr ""
#: ../perl/examples/guestfs-perl.pod:42
msgid ""
"L<Sys::Guestfs(3)>, L<guestfs(3)>, L<guestfs-examples(3)>, "
-"L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)>, "
-"L<guestfs-python(3)>, L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, "
-"L<http://libguestfs.org/>."
+"L<guestfs-erlang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, "
+"L<guestfs-ocaml(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, "
+"L<guestfs-ruby(3)>, L<http://libguestfs.org/>."
msgstr ""
#. type: textblock
@@ -33793,8 +33988,9 @@ msgstr ""
#: ../python/examples/guestfs-python.pod:44
msgid ""
"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, "
-"L<guestfs-java(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, "
-"L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>."
+"L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, "
+"L<guestfs-perl(3)>, L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, "
+"L<http://libguestfs.org/>."
msgstr ""
#. type: textblock
@@ -35654,8 +35850,9 @@ msgstr ""
#: ../ruby/examples/guestfs-ruby.pod:38
msgid ""
"L<guestfs(3)>, 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-recipes(1)>, L<http://libguestfs.org/>."
+"L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, "
+"L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, "
+"L<http://libguestfs.org/>."
msgstr ""
#. type: textblock
@@ -51133,83 +51330,93 @@ msgstr ""
#. type: =item
#: ../src/guestfs.pod:883
-msgid "B<OCaml>"
+msgid "B<Lua>"
msgstr ""
#. type: textblock
#: ../src/guestfs.pod:885
-msgid "See L<guestfs-ocaml(3)>."
+msgid "See L<guestfs-lua(3)>."
msgstr ""
#. type: =item
#: ../src/guestfs.pod:887
-msgid "B<Perl>"
+msgid "B<OCaml>"
msgstr ""
#. type: textblock
#: ../src/guestfs.pod:889
-msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>."
+msgid "See L<guestfs-ocaml(3)>."
msgstr ""
#. type: =item
#: ../src/guestfs.pod:891
-msgid "B<PHP>"
+msgid "B<Perl>"
msgstr ""
#. type: textblock
#: ../src/guestfs.pod:893
+msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:895
+msgid "B<PHP>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:897
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:896
+#: ../src/guestfs.pod:900
msgid "The PHP binding only works correctly on 64 bit machines."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:898
+#: ../src/guestfs.pod:902
msgid "B<Python>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:900
+#: ../src/guestfs.pod:904
msgid "See L<guestfs-python(3)>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:902
+#: ../src/guestfs.pod:906
msgid "B<Ruby>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:904
+#: ../src/guestfs.pod:908
msgid "See L<guestfs-ruby(3)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:906
+#: ../src/guestfs.pod:910
msgid "For JRuby, use the Java bindings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:908
+#: ../src/guestfs.pod:912
msgid "B<shell scripts>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:910
+#: ../src/guestfs.pod:914
msgid "See L<guestfish(1)>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:914
+#: ../src/guestfs.pod:918
msgid "LIBGUESTFS GOTCHAS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:916
+#: ../src/guestfs.pod:920
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 "
@@ -51217,7 +51424,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:920
+#: ../src/guestfs.pod:924
msgid ""
"Since we developed libguestfs and the associated tools, there are several "
"things we would have designed differently, but are now stuck with for "
@@ -51226,19 +51433,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:928
+#: ../src/guestfs.pod:932
msgid "Autosync / forgetting to sync."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:930
+#: ../src/guestfs.pod:934
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:933
+#: ../src/guestfs.pod:937
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 "
@@ -51246,7 +51453,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:937
+#: ../src/guestfs.pod:941
#, no-wrap
msgid ""
" guestfs_set_autosync (g, 1);\n"
@@ -51254,7 +51461,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:939
+#: ../src/guestfs.pod:943
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> "
@@ -51262,7 +51469,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:943
+#: ../src/guestfs.pod:947
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 "
@@ -51270,7 +51477,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:947
+#: ../src/guestfs.pod:951
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 "
@@ -51278,19 +51485,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:951
+#: ../src/guestfs.pod:955
msgid "Mount option C<-o sync> should not be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:953
+#: ../src/guestfs.pod:957
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:956
+#: ../src/guestfs.pod:960
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 "
@@ -51298,31 +51505,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:960
+#: ../src/guestfs.pod:964
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:963
+#: ../src/guestfs.pod:967
msgid "Read-only should be the default."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:965
+#: ../src/guestfs.pod:969
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:968
+#: ../src/guestfs.pod:972
msgid "This would reduce the potential to corrupt live VM images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:970
+#: ../src/guestfs.pod:974
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 "
@@ -51330,12 +51537,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:974
+#: ../src/guestfs.pod:978
msgid "guestfish command line is hard to use."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:976
+#: ../src/guestfs.pod:980
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 "
@@ -51345,12 +51552,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:983
+#: ../src/guestfs.pod:987
msgid "guestfish megabyte modifiers don't work right on all commands"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:985
+#: ../src/guestfs.pod:989
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 "
@@ -51360,12 +51567,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:992
+#: ../src/guestfs.pod:996
msgid "The most common is L</guestfs_lvcreate>. The guestfish command:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:994
+#: ../src/guestfs.pod:998
#, no-wrap
msgid ""
" lvcreate LV VG 100M\n"
@@ -51373,7 +51580,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:996
+#: ../src/guestfs.pod:1000
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 "
@@ -51382,19 +51589,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1001
+#: ../src/guestfs.pod:1005
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:1004
+#: ../src/guestfs.pod:1008
msgid "Ambiguity between devices and paths"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1006
+#: ../src/guestfs.pod:1010
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 "
@@ -51402,7 +51609,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1011
+#: ../src/guestfs.pod:1015
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>. "
@@ -51411,7 +51618,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1017
+#: ../src/guestfs.pod:1021
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 "
@@ -51421,7 +51628,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1023
+#: ../src/guestfs.pod:1027
#, no-wrap
msgid ""
" type path = Path of string | Device of int | Partition of int * int\n"
@@ -51429,12 +51636,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1025
+#: ../src/guestfs.pod:1029
msgid "which would allow you to pass arguments like:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1027
+#: ../src/guestfs.pod:1031
#, no-wrap
msgid ""
" Path \"/foo/bar\"\n"
@@ -51445,26 +51652,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1032
+#: ../src/guestfs.pod:1036
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:1037
+#: ../src/guestfs.pod:1041
msgid "KEYS AND PASSPHRASES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1039
+#: ../src/guestfs.pod:1043
msgid ""
"Certain libguestfs calls take a parameter that contains sensitive key "
"material, passed in as a C string."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1042
+#: ../src/guestfs.pod:1046
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 "
@@ -51473,7 +51680,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1047
+#: ../src/guestfs.pod:1051
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, "
@@ -51481,19 +51688,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1052
+#: ../src/guestfs.pod:1056
msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1054
+#: ../src/guestfs.pod:1058
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:1057
+#: ../src/guestfs.pod:1061
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 "
@@ -51501,33 +51708,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1061
+#: ../src/guestfs.pod:1065
msgid ""
"See the graphical program guestfs-browser for one possible architecture for "
"multithreaded programs using libvirt and libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1064
+#: ../src/guestfs.pod:1068
msgid "PATH"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1066
+#: ../src/guestfs.pod:1070
msgid ""
"Libguestfs needs a supermin appliance, which it finds by looking along an "
"internal path."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1069
+#: ../src/guestfs.pod:1073
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:1072
+#: ../src/guestfs.pod:1076
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 "
@@ -51538,12 +51745,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1079
+#: ../src/guestfs.pod:1083
msgid "QEMU WRAPPERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1081
+#: ../src/guestfs.pod:1085
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 "
@@ -51551,7 +51758,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1085
+#: ../src/guestfs.pod:1089
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 "
@@ -51560,14 +51767,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1090
+#: ../src/guestfs.pod:1094
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:1093
+#: ../src/guestfs.pod:1097
#, no-wrap
msgid ""
" #!/bin/sh -\n"
@@ -51578,7 +51785,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1097
+#: ../src/guestfs.pod:1101
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 "
@@ -51586,7 +51793,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1101
+#: ../src/guestfs.pod:1105
#, no-wrap
msgid ""
" LIBGUESTFS_QEMU=/tmp/qemu.wrapper guestfish\n"
@@ -51594,14 +51801,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1103
+#: ../src/guestfs.pod:1107
msgid ""
"Note that libguestfs also calls qemu with the -help and -version options in "
"order to determine features."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1106
+#: ../src/guestfs.pod:1110
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 "
@@ -51611,7 +51818,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1115
+#: ../src/guestfs.pod:1119
#, no-wrap
msgid ""
" i=0\n"
@@ -51629,7 +51836,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1127
+#: ../src/guestfs.pod:1131
#, no-wrap
msgid ""
" exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n"
@@ -51637,19 +51844,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1129
+#: ../src/guestfs.pod:1133
msgid "ATTACHING TO RUNNING DAEMONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1131
+#: ../src/guestfs.pod:1135
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:1134
+#: ../src/guestfs.pod:1138
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 "
@@ -51657,12 +51864,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1138
+#: ../src/guestfs.pod:1142
msgid "Using guestfs_set_attach_method"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1140
+#: ../src/guestfs.pod:1144
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 "
@@ -51670,7 +51877,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1144
+#: ../src/guestfs.pod:1148
msgid ""
"The normal attach method is C<appliance>, where a small appliance is created "
"containing the daemon, and then the library connects to this. C<libvirt> or "
@@ -51678,7 +51885,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1149
+#: ../src/guestfs.pod:1153
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 "
@@ -51686,7 +51893,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1153
+#: ../src/guestfs.pod:1157
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 "
@@ -51694,12 +51901,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1157
+#: ../src/guestfs.pod:1161
msgid "Using guestfs_add_domain with live flag"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1159
+#: ../src/guestfs.pod:1163
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 "
@@ -51708,7 +51915,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1165
+#: ../src/guestfs.pod:1169
#, no-wrap
msgid ""
" <domain>\n"
@@ -51726,14 +51933,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1177
+#: ../src/guestfs.pod:1181
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:1180
+#: ../src/guestfs.pod:1184
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 "
@@ -51741,19 +51948,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1184
+#: ../src/guestfs.pod:1188
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:1188
+#: ../src/guestfs.pod:1192
msgid "ABI GUARANTEE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1190
+#: ../src/guestfs.pod:1194
msgid ""
"We guarantee the libguestfs ABI (binary interface), for public, high-level "
"actions as outlined in this section. Although we will deprecate some "
@@ -51763,12 +51970,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1196
+#: ../src/guestfs.pod:1200
msgid "BLOCK DEVICE NAMING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1198
+#: ../src/guestfs.pod:1202
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 "
@@ -51783,7 +51990,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1210
+#: ../src/guestfs.pod:1214
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 "
@@ -51791,7 +51998,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1214
+#: ../src/guestfs.pod:1218
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 "
@@ -51799,7 +52006,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1219
+#: ../src/guestfs.pod:1223
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 "
@@ -51808,7 +52015,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1225
+#: ../src/guestfs.pod:1229
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 "
@@ -51817,12 +52024,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1230
+#: ../src/guestfs.pod:1234
msgid "DISK LABELS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1232
+#: ../src/guestfs.pod:1236
msgid ""
"In libguestfs E<ge> 1.20, you can give a label to a disk when you add it, "
"using the optional C<label> parameter to L</guestfs_add_drive_opts>. (Note "
@@ -51830,14 +52037,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1237
+#: ../src/guestfs.pod:1241
msgid ""
"Not all versions of libguestfs support setting a disk label, and when it is "
"supported, it is limited to 20 ASCII characters C<[a-zA-Z]>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1240
+#: ../src/guestfs.pod:1244
msgid ""
"When you add a disk with a label, it can either be addressed using "
"C</dev/sd*>, or using C</dev/disk/guestfs/I<label>>. Partitions on the disk "
@@ -51845,7 +52052,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1245
+#: ../src/guestfs.pod:1249
msgid ""
"Listing devices (L</guestfs_list_devices>) and partitions "
"(L</guestfs_list_partitions>) returns the raw block device name. However "
@@ -51854,12 +52061,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1250
+#: ../src/guestfs.pod:1254
msgid "ALGORITHM FOR BLOCK DEVICE NAME TRANSLATION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1252
+#: ../src/guestfs.pod:1256
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 "
@@ -51869,7 +52076,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1258
+#: ../src/guestfs.pod:1262
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 "
@@ -51877,54 +52084,54 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1266
+#: ../src/guestfs.pod:1270
msgid "Is the string a parameter which is a device or partition name?"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1270
+#: ../src/guestfs.pod:1274
msgid "Does the string begin with C</dev/sd>?"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1274
+#: ../src/guestfs.pod:1278
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:1279
+#: ../src/guestfs.pod:1283
msgid "Replace initial C</dev/sd> string with C</dev/hd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1281
+#: ../src/guestfs.pod:1285
msgid "For example, change C</dev/sda2> to C</dev/hda2>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1283
+#: ../src/guestfs.pod:1287
msgid "If that named device exists, use it. If not, continue."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1287
+#: ../src/guestfs.pod:1291
msgid "Replace initial C</dev/sd> string with C</dev/vd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1289
+#: ../src/guestfs.pod:1293
msgid "If that named device exists, use it. If not, return an error."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1293
+#: ../src/guestfs.pod:1297
msgid "PORTABILITY CONCERNS WITH BLOCK DEVICE NAMING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1295
+#: ../src/guestfs.pod:1299
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 "
@@ -51932,38 +52139,38 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1299
+#: ../src/guestfs.pod:1303
msgid ""
"Where possible for maximum future portability programs using libguestfs "
"should use these future-proof techniques:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1306
+#: ../src/guestfs.pod:1310
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:1309
+#: ../src/guestfs.pod:1313
msgid "Since those device names exist by definition, they will never be translated."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1314
+#: ../src/guestfs.pod:1318
msgid ""
"Use higher level ways to identify filesystems, such as LVM names, UUIDs and "
"filesystem labels."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1319
+#: ../src/guestfs.pod:1323
msgid "NULL DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1321
+#: ../src/guestfs.pod:1325
msgid ""
"When adding a disk using, eg., L</guestfs_add_drive>, you can set the "
"filename to C<\"/dev/null\">. This string is treated specially by "
@@ -51971,46 +52178,46 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1325
+#: ../src/guestfs.pod:1329
msgid "A null disk has the following properties:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1331
+#: ../src/guestfs.pod:1335
msgid ""
"A null disk will appear as a normal device, eg. in calls to "
"L</guestfs_list_devices>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1336
+#: ../src/guestfs.pod:1340
msgid "You may add C<\"/dev/null\"> multiple times."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1340
+#: ../src/guestfs.pod:1344
msgid ""
"You should not try to access a null disk in any way. For example, you "
"shouldn't try to read it or mount it."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1345
+#: ../src/guestfs.pod:1349
msgid "Null disks are used for three main purposes:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1351
+#: ../src/guestfs.pod:1355
msgid "Performance testing of libguestfs (see L<guestfs-performance(1)>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1355
+#: ../src/guestfs.pod:1359
msgid "The internal test suite."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1359
+#: ../src/guestfs.pod:1363
msgid ""
"If you want to use libguestfs APIs that don't refer to disks, since "
"libguestfs requires that at least one disk is added, you should add a null "
@@ -52018,12 +52225,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1363
+#: ../src/guestfs.pod:1367
msgid "For example, to test if a feature is available, use code like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1365
+#: ../src/guestfs.pod:1369
#, no-wrap
msgid ""
" guestfs_h *g;\n"
@@ -52032,7 +52239,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1368
+#: ../src/guestfs.pod:1372
#, no-wrap
msgid ""
" g = guestfs_create ();\n"
@@ -52048,19 +52255,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1380
+#: ../src/guestfs.pod:1384
msgid "DISK IMAGE FORMATS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1382
+#: ../src/guestfs.pod:1386
msgid ""
"Virtual disks come in a variety of formats. Some common formats are listed "
"below."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1385
+#: ../src/guestfs.pod:1389
msgid ""
"Note that libguestfs itself is not responsible for handling the disk format: "
"this is done using L<qemu(1)>. If support for a particular format is "
@@ -52068,24 +52275,24 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1389
+#: ../src/guestfs.pod:1393
msgid "COMMON VIRTUAL DISK IMAGE FORMATS"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1393
+#: ../src/guestfs.pod:1397
msgid "I<raw>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1395
+#: ../src/guestfs.pod:1399
msgid ""
"Raw format is simply a dump of the sequential bytes of the virtual hard "
"disk. There is no header, container, compression or processing of any sort."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1399
+#: ../src/guestfs.pod:1403
msgid ""
"Since raw format requires no translation to read or write, it is both fast "
"and very well supported by qemu and all other hypervisors. You can consider "
@@ -52093,7 +52300,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1404
+#: ../src/guestfs.pod:1408
msgid ""
"Raw format files are not compressed and so take up the full space of the "
"original disk image even when they are empty. A variation (on Linux/Unix at "
@@ -52104,12 +52311,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1411
+#: ../src/guestfs.pod:1415
msgid "I<qcow2>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1413
+#: ../src/guestfs.pod:1417
msgid ""
"Qcow2 is the native disk image format used by qemu. Internally it uses a "
"two-level directory structure so that only blocks containing data are stored "
@@ -52118,19 +52325,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1418
+#: ../src/guestfs.pod:1422
msgid ""
"There are at least two distinct variants of this format, although qemu (and "
"hence libguestfs) handles both transparently to the user."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1421
+#: ../src/guestfs.pod:1425
msgid "I<vmdk>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1423
+#: ../src/guestfs.pod:1427
msgid ""
"VMDK is VMware's native disk image format. There are many variations. "
"Modern qemu (hence libguestfs) supports most variations, but you should be "
@@ -52139,7 +52346,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1428
+#: ../src/guestfs.pod:1432
msgid ""
"Note that VMware ESX exposes files with the name C<guest-flat.vmdk>. These "
"are not VMDK. They are raw format files which happen to have a C<.vmdk> "
@@ -52147,53 +52354,53 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1432
+#: ../src/guestfs.pod:1436
msgid "I<vdi>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1434
+#: ../src/guestfs.pod:1438
msgid ""
"VDI is VirtualBox's native disk image format. Qemu (hence libguestfs) has "
"generally good support for this."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1437
+#: ../src/guestfs.pod:1441
msgid "I<vpc>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1439
+#: ../src/guestfs.pod:1443
msgid "I<vhd>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1441
+#: ../src/guestfs.pod:1445
msgid ""
"VPC (old) and VHD (modern) are the native disk image format of Microsoft "
"(and previously, Connectix) Virtual PC and Hyper-V."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1444
+#: ../src/guestfs.pod:1448
msgid "Obsolete formats"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1446
+#: ../src/guestfs.pod:1450
msgid ""
"The following formats are obsolete and should not be used: I<qcow> (aka "
"I<qcow1>), I<cow>, I<bochs>."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1451
+#: ../src/guestfs.pod:1455
msgid "DETECTING THE FORMAT OF A DISK IMAGE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1453
+#: ../src/guestfs.pod:1457
msgid ""
"Firstly note there is a security issue with auto-detecting the format of a "
"disk image. It may or may not apply in your use case. Read "
@@ -52201,14 +52408,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1457
+#: ../src/guestfs.pod:1461
msgid ""
"Libguestfs offers an API to get the format of a disk image "
"(L</guestfs_disk_format>, and it is safest to use this."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1460
+#: ../src/guestfs.pod:1464
msgid ""
"I<Don't> be tempted to try parsing the text / human-readable output of "
"C<qemu-img> since it cannot be parsed reliably and securely. Also do not "
@@ -52216,24 +52423,24 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1465 ../sysprep/virt-sysprep.pod:424
+#: ../src/guestfs.pod:1469 ../sysprep/virt-sysprep.pod:424
msgid "SECURITY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1467
+#: ../src/guestfs.pod:1471
msgid ""
"This section discusses security implications of using libguestfs, "
"particularly with untrusted or malicious guests or disk images."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1470
+#: ../src/guestfs.pod:1474
msgid "GENERAL SECURITY CONSIDERATIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1472
+#: ../src/guestfs.pod:1476
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 "
@@ -52243,42 +52450,42 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1482
+#: ../src/guestfs.pod:1486
msgid "the data (file etc) not being present"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1486
+#: ../src/guestfs.pod:1490
msgid "being present but empty"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1490
+#: ../src/guestfs.pod:1494
msgid "being much larger than normal"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1494
+#: ../src/guestfs.pod:1498
msgid "containing arbitrary 8 bit data"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1498
+#: ../src/guestfs.pod:1502
msgid "being in an unexpected character encoding"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1502
+#: ../src/guestfs.pod:1506
msgid "containing homoglyphs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1506
+#: ../src/guestfs.pod:1510
msgid "SECURITY OF MOUNTING FILESYSTEMS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1508
+#: ../src/guestfs.pod:1512
msgid ""
"When you mount a filesystem under Linux, mistakes in the kernel filesystem "
"(VFS) module can sometimes be escalated into exploits by deliberately "
@@ -52294,7 +52501,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1521
+#: ../src/guestfs.pod:1525
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 "
@@ -52308,19 +52515,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1532
+#: ../src/guestfs.pod:1536
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:1535
+#: ../src/guestfs.pod:1539
msgid "PROTOCOL SECURITY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1537
+#: ../src/guestfs.pod:1541
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 "
@@ -52330,12 +52537,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1543
+#: ../src/guestfs.pod:1547
msgid "INSPECTION SECURITY"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1545
+#: ../src/guestfs.pod:1549
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 "
@@ -52344,7 +52551,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1551
+#: ../src/guestfs.pod:1555
msgid ""
"Guest configuration may be altered in unusual ways by the administrator of "
"the virtual machine, and may not reflect reality (particularly for untrusted "
@@ -52355,7 +52562,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1559
+#: ../src/guestfs.pod:1563
msgid ""
"The inspection API parses guest configuration using two external libraries: "
"Augeas (Linux configuration) and hivex (Windows Registry). Both are "
@@ -52365,12 +52572,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1565
+#: ../src/guestfs.pod:1569
msgid "RUNNING UNTRUSTED GUEST COMMANDS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1567
+#: ../src/guestfs.pod:1571
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 "
@@ -52380,24 +52587,24 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1573
+#: ../src/guestfs.pod:1577
msgid "CVE-2010-3851"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1575
+#: ../src/guestfs.pod:1579
msgid "L<https://bugzilla.redhat.com/642934>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1577
+#: ../src/guestfs.pod:1581
msgid ""
"This security bug concerns the automatic disk format detection that qemu "
"does on disk images."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1580
+#: ../src/guestfs.pod:1584
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 "
@@ -52406,7 +52613,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1585
+#: ../src/guestfs.pod:1589
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 "
@@ -52415,7 +52622,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1590
+#: ../src/guestfs.pod:1594
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 "
@@ -52427,24 +52634,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1598
+#: ../src/guestfs.pod:1602
msgid "In libguestfs this is rather hard to exploit except under two circumstances:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1605
+#: ../src/guestfs.pod:1609
msgid "You have enabled the network or have opened the disk in write mode."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1609
+#: ../src/guestfs.pod:1613
msgid ""
"You are also running untrusted code from the guest (see L</RUNNING "
"COMMANDS>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1614
+#: ../src/guestfs.pod:1618
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 "
@@ -52453,31 +52660,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1620
+#: ../src/guestfs.pod:1624
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:1623
+#: ../src/guestfs.pod:1627
msgid ""
"For libguestfs tools, use the I<--format> command line parameter as "
"appropriate."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1626
+#: ../src/guestfs.pod:1630
msgid "CONNECTION MANAGEMENT"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1628
+#: ../src/guestfs.pod:1632
msgid "guestfs_h *"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1630
+#: ../src/guestfs.pod:1634
msgid ""
"C<guestfs_h> is the opaque type representing a connection handle. Create a "
"handle by calling L</guestfs_create> or L</guestfs_create_flags>. Call "
@@ -52485,19 +52692,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1635
+#: ../src/guestfs.pod:1639
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:1638
+#: ../src/guestfs.pod:1642
msgid "guestfs_create"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1640
+#: ../src/guestfs.pod:1644
#, no-wrap
msgid ""
" guestfs_h *guestfs_create (void);\n"
@@ -52505,19 +52712,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1642
+#: ../src/guestfs.pod:1646
msgid "Create a connection handle."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1644 ../src/guestfs.pod:1663
+#: ../src/guestfs.pod:1648 ../src/guestfs.pod:1667
msgid ""
"On success this returns a non-NULL pointer to a handle. On error it returns "
"NULL."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1647
+#: ../src/guestfs.pod:1651
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 "
@@ -52525,24 +52732,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1651
+#: ../src/guestfs.pod:1655
msgid "After configuring the handle, you have to call L</guestfs_launch>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1653
+#: ../src/guestfs.pod:1657
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:1656
+#: ../src/guestfs.pod:1660
msgid "guestfs_create_flags"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1658
+#: ../src/guestfs.pod:1662
#, no-wrap
msgid ""
" guestfs_h *guestfs_create_flags (unsigned flags [, ...]);\n"
@@ -52550,36 +52757,36 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1660
+#: ../src/guestfs.pod:1664
msgid ""
"Create a connection handle, supplying extra flags and extra arguments to "
"control how the handle is created."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1666
+#: ../src/guestfs.pod:1670
msgid "L</guestfs_create> is equivalent to calling C<guestfs_create_flags(0)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1668
+#: ../src/guestfs.pod:1672
msgid ""
"The following flags may be logically ORed together. (Currently no extra "
"arguments are used)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1673
+#: ../src/guestfs.pod:1677
msgid "C<GUESTFS_CREATE_NO_ENVIRONMENT>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1675
+#: ../src/guestfs.pod:1679
msgid "Don't parse any environment variables (such as C<LIBGUESTFS_DEBUG> etc)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1677
+#: ../src/guestfs.pod:1681
msgid ""
"You can call L</guestfs_parse_environment> or "
"L</guestfs_parse_environment_list> afterwards to parse environment "
@@ -52588,45 +52795,45 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1682
+#: ../src/guestfs.pod:1686
msgid ""
"The default (if this flag is not given) is to implicitly call "
"L</guestfs_parse_environment>."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1685
+#: ../src/guestfs.pod:1689
msgid "C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1687
+#: ../src/guestfs.pod:1691
msgid ""
"Don't try to close the handle in an L<atexit(3)> handler if the program "
"exits without explicitly closing the handle."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1690
+#: ../src/guestfs.pod:1694
msgid ""
"The default (if this flag is not given) is to install such an atexit "
"handler."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:1695
+#: ../src/guestfs.pod:1699
msgid "USING C<GUESTFS_CREATE_NO_ENVIRONMENT>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1697
+#: ../src/guestfs.pod:1701
msgid ""
"You might use C<GUESTFS_CREATE_NO_ENVIRONMENT> and an explicit call to "
"L</guestfs_parse_environment> like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1700
+#: ../src/guestfs.pod:1704
#, no-wrap
msgid ""
" guestfs_h *g;\n"
@@ -52635,7 +52842,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1703
+#: ../src/guestfs.pod:1707
#, no-wrap
msgid ""
" g = guestfs_create_flags (GUESTFS_CREATE_NO_ENVIRONMENT);\n"
@@ -52650,14 +52857,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1712
+#: ../src/guestfs.pod:1716
msgid ""
"Or to create a handle which is unaffected by environment variables, omit the "
"call to C<guestfs_parse_environment> from the above code."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1715
+#: ../src/guestfs.pod:1719
msgid ""
"The above code has another advantage which is that any errors from parsing "
"the environment are passed through the error handler, whereas "
@@ -52665,12 +52872,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1719
+#: ../src/guestfs.pod:1723
msgid "guestfs_close"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1721
+#: ../src/guestfs.pod:1725
#, no-wrap
msgid ""
" void guestfs_close (guestfs_h *g);\n"
@@ -52678,19 +52885,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1723
+#: ../src/guestfs.pod:1727
msgid ""
"This closes the connection handle and frees up all resources used. If a "
"close callback was set on the handle, then it is called."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1726
+#: ../src/guestfs.pod:1730
msgid "The correct way to close the handle is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1728
+#: ../src/guestfs.pod:1732
#, no-wrap
msgid ""
" if (guestfs_shutdown (g) == -1) {\n"
@@ -52701,51 +52908,51 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1733
+#: ../src/guestfs.pod:1737
msgid "L</guestfs_shutdown> is only needed if B<all> of the following are true:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1739
+#: ../src/guestfs.pod:1743
msgid "one or more disks were added in read-write mode, I<and>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1743
+#: ../src/guestfs.pod:1747
msgid "guestfs_launch was called, I<and>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1747
+#: ../src/guestfs.pod:1751
msgid "you made some changes, I<and>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:1749
+#: ../src/guestfs.pod:1753
msgid "4"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1751
+#: ../src/guestfs.pod:1755
msgid ""
"you have a way to handle write errors (eg. by exiting with an error code or "
"reporting something to the user)."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1756
+#: ../src/guestfs.pod:1760
msgid "ERROR HANDLING"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1758
+#: ../src/guestfs.pod:1762
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:1761
+#: ../src/guestfs.pod:1765
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 "
@@ -52753,7 +52960,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1765
+#: ../src/guestfs.pod:1769
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 "
@@ -52761,7 +52968,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1770
+#: ../src/guestfs.pod:1774
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 "
@@ -52769,7 +52976,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1774
+#: ../src/guestfs.pod:1778
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1)\n"
@@ -52778,14 +52985,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1777
+#: ../src/guestfs.pod:1781
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:1780
+#: ../src/guestfs.pod:1784
msgid ""
"For other programs the caller will almost certainly want to install an "
"alternate error handler or do error handling in-line as in the example "
@@ -52794,7 +53001,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1785
+#: ../src/guestfs.pod:1789
#, no-wrap
msgid ""
" const char *msg;\n"
@@ -52803,7 +53010,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1788
+#: ../src/guestfs.pod:1792
#, no-wrap
msgid ""
" /* This disables the default behaviour of printing errors\n"
@@ -52813,7 +53020,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1792
+#: ../src/guestfs.pod:1796
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1) {\n"
@@ -52825,7 +53032,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1798
+#: ../src/guestfs.pod:1802
#, no-wrap
msgid ""
" fprintf (stderr, \"%s\", msg);\n"
@@ -52836,7 +53043,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1803
+#: ../src/guestfs.pod:1807
#, no-wrap
msgid ""
" /* ... */\n"
@@ -52845,7 +53052,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1806
+#: ../src/guestfs.pod:1810
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 "
@@ -52856,7 +53063,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1813
+#: ../src/guestfs.pod:1817
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 "
@@ -52864,12 +53071,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1817
+#: ../src/guestfs.pod:1821
msgid "guestfs_last_error"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1819
+#: ../src/guestfs.pod:1823
#, no-wrap
msgid ""
" const char *guestfs_last_error (guestfs_h *g);\n"
@@ -52877,14 +53084,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1821
+#: ../src/guestfs.pod:1825
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:1825
+#: ../src/guestfs.pod:1829
msgid ""
"Note the returned string does I<not> have a newline character at the end. "
"Most error messages are single lines. Some are split over multiple lines "
@@ -52892,7 +53099,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1830
+#: ../src/guestfs.pod:1834
msgid ""
"The lifetime of the returned string is until the next error occurs on the "
"same handle, or L</guestfs_close> is called. If you need to keep it longer, "
@@ -52900,12 +53107,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1834
+#: ../src/guestfs.pod:1838
msgid "guestfs_last_errno"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1836
+#: ../src/guestfs.pod:1840
#, no-wrap
msgid ""
" int guestfs_last_errno (guestfs_h *g);\n"
@@ -52913,36 +53120,36 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1838
+#: ../src/guestfs.pod:1842
msgid "This returns the last error number (errno) that happened on C<g>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1840
+#: ../src/guestfs.pod:1844
msgid "If successful, an errno integer not equal to zero is returned."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1842
+#: ../src/guestfs.pod:1846
msgid ""
"In many cases the special errno C<ENOTSUP> is returned if you tried to call "
"a function or use a feature which is not supported."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1845
+#: ../src/guestfs.pod:1849
msgid ""
"If no error number is available, this returns 0. This call can return 0 in "
"three situations:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1852
+#: ../src/guestfs.pod:1856
msgid "There has not been any error on the handle."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1856
+#: ../src/guestfs.pod:1860
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 "
@@ -52950,14 +53157,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1862
+#: ../src/guestfs.pod:1866
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:1868
+#: ../src/guestfs.pod:1872
msgid ""
"Libguestfs tries to convert the errno from inside the applicance into a "
"corresponding errno for the caller (not entirely trivial: the appliance "
@@ -52968,12 +53175,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1876
+#: ../src/guestfs.pod:1880
msgid "guestfs_set_error_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1878
+#: ../src/guestfs.pod:1882
#, no-wrap
msgid ""
" typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
@@ -52986,7 +53193,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1885
+#: ../src/guestfs.pod:1889
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 "
@@ -52994,14 +53201,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1889
+#: ../src/guestfs.pod:1893
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:1892
+#: ../src/guestfs.pod:1896
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 "
@@ -53009,22 +53216,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1896
+#: ../src/guestfs.pod:1900
msgid "The default handler prints messages on C<stderr>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1898
+#: ../src/guestfs.pod:1902
msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1900
+#: ../src/guestfs.pod:1904
msgid "guestfs_get_error_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1902
+#: ../src/guestfs.pod:1906
#, no-wrap
msgid ""
" guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
@@ -53033,17 +53240,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1905
+#: ../src/guestfs.pod:1909
msgid "Returns the current error handler callback."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1907
+#: ../src/guestfs.pod:1911
msgid "guestfs_push_error_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1909
+#: ../src/guestfs.pod:1913
#, no-wrap
msgid ""
" void guestfs_push_error_handler (guestfs_h *g,\n"
@@ -53053,7 +53260,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1913
+#: ../src/guestfs.pod:1917
msgid ""
"This is the same as L</guestfs_set_error_handler>, except that the old error "
"handler is stashed away in a stack inside the handle. You can restore the "
@@ -53061,17 +53268,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1918
+#: ../src/guestfs.pod:1922
msgid "Use the following code to temporarily disable errors around a function:"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1924
+#: ../src/guestfs.pod:1928
msgid "guestfs_pop_error_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1926
+#: ../src/guestfs.pod:1930
#, no-wrap
msgid ""
" void guestfs_pop_error_handler (guestfs_h *g);\n"
@@ -53079,24 +53286,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1928
+#: ../src/guestfs.pod:1932
msgid "Restore the previous error handler (see L</guestfs_push_error_handler>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1930
+#: ../src/guestfs.pod:1934
msgid ""
"If you pop the stack too many times, then the default error handler is "
"restored."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1933
+#: ../src/guestfs.pod:1937
msgid "guestfs_set_out_of_memory_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1935
+#: ../src/guestfs.pod:1939
#, no-wrap
msgid ""
" typedef void (*guestfs_abort_cb) (void);\n"
@@ -53106,29 +53313,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1939
+#: ../src/guestfs.pod:1943
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:1942
+#: ../src/guestfs.pod:1946
msgid "The default is to call L<abort(3)>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1944
+#: ../src/guestfs.pod:1948
msgid "You cannot set C<cb> to C<NULL>. You can't ignore out of memory situations."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1947
+#: ../src/guestfs.pod:1951
msgid "guestfs_get_out_of_memory_handler"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:1949
+#: ../src/guestfs.pod:1953
#, no-wrap
msgid ""
" guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
@@ -53136,37 +53343,37 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1951
+#: ../src/guestfs.pod:1955
msgid "This returns the current out of memory handler."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1953
+#: ../src/guestfs.pod:1957
msgid "API CALLS"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1957
+#: ../src/guestfs.pod:1961
msgid "STRUCTURES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1959
+#: ../src/guestfs.pod:1963
msgid "__STRUCTS__"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:1961
+#: ../src/guestfs.pod:1965
msgid "AVAILABILITY"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1963
+#: ../src/guestfs.pod:1967
msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1965
+#: ../src/guestfs.pod:1969
msgid ""
"Using L</guestfs_available> you can test availability of the following "
"groups of functions. This test queries the appliance to see if the "
@@ -53174,29 +53381,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1970
+#: ../src/guestfs.pod:1974
msgid "__AVAILABILITY__"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1972
+#: ../src/guestfs.pod:1976
msgid "FILESYSTEM AVAILABLE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1974
+#: ../src/guestfs.pod:1978
msgid ""
"The L</guestfs_filesystem_available> call tests whether a filesystem type is "
"supported by the appliance kernel."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1982
+#: ../src/guestfs.pod:1986
msgid "GUESTFISH supported COMMAND"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1984
+#: ../src/guestfs.pod:1988
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 "
@@ -53204,19 +53411,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:1989
+#: ../src/guestfs.pod:1993
msgid "SINGLE CALLS AT COMPILE TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1991
+#: ../src/guestfs.pod:1995
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:1994
+#: ../src/guestfs.pod:1998
#, no-wrap
msgid ""
" #define LIBGUESTFS_HAVE_DD 1\n"
@@ -53224,12 +53431,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1996
+#: ../src/guestfs.pod:2000
msgid "if L</guestfs_dd> is available."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:1998
+#: ../src/guestfs.pod:2002
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 "
@@ -53237,7 +53444,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2003
+#: ../src/guestfs.pod:2007
#, no-wrap
msgid ""
" AC_CHECK_LIB([guestfs],[guestfs_create])\n"
@@ -53246,19 +53453,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2006
+#: ../src/guestfs.pod:2010
msgid ""
"which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
"in your program."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2009
+#: ../src/guestfs.pod:2013
msgid "SINGLE CALLS AT RUN TIME"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2011
+#: ../src/guestfs.pod:2015
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 "
@@ -53268,7 +53475,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2018
+#: ../src/guestfs.pod:2022
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 "
@@ -53276,7 +53483,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2022
+#: ../src/guestfs.pod:2026
#, no-wrap
msgid ""
" #include <stdio.h>\n"
@@ -53288,7 +53495,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2028
+#: ../src/guestfs.pod:2032
#, no-wrap
msgid ""
" main ()\n"
@@ -53300,7 +53507,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2034
+#: ../src/guestfs.pod:2038
#, no-wrap
msgid ""
" /* Test if the function guestfs_dd is really available. */\n"
@@ -53315,7 +53522,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2043
+#: ../src/guestfs.pod:2047
#, no-wrap
msgid ""
" if (!has_function)\n"
@@ -53334,7 +53541,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2056
+#: ../src/guestfs.pod:2060
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 "
@@ -53342,7 +53549,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2061
+#: ../src/guestfs.pod:2065
#, no-wrap
msgid ""
" Requires: libguestfs >= 1.0.80\n"
@@ -53350,12 +53557,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2063
+#: ../src/guestfs.pod:2067
msgid "CALLS WITH OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2065
+#: ../src/guestfs.pod:2069
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 "
@@ -53363,7 +53570,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2070
+#: ../src/guestfs.pod:2074
#, no-wrap
msgid ""
" int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
@@ -53371,14 +53578,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2072
+#: ../src/guestfs.pod:2076
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:2075
+#: ../src/guestfs.pod:2079
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename, -1);\n"
@@ -53386,12 +53593,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2077
+#: ../src/guestfs.pod:2081
msgid "With a single optional argument:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2079
+#: ../src/guestfs.pod:2083
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -53401,12 +53608,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2083
+#: ../src/guestfs.pod:2087
msgid "With two:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2085
+#: ../src/guestfs.pod:2089
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
@@ -53417,19 +53624,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2090
+#: ../src/guestfs.pod:2094
msgid ""
"and so forth. Don't forget the terminating C<-1> otherwise Bad Things will "
"happen!"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2093
+#: ../src/guestfs.pod:2097
msgid "USING va_list FOR OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2095
+#: ../src/guestfs.pod:2099
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 "
@@ -53437,7 +53644,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2099
+#: ../src/guestfs.pod:2103
#, no-wrap
msgid ""
" int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
@@ -53446,12 +53653,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2102
+#: ../src/guestfs.pod:2106
msgid "CONSTRUCTING OPTIONAL ARGUMENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2104
+#: ../src/guestfs.pod:2108
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 "
@@ -53461,7 +53668,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2110
+#: ../src/guestfs.pod:2114
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv {\n"
@@ -53476,12 +53683,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2119
+#: ../src/guestfs.pod:2123
msgid "You could call it like this:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2121
+#: ../src/guestfs.pod:2125
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv optargs = {\n"
@@ -53494,7 +53701,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2128
+#: ../src/guestfs.pod:2132
#, no-wrap
msgid ""
" guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
@@ -53502,29 +53709,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2136
+#: ../src/guestfs.pod:2140
msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2141
+#: ../src/guestfs.pod:2145
msgid "You do not need to fill in all fields of the structure."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2145
+#: ../src/guestfs.pod:2149
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:2150
+#: ../src/guestfs.pod:2154
msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2152
+#: ../src/guestfs.pod:2156
msgid ""
"In other languages, optional arguments are expressed in the way that is "
"natural for that language. We refer you to the language-specific "
@@ -53532,22 +53739,22 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2156
+#: ../src/guestfs.pod:2160
msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2158
+#: ../src/guestfs.pod:2162
msgid "EVENTS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2160
+#: ../src/guestfs.pod:2164
msgid "SETTING CALLBACKS TO HANDLE EVENTS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2162
+#: ../src/guestfs.pod:2166
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 "
@@ -53559,7 +53766,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2171
+#: ../src/guestfs.pod:2175
msgid ""
"Handles generate events when certain things happen, such as log messages "
"being generated, progress messages during long-running operations, or the "
@@ -53571,7 +53778,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2179
+#: ../src/guestfs.pod:2183
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 "
@@ -53580,31 +53787,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2184
+#: ../src/guestfs.pod:2188
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: =head2
-#: ../src/guestfs.pod:2188
+#: ../src/guestfs.pod:2192
msgid "CLASSES OF EVENTS"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2192
+#: ../src/guestfs.pod:2196
msgid "GUESTFS_EVENT_CLOSE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2195
+#: ../src/guestfs.pod:2199
msgid ""
"The callback function will be called while the handle is being closed "
"(synchronously from L</guestfs_close>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2198
+#: ../src/guestfs.pod:2202
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 "
@@ -53615,19 +53822,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2205
+#: ../src/guestfs.pod:2209
msgid ""
"If no callback is registered: the handle is closed without any callback "
"being invoked."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2208
+#: ../src/guestfs.pod:2212
msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2211
+#: ../src/guestfs.pod:2215
msgid ""
"The callback function will be called when the child process quits, either "
"asynchronously or if killed by L</guestfs_kill_subprocess>. (This "
@@ -53635,17 +53842,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2215 ../src/guestfs.pod:2224 ../src/guestfs.pod:2341
+#: ../src/guestfs.pod:2219 ../src/guestfs.pod:2228 ../src/guestfs.pod:2345
msgid "If no callback is registered: the event is ignored."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2217
+#: ../src/guestfs.pod:2221
msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2220
+#: ../src/guestfs.pod:2224
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 "
@@ -53653,12 +53860,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2226
+#: ../src/guestfs.pod:2230
msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2229
+#: ../src/guestfs.pod:2233
msgid ""
"Some long-running operations can generate progress messages. If this "
"callback is registered, then it will be called each time a progress message "
@@ -53668,14 +53875,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2235
+#: ../src/guestfs.pod:2239
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:2238
+#: ../src/guestfs.pod:2242
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 "
@@ -53684,24 +53891,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2243
+#: ../src/guestfs.pod:2247
msgid "The only defined and stable parts of the API are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2249
+#: ../src/guestfs.pod:2253
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:2254
+#: ../src/guestfs.pod:2258
msgid "0 E<lt>= C<position> E<lt>= C<total>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2258
+#: ../src/guestfs.pod:2262
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 "
@@ -53709,7 +53916,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2262
+#: ../src/guestfs.pod:2266
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 "
@@ -53717,7 +53924,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2268
+#: ../src/guestfs.pod:2272
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 "
@@ -53726,7 +53933,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2273
+#: ../src/guestfs.pod:2277
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 "
@@ -53734,14 +53941,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2277
+#: ../src/guestfs.pod:2281
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:2282
+#: ../src/guestfs.pod:2286
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 "
@@ -53750,31 +53957,31 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2288
+#: ../src/guestfs.pod:2292
msgid "If no callback is registered: progress messages are discarded."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2290
+#: ../src/guestfs.pod:2294
msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2293
+#: ../src/guestfs.pod:2297
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:2296
+#: ../src/guestfs.pod:2300
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:2299 ../src/guestfs.pod:2313
+#: ../src/guestfs.pod:2303 ../src/guestfs.pod:2317
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 "
@@ -53782,62 +53989,62 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2304
+#: ../src/guestfs.pod:2308
msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2307
+#: ../src/guestfs.pod:2311
msgid ""
"The callback function is called whenever a log message is generated by the "
"library part of libguestfs."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2310
+#: ../src/guestfs.pod:2314
msgid ""
"If the verbose flag (L</guestfs_set_verbose>) is set then additional debug "
"messages are generated."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2318
+#: ../src/guestfs.pod:2322
msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2321
+#: ../src/guestfs.pod:2325
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:2324
+#: ../src/guestfs.pod:2328
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:2328
+#: ../src/guestfs.pod:2332
msgid "GUESTFS_EVENT_ENTER (payload type: function name)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2331
+#: ../src/guestfs.pod:2335
msgid "The callback function is called whenever a libguestfs function is entered."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2334
+#: ../src/guestfs.pod:2338
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:2337
+#: ../src/guestfs.pod:2341
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 "
@@ -53845,12 +54052,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2343
+#: ../src/guestfs.pod:2347
msgid "GUESTFS_EVENT_LIBVIRT_AUTH (payload type: libvirt URI)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2346
+#: ../src/guestfs.pod:2350
msgid ""
"For any API function that opens a libvirt connection, this event may be "
"generated to indicate that libvirt demands authentication information. See "
@@ -53858,24 +54065,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2350
+#: ../src/guestfs.pod:2354
msgid ""
"If no callback is registered: C<virConnectAuthPtrDefault> is used (suitable "
"for command-line programs only)."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2355
+#: ../src/guestfs.pod:2359
msgid "EVENT API"
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2357
+#: ../src/guestfs.pod:2361
msgid "guestfs_set_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2359
+#: ../src/guestfs.pod:2363
#, no-wrap
msgid ""
" int guestfs_set_event_callback (guestfs_h *g,\n"
@@ -53887,14 +54094,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2365
+#: ../src/guestfs.pod:2369
msgid ""
"This function registers a callback (C<cb>) for all event classes in the "
"C<event_bitmask>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2368
+#: ../src/guestfs.pod:2372
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>. "
@@ -53903,40 +54110,40 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2374
+#: ../src/guestfs.pod:2378
msgid "C<flags> should always be passed as 0."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2376
+#: ../src/guestfs.pod:2380
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:2379
+#: ../src/guestfs.pod:2383
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:2382
+#: ../src/guestfs.pod:2386
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:2385
+#: ../src/guestfs.pod:2389
msgid ""
"Callbacks remain in effect until they are deleted, or until the handle is "
"closed."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2388
+#: ../src/guestfs.pod:2392
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 "
@@ -53944,12 +54151,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2392
+#: ../src/guestfs.pod:2396
msgid "guestfs_delete_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2394
+#: ../src/guestfs.pod:2398
#, no-wrap
msgid ""
" void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n"
@@ -53957,7 +54164,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2396
+#: ../src/guestfs.pod:2400
msgid ""
"Delete a callback that was previously registered. C<event_handle> should be "
"the integer that was returned by a previous call to "
@@ -53965,12 +54172,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:2400
+#: ../src/guestfs.pod:2404
msgid "guestfs_event_callback"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2402
+#: ../src/guestfs.pod:2406
#, no-wrap
msgid ""
" typedef void (*guestfs_event_callback) (\n"
@@ -53985,12 +54192,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2411
+#: ../src/guestfs.pod:2415
msgid "This is the type of the event callback function that you have to provide."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2414
+#: ../src/guestfs.pod:2418
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 "
@@ -53998,7 +54205,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2418
+#: ../src/guestfs.pod:2422
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 "
@@ -54007,7 +54214,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2423
+#: ../src/guestfs.pod:2427
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 "
@@ -54015,19 +54222,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2427
+#: ../src/guestfs.pod:2431
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: =head2
-#: ../src/guestfs.pod:2430
+#: ../src/guestfs.pod:2434
msgid "EXAMPLE: CAPTURING LOG MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2432
+#: ../src/guestfs.pod:2436
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 "
@@ -54035,7 +54242,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2436
+#: ../src/guestfs.pod:2440
msgid ""
"Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, "
"C<GUESTFS_EVENT_APPLIANCE> and C<GUESTFS_EVENT_TRACE>. (Note that error "
@@ -54043,14 +54250,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2441
+#: ../src/guestfs.pod:2445
msgid ""
"Programs have to set up a callback to capture the classes of events of "
"interest:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2444
+#: ../src/guestfs.pod:2448
#, no-wrap
msgid ""
" int eh =\n"
@@ -54066,14 +54273,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2454
+#: ../src/guestfs.pod:2458
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:2457
+#: ../src/guestfs.pod:2461
#, no-wrap
msgid ""
" static void\n"
@@ -54094,12 +54301,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2472
+#: ../src/guestfs.pod:2476
msgid "LIBVIRT AUTHENTICATION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2474
+#: ../src/guestfs.pod:2478
msgid ""
"Some libguestfs API calls can open libvirt connections. Currently the only "
"ones are L</guestfs_add_domain>; and L</guestfs_launch> if the libvirt "
@@ -54111,14 +54318,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2482
+#: ../src/guestfs.pod:2486
msgid ""
"You may provide libvirt authentication data by registering a callback for "
"events of type C<GUESTFS_EVENT_LIBVIRT_AUTH>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2485
+#: ../src/guestfs.pod:2489
msgid ""
"If no such event is registered, then libguestfs uses a libvirt function that "
"provides command-line prompts (C<virConnectAuthPtrDefault>). This is only "
@@ -54126,7 +54333,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2490
+#: ../src/guestfs.pod:2494
msgid ""
"To provide authentication, first call "
"L</guestfs_set_libvirt_supported_credentials> with the list of credentials "
@@ -54136,7 +54343,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2497
+#: ../src/guestfs.pod:2501
msgid ""
"In the event handler, call L</guestfs_get_libvirt_requested_credentials> to "
"get a list of the credentials that libvirt is asking for. You then need to "
@@ -54149,19 +54356,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2508
+#: ../src/guestfs.pod:2512
msgid "The example program below should make this clearer."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2510
+#: ../src/guestfs.pod:2514
msgid ""
"There is also a more substantial working example program supplied with the "
"libguestfs sources, called C<libvirt_auth.c>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2513
+#: ../src/guestfs.pod:2517
#, no-wrap
msgid ""
" main ()\n"
@@ -54173,7 +54380,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2519
+#: ../src/guestfs.pod:2523
#, no-wrap
msgid ""
" g = guestfs_create ();\n"
@@ -54182,7 +54389,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2522
+#: ../src/guestfs.pod:2526
#, no-wrap
msgid ""
" /* Tell libvirt what credentials the program supports. */\n"
@@ -54193,7 +54400,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2527
+#: ../src/guestfs.pod:2531
#, no-wrap
msgid ""
" /* Set up the event handler. */\n"
@@ -54206,7 +54413,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2534
+#: ../src/guestfs.pod:2538
#, no-wrap
msgid ""
" /* An example of a call that may ask for credentials. */\n"
@@ -54220,7 +54427,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2542
+#: ../src/guestfs.pod:2546
#, no-wrap
msgid ""
" exit (EXIT_SUCCESS);\n"
@@ -54229,7 +54436,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2545
+#: ../src/guestfs.pod:2549
#, no-wrap
msgid ""
" static void\n"
@@ -54251,7 +54458,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2561
+#: ../src/guestfs.pod:2565
#, no-wrap
msgid ""
" // buf will be the libvirt URI. buf_len may be ignored.\n"
@@ -54261,7 +54468,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2565
+#: ../src/guestfs.pod:2569
#, no-wrap
msgid ""
" // Ask libguestfs what credentials libvirt is demanding.\n"
@@ -54272,7 +54479,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2570
+#: ../src/guestfs.pod:2574
#, no-wrap
msgid ""
" // Now ask the user for answers.\n"
@@ -54290,7 +54497,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2582
+#: ../src/guestfs.pod:2586
#, no-wrap
msgid ""
" // Some code here to ask for the credential.\n"
@@ -54300,7 +54507,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2586
+#: ../src/guestfs.pod:2590
#, no-wrap
msgid ""
" r = guestfs_set_libvirt_requested_credential (g, i,\n"
@@ -54312,7 +54519,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2592
+#: ../src/guestfs.pod:2596
#, no-wrap
msgid ""
" free (creds[i]);\n"
@@ -54321,7 +54528,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2595
+#: ../src/guestfs.pod:2599
#, no-wrap
msgid ""
" free (creds);\n"
@@ -54330,12 +54537,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2598
+#: ../src/guestfs.pod:2602
msgid "CANCELLING LONG TRANSFERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2600
+#: ../src/guestfs.pod:2604
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 "
@@ -54344,12 +54551,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2605
+#: ../src/guestfs.pod:2609
msgid "guestfs_user_cancel"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2607
+#: ../src/guestfs.pod:2611
#, no-wrap
msgid ""
" void guestfs_user_cancel (guestfs_h *g);\n"
@@ -54357,12 +54564,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2609
+#: ../src/guestfs.pod:2613
msgid "C<guestfs_user_cancel> cancels the current upload or download operation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2612
+#: ../src/guestfs.pod:2616
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 "
@@ -54370,7 +54577,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2616
+#: ../src/guestfs.pod:2620
msgid ""
"The transfer that was in progress (if there is one) will stop shortly "
"afterwards, and will return an error. The errno (see "
@@ -54379,7 +54586,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2622
+#: ../src/guestfs.pod:2626
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 "
@@ -54387,12 +54594,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2626
+#: ../src/guestfs.pod:2630
msgid "There are two common places that you might call C<guestfs_user_cancel>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2628
+#: ../src/guestfs.pod:2632
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 "
@@ -54401,19 +54608,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2633
+#: ../src/guestfs.pod:2637
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:2637
+#: ../src/guestfs.pod:2641
msgid "PRIVATE DATA AREA"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2639
+#: ../src/guestfs.pod:2643
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 "
@@ -54421,12 +54628,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2644
+#: ../src/guestfs.pod:2648
msgid "To attach a named piece of data, use the following call:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2646
+#: ../src/guestfs.pod:2650
#, no-wrap
msgid ""
" void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
@@ -54434,7 +54641,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2648
+#: ../src/guestfs.pod:2652
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 "
@@ -54442,7 +54649,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2652
+#: ../src/guestfs.pod:2656
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 "
@@ -54452,12 +54659,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2658
+#: ../src/guestfs.pod:2662
msgid "To retrieve the pointer, use:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2660
+#: ../src/guestfs.pod:2664
#, no-wrap
msgid ""
" void *guestfs_get_private (guestfs_h *g, const char *key);\n"
@@ -54465,7 +54672,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2662
+#: ../src/guestfs.pod:2666
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 "
@@ -54473,7 +54680,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2666
+#: ../src/guestfs.pod:2670
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 "
@@ -54484,12 +54691,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2673
+#: ../src/guestfs.pod:2677
msgid "To walk over all entries, use these two functions:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2675
+#: ../src/guestfs.pod:2679
#, no-wrap
msgid ""
" void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n"
@@ -54497,7 +54704,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2677
+#: ../src/guestfs.pod:2681
#, no-wrap
msgid ""
" void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n"
@@ -54505,7 +54712,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2679
+#: ../src/guestfs.pod:2683
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 "
@@ -54515,7 +54722,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2685
+#: ../src/guestfs.pod:2689
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 "
@@ -54523,17 +54730,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2689
+#: ../src/guestfs.pod:2693
msgid "Notes about walking over entries:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2695
+#: ../src/guestfs.pod:2699
msgid "You must not call C<guestfs_set_private> while walking over the entries."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2700
+#: ../src/guestfs.pod:2704
msgid ""
"The handle maintains an internal iterator which is reset when you call "
"C<guestfs_first_private>. This internal iterator is invalidated when you "
@@ -54541,12 +54748,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2706
+#: ../src/guestfs.pod:2710
msgid "If you have set the data pointer associated with a key to C<NULL>, ie:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2708
+#: ../src/guestfs.pod:2712
#, no-wrap
msgid ""
" guestfs_set_private (g, key, NULL);\n"
@@ -54554,26 +54761,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2710
+#: ../src/guestfs.pod:2714
msgid "then that C<key> is not returned when walking."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2714
+#: ../src/guestfs.pod:2718
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:2720
+#: ../src/guestfs.pod:2724
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:2723
+#: ../src/guestfs.pod:2727
#, no-wrap
msgid ""
" const char *key;\n"
@@ -54587,14 +54794,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2731
+#: ../src/guestfs.pod:2735
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:2734
+#: ../src/guestfs.pod:2738
#, no-wrap
msgid ""
" const char *key;\n"
@@ -54609,7 +54816,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2743
+#: ../src/guestfs.pod:2747
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 "
@@ -54617,7 +54824,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2747
+#: ../src/guestfs.pod:2751
#, no-wrap
msgid ""
" const char *key;\n"
@@ -54639,7 +54846,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2763
+#: ../src/guestfs.pod:2767
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 "
@@ -54648,12 +54855,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2768
+#: ../src/guestfs.pod:2772
msgid "SYSTEMTAP"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2770
+#: ../src/guestfs.pod:2774
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 "
@@ -54661,12 +54868,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2774
+#: ../src/guestfs.pod:2778
msgid "You can list all the static markers by doing:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2776
+#: ../src/guestfs.pod:2780
#, no-wrap
msgid ""
" stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n"
@@ -54675,26 +54882,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2779
+#: ../src/guestfs.pod:2783
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:2782
+#: ../src/guestfs.pod:2786
msgid "SYSTEMTAP SCRIPT EXAMPLE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2784
+#: ../src/guestfs.pod:2788
msgid ""
"This script contains examples of displaying both the static markers and some "
"ordinary C entry points:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2811
+#: ../src/guestfs.pod:2815
#, no-wrap
msgid ""
" /* Display all calls to guestfs_mkfs* functions. */\n"
@@ -54707,7 +54914,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2818
+#: ../src/guestfs.pod:2822
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 "
@@ -54716,7 +54923,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2823
+#: ../src/guestfs.pod:2827
#, no-wrap
msgid ""
" # stap /tmp/test.stap\n"
@@ -54725,17 +54932,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2826
+#: ../src/guestfs.pod:2830
msgid "In another terminal, run a guestfish command such as this:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2830
+#: ../src/guestfs.pod:2834
msgid "In the first terminal, stap trace output similar to this is shown:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2832
+#: ../src/guestfs.pod:2836
#, no-wrap
msgid ""
" 1318248056692655 (+0):\tlaunch_start\n"
@@ -54749,19 +54956,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2841
+#: ../src/guestfs.pod:2845
msgid ""
"<!-- old anchor for the next section --> <a "
"name=\"state_machine_and_low_level_event_api\"/>"
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2846
+#: ../src/guestfs.pod:2850
msgid "ARCHITECTURE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2848
+#: ../src/guestfs.pod:2852
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 "
@@ -54769,7 +54976,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2852
+#: ../src/guestfs.pod:2856
#, no-wrap
msgid ""
" ___________________\n"
@@ -54795,14 +55002,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2872
+#: ../src/guestfs.pod:2876
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:2875
+#: ../src/guestfs.pod:2879
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 "
@@ -54814,7 +55021,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2884
+#: ../src/guestfs.pod:2888
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 "
@@ -54825,17 +55032,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2891
+#: ../src/guestfs.pod:2895
msgid "STATE MACHINE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2893
+#: ../src/guestfs.pod:2897
msgid "libguestfs uses a state machine to model the child process:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:2895
+#: ../src/guestfs.pod:2899
#, no-wrap
msgid ""
" |\n"
@@ -54863,7 +55070,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2917
+#: ../src/guestfs.pod:2921
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), "
@@ -54872,7 +55079,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2922
+#: ../src/guestfs.pod:2926
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 "
@@ -54880,14 +55087,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2926
+#: ../src/guestfs.pod:2930
msgid ""
"Configuration commands for qemu such as L</guestfs_set_path> can only be "
"issued when in the CONFIG state."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2929
+#: ../src/guestfs.pod:2933
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 "
@@ -54896,7 +55103,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2935
+#: ../src/guestfs.pod:2939
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. "
@@ -54905,7 +55112,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2940
+#: ../src/guestfs.pod:2944
msgid ""
"Finally, the child process sends asynchronous messages back to the main "
"program, such as kernel log messages. You can register a callback to "
@@ -54913,17 +55120,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:2944
+#: ../src/guestfs.pod:2948
msgid "INTERNALS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:2946
+#: ../src/guestfs.pod:2950
msgid "APPLIANCE BOOT PROCESS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2948
+#: ../src/guestfs.pod:2952
msgid ""
"This process has evolved and continues to evolve. The description here "
"corresponds only to the current version of libguestfs and is provided for "
@@ -54931,55 +55138,55 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2952
+#: ../src/guestfs.pod:2956
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:2957
+#: ../src/guestfs.pod:2961
msgid "Create the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2959
+#: ../src/guestfs.pod:2963
msgid ""
"C<febootstrap-supermin-helper> is invoked to create the kernel, a small "
"initrd and the appliance."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2962
+#: ../src/guestfs.pod:2966
msgid ""
"The appliance is cached in C</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another "
"directory if C<LIBGUESTFS_CACHEDIR> or C<TMPDIR> are set)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2965
+#: ../src/guestfs.pod:2969
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:2969
+#: ../src/guestfs.pod:2973
msgid "Start qemu and boot the kernel"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2971
+#: ../src/guestfs.pod:2975
msgid "qemu is invoked to boot the kernel."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2973
+#: ../src/guestfs.pod:2977
msgid "Run the initrd"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2975
+#: ../src/guestfs.pod:2979
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 "
@@ -54987,21 +55194,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2979
+#: ../src/guestfs.pod:2983
msgid ""
"The initrd is a cpio archive called "
"C</var/tmp/.guestfs-E<lt>UIDE<gt>/initrd>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2982
+#: ../src/guestfs.pod:2986
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:2985
+#: ../src/guestfs.pod:2989
#, no-wrap
msgid ""
" febootstrap: ext2 mini initrd starting up\n"
@@ -55012,12 +55219,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:2990
+#: ../src/guestfs.pod:2994
msgid "Find and mount the appliance device"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2992
+#: ../src/guestfs.pod:2996
msgid ""
"The appliance is a sparse file containing an ext2 filesystem which contains "
"a familiar (although reduced in size) Linux operating system. It would "
@@ -55025,33 +55232,33 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:2996
+#: ../src/guestfs.pod:3000
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:2999
+#: ../src/guestfs.pod:3003
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:3002
+#: ../src/guestfs.pod:3006
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:3006
+#: ../src/guestfs.pod:3010
msgid "If this works successfully you will see messages such as:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3008
+#: ../src/guestfs.pod:3012
#, no-wrap
msgid ""
" febootstrap: picked /sys/block/vdb/dev as root device\n"
@@ -55063,19 +55270,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3014
+#: ../src/guestfs.pod:3018
msgid ""
"Note that C<Starting /init script ...> indicates that the appliance's init "
"script is now running."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3017
+#: ../src/guestfs.pod:3021
msgid "Initialize the appliance"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3019
+#: ../src/guestfs.pod:3023
msgid ""
"The appliance itself now initializes itself. This involves starting certain "
"processes like C<udev>, possibly printing some debug information, and "
@@ -55083,19 +55290,19 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3023
+#: ../src/guestfs.pod:3027
msgid "The daemon"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3025
+#: ../src/guestfs.pod:3029
msgid ""
"Finally the daemon (C<guestfsd>) runs inside the appliance. If it runs you "
"should see:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3028
+#: ../src/guestfs.pod:3032
#, no-wrap
msgid ""
" verbose daemon enabled\n"
@@ -55103,14 +55310,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3030
+#: ../src/guestfs.pod:3034
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:3033
+#: ../src/guestfs.pod:3037
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 "
@@ -55118,19 +55325,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3039
+#: ../src/guestfs.pod:3043
msgid "COMMUNICATION PROTOCOL"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3041
+#: ../src/guestfs.pod:3045
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:3044
+#: ../src/guestfs.pod:3048
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 "
@@ -55138,14 +55345,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3048
+#: ../src/guestfs.pod:3052
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:3051
+#: ../src/guestfs.pod:3055
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 "
@@ -55155,17 +55362,17 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:3058
+#: ../src/guestfs.pod:3062
msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3060
+#: ../src/guestfs.pod:3064
msgid "For ordinary functions, the request message is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3062
+#: ../src/guestfs.pod:3066
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -55176,7 +55383,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3067
+#: ../src/guestfs.pod:3071
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 "
@@ -55185,21 +55392,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3073
+#: ../src/guestfs.pod:3077
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:3076
+#: ../src/guestfs.pod:3080
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:3080
+#: ../src/guestfs.pod:3084
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 "
@@ -55211,12 +55418,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3088
+#: ../src/guestfs.pod:3092
msgid "The reply message for ordinary functions is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3090
+#: ../src/guestfs.pod:3094
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -55227,26 +55434,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3095
+#: ../src/guestfs.pod:3099
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:3098
+#: ../src/guestfs.pod:3102
msgid "As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3101
+#: ../src/guestfs.pod:3105
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:3104
+#: ../src/guestfs.pod:3108
#, no-wrap
msgid ""
" total length (header + error,\n"
@@ -55257,19 +55464,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3109
+#: ../src/guestfs.pod:3113
msgid ""
"The C<guestfs_message_error> structure contains the error message as a "
"string."
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:3112
+#: ../src/guestfs.pod:3116
msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3114
+#: ../src/guestfs.pod:3118
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 "
@@ -55277,7 +55484,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3118
+#: ../src/guestfs.pod:3122
#, no-wrap
msgid ""
" total length (header + arguments,\n"
@@ -55291,12 +55498,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3126
+#: ../src/guestfs.pod:3130
msgid "The \"sequence of chunks\" is:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3128
+#: ../src/guestfs.pod:3132
#, no-wrap
msgid ""
" length of chunk (not including length word itself)\n"
@@ -55310,7 +55517,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3136
+#: ../src/guestfs.pod:3140
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 "
@@ -55318,7 +55525,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3140
+#: ../src/guestfs.pod:3144
msgid ""
"At time of writing there are no functions that have more than one FileIn "
"parameter. However this is (theoretically) supported, by sending the "
@@ -55327,7 +55534,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3145
+#: ../src/guestfs.pod:3149
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 "
@@ -55336,7 +55543,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3151
+#: ../src/guestfs.pod:3155
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 "
@@ -55348,7 +55555,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3160
+#: ../src/guestfs.pod:3164
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 "
@@ -55358,19 +55565,19 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:3166
+#: ../src/guestfs.pod:3170
msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3168
+#: ../src/guestfs.pod:3172
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:3171
+#: ../src/guestfs.pod:3175
#, no-wrap
msgid ""
" total length (header + ret,\n"
@@ -55384,12 +55591,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:3179
+#: ../src/guestfs.pod:3183
msgid "INITIAL MESSAGE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3181
+#: ../src/guestfs.pod:3185
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 "
@@ -55397,12 +55604,12 @@ msgid ""
msgstr ""
#. type: =head3
-#: ../src/guestfs.pod:3185
+#: ../src/guestfs.pod:3189
msgid "PROGRESS NOTIFICATION MESSAGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3187
+#: ../src/guestfs.pod:3191
msgid ""
"The daemon may send progress notification messages at any time. These are "
"distinguished by the normal length word being replaced by "
@@ -55410,7 +55617,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3191
+#: ../src/guestfs.pod:3195
msgid ""
"The library turns them into progress callbacks (see "
"L</GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards "
@@ -55418,7 +55625,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3195
+#: ../src/guestfs.pod:3199
msgid ""
"The daemon self-limits the frequency of progress messages it sends (see "
"C<daemon/proto.c:notify_progress>). Not all calls generate progress "
@@ -55426,12 +55633,12 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:3199
+#: ../src/guestfs.pod:3203
msgid "LIBGUESTFS VERSION NUMBERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3201
+#: ../src/guestfs.pod:3205
msgid ""
"Since April 2010, libguestfs has started to make separate development and "
"stable releases, along with corresponding branches in our git repository. "
@@ -55439,7 +55646,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3206
+#: ../src/guestfs.pod:3210
#, no-wrap
msgid ""
" even numbers for stable: 1.2.x, 1.4.x, ...\n"
@@ -55456,12 +55663,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3217
+#: ../src/guestfs.pod:3221
msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3219
+#: ../src/guestfs.pod:3223
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 "
@@ -55471,26 +55678,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3225
+#: ../src/guestfs.pod:3229
msgid "Our criteria for backporting changes are:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3231
+#: ../src/guestfs.pod:3235
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:3237
+#: ../src/guestfs.pod:3241
msgid ""
"Bug fixes which are not controversial, fix obvious problems, and have been "
"well tested are backported."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3242
+#: ../src/guestfs.pod:3246
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 "
@@ -55498,7 +55705,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3248
+#: ../src/guestfs.pod:3252
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 "
@@ -55506,7 +55713,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3254
+#: ../src/guestfs.pod:3258
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 "
@@ -55517,29 +55724,29 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:3262
+#: ../src/guestfs.pod:3266
msgid "EXTENDING LIBGUESTFS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3264
+#: ../src/guestfs.pod:3268
msgid "This section is for hackers who want to extend libguestfs itself."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3266
+#: ../src/guestfs.pod:3270
msgid "OVERVIEW OF THE SOURCE CODE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3268
+#: ../src/guestfs.pod:3272
msgid ""
"Libguestfs source is located in the github repository "
"L<https://github.com/libguestfs/libguestfs>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3271
+#: ../src/guestfs.pod:3275
msgid ""
"Large amounts of boilerplate code in libguestfs (RPC, bindings, "
"documentation) are generated. This means that many source files will appear "
@@ -55549,7 +55756,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3277
+#: ../src/guestfs.pod:3281
msgid ""
"Libguestfs uses an autotools-based build system, with the main files being "
"C<configure.ac> and C<Makefile.am>. The C<generator> subdirectory contains "
@@ -55561,7 +55768,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3286
+#: ../src/guestfs.pod:3290
msgid ""
"Apart from the fact that all API entry points go via some generated code, "
"the library is straightforward. (In fact, even the generated code is "
@@ -55572,17 +55779,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3294
+#: ../src/guestfs.pod:3298
msgid "To build from source, first read the C<README> file."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3296
+#: ../src/guestfs.pod:3300
msgid "C<local*> FILES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3298
+#: ../src/guestfs.pod:3302
msgid ""
"Files in the top source directory that begin with the prefix C<local*> are "
"ignored by git. These files can contain local configuration or scripts that "
@@ -55590,7 +55797,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3302
+#: ../src/guestfs.pod:3306
msgid ""
"By convention, I have a file called C<localconfigure> which is a simple "
"wrapper around C<autogen.sh> containing local configure customizations that "
@@ -55598,7 +55805,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3306
+#: ../src/guestfs.pod:3310
#, no-wrap
msgid ""
" . localenv\n"
@@ -55612,12 +55819,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3314
+#: ../src/guestfs.pod:3318
msgid "So I can use this to build libguestfs:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3316
+#: ../src/guestfs.pod:3320
#, no-wrap
msgid ""
" ./localconfigure && make\n"
@@ -55625,7 +55832,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3318
+#: ../src/guestfs.pod:3322
msgid ""
"If there is a file in the top build directory called C<localenv>, then it "
"will be sourced by C<make>. This file can contain any local environment "
@@ -55633,7 +55840,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3322
+#: ../src/guestfs.pod:3326
#, no-wrap
msgid ""
" # Use an alternate python binary.\n"
@@ -55644,7 +55851,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3327
+#: ../src/guestfs.pod:3331
msgid ""
"Note that C<localenv> is included by the top Makefile (so it's a Makefile "
"fragment). But if it is also sourced by your C<localconfigure> script then "
@@ -55652,31 +55859,31 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3331
+#: ../src/guestfs.pod:3335
msgid "ADDING A NEW API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3333
+#: ../src/guestfs.pod:3337
msgid ""
"Because large amounts of boilerplate code in libguestfs are generated, this "
"makes it easy to extend the libguestfs API."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3336
+#: ../src/guestfs.pod:3340
msgid "To add a new API action there are two changes:"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3342
+#: ../src/guestfs.pod:3346
msgid ""
"You need to add a description of the call (name, parameters, return type, "
"tests, documentation) to C<generator/actions.ml>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3345
+#: ../src/guestfs.pod:3349
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 "
@@ -55687,7 +55894,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3353
+#: ../src/guestfs.pod:3357
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 "
@@ -55697,7 +55904,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3359
+#: ../src/guestfs.pod:3363
msgid ""
"For library-only actions of the second type, add to the "
"C<non_daemon_functions> list. Since these functions are serviced by the "
@@ -55707,36 +55914,36 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3367
+#: ../src/guestfs.pod:3371
msgid "Implement the action (in C):"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3369
+#: ../src/guestfs.pod:3373
msgid ""
"For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the "
"C<daemon/> directory."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3372
+#: ../src/guestfs.pod:3376
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:3375
+#: ../src/guestfs.pod:3379
msgid "In either case, use another function as an example of what to do."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3379
+#: ../src/guestfs.pod:3383
msgid "After making these changes, use C<make> to compile."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3381
+#: ../src/guestfs.pod:3385
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 "
@@ -55744,12 +55951,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3385
+#: ../src/guestfs.pod:3389
msgid "ADDING TESTS FOR AN API ACTION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3387
+#: ../src/guestfs.pod:3391
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 "
@@ -55759,61 +55966,61 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3393
+#: ../src/guestfs.pod:3397
msgid ""
"The following describes the test environment used when you add an API test "
"in C<actions.ml>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3396
+#: ../src/guestfs.pod:3400
msgid "The test environment has 4 block devices:"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3400
+#: ../src/guestfs.pod:3404
msgid "C</dev/sda> 500MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3402
+#: ../src/guestfs.pod:3406
msgid "General block device for testing."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3404
+#: ../src/guestfs.pod:3408
msgid "C</dev/sdb> 50MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3406
+#: ../src/guestfs.pod:3410
msgid ""
"C</dev/sdb1> is an ext2 filesystem used for testing filesystem write "
"operations."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3409
+#: ../src/guestfs.pod:3413
msgid "C</dev/sdc> 10MB"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3411
+#: ../src/guestfs.pod:3415
msgid "Used in a few tests where two block devices are needed."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3413
+#: ../src/guestfs.pod:3417
msgid "C</dev/sdd>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3415
+#: ../src/guestfs.pod:3419
msgid "ISO with fixed content (see C<images/test.iso>)."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3419
+#: ../src/guestfs.pod:3423
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 "
@@ -55821,7 +56028,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3423
+#: ../src/guestfs.pod:3427
msgid ""
"Each test starts with an initial scenario, selected using one of the "
"C<Init*> expressions, described in C<generator/types.ml>. These initialize "
@@ -55831,7 +56038,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3429
+#: ../src/guestfs.pod:3433
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 "
@@ -55841,14 +56048,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3435
+#: ../src/guestfs.pod:3439
msgid ""
"In addition, packagers can skip individual tests by setting environment "
"variables before running C<make check>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3438
+#: ../src/guestfs.pod:3442
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>_<NUM>=1\n"
@@ -55856,12 +56063,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3440
+#: ../src/guestfs.pod:3444
msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3444
+#: ../src/guestfs.pod:3448
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>=1\n"
@@ -55869,17 +56076,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3446
+#: ../src/guestfs.pod:3450
msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3448
+#: ../src/guestfs.pod:3452
msgid "Packagers can run only certain tests by setting for example:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3450
+#: ../src/guestfs.pod:3454
#, no-wrap
msgid ""
" TEST_ONLY=\"vfs_type zerofree\"\n"
@@ -55887,29 +56094,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3452
+#: ../src/guestfs.pod:3456
msgid ""
"See C<tests/c-api/tests.c> for more details of how these environment "
"variables work."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3455
+#: ../src/guestfs.pod:3459
msgid "DEBUGGING NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3457
+#: ../src/guestfs.pod:3461
msgid "Test new actions work before submitting them."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3459
+#: ../src/guestfs.pod:3463
msgid "You can use guestfish to try out new commands."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3461
+#: ../src/guestfs.pod:3465
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 "
@@ -55917,12 +56124,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3465
+#: ../src/guestfs.pod:3469
msgid "FORMATTING CODE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3467
+#: ../src/guestfs.pod:3471
msgid ""
"Our C source code generally adheres to some basic code-formatting "
"conventions. The existing code base is not totally consistent on this "
@@ -55932,14 +56139,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3473
+#: ../src/guestfs.pod:3477
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:3476
+#: ../src/guestfs.pod:3480
#, no-wrap
msgid ""
" ;;; In libguestfs, indent with spaces everywhere (not TABs).\n"
@@ -55955,7 +56162,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3486
+#: ../src/guestfs.pod:3490
#, no-wrap
msgid ""
" ;;; When editing C sources in libguestfs, use this style.\n"
@@ -55973,17 +56180,17 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3498
+#: ../src/guestfs.pod:3502
msgid "TESTING YOUR CHANGES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3500
+#: ../src/guestfs.pod:3504
msgid "Enable warnings when compiling (and fix any problems this finds):"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3503
+#: ../src/guestfs.pod:3507
#, no-wrap
msgid ""
" ./configure --enable-gcc-warnings\n"
@@ -55991,59 +56198,59 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3505
+#: ../src/guestfs.pod:3509
msgid "Useful targets are:"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3509
+#: ../src/guestfs.pod:3513
msgid "C<make check>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3511
+#: ../src/guestfs.pod:3515
msgid "Runs the regular test suite."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3513
+#: ../src/guestfs.pod:3517
msgid "C<make syntax-check -j1 -k>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3515
+#: ../src/guestfs.pod:3519
msgid "Checks for various syntax and style problems in the code."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3517
+#: ../src/guestfs.pod:3521
msgid "C<make check-valgrind>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3519
+#: ../src/guestfs.pod:3523
msgid "Runs a subset of the test suite under valgrind."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3521
+#: ../src/guestfs.pod:3525
msgid "C<make check-valgrind-local-guests>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3523
+#: ../src/guestfs.pod:3527
msgid ""
"Runs a subset of the test suite under valgrind using locally installed "
"libvirt guests (read-only)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3526
+#: ../src/guestfs.pod:3530
msgid "C<make check-with-appliance>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3528
+#: ../src/guestfs.pod:3532
msgid ""
"Runs all tests using default appliance back-end. This only has any effect "
"if a non-default attach-method was selected using C<./configure "
@@ -56051,12 +56258,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3532
+#: ../src/guestfs.pod:3536
msgid "C<make check-with-upstream-qemu>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3534
+#: ../src/guestfs.pod:3538
msgid ""
"Runs all tests using a local qemu binary. It looks for the qemu binary in "
"QEMUDIR (defaults to C<$HOME/d/qemu>), but you can set this to another "
@@ -56064,7 +56271,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3538
+#: ../src/guestfs.pod:3542
#, no-wrap
msgid ""
" make check-with-upstream-qemu QEMUDIR=/usr/src/qemu\n"
@@ -56072,12 +56279,12 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3540
+#: ../src/guestfs.pod:3544
msgid "C<make check-with-upstream-libvirt>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3542
+#: ../src/guestfs.pod:3546
msgid ""
"Runs all tests using a local libvirt. This only has any effect if the "
"libvirt attach-method was selected using C<./configure "
@@ -56085,14 +56292,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3546
+#: ../src/guestfs.pod:3550
msgid ""
"It looks for libvirt in LIBVIRTDIR (defaults to C<$HOME/d/libvirt>), but you "
"can set this to another directory on the command line, eg:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3549
+#: ../src/guestfs.pod:3553
#, no-wrap
msgid ""
" make check-with-upstream-libvirt LIBVIRTDIR=/usr/src/libvirt\n"
@@ -56100,63 +56307,63 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3551
+#: ../src/guestfs.pod:3555
msgid "C<make check-slow>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3553
+#: ../src/guestfs.pod:3557
msgid "Runs some slow/long-running tests which are not run by default."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3555
+#: ../src/guestfs.pod:3559
msgid "C<make extra-tests>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3557
+#: ../src/guestfs.pod:3561
msgid "Equivalent to running all C<make check-*> rules (but not C<make check>)."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3562
+#: ../src/guestfs.pod:3566
msgid "DAEMON CUSTOM PRINTF FORMATTERS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3564
+#: ../src/guestfs.pod:3568
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:3569
+#: ../src/guestfs.pod:3573
msgid "%Q"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3571
+#: ../src/guestfs.pod:3575
msgid ""
"Simple shell quoted string. Any spaces or other shell characters are "
"escaped for you."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3574
+#: ../src/guestfs.pod:3578
msgid "%R"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3576
+#: ../src/guestfs.pod:3580
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:3583
+#: ../src/guestfs.pod:3587
#, no-wrap
msgid ""
" asprintf (&cmd, \"cat %R\", path);\n"
@@ -56164,12 +56371,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3585
+#: ../src/guestfs.pod:3589
msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3587
+#: ../src/guestfs.pod:3591
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 "
@@ -56178,12 +56385,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3593
+#: ../src/guestfs.pod:3597
msgid "SUBMITTING YOUR NEW API ACTIONS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3595
+#: ../src/guestfs.pod:3599
msgid ""
"Submit patches to the mailing list: "
"L<http://www.redhat.com/mailman/listinfo/libguestfs> and CC to "
@@ -56191,17 +56398,17 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3599
+#: ../src/guestfs.pod:3603
msgid "INTERNATIONALIZATION (I18N) SUPPORT"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3601
+#: ../src/guestfs.pod:3605
msgid "We support i18n (gettext anyhow) in the library."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3603
+#: ../src/guestfs.pod:3607
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 "
@@ -56210,113 +56417,113 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3609
+#: ../src/guestfs.pod:3613
msgid ""
"Debugging messages are never translated, since they are intended for the "
"programmers."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3612
+#: ../src/guestfs.pod:3616
msgid "SOURCE CODE SUBDIRECTORIES"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3616
+#: ../src/guestfs.pod:3620
msgid "C<align>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3618
+#: ../src/guestfs.pod:3622
msgid "L<virt-alignment-scan(1)> command and documentation."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3622
+#: ../src/guestfs.pod:3626
msgid "The libguestfs appliance, build scripts and so on."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3624
+#: ../src/guestfs.pod:3628
msgid "C<build-aux>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3626
+#: ../src/guestfs.pod:3630
msgid "Various build scripts used by autotools."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3628
+#: ../src/guestfs.pod:3632
msgid "C<cat>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3630
+#: ../src/guestfs.pod:3634
msgid ""
"The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and "
"documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3633
+#: ../src/guestfs.pod:3637
msgid "C<contrib>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3635
+#: ../src/guestfs.pod:3639
msgid "Outside contributions, experimental parts."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3637
+#: ../src/guestfs.pod:3641
msgid "C<daemon>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3639
+#: ../src/guestfs.pod:3643
msgid ""
"The daemon that runs inside the libguestfs appliance and carries out "
"actions."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3642
+#: ../src/guestfs.pod:3646
msgid "C<df>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3644
+#: ../src/guestfs.pod:3648
msgid "L<virt-df(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3646
+#: ../src/guestfs.pod:3650
msgid "C<edit>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3648
+#: ../src/guestfs.pod:3652
msgid "L<virt-edit(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3650
+#: ../src/guestfs.pod:3654
msgid "C<examples>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3652
+#: ../src/guestfs.pod:3656
msgid "C API example code."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3654
+#: ../src/guestfs.pod:3658
msgid "C<fish>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3656
+#: ../src/guestfs.pod:3660
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)>, "
@@ -56324,101 +56531,101 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3662
+#: ../src/guestfs.pod:3666
msgid "L<virt-format(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3664
+#: ../src/guestfs.pod:3668
msgid "C<fuse>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3666
+#: ../src/guestfs.pod:3670
msgid "L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3668
+#: ../src/guestfs.pod:3672
msgid "C<generator>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3670
+#: ../src/guestfs.pod:3674
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:3673
+#: ../src/guestfs.pod:3677
msgid "C<gnulib>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3675
+#: ../src/guestfs.pod:3679
msgid ""
"Gnulib is used as a portability library. A copy of gnulib is included under "
"here."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3678
+#: ../src/guestfs.pod:3682
msgid "C<html>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3680
+#: ../src/guestfs.pod:3684
msgid "Generated HTML manual pages."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3682
+#: ../src/guestfs.pod:3686
msgid "C<inspector>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3684
+#: ../src/guestfs.pod:3688
msgid "L<virt-inspector(1)>, the virtual machine image inspector."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3686
+#: ../src/guestfs.pod:3690
msgid "C<logo>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3688
+#: ../src/guestfs.pod:3692
msgid "Logo used on the website. The fish is called Arthur by the way."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3690
+#: ../src/guestfs.pod:3694
msgid "C<m4>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3692
+#: ../src/guestfs.pod:3696
msgid "M4 macros used by autoconf."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3694
+#: ../src/guestfs.pod:3698
msgid "C<po>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3696
+#: ../src/guestfs.pod:3700
msgid "Translations of simple gettext strings."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3698
+#: ../src/guestfs.pod:3702
msgid "C<po-docs>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3700
+#: ../src/guestfs.pod:3704
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 "
@@ -56426,84 +56633,84 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3704
+#: ../src/guestfs.pod:3708
msgid "C<rescue>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3706
+#: ../src/guestfs.pod:3710
msgid "L<virt-rescue(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3708
+#: ../src/guestfs.pod:3712
msgid "C<resize>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3710
+#: ../src/guestfs.pod:3714
msgid "L<virt-resize(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3712
+#: ../src/guestfs.pod:3716
msgid "C<sparsify>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3714
+#: ../src/guestfs.pod:3718
msgid "L<virt-sparsify(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3716
+#: ../src/guestfs.pod:3720
msgid "C<src>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3718
+#: ../src/guestfs.pod:3722
msgid "Source code to the C library."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3720
+#: ../src/guestfs.pod:3724
msgid "C<sysprep>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3722
+#: ../src/guestfs.pod:3726
msgid "L<virt-sysprep(1)> command and documentation."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3724
+#: ../src/guestfs.pod:3728
msgid "C<tests>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3726
+#: ../src/guestfs.pod:3730
msgid "Tests."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3728
+#: ../src/guestfs.pod:3732
msgid "C<test-tool>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3730
+#: ../src/guestfs.pod:3734
msgid ""
"Test tool for end users to test if their qemu/kernel combination will work "
"with libguestfs."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3733
+#: ../src/guestfs.pod:3737
msgid "C<tmp>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3735
+#: ../src/guestfs.pod:3739
msgid ""
"Used for temporary files when running the tests (instead of C</tmp> etc). "
"The reason is so that you can run multiple parallel tests of libguestfs "
@@ -56512,77 +56719,82 @@ msgid ""
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3740
+#: ../src/guestfs.pod:3744
msgid "C<tools>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3742
+#: ../src/guestfs.pod:3746
msgid "Command line tools written in Perl (L<virt-win-reg(1)> and many others)."
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3744
+#: ../src/guestfs.pod:3748
msgid "C<csharp>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3746
+#: ../src/guestfs.pod:3750
msgid "C<erlang>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3748
+#: ../src/guestfs.pod:3752
msgid "C<gobject>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3750
+#: ../src/guestfs.pod:3754
msgid "C<haskell>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3752
+#: ../src/guestfs.pod:3756
msgid "C<java>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3754
+#: ../src/guestfs.pod:3758
+msgid "C<lua>"
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:3760
msgid "C<ocaml>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3756
+#: ../src/guestfs.pod:3762
msgid "C<php>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3758
+#: ../src/guestfs.pod:3764
msgid "C<perl>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3760
+#: ../src/guestfs.pod:3766
msgid "C<python>"
msgstr ""
#. type: =item
-#: ../src/guestfs.pod:3762
+#: ../src/guestfs.pod:3768
msgid "C<ruby>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3764
+#: ../src/guestfs.pod:3770
msgid "Language bindings."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3768
+#: ../src/guestfs.pod:3774
msgid "MAKING A STABLE RELEASE"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3770
+#: ../src/guestfs.pod:3776
msgid ""
"When we make a stable release, there are several steps documented here. See "
"L</LIBGUESTFS VERSION NUMBERS> for general information about the stable "
@@ -56590,32 +56802,32 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3778
+#: ../src/guestfs.pod:3784
msgid "Check C<make && make check> works on at least Fedora, Debian and Ubuntu."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3783
+#: ../src/guestfs.pod:3789
msgid "Finalize C<guestfs-release-notes.pod>"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3787
+#: ../src/guestfs.pod:3793
msgid "Update ROADMAP."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3791
+#: ../src/guestfs.pod:3797
msgid "Run C<src/api-support/update-from-tarballs.sh>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3795
+#: ../src/guestfs.pod:3801
msgid "Push and pull from Transifex."
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3799
+#: ../src/guestfs.pod:3805
#, no-wrap
msgid ""
" tx push -s\n"
@@ -56623,12 +56835,12 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3801
+#: ../src/guestfs.pod:3807
msgid "to push the latest POT files to Transifex. Then run:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3803
+#: ../src/guestfs.pod:3809
#, no-wrap
msgid ""
" ./tx-pull.sh\n"
@@ -56636,24 +56848,24 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3805
+#: ../src/guestfs.pod:3811
msgid "which is a wrapper to pull the latest translated C<*.po> files."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3809
+#: ../src/guestfs.pod:3815
msgid ""
"Create new stable and development directories under "
"L<http://libguestfs.org/download>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3814
+#: ../src/guestfs.pod:3820
msgid "Create the branch in git:"
msgstr ""
#. type: verbatim
-#: ../src/guestfs.pod:3816
+#: ../src/guestfs.pod:3822
#, no-wrap
msgid ""
" git tag -a 1.XX.0 -m \"Version 1.XX.0 (stable)\"\n"
@@ -56664,17 +56876,17 @@ msgid ""
msgstr ""
#. type: =head1
-#: ../src/guestfs.pod:3823
+#: ../src/guestfs.pod:3829
msgid "LIMITS"
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3825
+#: ../src/guestfs.pod:3831
msgid "PROTOCOL LIMITS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3827
+#: ../src/guestfs.pod:3833
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 "
@@ -56685,7 +56897,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3835
+#: ../src/guestfs.pod:3841
msgid ""
"In libguestfs E<lt> 1.19.32, several calls had to encode either their entire "
"argument list or their entire return value (or sometimes both) in a single "
@@ -56701,7 +56913,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3848
+#: ../src/guestfs.pod:3854
msgid ""
"L</guestfs_cat>, L</guestfs_find>, L</guestfs_read_file>, "
"L</guestfs_read_lines>, L</guestfs_write>, L</guestfs_write_append>, "
@@ -56710,19 +56922,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3853
+#: ../src/guestfs.pod:3859
msgid ""
"See also L</UPLOADING> and L</DOWNLOADING> for further information about "
"copying large amounts of data into or out of a filesystem."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3856
+#: ../src/guestfs.pod:3862
msgid "MAXIMUM NUMBER OF DISKS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3858
+#: ../src/guestfs.pod:3864
msgid ""
"In libguestfs E<ge> 1.19.7, you can query the maximum number of disks that "
"may be added by calling L</guestfs_max_disks>. In earlier versions of "
@@ -56731,14 +56943,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3863
+#: ../src/guestfs.pod:3869
msgid ""
"The rest of this section covers implementation details, which could change "
"in future."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3866
+#: ../src/guestfs.pod:3872
msgid ""
"When using virtio-scsi disks (the default if available in qemu) the current "
"limit is B<255> disks. When using virtio-blk (the old default) the limit is "
@@ -56747,26 +56959,26 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3871
+#: ../src/guestfs.pod:3877
msgid ""
"Virtio-scsi as used by libguestfs is configured to use one target per disk, "
"and 256 targets are available."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3874
+#: ../src/guestfs.pod:3880
msgid ""
"Virtio-blk consumes 1 virtual PCI slot per disk, and PCI is limited to 31 "
"slots, but some of these are used for other purposes."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3877
+#: ../src/guestfs.pod:3883
msgid "One virtual disk is used by libguestfs internally."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3879
+#: ../src/guestfs.pod:3885
msgid ""
"Before libguestfs 1.19.7, disk names had to be a single character "
"(eg. C</dev/sda> through C</dev/sdz>), and since one disk is reserved, that "
@@ -56774,48 +56986,48 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3884
+#: ../src/guestfs.pod:3890
msgid ""
"In libguestfs E<ge> 1.20 it is possible to hot plug disks. See "
"L</HOTPLUGGING>."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3887
+#: ../src/guestfs.pod:3893
msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3889
+#: ../src/guestfs.pod:3895
msgid "Virtio limits the maximum number of partitions per disk to B<15>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3891
+#: ../src/guestfs.pod:3897
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:3894
+#: ../src/guestfs.pod:3900
msgid ""
"If you attach a disk with more than 15 partitions, the extra partitions are "
"ignored by libguestfs."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3897
+#: ../src/guestfs.pod:3903
msgid "MAXIMUM SIZE OF A DISK"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3899
+#: ../src/guestfs.pod:3905
msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3901
+#: ../src/guestfs.pod:3907
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 "
@@ -56823,7 +57035,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3905
+#: ../src/guestfs.pod:3911
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 "
@@ -56833,19 +57045,19 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3911
+#: ../src/guestfs.pod:3917
msgid ""
"For the hugest disk image files, we recommend using XFS on the host for "
"storage."
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3914
+#: ../src/guestfs.pod:3920
msgid "MAXIMUM SIZE OF A PARTITION"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3916
+#: ../src/guestfs.pod:3922
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 "
@@ -56853,7 +57065,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3920
+#: ../src/guestfs.pod:3926
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 "
@@ -56861,12 +57073,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3925
+#: ../src/guestfs.pod:3931
msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3927
+#: ../src/guestfs.pod:3933
msgid ""
"This depends on the filesystem type. libguestfs itself does not impose any "
"known limit. Consult Wikipedia or the filesystem documentation to find out "
@@ -56874,12 +57086,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3931
+#: ../src/guestfs.pod:3937
msgid "MAXIMUM UPLOAD AND DOWNLOAD"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3933
+#: ../src/guestfs.pod:3939
msgid ""
"The API functions L</guestfs_upload>, L</guestfs_download>, "
"L</guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized "
@@ -56887,12 +57099,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: ../src/guestfs.pod:3937
+#: ../src/guestfs.pod:3943
msgid "INSPECTION LIMITS"
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3939
+#: ../src/guestfs.pod:3945
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 "
@@ -56902,54 +57114,54 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3965
+#: ../src/guestfs.pod:3971
msgid ""
"Choose the default way to create the appliance. See "
"L</guestfs_set_attach_method>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3977
+#: ../src/guestfs.pod:3983
msgid "See also L</LIBGUESTFS_TMPDIR>, L</guestfs_set_cachedir>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:3981
+#: ../src/guestfs.pod:3987
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:3993
+#: ../src/guestfs.pod:3999
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:4002
+#: ../src/guestfs.pod:4008
msgid "See also L</QEMU WRAPPERS> above."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:4012
+#: ../src/guestfs.pod:4018
msgid "See also L</LIBGUESTFS_CACHEDIR>, L</guestfs_set_tmpdir>."
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:4016
+#: ../src/guestfs.pod:4022
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:4027
+#: ../src/guestfs.pod:4033
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)>, L<guestfish(1)>, L<guestmount(1)>, "
+"L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, "
+"L<guestfs-python(3)>, L<guestfs-ruby(3)>, L<guestfish(1)>, L<guestmount(1)>, "
"L<virt-alignment-scan(1)>, L<virt-cat(1)>, L<virt-copy-in(1)>, "
"L<virt-copy-out(1)>, L<virt-df(1)>, L<virt-edit(1)>, L<virt-filesystems(1)>, "
"L<virt-format(1)>, L<virt-inspector(1)>, L<virt-list-filesystems(1)>, "
@@ -56964,7 +57176,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: ../src/guestfs.pod:4070
+#: ../src/guestfs.pod:4077
msgid ""
"Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, "
"L<lvm(8)>, L<disktype(1)>."