+#: ../resize/virt-resize.pod:41
+#, no-wrap
+msgid ""
+" # Note \"/dev/sda2\" is a partition inside the \"olddisk\" file.\n"
+" virt-resize --expand /dev/sda2 olddisk newdisk\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:44 ../resize/virt-resize.pod:527
+#: ../sparsify/virt-sparsify.pod:210 ../src/guestfs.pod:475
+#: ../src/guestfs.pod:1291 ../src/guestfs.pod:1430 ../src/guestfs.pod:2629
+msgid "2."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:46
+msgid ""
+"As above, but make the /boot partition 200MB bigger, while giving the "
+"remaining space to /dev/sda2:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:49
+#, no-wrap
+msgid ""
+" virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \\\n"
+" olddisk newdisk\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:52 ../resize/virt-resize.pod:533
+#: ../sparsify/virt-sparsify.pod:216 ../src/guestfs.pod:486
+#: ../src/guestfs.pod:1436
+msgid "3."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:54
+msgid ""
+"As in the first example, but expand a logical volume as the final step. "
+"This is what you would typically use for Linux guests that use LVM:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:58
+#, no-wrap
+msgid ""
+" virt-resize --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root \\\n"
+" olddisk newdisk\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:61
+msgid "4."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:63
+msgid ""
+"As in the first example, but the output format will be qcow2 instead of a "
+"raw disk:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:66
+#, no-wrap
+msgid ""
+" qemu-img create -f qcow2 newdisk.qcow2 15G\n"
+" virt-resize --expand /dev/sda2 olddisk newdisk.qcow2\n"
+"\n"
+msgstr ""
+
+#. type: =head1
+#: ../resize/virt-resize.pod:71
+msgid "DETAILED USAGE"
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:73
+msgid "EXPANDING A VIRTUAL MACHINE DISK"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:77
+msgid "1. Shut down the virtual machine"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:79
+msgid "2. Locate input disk image"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:81
+msgid ""
+"Locate the input disk image (ie. the file or device on the host containing "
+"the guest's disk). If the guest is managed by libvirt, you can use C<virsh "
+"dumpxml> like this to find the disk image name:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:85
+#, no-wrap
+msgid ""
+" # virsh dumpxml guestname | xpath /domain/devices/disk/source\n"
+" Found 1 nodes:\n"
+" -- NODE --\n"
+" <source dev=\"/dev/vg/lv_guest\" />\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:90
+msgid "3. Look at current sizing"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:92
+msgid "Use L<virt-filesystems(1)> to display the current partitions and sizes:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:95
+#, no-wrap
+msgid ""
+" # virt-filesystems --long --parts --blkdevs -h -a /dev/vg/lv_guest\n"
+" Name Type Size Parent\n"
+" /dev/sda1 partition 101M /dev/sda\n"
+" /dev/sda2 partition 7.9G /dev/sda\n"
+" /dev/sda device 8.0G -\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:101
+msgid ""
+"(This example is a virtual machine with an 8 GB disk which we would like to "
+"expand up to 10 GB)."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:104
+msgid "4. Create output disk"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:106
+msgid ""
+"Virt-resize cannot do in-place disk modifications. You have to have space "
+"to store the resized output disk."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:109
+msgid ""
+"To store the resized disk image in a file, create a file of a suitable size:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:112
+#, no-wrap
+msgid ""
+" # rm -f outdisk\n"
+" # truncate -s 10G outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:115
+msgid "Or use L<lvcreate(1)> to create a logical volume:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:117
+#, no-wrap
+msgid ""
+" # lvcreate -L 10G -n lv_name vg_name\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:119
+msgid "Or use L<virsh(1)> vol-create-as to create a libvirt storage volume:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:121
+#, no-wrap
+msgid ""
+" # virsh pool-list\n"
+" # virsh vol-create-as poolname newvol 10G\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:124
+msgid "5. Resize"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:126
+msgid ""
+"virt-resize takes two mandatory parameters, the input disk (eg. device or "
+"file) and the output disk. The output disk is the one created in the "
+"previous step."
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:130
+#, no-wrap
+msgid ""
+" # virt-resize indisk outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:132
+msgid ""
+"This command just copies disk image C<indisk> to disk image C<outdisk> "
+"I<without> resizing or changing any existing partitions. If C<outdisk> is "
+"larger, then an extra, empty partition is created at the end of the disk "
+"covering the extra space. If C<outdisk> is smaller, then it will give an "
+"error."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:138
+msgid ""
+"More realistically you'd want to expand existing partitions in the disk "
+"image by passing extra options (for the full list see the L</OPTIONS> "
+"section below)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:142
+msgid ""
+"L</--expand> is the most useful option. It expands the named partition "
+"within the disk to fill any extra space:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:145
+#, no-wrap
+msgid ""
+" # virt-resize --expand /dev/sda2 indisk outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:147
+msgid ""
+"(In this case, an extra partition is I<not> created at the end of the disk, "
+"because there will be no unused space)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:150
+msgid ""
+"L</--resize> is the other commonly used option. The following would "
+"increase the size of /dev/sda1 by 200M, and expand /dev/sda2 to fill the "
+"rest of the available space:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:154
+#, no-wrap
+msgid ""
+" # virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \\\n"
+" indisk outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:157
+msgid ""
+"If the expanded partition in the image contains a filesystem or LVM PV, then "
+"if virt-resize knows how, it will resize the contents, the equivalent of "
+"calling a command such as L<pvresize(8)>, L<resize2fs(8)>, L<ntfsresize(8)> "
+"or L<btrfs(8)>. However virt-resize does not know how to resize some "
+"filesystems, so you would have to online resize them after booting the guest."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:164
+msgid "Other options are covered below."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:166
+msgid "6. Test"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:168
+msgid "Thoroughly test the new disk image I<before> discarding the old one."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:170
+msgid "If you are using libvirt, edit the XML to point at the new disk:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:172
+#, no-wrap
+msgid ""
+" # virsh edit guestname\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:174
+msgid ""
+"Change E<lt>source ...E<gt>, see L<http://libvirt.org/formatdomain."
+"html#elementsDisks>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:177
+msgid "Then start up the domain with the new, resized disk:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:179
+#, no-wrap
+msgid ""
+" # virsh start guestname\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:181
+msgid ""
+"and check that it still works. See also the L</NOTES> section below for "
+"additional information."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:184
+msgid "7. Resize LVs etc inside the guest"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:186
+msgid "(This can also be done offline using L<guestfish(1)>)"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:188
+msgid ""
+"Once the guest has booted you should see the new space available, at least "
+"for filesystems that virt-resize knows how to resize, and for PVs. The user "
+"may need to resize LVs inside PVs, and also resize filesystem types that "
+"virt-resize does not know how to expand."
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:195
+msgid "SHRINKING A VIRTUAL MACHINE DISK"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:197
+msgid ""
+"Shrinking is somewhat more complex than expanding, and only an overview is "
+"given here."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:200
+msgid ""
+"Firstly virt-resize will not attempt to shrink any partition content (PVs, "
+"filesystems). The user has to shrink content before passing the disk image "
+"to virt-resize, and virt-resize will check that the content has been shrunk "
+"properly."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:205
+msgid "(Shrinking can also be done offline using L<guestfish(1)>)"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:207
+msgid ""
+"After shrinking PVs and filesystems, shut down the guest, and proceed with "
+"steps 3 and 4 above to allocate a new disk image."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:210
+msgid ""
+"Then run virt-resize with any of the I<--shrink> and/or I<--resize> options."
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:213
+msgid "IGNORING OR DELETING PARTITIONS"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:215
+msgid ""
+"virt-resize also gives a convenient way to ignore or delete partitions when "
+"copying from the input disk to the output disk. Ignoring a partition speeds "
+"up the copy where you don't care about the existing contents of a "
+"partition. Deleting a partition removes it completely, but note that it "
+"also renumbers any partitions after the one which is deleted, which can "
+"leave some guests unbootable."
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:222
+msgid "QCOW2 AND NON-SPARSE RAW FORMATS"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:224
+msgid ""
+"If the input disk is in qcow2 format, then you may prefer that the output is "
+"in qcow2 format as well. Alternately, virt-resize can convert the format on "
+"the fly. The output format is simply determined by the format of the empty "
+"output container that you provide. Thus to create qcow2 output, use:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:230
+#, no-wrap
+msgid ""
+" qemu-img create [-c] -f qcow2 outdisk [size]\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:232
+msgid "instead of the truncate command (use I<-c> for a compressed disk)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:234
+msgid "Similarly, to get non-sparse raw output use:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:236
+#, no-wrap
+msgid ""
+" fallocate -l size outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:238
+msgid ""
+"(on older systems that don't have the L<fallocate(1)> command use C<dd if=/"
+"dev/zero of=outdisk bs=1M count=..>)"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:247 ../sparsify/virt-sparsify.pod:105
+msgid "Display help."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:249
+msgid "B<-d>"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:251 ../tools/virt-make-fs.pl:177
+#: ../tools/virt-win-reg.pl:120
+msgid "B<--debug>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:253 ../tools/virt-win-reg.pl:122
+msgid "Enable debugging messages."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:255
+msgid "B<--delete part>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:257
+msgid ""
+"Delete the named partition. It would be more accurate to describe this as "
+"\"don't copy it over\", since virt-resize doesn't do in-place changes and "
+"the original disk image is left intact."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:261
+msgid ""
+"Note that when you delete a partition, then anything contained in the "
+"partition is also deleted. Furthermore, this causes any partitions that "
+"come after to be I<renumbered>, which can easily make your guest unbootable."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:266 ../resize/virt-resize.pod:327
+#: ../resize/virt-resize.pod:454 ../sparsify/virt-sparsify.pod:145
+msgid "You can give this option multiple times."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:268
+msgid "B<--expand part>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:270
+msgid ""
+"Expand the named partition so it uses up all extra space (space left over "
+"after any other resize changes that you request have been done)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:273
+msgid ""
+"If virt-resize knows how, it will expand the direct content of the "
+"partition. For example, if the partition is an LVM PV, it will expand the "
+"PV to fit (like calling L<pvresize(8)>). Virt-resize leaves any other "
+"content it doesn't know about alone."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:278
+msgid "Currently virt-resize can resize:"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:284
+msgid "ext2, ext3 and ext4 filesystems."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:288
+msgid "NTFS filesystems, if libguestfs was compiled with support for NTFS."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:290
+msgid ""
+"The filesystem must have been shut down consistently last time it was used. "
+"Additionally, L<ntfsresize(8)> marks the resized filesystem as requiring a "
+"consistency check, so at the first boot after resizing Windows will check "
+"the disk."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:297
+msgid ""
+"LVM PVs (physical volumes). virt-resize does not usually resize anything "
+"inside the PV, but see the I<--LV-expand> option. The user could also "
+"resize LVs as desired after boot."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:303
+msgid "Btrfs filesystems, if libguestfs was compiled with support for btrfs."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:307 ../resize/virt-resize.pod:482
+msgid "Note that you cannot use I<--expand> and I<--shrink> together."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:309 ../sparsify/virt-sparsify.pod:125
+#: ../tools/virt-list-filesystems.pl:91 ../tools/virt-list-partitions.pl:92
+#: ../tools/virt-tar.pl:141 ../tools/virt-win-reg.pl:142
+msgid "B<--format> raw"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:311 ../sparsify/virt-sparsify.pod:129
+msgid ""
+"Specify the format of the input disk image. If this flag is not given then "
+"it is auto-detected from the image itself."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:317
+msgid ""
+"Note that this option I<does not> affect the output format. See L</QCOW2 "
+"AND NON-SPARSE RAW FORMATS>."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:320
+msgid "B<--ignore part>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:322
+msgid ""
+"Ignore the named partition. Effectively this means the partition is "
+"allocated on the destination disk, but the content is not copied across from "
+"the source disk. The content of the partition will be blank (all zero "
+"bytes)."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:329
+msgid "B<--LV-expand logvol>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:331
+msgid ""
+"This takes the logical volume and, as a final step, expands it to fill all "
+"the space available in its volume group. A typical usage, assuming a Linux "
+"guest with a single PV C</dev/sda2> and a root device called C</dev/vg_guest/"
+"lv_root> would be:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:336
+#, no-wrap
+msgid ""
+" virt-resize indisk outdisk \\\n"
+" --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:339
+msgid ""
+"This would first expand the partition (and PV), and then expand the root "
+"device to fill the extra space in the PV."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:342
+msgid ""
+"The contents of the LV are also resized if virt-resize knows how to do "
+"that. You can stop virt-resize from trying to expand the content by using "
+"the option I<--no-expand-content>."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:346
+msgid "Use L<virt-filesystems(1)> to list the filesystems in the guest."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:348
+msgid ""
+"You can give this option multiple times, I<but> it doesn't make sense to do "
+"this unless the logical volumes you specify are all in different volume "
+"groups."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:352 ../sparsify/virt-sparsify.pod:147
+msgid "B<--machine-readable>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:354 ../sparsify/virt-sparsify.pod:149
+msgid ""
+"This option is used to make the output more machine friendly when being "
+"parsed by other programs. See L</MACHINE READABLE OUTPUT> below."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:360
+msgid "B<--dryrun>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:362
+msgid "Print a summary of what would be done, but don't do anything."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:364
+msgid "B<--no-copy-boot-loader>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:366
+msgid ""
+"By default, virt-resize copies over some sectors at the start of the disk "
+"(up to the beginning of the first partition). Commonly these sectors "
+"contain the Master Boot Record (MBR) and the boot loader, and are required "
+"in order for the guest to boot correctly."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:371
+msgid ""
+"If you specify this flag, then this initial copy is not done. You may need "
+"to reinstall the boot loader in this case."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:374
+msgid "B<--no-extra-partition>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:376
+msgid ""
+"By default, virt-resize creates an extra partition if there is any extra, "
+"unused space after all resizing has happened. Use this option to prevent "
+"the extra partition from being created. If you do this then the extra space "
+"will be inaccessible until you run fdisk, parted, or some other partitioning "
+"tool in the guest."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:382
+msgid ""
+"Note that if the surplus space is smaller than 10 MB, no extra partition "
+"will be created."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:385
+msgid "B<--no-expand-content>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:387
+msgid ""
+"By default, virt-resize will try to expand the direct contents of "
+"partitions, if it knows how (see I<--expand> option above)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:390
+msgid ""
+"If you give the I<--no-expand-content> option then virt-resize will not "
+"attempt this."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:393
+msgid "B<--ntfsresize-force>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:395
+msgid ""
+"Pass the I<--force> option to L<ntfsresize(8)>, allowing resizing even if "
+"the NTFS disk is marked as needing a consistency check. You have to use "
+"this option if you want to resize a Windows guest multiple times without "
+"booting into Windows between each resize."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:401
+msgid "B<--output-format> raw"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:403
+msgid ""
+"Specify the format of the output disk image. If this flag is not given then "
+"it is auto-detected from the image itself."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:409
+msgid ""
+"Note that this option I<does not create> the output format. This option "
+"just tells libguestfs what it is so it doesn't try to guess it. You still "
+"need to create the output disk with the right format. See L</QCOW2 AND NON-"
+"SPARSE RAW FORMATS>."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:414 ../sparsify/virt-sparsify.pod:153
+msgid "B<-q>"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:416 ../sparsify/virt-sparsify.pod:155
+msgid "B<--quiet>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:418
+msgid "Don't print the summary."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:420
+msgid "B<--resize part=size>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:422
+msgid ""
+"Resize the named partition (expanding or shrinking it) so that it has the "
+"given size."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:425
+msgid ""
+"C<size> can be expressed as an absolute number followed by b/K/M/G to mean "
+"bytes, Kilobytes, Megabytes, or Gigabytes; or as a percentage of the current "
+"size; or as a relative number or percentage. For example:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:431
+#, no-wrap
+msgid ""
+" --resize /dev/sda2=10G\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:433
+#, no-wrap
+msgid ""
+" --resize /dev/sda4=90%\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:435
+#, no-wrap
+msgid ""
+" --resize /dev/sda2=+1G\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:437
+#, no-wrap
+msgid ""
+" --resize /dev/sda2=-200M\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:439
+#, no-wrap
+msgid ""
+" --resize /dev/sda1=+128K\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:441
+#, no-wrap
+msgid ""
+" --resize /dev/sda1=+10%\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:443
+#, no-wrap
+msgid ""
+" --resize /dev/sda1=-10%\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:445
+msgid ""
+"You can increase the size of any partition. Virt-resize will expand the "
+"direct content of the partition if it knows how (see I<--expand> below)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:449
+msgid ""
+"You can only I<decrease> the size of partitions that contain filesystems or "
+"PVs which have already been shrunk. Virt-resize will check this has been "
+"done before proceeding, or else will print an error (see also I<--resize-"
+"force>)."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:456
+msgid "B<--resize-force part=size>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:458
+msgid ""
+"This is the same as I<--resize> except that it will let you decrease the "
+"size of any partition. Generally this means you will lose any data which "
+"was at the end of the partition you shrink, but you may not care about that "
+"(eg. if shrinking an unused partition, or if you can easily recreate it such "
+"as a swap partition)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:464
+msgid "See also the I<--ignore> option."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:466
+msgid "B<--shrink part>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:468
+msgid ""
+"Shrink the named partition until the overall disk image fits in the "
+"destination. The named partition B<must> contain a filesystem or PV which "
+"has already been shrunk using another tool (eg. L<guestfish(1)> or other "
+"online tools). Virt-resize will check this and give an error if it has not "
+"been done."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:474
+msgid ""
+"The amount by which the overall disk must be shrunk (after carrying out all "
+"other operations requested by the user) is called the \"deficit\". For "
+"example, a straight copy (assume no other operations) from a 5GB disk image "
+"to a 4GB disk image results in a 1GB deficit. In this case, virt-resize "
+"would give an error unless the user specified a partition to shrink and that "
+"partition had more than a gigabyte of free space."
+msgstr ""
+
+#. type: =head1
+#: ../resize/virt-resize.pod:492 ../sparsify/virt-sparsify.pod:177
+msgid "MACHINE READABLE OUTPUT"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:494
+msgid ""
+"The I<--machine-readable> option can be used to make the output more machine "
+"friendly, which is useful when calling virt-resize from other programs, GUIs "
+"etc."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:498 ../sparsify/virt-sparsify.pod:183
+msgid "There are two ways to use this option."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:500
+msgid ""
+"Firstly use the option on its own to query the capabilities of the virt-"
+"resize binary. Typical output looks like this:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:503
+#, no-wrap
+msgid ""
+" $ virt-resize --machine-readable\n"
+" virt-resize\n"
+" ntfsresize-force\n"
+" 32bitok\n"
+" ntfs\n"
+" btrfs\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:510 ../sparsify/virt-sparsify.pod:193
+msgid ""
+"A list of features is printed, one per line, and the program exits with "
+"status 0."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:513 ../sparsify/virt-sparsify.pod:196
+msgid ""
+"Secondly use the option in conjunction with other options to make the "
+"regular program output more machine friendly."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:516 ../sparsify/virt-sparsify.pod:199
+msgid "At the moment this means:"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:522 ../sparsify/virt-sparsify.pod:205
+msgid ""
+"Progress bar messages can be parsed from stdout by looking for this regular "
+"expression:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:525 ../sparsify/virt-sparsify.pod:208
+#, no-wrap
+msgid ""
+" ^[0-9]+/[0-9]+$\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:529 ../sparsify/virt-sparsify.pod:212
+msgid ""
+"The calling program should treat messages sent to stdout (except for "
+"progress bar messages) as status messages. They can be logged and/or "
+"displayed to the user."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:535
+msgid ""
+"The calling program should treat messages sent to stderr as error messages. "
+"In addition, virt-resize exits with a non-zero status code if there was a "
+"fatal error."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:541
+msgid ""
+"Versions of the program prior to 1.13.9 did not support the I<--machine-"
+"readable> option and will return an error."
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:546
+msgid "\"Partition 1 does not end on cylinder boundary.\""
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:548
+msgid ""
+"Virt-resize aligns partitions to multiples of 64 sectors. Usually this "
+"means the partitions will not be aligned to the ancient CHS geometry. "
+"However CHS geometry is meaningless for disks manufactured since the early "
+"1990s, and doubly so for virtual hard drives. Alignment of partitions to "
+"cylinders is not required by any modern operating system."
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:555
+msgid "RESIZING WINDOWS VIRTUAL MACHINES"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:557
+msgid ""
+"In Windows Vista and later versions, Microsoft switched to using a separate "
+"boot partition. In these VMs, typically C</dev/sda1> is the boot partition "
+"and C</dev/sda2> is the main (C:) drive. We have not had any luck resizing "
+"the boot partition. Doing so seems to break the guest completely. However "
+"expanding the second partition (ie. C: drive) should work."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:564
+msgid ""
+"Windows may initiate a lengthy \"chkdsk\" on first boot after a resize, if "
+"NTFS partitions have been expanded. This is just a safety check and (unless "
+"it find errors) is nothing to worry about."
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:568
+msgid "GUEST BOOT STUCK AT \"GRUB\""
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:570
+msgid ""
+"If a Linux guest does not boot after resizing, and the boot is stuck after "
+"printing C<GRUB> on the console, try reinstalling grub. This sometimes "
+"happens on older (RHEL 5-era) guests, for reasons we don't fully understand, "
+"although we think is to do with partition alignment."
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:575
+#, no-wrap
+msgid ""
+" guestfish -i -a newdisk\n"
+" ><fs> cat /boot/grub/device.map\n"
+" # check the contents of this file are sensible or\n"
+" # edit the file if necessary\n"
+" ><fs> grub-install / /dev/vda\n"
+" ><fs> exit\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:582
+msgid ""
+"For more flexible guest reconfiguration, including if you need to specify "
+"other parameters to grub-install, use L<virt-rescue(1)>."
+msgstr ""
+
+#. type: =head1
+#: ../resize/virt-resize.pod:585
+msgid "ALTERNATIVE TOOLS"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:587
+msgid ""
+"There are several proprietary tools for resizing partitions. We won't "
+"mention any here."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:590
+msgid ""
+"L<parted(8)> and its graphical shell gparted can do some types of resizing "
+"operations on disk images. They can resize and move partitions, but I don't "
+"think they can do anything with the contents, and they certainly don't "
+"understand LVM."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:595
+msgid ""
+"L<guestfish(1)> can do everything that virt-resize can do and a lot more, "
+"but at a much lower level. You will probably end up hand-calculating sector "
+"offsets, which is something that virt-resize was designed to avoid. If you "
+"want to see the guestfish-equivalent commands that virt-resize runs, use the "
+"I<--debug> flag."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:615
+msgid ""
+"L<virt-filesystems(1)>, L<virt-df(1)>, L<guestfs(3)>, L<guestfish(1)>, L<lvm"
+"(8)>, L<pvresize(8)>, L<lvresize(8)>, L<resize2fs(8)>, L<ntfsresize(8)>, "
+"L<btrfs(8)>, L<virsh(1)>, L<parted(8)>, L<truncate(1)>, L<fallocate(1)>, "
+"L<grub(8)>, L<grub-install(8)>, L<virt-rescue(1)>, L<virt-sparsify(1)>, "
+"L<http://libguestfs.org/>."
+msgstr ""
+
+#. type: textblock
+#: ../ruby/examples/guestfs-ruby.pod:5
+msgid "guestfs-ruby - How to use libguestfs from Ruby"
+msgstr ""
+
+#. type: verbatim
+#: ../ruby/examples/guestfs-ruby.pod:9
+#, no-wrap
+msgid ""
+" require 'guestfs'\n"
+" g = Guestfs::Guestfs.new()\n"
+" g.add_drive_opts(\"disk.img\",\n"
+" :readonly => 1, :format => \"raw\")\n"
+" g.launch()\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../ruby/examples/guestfs-ruby.pod:17
+msgid ""
+"This manual page documents how to call libguestfs from the Ruby 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
+#: ../ruby/examples/guestfs-ruby.pod:24
+msgid ""
+"Errors from libguestfs functions are mapped into the C<Error> exception. "
+"This has a single parameter which is the error message (a string)."
+msgstr ""
+
+#. type: textblock
+#: ../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/>."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:5
+msgid "virt-sparsify - Make a virtual machine disk sparse"
+msgstr ""
+
+#. type: verbatim
+#: ../sparsify/virt-sparsify.pod:9
+#, no-wrap
+msgid ""
+" virt-sparsify [--options] indisk outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:13
+msgid ""
+"Virt-sparsify is a tool which can make a virtual machine disk (or any disk "
+"image) sparse a.k.a. thin-provisioned. This means that free space within "
+"the disk image can be converted back to free space on the host."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:18
+msgid ""
+"Virt-sparsify can locate and sparsify free space in most filesystems (eg. "
+"ext2/3/4, btrfs, NTFS, etc.), and also in LVM physical volumes."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:21
+msgid ""
+"Virt-sparsify can also convert between some disk formats, for example "
+"converting a raw disk image to a thin-provisioned qcow2 image."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:24
+msgid ""
+"Virt-sparsify can operate on any disk image, not just ones from virtual "
+"machines. If a virtual machine has multiple disk images, then you must "
+"sparsify each one separately."
+msgstr ""
+
+#. type: =head2
+#: ../sparsify/virt-sparsify.pod:28
+msgid "IMPORTANT LIMITATIONS"
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:34
+msgid ""
+"Virt-sparsify does not do in-place modifications. It copies from a source "
+"image to a destination image, leaving the source unchanged. I<Check that "
+"the sparsification was successful before deleting the source image>."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:41
+msgid "The virtual machine I<must be shut down> before using this tool."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:45
+msgid ""
+"Virt-sparsify may require up to 2x the virtual size of the source disk image "
+"(1 temporary copy + 1 destination image). This is in the worst case and "
+"usually much less space is required."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:51
+msgid ""
+"Virt-sparsify cannot resize disk images. To do that, use L<virt-resize(1)>."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:56
+msgid "Virt-sparsify cannot handle encrypted disks."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:60
+msgid ""
+"Virt-sparsify cannot yet sparsify the space between partitions. Note that "
+"this space is often used for critical items like bootloaders so it's not "
+"really unused."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:66
+msgid ""
+"Virt-sparsify does not yet know how to sparsify swapspace. It is not safe "
+"to do this unless we can be sure there is no hibernation data, so at the "
+"moment swap partitions are ignored."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:72
+msgid ""
+"You may also want to read the manual pages for the associated tools L<virt-"
+"filesystems(1)> and L<virt-df(1)> before starting."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:77
+msgid "Typical usage is:"
+msgstr ""
+
+#. type: verbatim
+#: ../sparsify/virt-sparsify.pod:79
+#, no-wrap
+msgid ""
+" virt-sparsify indisk outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:81
+msgid ""
+"which copies C<indisk> to C<outdisk>, making the output sparse. C<outdisk> "
+"is created, or overwritten if it already exists. The format of the input "
+"disk is detected (eg. qcow2) and the same format is used for the output disk."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:86
+msgid "To convert between formats, use the I<--convert> option:"
+msgstr ""
+
+#. type: verbatim
+#: ../sparsify/virt-sparsify.pod:88
+#, no-wrap
+msgid ""
+" virt-sparsify disk.raw --convert qcow2 disk.qcow2\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:90
+msgid ""
+"Virt-sparsify tries to zero and sparsify free space on every filesystem it "
+"can find within the source disk image. You can get it to ignore (don't zero "
+"free space on) certain filesystems by doing:"
+msgstr ""
+
+#. type: verbatim
+#: ../sparsify/virt-sparsify.pod:94
+#, no-wrap
+msgid ""
+" virt-sparsify --ignore /dev/sda1 indisk outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:96
+msgid ""
+"See L<virt-filesystems(1)> to get a list of filesystems within a disk image."
+msgstr ""
+
+#. type: =item
+#: ../sparsify/virt-sparsify.pod:107
+msgid "B<--convert> raw"
+msgstr ""
+
+#. type: =item
+#: ../sparsify/virt-sparsify.pod:109
+msgid "B<--convert> qcow2"
+msgstr ""
+
+#. type: =item
+#: ../sparsify/virt-sparsify.pod:111
+msgid "B<--convert> [other formats]"
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:113
+msgid ""
+"Use C<output-format> as the format for the destination image. If this is "
+"not specified, then the input format is used."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:116
+msgid "Supported and known-working output formats are: C<raw>, C<qcow2>."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:118
+msgid ""
+"You can also use any format supported by the L<qemu-img(1)> program, eg. "
+"C<vdi> or C<vmdk>, but support for other formats is reliant on qemu."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:122
+msgid ""
+"Specifying the I<--convert> option is usually a good idea, because then virt-"
+"sparsify doesn't need to try to guess the input format."
+msgstr ""
+
+#. type: =item
+#: ../sparsify/virt-sparsify.pod:127
+msgid "B<--format> qcow2"
+msgstr ""
+
+#. type: =item
+#: ../sparsify/virt-sparsify.pod:135
+msgid "B<--ignore> filesystem"
+msgstr ""
+
+#. type: =item
+#: ../sparsify/virt-sparsify.pod:137
+msgid "B<--ignore> volgroup"
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:139
+msgid ""
+"Ignore the named filesystem. Free space on the filesystem will not be "
+"zeroed, but existing blocks of zeroes will still be sparsified."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:142
+msgid ""
+"In the second form, this ignores the named volume group. Use the volume "
+"group name without the C</dev/> prefix, eg. I<--ignore vg_foo>"
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:157
+msgid "This disables progress bars and other unnecessary output."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:179
+msgid ""
+"The I<--machine-readable> option can be used to make the output more machine "
+"friendly, which is useful when calling virt-sparsify from other programs, "
+"GUIs etc."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:185
+msgid ""
+"Firstly use the option on its own to query the capabilities of the virt-"
+"sparsify binary. Typical output looks like this:"
+msgstr ""
+
+#. type: verbatim
+#: ../sparsify/virt-sparsify.pod:188
+#, no-wrap
+msgid ""
+" $ virt-sparsify --machine-readable\n"
+" virt-sparsify\n"
+" ntfs\n"
+" btrfs\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:218
+msgid ""
+"The calling program should treat messages sent to stderr as error messages. "
+"In addition, virt-sparsify exits with a non-zero status code if there was a "
+"fatal error."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:224
+msgid ""
+"All versions of virt-sparsify have supported the I<--machine-readable> "
+"option."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:238
+msgid ""
+"Location of the temporary directory used for the potentially large temporary "
+"overlay file."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:241
+msgid ""
+"You should ensure there is enough free space in the worst case for a full "
+"copy of the source disk (I<virtual> size), or else set C<$TMPDIR> to point "
+"to another directory that has enough space."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:245
+msgid "This defaults to C</tmp>."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:249
+msgid ""
+"For other environment variables, see L<guestfs(3)/ENVIRONMENT VARIABLES>."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:253
+msgid ""
+"L<virt-filesystems(1)>, L<virt-df(1)>, L<virt-resize(1)>, L<virt-rescue(1)>, "
+"L<guestfs(3)>, L<guestfish(1)>, L<truncate(1)>, L<fallocate(1)>, L<qemu-img"
+"(1)>, L<http://libguestfs.org/>."
+msgstr ""
+
+#. type: textblock
+#: ../sparsify/virt-sparsify.pod:270
+msgid "Copyright (C) 2011 Red Hat Inc."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1
+msgid "guestfs_add_cdrom"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_cdrom (guestfs_h *g,\n"
+" const char *filename);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7 ../src/guestfs-actions.pod:249
+#: ../src/guestfs-actions.pod:270
+msgid ""
+"I<This function is deprecated.> In new code, use the L</"
+"guestfs_add_drive_opts> call instead."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:24
+msgid ""
+"This call checks for the existence of C<filename>. This stops you from "
+"specifying other types of drive which are supported by qemu such as C<nbd:> "
+"and C<http:> URLs. To specify those, use the general C<guestfs_config> call "
+"instead."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:31
+msgid ""
+"If you just want to add an ISO file (often you use this as an efficient way "
+"to transfer large files into the guest), then you should probably use "
+"C<guestfs_add_drive_ro> instead."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:37 ../src/guestfs-actions.pod:140
+#: ../src/guestfs-actions.pod:201 ../src/guestfs-actions.pod:238
+#: ../src/guestfs-actions.pod:259 ../src/guestfs-actions.pod:280
+#: ../src/guestfs-actions.pod:293 ../src/guestfs-actions.pod:307
+#: ../src/guestfs-actions.pod:427 ../src/guestfs-actions.pod:447
+#: ../src/guestfs-actions.pod:461 ../src/guestfs-actions.pod:506
+#: ../src/guestfs-actions.pod:534 ../src/guestfs-actions.pod:552
+#: ../src/guestfs-actions.pod:619 ../src/guestfs-actions.pod:652
+#: ../src/guestfs-actions.pod:666 ../src/guestfs-actions.pod:681
+#: ../src/guestfs-actions.pod:780 ../src/guestfs-actions.pod:798
+#: ../src/guestfs-actions.pod:812 ../src/guestfs-actions.pod:826
+#: ../src/guestfs-actions.pod:863 ../src/guestfs-actions.pod:1046
+#: ../src/guestfs-actions.pod:1066 ../src/guestfs-actions.pod:1084
+#: ../src/guestfs-actions.pod:1174 ../src/guestfs-actions.pod:1233
+#: ../src/guestfs-actions.pod:1279 ../src/guestfs-actions.pod:1297
+#: ../src/guestfs-actions.pod:1316 ../src/guestfs-actions.pod:1330
+#: ../src/guestfs-actions.pod:1350 ../src/guestfs-actions.pod:1420
+#: ../src/guestfs-actions.pod:1451 ../src/guestfs-actions.pod:1476
+#: ../src/guestfs-actions.pod:1518 ../src/guestfs-actions.pod:1631
+#: ../src/guestfs-actions.pod:1658 ../src/guestfs-actions.pod:1873
+#: ../src/guestfs-actions.pod:1895 ../src/guestfs-actions.pod:1982
+#: ../src/guestfs-actions.pod:2490 ../src/guestfs-actions.pod:2634
+#: ../src/guestfs-actions.pod:2695 ../src/guestfs-actions.pod:2730
+#: ../src/guestfs-actions.pod:3774 ../src/guestfs-actions.pod:3789
+#: ../src/guestfs-actions.pod:3814 ../src/guestfs-actions.pod:4003
+#: ../src/guestfs-actions.pod:4017 ../src/guestfs-actions.pod:4030
+#: ../src/guestfs-actions.pod:4044 ../src/guestfs-actions.pod:4059
+#: ../src/guestfs-actions.pod:4095 ../src/guestfs-actions.pod:4167
+#: ../src/guestfs-actions.pod:4187 ../src/guestfs-actions.pod:4204
+#: ../src/guestfs-actions.pod:4227 ../src/guestfs-actions.pod:4250
+#: ../src/guestfs-actions.pod:4285 ../src/guestfs-actions.pod:4304
+#: ../src/guestfs-actions.pod:4323 ../src/guestfs-actions.pod:4358
+#: ../src/guestfs-actions.pod:4370 ../src/guestfs-actions.pod:4406
+#: ../src/guestfs-actions.pod:4422 ../src/guestfs-actions.pod:4435
+#: ../src/guestfs-actions.pod:4450 ../src/guestfs-actions.pod:4467
+#: ../src/guestfs-actions.pod:4560 ../src/guestfs-actions.pod:4580
+#: ../src/guestfs-actions.pod:4593 ../src/guestfs-actions.pod:4644
+#: ../src/guestfs-actions.pod:4662 ../src/guestfs-actions.pod:4680
+#: ../src/guestfs-actions.pod:4696 ../src/guestfs-actions.pod:4710
+#: ../src/guestfs-actions.pod:4724 ../src/guestfs-actions.pod:4741
+#: ../src/guestfs-actions.pod:4756 ../src/guestfs-actions.pod:4783
+#: ../src/guestfs-actions.pod:4846 ../src/guestfs-actions.pod:4919
+#: ../src/guestfs-actions.pod:4950 ../src/guestfs-actions.pod:4969
+#: ../src/guestfs-actions.pod:4988 ../src/guestfs-actions.pod:5000
+#: ../src/guestfs-actions.pod:5017 ../src/guestfs-actions.pod:5030
+#: ../src/guestfs-actions.pod:5045 ../src/guestfs-actions.pod:5060
+#: ../src/guestfs-actions.pod:5092 ../src/guestfs-actions.pod:5118
+#: ../src/guestfs-actions.pod:5157 ../src/guestfs-actions.pod:5177
+#: ../src/guestfs-actions.pod:5191 ../src/guestfs-actions.pod:5208
+#: ../src/guestfs-actions.pod:5257 ../src/guestfs-actions.pod:5310
+#: ../src/guestfs-actions.pod:5357 ../src/guestfs-actions.pod:5400
+#: ../src/guestfs-actions.pod:5428 ../src/guestfs-actions.pod:5445
+#: ../src/guestfs-actions.pod:5463 ../src/guestfs-actions.pod:5603
+#: ../src/guestfs-actions.pod:5660 ../src/guestfs-actions.pod:5682
+#: ../src/guestfs-actions.pod:5700 ../src/guestfs-actions.pod:5732
+#: ../src/guestfs-actions.pod:5798 ../src/guestfs-actions.pod:5815
+#: ../src/guestfs-actions.pod:5828 ../src/guestfs-actions.pod:5842
+#: ../src/guestfs-actions.pod:6131 ../src/guestfs-actions.pod:6150
+#: ../src/guestfs-actions.pod:6169 ../src/guestfs-actions.pod:6183
+#: ../src/guestfs-actions.pod:6195 ../src/guestfs-actions.pod:6209
+#: ../src/guestfs-actions.pod:6221 ../src/guestfs-actions.pod:6235
+#: ../src/guestfs-actions.pod:6251 ../src/guestfs-actions.pod:6272
+#: ../src/guestfs-actions.pod:6291 ../src/guestfs-actions.pod:6310
+#: ../src/guestfs-actions.pod:6340 ../src/guestfs-actions.pod:6358
+#: ../src/guestfs-actions.pod:6381 ../src/guestfs-actions.pod:6399
+#: ../src/guestfs-actions.pod:6418 ../src/guestfs-actions.pod:6439
+#: ../src/guestfs-actions.pod:6458 ../src/guestfs-actions.pod:6475
+#: ../src/guestfs-actions.pod:6494 ../src/guestfs-actions.pod:6522
+#: ../src/guestfs-actions.pod:6546 ../src/guestfs-actions.pod:6565
+#: ../src/guestfs-actions.pod:6581 ../src/guestfs-actions.pod:6605
+#: ../src/guestfs-actions.pod:6624 ../src/guestfs-actions.pod:6639
+#: ../src/guestfs-actions.pod:6658 ../src/guestfs-actions.pod:6702
+#: ../src/guestfs-actions.pod:6732 ../src/guestfs-actions.pod:6765
+#: ../src/guestfs-actions.pod:6880 ../src/guestfs-actions.pod:7001
+#: ../src/guestfs-actions.pod:7013 ../src/guestfs-actions.pod:7026
+#: ../src/guestfs-actions.pod:7039 ../src/guestfs-actions.pod:7061
+#: ../src/guestfs-actions.pod:7074 ../src/guestfs-actions.pod:7087
+#: ../src/guestfs-actions.pod:7100 ../src/guestfs-actions.pod:7115
+#: ../src/guestfs-actions.pod:7174 ../src/guestfs-actions.pod:7191
+#: ../src/guestfs-actions.pod:7207 ../src/guestfs-actions.pod:7223
+#: ../src/guestfs-actions.pod:7240 ../src/guestfs-actions.pod:7253
+#: ../src/guestfs-actions.pod:7273 ../src/guestfs-actions.pod:7309
+#: ../src/guestfs-actions.pod:7323 ../src/guestfs-actions.pod:7364
+#: ../src/guestfs-actions.pod:7377 ../src/guestfs-actions.pod:7395
+#: ../src/guestfs-actions.pod:7429 ../src/guestfs-actions.pod:7465
+#: ../src/guestfs-actions.pod:7581 ../src/guestfs-actions.pod:7596
+#: ../src/guestfs-actions.pod:7610 ../src/guestfs-actions.pod:7665
+#: ../src/guestfs-actions.pod:7678 ../src/guestfs-actions.pod:7723
+#: ../src/guestfs-actions.pod:7763 ../src/guestfs-actions.pod:7819
+#: ../src/guestfs-actions.pod:7839 ../src/guestfs-actions.pod:7872
+#: ../src/guestfs-actions.pod:7936 ../src/guestfs-actions.pod:7959
+#: ../src/guestfs-actions.pod:7988
+msgid "This function returns 0 on success or -1 on error."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:39 ../src/guestfs-actions.pod:142
+#: ../src/guestfs-actions.pod:1281 ../src/guestfs-actions.pod:2096
+#: ../src/guestfs-actions.pod:2194 ../src/guestfs-actions.pod:2319
+#: ../src/guestfs-actions.pod:3776 ../src/guestfs-actions.pod:3796
+#: ../src/guestfs-actions.pod:5094 ../src/guestfs-actions.pod:6360
+#: ../src/guestfs-actions.pod:6477 ../src/guestfs-actions.pod:6626
+#: ../src/guestfs-actions.pod:7117 ../src/guestfs-actions.pod:7242
+#: ../src/guestfs-actions.pod:7765
+msgid "(Added in 0.3)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:41
+msgid "guestfs_add_domain"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:43
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_domain (guestfs_h *g,\n"
+" const char *dom,\n"
+" ...);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:48 ../src/guestfs-actions.pod:151
+#: ../src/guestfs-actions.pod:837 ../src/guestfs-actions.pod:1161
+#: ../src/guestfs-actions.pod:1213 ../src/guestfs-actions.pod:2979
+#: ../src/guestfs-actions.pod:4795 ../src/guestfs-actions.pod:5104
+#: ../src/guestfs-actions.pod:5321
+msgid ""
+"You may supply a list of optional arguments to this call. Use zero or more "
+"of the following pairs of parameters, and terminate the list with C<-1> on "
+"its own. See L</CALLS WITH OPTIONAL ARGUMENTS>."
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:53
+#, no-wrap
+msgid ""
+" GUESTFS_ADD_DOMAIN_LIBVIRTURI, const char *libvirturi,\n"
+" GUESTFS_ADD_DOMAIN_READONLY, int readonly,\n"
+" GUESTFS_ADD_DOMAIN_IFACE, const char *iface,\n"
+" GUESTFS_ADD_DOMAIN_LIVE, int live,\n"
+" GUESTFS_ADD_DOMAIN_ALLOWUUID, int allowuuid,\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:59
+msgid ""
+"This function adds the disk(s) attached to the named libvirt domain C<dom>. "
+"It works by connecting to libvirt, requesting the domain and domain XML from "
+"libvirt, parsing it for disks, and calling C<guestfs_add_drive_opts> on each "
+"one."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:94
+msgid ""
+"The other optional parameters are passed directly through to "
+"C<guestfs_add_drive_opts>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:97 ../src/guestfs-actions.pod:350
+#: ../src/guestfs-actions.pod:520 ../src/guestfs-actions.pod:698
+#: ../src/guestfs-actions.pod:729 ../src/guestfs-actions.pod:747
+#: ../src/guestfs-actions.pod:766 ../src/guestfs-actions.pod:1496
+#: ../src/guestfs-actions.pod:1852 ../src/guestfs-actions.pod:2055
+#: ../src/guestfs-actions.pod:2166 ../src/guestfs-actions.pod:2217
+#: ../src/guestfs-actions.pod:2269 ../src/guestfs-actions.pod:2283
+#: ../src/guestfs-actions.pod:2306 ../src/guestfs-actions.pod:2621
+#: ../src/guestfs-actions.pod:3097 ../src/guestfs-actions.pod:3115
+#: ../src/guestfs-actions.pod:5280 ../src/guestfs-actions.pod:5500
+#: ../src/guestfs-actions.pod:5912 ../src/guestfs-actions.pod:5938
+#: ../src/guestfs-actions.pod:7350 ../src/guestfs-actions.pod:7776
+#: ../src/guestfs-actions.pod:7789 ../src/guestfs-actions.pod:7802
+msgid "On error this function returns -1."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:99
+msgid "(Added in 1.7.4)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:101
+msgid "guestfs_add_domain_va"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:103
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_domain_va (guestfs_h *g,\n"
+" const char *dom,\n"
+" va_list args);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:108
+msgid "This is the \"va_list variant\" of L</guestfs_add_domain>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:110 ../src/guestfs-actions.pod:121
+#: ../src/guestfs-actions.pod:214 ../src/guestfs-actions.pod:225
+#: ../src/guestfs-actions.pod:876 ../src/guestfs-actions.pod:887
+#: ../src/guestfs-actions.pod:1189 ../src/guestfs-actions.pod:1202
+#: ../src/guestfs-actions.pod:1248 ../src/guestfs-actions.pod:1261
+#: ../src/guestfs-actions.pod:3063 ../src/guestfs-actions.pod:3075
+#: ../src/guestfs-actions.pod:4860 ../src/guestfs-actions.pod:4872
+#: ../src/guestfs-actions.pod:5132 ../src/guestfs-actions.pod:5144
+#: ../src/guestfs-actions.pod:5370 ../src/guestfs-actions.pod:5381
+msgid "See L</CALLS WITH OPTIONAL ARGUMENTS>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:112
+msgid "guestfs_add_domain_argv"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:114
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_domain_argv (guestfs_h *g,\n"
+" const char *dom,\n"
+" const struct guestfs_add_domain_argv *optargs);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:119
+msgid "This is the \"argv variant\" of L</guestfs_add_domain>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:123
+msgid "guestfs_add_drive"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:125
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive (guestfs_h *g,\n"
+" const char *filename);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:129
+msgid ""
+"This function is the equivalent of calling C<guestfs_add_drive_opts> with no "
+"optional parameters, so the disk is added writable, with the format being "
+"detected automatically."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:133
+msgid ""
+"Automatic detection of the format opens you up to a potential security hole "
+"when dealing with untrusted raw-format images. See CVE-2010-3851 and "
+"RHBZ#642934. Specifying the format closes this security hole. Therefore "
+"you should think about replacing calls to this function with calls to "
+"C<guestfs_add_drive_opts>, and specifying the format."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:144
+msgid "guestfs_add_drive_opts"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:146
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive_opts (guestfs_h *g,\n"
+" const char *filename,\n"
+" ...);\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:156
+#, no-wrap
+msgid ""
+" GUESTFS_ADD_DRIVE_OPTS_READONLY, int readonly,\n"
+" GUESTFS_ADD_DRIVE_OPTS_FORMAT, const char *format,\n"
+" GUESTFS_ADD_DRIVE_OPTS_IFACE, const char *iface,\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:185
+msgid ""
+"This forces the image format. If you omit this (or use C<guestfs_add_drive> "
+"or C<guestfs_add_drive_ro>) then the format is automatically detected. "
+"Possible formats include C<raw> and C<qcow2>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:196
+msgid ""
+"This rarely-used option lets you emulate the behaviour of the deprecated "
+"C<guestfs_add_drive_with_if> call (q.v.)"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:203
+msgid "(Added in 1.5.23)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:205
+msgid "guestfs_add_drive_opts_va"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:207
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive_opts_va (guestfs_h *g,\n"
+" const char *filename,\n"
+" va_list args);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:212
+msgid "This is the \"va_list variant\" of L</guestfs_add_drive_opts>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:216
+msgid "guestfs_add_drive_opts_argv"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:218
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive_opts_argv (guestfs_h *g,\n"
+" const char *filename,\n"
+" const struct guestfs_add_drive_opts_argv *optargs);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:223
+msgid "This is the \"argv variant\" of L</guestfs_add_drive_opts>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:227
+msgid "guestfs_add_drive_ro"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:229
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive_ro (guestfs_h *g,\n"
+" const char *filename);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:233
+msgid ""
+"This function is the equivalent of calling C<guestfs_add_drive_opts> with "
+"the optional parameter C<GUESTFS_ADD_DRIVE_OPTS_READONLY> set to 1, so the "
+"disk is added read-only, with the format being detected automatically."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:240
+msgid "(Added in 1.0.38)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:242
+msgid "guestfs_add_drive_ro_with_if"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:244
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive_ro_with_if (guestfs_h *g,\n"
+" const char *filename,\n"
+" const char *iface);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:256
+msgid ""
+"This is the same as C<guestfs_add_drive_ro> but it allows you to specify the "
+"QEMU interface emulation to use at run time."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:261 ../src/guestfs-actions.pod:282
+#: ../src/guestfs-actions.pod:2580
+msgid "(Added in 1.0.84)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:263
+msgid "guestfs_add_drive_with_if"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:265
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive_with_if (guestfs_h *g,\n"
+" const char *filename,\n"
+" const char *iface);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:277
+msgid ""
+"This is the same as C<guestfs_add_drive> but it allows you to specify the "
+"QEMU interface emulation to use at run time."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:284
+msgid "guestfs_aug_clear"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:286
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_clear (guestfs_h *g,\n"
+" const char *augpath);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:295 ../src/guestfs-actions.pod:2308
+msgid "(Added in 1.3.4)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:297
+msgid "guestfs_aug_close"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:299
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_close (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:302
+msgid ""
+"Close the current Augeas handle and free up any resources used by it. After "
+"calling this, you have to call C<guestfs_aug_init> again before you can use "
+"any other Augeas functions."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:309 ../src/guestfs-actions.pod:334
+#: ../src/guestfs-actions.pod:352 ../src/guestfs-actions.pod:366
+#: ../src/guestfs-actions.pod:429 ../src/guestfs-actions.pod:449
+#: ../src/guestfs-actions.pod:463 ../src/guestfs-actions.pod:494
+#: ../src/guestfs-actions.pod:508 ../src/guestfs-actions.pod:522
+#: ../src/guestfs-actions.pod:536 ../src/guestfs-actions.pod:554
+#: ../src/guestfs-actions.pod:5989
+msgid "(Added in 0.7)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:311
+msgid "guestfs_aug_defnode"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:313
+#, no-wrap
+msgid ""
+" struct guestfs_int_bool *\n"
+" guestfs_aug_defnode (guestfs_h *g,\n"
+" const char *name,\n"
+" const char *expr,\n"
+" const char *val);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:322
+msgid ""
+"If C<expr> evaluates to an empty nodeset, a node is created, equivalent to "
+"calling C<guestfs_aug_set> C<expr>, C<value>. C<name> will be the nodeset "
+"containing that single node."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:330
+msgid ""
+"This function returns a C<struct guestfs_int_bool *>, or NULL if there was "
+"an error. I<The caller must call C<guestfs_free_int_bool> after use>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:336
+msgid "guestfs_aug_defvar"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:338
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_defvar (guestfs_h *g,\n"
+" const char *name,\n"
+" const char *expr);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:354
+msgid "guestfs_aug_get"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:356
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_aug_get (guestfs_h *g,\n"
+" const char *augpath);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:363 ../src/guestfs-actions.pod:927
+#: ../src/guestfs-actions.pod:945 ../src/guestfs-actions.pod:1005
+#: ../src/guestfs-actions.pod:1021 ../src/guestfs-actions.pod:1124
+#: ../src/guestfs-actions.pod:1365 ../src/guestfs-actions.pod:1382
+#: ../src/guestfs-actions.pod:1401 ../src/guestfs-actions.pod:1535
+#: ../src/guestfs-actions.pod:1723 ../src/guestfs-actions.pod:1835
+#: ../src/guestfs-actions.pod:1998 ../src/guestfs-actions.pod:2015
+#: ../src/guestfs-actions.pod:2082 ../src/guestfs-actions.pod:2125
+#: ../src/guestfs-actions.pod:2146 ../src/guestfs-actions.pod:2331
+#: ../src/guestfs-actions.pod:2545 ../src/guestfs-actions.pod:2749
+#: ../src/guestfs-actions.pod:2843 ../src/guestfs-actions.pod:2947
+#: ../src/guestfs-actions.pod:2966 ../src/guestfs-actions.pod:3180
+#: ../src/guestfs-actions.pod:3208 ../src/guestfs-actions.pod:3229
+#: ../src/guestfs-actions.pod:3263 ../src/guestfs-actions.pod:3322
+#: ../src/guestfs-actions.pod:3342 ../src/guestfs-actions.pod:3362
+#: ../src/guestfs-actions.pod:3989 ../src/guestfs-actions.pod:4342
+#: ../src/guestfs-actions.pod:4512 ../src/guestfs-actions.pod:4622
+#: ../src/guestfs-actions.pod:5518 ../src/guestfs-actions.pod:5717
+#: ../src/guestfs-actions.pod:5887 ../src/guestfs-actions.pod:6065
+#: ../src/guestfs-actions.pod:6114 ../src/guestfs-actions.pod:6786
+#: ../src/guestfs-actions.pod:6802 ../src/guestfs-actions.pod:6826
+#: ../src/guestfs-actions.pod:6850 ../src/guestfs-actions.pod:7524
+#: ../src/guestfs-actions.pod:7543 ../src/guestfs-actions.pod:7561
+#: ../src/guestfs-actions.pod:7735 ../src/guestfs-actions.pod:8052
+msgid ""
+"This function returns a string, or NULL on error. I<The caller must free "
+"the returned string after use>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:368
+msgid "guestfs_aug_init"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:370
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_init (guestfs_h *g,\n"
+" const char *root,\n"
+" int flags);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:379
+msgid "You must call this before using any other C<guestfs_aug_*> commands."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:404
+msgid ""
+"This option is only useful when debugging Augeas lenses. Use of this option "
+"may require additional memory for the libguestfs appliance. You may need to "
+"set the C<LIBGUESTFS_MEMSIZE> environment variable or call "
+"C<guestfs_set_memsize>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:419
+msgid "Do not load the tree in C<guestfs_aug_init>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:423
+msgid "To close the handle, you can call C<guestfs_aug_close>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:431
+msgid "guestfs_aug_insert"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:433
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_insert (guestfs_h *g,\n"
+" const char *augpath,\n"
+" const char *label,\n"
+" int before);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:451
+msgid "guestfs_aug_load"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:453
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_load (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:465
+msgid "guestfs_aug_ls"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:467
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_aug_ls (guestfs_h *g,\n"
+" const char *augpath);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:471
+msgid ""
+"This is just a shortcut for listing C<guestfs_aug_match> C<path/*> and "
+"sorting the resulting nodes into alphabetical order."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:474 ../src/guestfs-actions.pod:490
+#: ../src/guestfs-actions.pod:636 ../src/guestfs-actions.pod:1143
+#: ../src/guestfs-actions.pod:1550 ../src/guestfs-actions.pod:1569
+#: ../src/guestfs-actions.pod:1672 ../src/guestfs-actions.pod:1691
+#: ../src/guestfs-actions.pod:1937 ../src/guestfs-actions.pod:2403
+#: ../src/guestfs-actions.pod:2419 ../src/guestfs-actions.pod:2438
+#: ../src/guestfs-actions.pod:2503 ../src/guestfs-actions.pod:2527
+#: ../src/guestfs-actions.pod:2598 ../src/guestfs-actions.pod:2647
+#: ../src/guestfs-actions.pod:2908 ../src/guestfs-actions.pod:3282
+#: ../src/guestfs-actions.pod:3558 ../src/guestfs-actions.pod:3872
+#: ../src/guestfs-actions.pod:3889 ../src/guestfs-actions.pod:3909
+#: ../src/guestfs-actions.pod:3971 ../src/guestfs-actions.pod:4076
+#: ../src/guestfs-actions.pod:4484 ../src/guestfs-actions.pod:5241
+#: ../src/guestfs-actions.pod:5859 ../src/guestfs-actions.pod:5985
+#: ../src/guestfs-actions.pod:6099 ../src/guestfs-actions.pod:6866
+#: ../src/guestfs-actions.pod:6927 ../src/guestfs-actions.pod:6982
+#: ../src/guestfs-actions.pod:7128 ../src/guestfs-actions.pod:7152
+#: ../src/guestfs-actions.pod:7628 ../src/guestfs-actions.pod:7648
+#: ../src/guestfs-actions.pod:7695 ../src/guestfs-actions.pod:7889
+#: ../src/guestfs-actions.pod:7908 ../src/guestfs-actions.pod:8002
+#: ../src/guestfs-actions.pod:8021 ../src/guestfs-actions.pod:8067
+#: ../src/guestfs-actions.pod:8086
+msgid ""
+"This function returns a NULL-terminated array of strings (like L<environ(3)"
+">), or NULL if there was an error. I<The caller must free the strings and "
+"the array after use>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:478 ../src/guestfs-actions.pod:1068
+#: ../src/guestfs-actions.pod:1086 ../src/guestfs-actions.pod:1607
+#: ../src/guestfs-actions.pod:3636 ../src/guestfs-actions.pod:3667
+#: ../src/guestfs-actions.pod:4325 ../src/guestfs-actions.pod:4375
+#: ../src/guestfs-actions.pod:4562 ../src/guestfs-actions.pod:4595
+#: ../src/guestfs-actions.pod:4758 ../src/guestfs-actions.pod:5245
+#: ../src/guestfs-actions.pod:5800 ../src/guestfs-actions.pod:6197
+#: ../src/guestfs-actions.pod:6211 ../src/guestfs-actions.pod:6223
+#: ../src/guestfs-actions.pod:6707 ../src/guestfs-actions.pod:7366
+#: ../src/guestfs-actions.pod:7379 ../src/guestfs-actions.pod:7612
+#: ../src/guestfs-actions.pod:7877
+msgid "(Added in 0.8)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:480
+msgid "guestfs_aug_match"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:482
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_aug_match (guestfs_h *g,\n"
+" const char *augpath);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:496
+msgid "guestfs_aug_mv"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:498
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_mv (guestfs_h *g,\n"
+" const char *src,\n"
+" const char *dest);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:510
+msgid "guestfs_aug_rm"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:512
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_rm (guestfs_h *g,\n"
+" const char *augpath);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:524
+msgid "guestfs_aug_save"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:526
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_save (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:531
+msgid ""
+"The flags which were passed to C<guestfs_aug_init> affect exactly how files "
+"are saved."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:538
+msgid "guestfs_aug_set"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:540
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_set (guestfs_h *g,\n"
+" const char *augpath,\n"
+" const char *val);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:547
+msgid ""
+"In the Augeas API, it is possible to clear a node by setting the value to "
+"NULL. Due to an oversight in the libguestfs API you cannot do that with "
+"this call. Instead you must use the C<guestfs_aug_clear> call."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:556
+msgid "guestfs_available"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:558
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_available (guestfs_h *g,\n"
+" char *const *groups);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:566
+msgid ""
+"The libguestfs groups, and the functions that those groups correspond to, "
+"are listed in L<guestfs(3)/AVAILABILITY>. You can also fetch this list at "
+"runtime by calling C<guestfs_available_all_groups>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:590
+msgid "You must call C<guestfs_launch> before calling this function."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:612
+msgid ""
+"This call was added in version C<1.0.80>. In previous versions of "
+"libguestfs all you could do would be to speculatively execute a command to "
+"find out if the daemon implemented it. See also C<guestfs_version>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:621 ../src/guestfs-actions.pod:1352
+msgid "(Added in 1.0.80)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:623
+msgid "guestfs_available_all_groups"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:625
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_available_all_groups (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:628
+msgid ""
+"This command returns a list of all optional groups that this daemon knows "
+"about. Note this returns both supported and unsupported groups. To find "
+"out which ones the daemon can actually support you have to call "
+"C<guestfs_available> on each member of the returned list."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:634
+msgid "See also C<guestfs_available> and L<guestfs(3)/AVAILABILITY>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:640
+msgid "(Added in 1.3.15)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:642
+msgid "guestfs_base64_in"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:644
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_base64_in (guestfs_h *g,\n"
+" const char *base64file,\n"
+" const char *filename);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:654 ../src/guestfs-actions.pod:668
+msgid "(Added in 1.3.5)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:656
+msgid "guestfs_base64_out"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:658
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_base64_out (guestfs_h *g,\n"
+" const char *filename,\n"
+" const char *base64file);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:670
+msgid "guestfs_blockdev_flushbufs"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:672
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_flushbufs (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:683 ../src/guestfs-actions.pod:700
+#: ../src/guestfs-actions.pod:715 ../src/guestfs-actions.pod:731
+#: ../src/guestfs-actions.pod:749 ../src/guestfs-actions.pod:768
+#: ../src/guestfs-actions.pod:782 ../src/guestfs-actions.pod:800
+#: ../src/guestfs-actions.pod:814 ../src/guestfs-actions.pod:828
+msgid "(Added in 0.9.3)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:685
+msgid "guestfs_blockdev_getbsz"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:687
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_getbsz (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:702
+msgid "guestfs_blockdev_getro"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:704
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_getro (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:713 ../src/guestfs-actions.pod:1590
+#: ../src/guestfs-actions.pod:1605 ../src/guestfs-actions.pod:2094
+#: ../src/guestfs-actions.pod:2105 ../src/guestfs-actions.pod:2177
+#: ../src/guestfs-actions.pod:2203 ../src/guestfs-actions.pod:2243
+#: ../src/guestfs-actions.pod:2258 ../src/guestfs-actions.pod:2294
+#: ../src/guestfs-actions.pod:2317 ../src/guestfs-actions.pod:3379
+#: ../src/guestfs-actions.pod:3395 ../src/guestfs-actions.pod:3413
+#: ../src/guestfs-actions.pod:3575 ../src/guestfs-actions.pod:3589
+#: ../src/guestfs-actions.pod:3604 ../src/guestfs-actions.pod:3618
+#: ../src/guestfs-actions.pod:3634 ../src/guestfs-actions.pod:3649
+#: ../src/guestfs-actions.pod:3665 ../src/guestfs-actions.pod:3679
+#: ../src/guestfs-actions.pod:3692 ../src/guestfs-actions.pod:3706
+#: ../src/guestfs-actions.pod:3721 ../src/guestfs-actions.pod:3736
+#: ../src/guestfs-actions.pod:3749 ../src/guestfs-actions.pod:3763
+#: ../src/guestfs-actions.pod:5482
+msgid "This function returns a C truth value on success or -1 on error."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:717
+msgid "guestfs_blockdev_getsize64"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:719
+#, no-wrap
+msgid ""
+" int64_t\n"
+" guestfs_blockdev_getsize64 (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:725
+msgid "See also C<guestfs_blockdev_getsz>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:733
+msgid "guestfs_blockdev_getss"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:735
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_getss (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:742
+msgid ""
+"(Note, this is not the size in sectors, use C<guestfs_blockdev_getsz> for "
+"that)."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:751
+msgid "guestfs_blockdev_getsz"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:753
+#, no-wrap
+msgid ""
+" int64_t\n"
+" guestfs_blockdev_getsz (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:760
+msgid ""
+"See also C<guestfs_blockdev_getss> for the real sector size of the device, "
+"and C<guestfs_blockdev_getsize64> for the more useful I<size in bytes>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:770
+msgid "guestfs_blockdev_rereadpt"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:772
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_rereadpt (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:784
+msgid "guestfs_blockdev_setbsz"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:786
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_setbsz (guestfs_h *g,\n"
+" const char *device,\n"
+" int blocksize);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:802
+msgid "guestfs_blockdev_setro"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:804
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_setro (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:816
+msgid "guestfs_blockdev_setrw"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:818
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_setrw (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:830
+msgid "guestfs_btrfs_filesystem_resize"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:832
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_btrfs_filesystem_resize (guestfs_h *g,\n"
+" const char *mountpoint,\n"
+" ...);\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:842
+#, no-wrap
+msgid ""
+" GUESTFS_BTRFS_FILESYSTEM_RESIZE_SIZE, int64_t size,\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:865
+msgid "(Added in 1.11.17)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:867
+msgid "guestfs_btrfs_filesystem_resize_va"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:869
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_btrfs_filesystem_resize_va (guestfs_h *g,\n"
+" const char *mountpoint,\n"
+" va_list args);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:874
+msgid "This is the \"va_list variant\" of L</guestfs_btrfs_filesystem_resize>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:878
+msgid "guestfs_btrfs_filesystem_resize_argv"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:880
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_btrfs_filesystem_resize_argv (guestfs_h *g,\n"
+" const char *mountpoint,\n"
+" const struct guestfs_btrfs_filesystem_resize_argv *optargs);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:885
+msgid "This is the \"argv variant\" of L</guestfs_btrfs_filesystem_resize>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:889
+msgid "guestfs_case_sensitive_path"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:891
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_case_sensitive_path (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:917
+msgid ""
+"Thus C<guestfs_case_sensitive_path> (\"/Windows/System32\") might return C<"
+"\"/WINDOWS/system32\"> (the exact return value would depend on details of "
+"how the directories were originally created under Windows)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:925
+msgid "See also C<guestfs_realpath>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:930 ../src/guestfs-actions.pod:7546
+msgid "(Added in 1.0.75)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:932
+msgid "guestfs_cat"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:934
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_cat (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:940
+msgid ""
+"Note that this function cannot correctly handle binary files (specifically, "
+"files containing C<\\0> character which is treated as end of string). For "
+"those you need to use the C<guestfs_read_file> or C<guestfs_download> "
+"functions which have a more complex interface."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:951 ../src/guestfs-actions.pod:3893
+#: ../src/guestfs-actions.pod:3975 ../src/guestfs-actions.pod:3992
+#: ../src/guestfs-actions.pod:4080 ../src/guestfs-actions.pod:4488
+#: ../src/guestfs-actions.pod:4502 ../src/guestfs-actions.pod:5863
+#: ../src/guestfs-actions.pod:5877 ../src/guestfs-actions.pod:7699
+#: ../src/guestfs-actions.pod:7713
+msgid "(Added in 0.4)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:953
+msgid "guestfs_checksum"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:955
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_checksum (guestfs_h *g,\n"
+" const char *csumtype,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1001
+msgid "To get the checksum for a device, use C<guestfs_checksum_device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1003
+msgid "To get the checksums for many files, use C<guestfs_checksums_out>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1008 ../src/guestfs-actions.pod:1427
+#: ../src/guestfs-actions.pod:2285 ../src/guestfs-actions.pod:3591
+#: ../src/guestfs-actions.pod:3620 ../src/guestfs-actions.pod:3681
+#: ../src/guestfs-actions.pod:3708 ../src/guestfs-actions.pod:7402
+msgid "(Added in 1.0.2)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1010
+msgid "guestfs_checksum_device"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1012
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_checksum_device (guestfs_h *g,\n"
+" const char *csumtype,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1017
+msgid ""
+"This call computes the MD5, SHAx or CRC checksum of the contents of the "
+"device named C<device>. For the types of checksums supported see the "
+"C<guestfs_checksum> command."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1024 ../src/guestfs-actions.pod:5312
+#: ../src/guestfs-actions.pod:5447 ../src/guestfs-actions.pod:5484
+#: ../src/guestfs-actions.pod:5502 ../src/guestfs-actions.pod:5684
+#: ../src/guestfs-actions.pod:7311 ../src/guestfs-actions.pod:7325
+#: ../src/guestfs-actions.pod:7725
+msgid "(Added in 1.3.2)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1026
+msgid "guestfs_checksums_out"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1028
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_checksums_out (guestfs_h *g,\n"
+" const char *csumtype,\n"
+" const char *directory,\n"
+" const char *sumsfile);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1048
+msgid "(Added in 1.3.7)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1050
+msgid "guestfs_chmod"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1052
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_chmod (guestfs_h *g,\n"
+" int mode,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1070
+msgid "guestfs_chown"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1072
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_chown (guestfs_h *g,\n"
+" int owner,\n"
+" int group,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1088
+msgid "guestfs_command"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1090
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_command (guestfs_h *g,\n"
+" char *const *arguments);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1099
+msgid ""
+"The single parameter is an argv-style list of arguments. The first element "
+"is the name of the program to run. Subsequent elements are parameters. The "
+"list must be non-empty (ie. must contain a program name). Note that the "
+"command runs directly, and is I<not> invoked via the shell (see "
+"C<guestfs_sh>)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1130 ../src/guestfs-actions.pod:1150
+#: ../src/guestfs-actions.pod:1726
+msgid "(Added in 0.9.1)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1132
+msgid "guestfs_command_lines"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1134
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_command_lines (guestfs_h *g,\n"
+" char *const *arguments);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1138
+msgid ""
+"This is the same as C<guestfs_command>, but splits the result into a list of "
+"lines."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1141
+msgid "See also: C<guestfs_sh_lines>"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1152
+msgid "guestfs_compress_device_out"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1154
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_compress_device_out (guestfs_h *g,\n"
+" const char *ctype,\n"
+" const char *device,\n"
+" const char *zdevice,\n"
+" ...);\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1166
+#, no-wrap
+msgid ""
+" GUESTFS_COMPRESS_DEVICE_OUT_LEVEL, int level,\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1171
+msgid ""
+"The C<ctype> and optional C<level> parameters have the same meaning as in "
+"C<guestfs_compress_out>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1176 ../src/guestfs-actions.pod:1235
+#: ../src/guestfs-actions.pod:2271 ../src/guestfs-actions.pod:6583
+msgid "(Added in 1.13.15)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1178
+msgid "guestfs_compress_device_out_va"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1180
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_compress_device_out_va (guestfs_h *g,\n"
+" const char *ctype,\n"
+" const char *device,\n"
+" const char *zdevice,\n"
+" va_list args);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1187
+msgid "This is the \"va_list variant\" of L</guestfs_compress_device_out>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1191
+msgid "guestfs_compress_device_out_argv"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1193
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_compress_device_out_argv (guestfs_h *g,\n"
+" const char *ctype,\n"
+" const char *device,\n"
+" const char *zdevice,\n"
+" const struct guestfs_compress_device_out_argv *optargs);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1200
+msgid "This is the \"argv variant\" of L</guestfs_compress_device_out>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1204
+msgid "guestfs_compress_out"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1206
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_compress_out (guestfs_h *g,\n"
+" const char *ctype,\n"
+" const char *file,\n"
+" const char *zfile,\n"
+" ...);\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1218
+#, no-wrap
+msgid ""
+" GUESTFS_COMPRESS_OUT_LEVEL, int level,\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1237
+msgid "guestfs_compress_out_va"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1239
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_compress_out_va (guestfs_h *g,\n"
+" const char *ctype,\n"
+" const char *file,\n"
+" const char *zfile,\n"
+" va_list args);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1246
+msgid "This is the \"va_list variant\" of L</guestfs_compress_out>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1250
+msgid "guestfs_compress_out_argv"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1252
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_compress_out_argv (guestfs_h *g,\n"
+" const char *ctype,\n"
+" const char *file,\n"
+" const char *zfile,\n"
+" const struct guestfs_compress_out_argv *optargs);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1259
+msgid "This is the \"argv variant\" of L</guestfs_compress_out>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1263
+msgid "guestfs_config"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1265
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_config (guestfs_h *g,\n"
+" const char *qemuparam,\n"
+" const char *qemuvalue);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1283
+msgid "guestfs_copy_size"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1285
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_copy_size (guestfs_h *g,\n"
+" const char *src,\n"
+" const char *dest,\n"
+" int64_t size);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1299 ../src/guestfs-actions.pod:1422
+#: ../src/guestfs-actions.pod:1453 ../src/guestfs-actions.pod:1498
+#: ../src/guestfs-actions.pod:1875 ../src/guestfs-actions.pod:1897
+#: ../src/guestfs-actions.pod:3791 ../src/guestfs-actions.pod:7397
+#: ../src/guestfs-actions.pod:7431 ../src/guestfs-actions.pod:7938
+#: ../src/guestfs-actions.pod:7961
+msgid ""
+"This long-running command can generate progress notification messages so "
+"that the caller can display a progress bar or indicator. To receive these "
+"messages, the caller must register a progress event callback. See L<guestfs"
+"(3)/GUESTFS_EVENT_PROGRESS>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1304 ../src/guestfs-actions.pod:4515
+#: ../src/guestfs-actions.pod:5890 ../src/guestfs-actions.pod:7632
+#: ../src/guestfs-actions.pod:7652 ../src/guestfs-actions.pod:7738
+msgid "(Added in 1.0.87)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1306
+msgid "guestfs_cp"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1308
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_cp (guestfs_h *g,\n"
+" const char *src,\n"
+" const char *dest);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1318 ../src/guestfs-actions.pod:1332
+#: ../src/guestfs-actions.pod:1404 ../src/guestfs-actions.pod:1478
+#: ../src/guestfs-actions.pod:1592 ../src/guestfs-actions.pod:5259
+#: ../src/guestfs-actions.pod:5734
+msgid "(Added in 1.0.18)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1320
+msgid "guestfs_cp_a"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1322
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_cp_a (guestfs_h *g,\n"
+" const char *src,\n"
+" const char *dest);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1334
+msgid "guestfs_dd"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1336
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_dd (guestfs_h *g,\n"
+" const char *src,\n"
+" const char *dest);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1346
+msgid ""
+"If the destination is a device, it must be as large or larger than the "
+"source file or device, otherwise the copy will fail. This command cannot do "
+"partial copies (see C<guestfs_copy_size>)."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1354
+msgid "guestfs_df"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1356
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_df (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1361 ../src/guestfs-actions.pod:1378
+msgid ""
+"This command is mostly useful for interactive sessions. It is I<not> "
+"intended that you try to parse the output string. Use C<guestfs_statvfs> "
+"from programs."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1368 ../src/guestfs-actions.pod:1385
+#: ../src/guestfs-actions.pod:1503 ../src/guestfs-actions.pod:2510
+#: ../src/guestfs-actions.pod:2534 ../src/guestfs-actions.pod:2602
+#: ../src/guestfs-actions.pod:4625 ../src/guestfs-actions.pod:5159
+#: ../src/guestfs-actions.pod:7135 ../src/guestfs-actions.pod:7159
+#: ../src/guestfs-actions.pod:7778 ../src/guestfs-actions.pod:7791
+#: ../src/guestfs-actions.pod:7804
+msgid "(Added in 1.0.54)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1370
+msgid "guestfs_df_h"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1372
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_df_h (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1387
+msgid "guestfs_dmesg"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1389
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_dmesg (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1396
+msgid ""
+"Another way to get the same information is to enable verbose messages with "
+"C<guestfs_set_verbose> or by setting the environment variable "
+"C<LIBGUESTFS_DEBUG=1> before running the program."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1406
+msgid "guestfs_download"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1408
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_download (guestfs_h *g,\n"
+" const char *remotefilename,\n"
+" const char *filename);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1418
+msgid "See also C<guestfs_upload>, C<guestfs_cat>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1429
+msgid "guestfs_download_offset"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1431
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_download_offset (guestfs_h *g,\n"
+" const char *remotefilename,\n"
+" const char *filename,\n"
+" int64_t offset,\n"
+" int64_t size);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1444
+msgid ""
+"Note that there is no limit on the amount of data that can be downloaded "
+"with this call, unlike with C<guestfs_pread>, and this call always reads the "
+"full amount unless an error occurs."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1449
+msgid "See also C<guestfs_download>, C<guestfs_pread>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1458 ../src/guestfs-actions.pod:7436
+msgid "(Added in 1.5.17)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1460
+msgid "guestfs_drop_caches"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1462
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_drop_caches (guestfs_h *g,\n"
+" int whattodrop);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1480
+msgid "guestfs_du"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1482
+#, no-wrap
+msgid ""
+" int64_t\n"
+" guestfs_du (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1505
+msgid "guestfs_e2fsck_f"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1507
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_e2fsck_f (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1515
+msgid ""
+"This command is only needed because of C<guestfs_resize2fs> (q.v.). "
+"Normally you should use C<guestfs_fsck>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1520
+msgid "(Added in 1.0.29)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1522
+msgid "guestfs_echo_daemon"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1524
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_echo_daemon (guestfs_h *g,\n"
+" char *const *words);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1533
+msgid "See also C<guestfs_ping_daemon>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1538 ../src/guestfs-actions.pod:2296
+#: ../src/guestfs-actions.pod:6607
+msgid "(Added in 1.0.69)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1540
+msgid "guestfs_egrep"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1542
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_egrep (guestfs_h *g,\n"
+" const char *regex,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1557 ../src/guestfs-actions.pod:1576
+#: ../src/guestfs-actions.pod:1633 ../src/guestfs-actions.pod:1679
+#: ../src/guestfs-actions.pod:1698 ../src/guestfs-actions.pod:2426
+#: ../src/guestfs-actions.pod:2445 ../src/guestfs-actions.pod:2623
+#: ../src/guestfs-actions.pod:2636 ../src/guestfs-actions.pod:2651
+#: ../src/guestfs-actions.pod:2697 ../src/guestfs-actions.pod:2719
+#: ../src/guestfs-actions.pod:2732 ../src/guestfs-actions.pod:4005
+#: ../src/guestfs-actions.pod:4019 ../src/guestfs-actions.pod:4032
+#: ../src/guestfs-actions.pod:4046 ../src/guestfs-actions.pod:5047
+#: ../src/guestfs-actions.pod:6068 ../src/guestfs-actions.pod:6117
+#: ../src/guestfs-actions.pod:7003 ../src/guestfs-actions.pod:7015
+#: ../src/guestfs-actions.pod:7028 ../src/guestfs-actions.pod:7041
+#: ../src/guestfs-actions.pod:7063 ../src/guestfs-actions.pod:7076
+#: ../src/guestfs-actions.pod:7089 ../src/guestfs-actions.pod:7102
+#: ../src/guestfs-actions.pod:7896 ../src/guestfs-actions.pod:7915
+#: ../src/guestfs-actions.pod:8009 ../src/guestfs-actions.pod:8028
+#: ../src/guestfs-actions.pod:8074 ../src/guestfs-actions.pod:8093
+msgid "(Added in 1.0.66)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1559
+msgid "guestfs_egrepi"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1561
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_egrepi (guestfs_h *g,\n"
+" const char *regex,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1578
+msgid "guestfs_equal"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1580
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_equal (guestfs_h *g,\n"
+" const char *file1,\n"
+" const char *file2);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1594
+msgid "guestfs_exists"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1596
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_exists (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1603
+msgid "See also C<guestfs_is_file>, C<guestfs_is_dir>, C<guestfs_stat>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1609
+msgid "guestfs_fallocate"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1611
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_fallocate (guestfs_h *g,\n"
+" const char *path,\n"
+" int len);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1616
+msgid ""
+"I<This function is deprecated.> In new code, use the L</guestfs_fallocate64> "
+"call instead."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1635
+msgid "guestfs_fallocate64"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1637
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_fallocate64 (guestfs_h *g,\n"
+" const char *path,\n"
+" int64_t len);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1646
+msgid ""
+"Note that this call allocates disk blocks for the file. To create a sparse "
+"file use C<guestfs_truncate_size> instead."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1649
+msgid ""
+"The deprecated call C<guestfs_fallocate> does the same, but owing to an "
+"oversight it only allowed 30 bit lengths to be specified, effectively "
+"limiting the maximum size of files created through that call to 1GB."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1660
+msgid "(Added in 1.3.17)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1662
+msgid "guestfs_fgrep"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1664
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_fgrep (guestfs_h *g,\n"
+" const char *pattern,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1681
+msgid "guestfs_fgrepi"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1683
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_fgrepi (guestfs_h *g,\n"
+" const char *pattern,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1700
+msgid "guestfs_file"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1702
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_file (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1720
+msgid ""
+"See also: L<file(1)>, C<guestfs_vfs_type>, C<guestfs_lstat>, "
+"C<guestfs_is_file>, C<guestfs_is_blockdev> (etc), C<guestfs_is_zero>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1728
+msgid "guestfs_file_architecture"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1730
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_file_architecture (guestfs_h *g,\n"
+" const char *filename);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1838 ../src/guestfs-actions.pod:2001
+#: ../src/guestfs-actions.pod:2018 ../src/guestfs-actions.pod:2752
+#: ../src/guestfs-actions.pod:2846 ../src/guestfs-actions.pod:2912
+#: ../src/guestfs-actions.pod:3099 ../src/guestfs-actions.pod:3117
+#: ../src/guestfs-actions.pod:3157 ../src/guestfs-actions.pod:3232
+#: ../src/guestfs-actions.pod:3325 ../src/guestfs-actions.pod:3562
+#: ../src/guestfs-actions.pod:3694
+msgid "(Added in 1.5.3)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1840
+msgid "guestfs_filesize"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1842
+#, no-wrap
+msgid ""
+" int64_t\n"
+" guestfs_filesize (guestfs_h *g,\n"
+" const char *file);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1848
+msgid ""
+"To get other stats about a file, use C<guestfs_stat>, C<guestfs_lstat>, "
+"C<guestfs_is_dir>, C<guestfs_is_file> etc. To get the size of block "
+"devices, use C<guestfs_blockdev_getsize64>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1854
+msgid "(Added in 1.0.82)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1856
+msgid "guestfs_fill"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1858
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_fill (guestfs_h *g,\n"
+" int c,\n"
+" int len,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1868
+msgid ""
+"To fill a file with zero bytes (sparsely), it is much more efficient to use "
+"C<guestfs_truncate_size>. To create a file with a pattern of repeating "
+"bytes use C<guestfs_fill_pattern>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1880
+msgid "(Added in 1.0.79)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1882
+msgid "guestfs_fill_pattern"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1884
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_fill_pattern (guestfs_h *g,\n"
+" const char *pattern,\n"
+" int len,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1890
+msgid ""
+"This function is like C<guestfs_fill> except that it creates a new file of "
+"length C<len> containing the repeating pattern of bytes in C<pattern>. The "
+"pattern is truncated if necessary to ensure the length of the file is "
+"exactly C<len> bytes."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1902
+msgid "(Added in 1.3.12)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1904
+msgid "guestfs_find"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1906
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_find (guestfs_h *g,\n"
+" const char *directory);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1922
+msgid ""
+"then the returned list from C<guestfs_find> C</tmp> would be 4 elements:"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1935
+msgid "See also C<guestfs_find0>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1944 ../src/guestfs-actions.pod:4452
+#: ../src/guestfs-actions.pod:6152
+msgid "(Added in 1.0.27)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1946
+msgid "guestfs_find0"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1948
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_find0 (guestfs_h *g,\n"
+" const char *directory,\n"
+" const char *files);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1957
+msgid ""
+"This command works the same way as C<guestfs_find> with the following "
+"exceptions:"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1984
+msgid "(Added in 1.0.74)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1986
+msgid "guestfs_findfs_label"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1988
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_findfs_label (guestfs_h *g,\n"
+" const char *label);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1996
+msgid "To find the label of a filesystem, use C<guestfs_vfs_label>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2003
+msgid "guestfs_findfs_uuid"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2005
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_findfs_uuid (guestfs_h *g,\n"
+" const char *uuid);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2013
+msgid "To find the UUID of a filesystem, use C<guestfs_vfs_uuid>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2020
+msgid "guestfs_fsck"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2022
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_fsck (guestfs_h *g,\n"
+" const char *fstype,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2057 ../src/guestfs-actions.pod:7943
+msgid "(Added in 1.0.16)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2059
+msgid "guestfs_get_append"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2061
+#, no-wrap
+msgid ""
+" const char *\n"
+" guestfs_get_append (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2069
+msgid ""
+"This function returns a string which may be NULL. There is no way to return "
+"an error from this function. The string is owned by the guest handle and "
+"must I<not> be freed."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2073 ../src/guestfs-actions.pod:5830
+#: ../src/guestfs-actions.pod:6312 ../src/guestfs-actions.pod:6770
+#: ../src/guestfs-actions.pod:6789 ../src/guestfs-actions.pod:6805
+#: ../src/guestfs-actions.pod:6829 ../src/guestfs-actions.pod:7583
+#: ../src/guestfs-actions.pod:7598 ../src/guestfs-actions.pod:7990
+msgid "(Added in 1.0.26)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2075
+msgid "guestfs_get_attach_method"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2077
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_get_attach_method (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2080
+msgid "Return the current attach method. See C<guestfs_set_attach_method>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2085 ../src/guestfs-actions.pod:6342
+msgid "(Added in 1.9.8)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2087
+msgid "guestfs_get_autosync"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2089
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_get_autosync (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2098
+msgid "guestfs_get_direct"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2100
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_get_direct (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2107 ../src/guestfs-actions.pod:6383
+msgid "(Added in 1.0.72)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2109
+msgid "guestfs_get_e2label"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2111
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_get_e2label (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2115
+msgid ""
+"I<This function is deprecated.> In new code, use the L</guestfs_vfs_label> "
+"call instead."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2128 ../src/guestfs-actions.pod:2149
+#: ../src/guestfs-actions.pod:6401 ../src/guestfs-actions.pod:6420
+msgid "(Added in 1.0.15)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2130
+msgid "guestfs_get_e2uuid"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2132
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_get_e2uuid (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2136
+msgid ""
+"I<This function is deprecated.> In new code, use the L</guestfs_vfs_uuid> "
+"call instead."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2151
+msgid "guestfs_get_memsize"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2153
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_get_memsize (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2159
+msgid ""
+"If C<guestfs_set_memsize> was not called on this handle, and if "
+"C<LIBGUESTFS_MEMSIZE> was not set, then this returns the compiled-in default "
+"value for memsize."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2168 ../src/guestfs-actions.pod:4743
+#: ../src/guestfs-actions.pod:4952 ../src/guestfs-actions.pod:4971
+#: ../src/guestfs-actions.pod:4990 ../src/guestfs-actions.pod:5002
+#: ../src/guestfs-actions.pod:5019 ../src/guestfs-actions.pod:5032
+#: ../src/guestfs-actions.pod:6055 ../src/guestfs-actions.pod:6441
+#: ../src/guestfs-actions.pod:6737 ../src/guestfs-actions.pod:7352
+msgid "(Added in 1.0.55)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2170
+msgid "guestfs_get_network"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2172
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_get_network (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2179 ../src/guestfs-actions.pod:6460
+msgid "(Added in 1.5.4)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2181
+msgid "guestfs_get_path"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2183
+#, no-wrap
+msgid ""
+" const char *\n"
+" guestfs_get_path (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2191 ../src/guestfs-actions.pod:2231
+msgid ""
+"This function returns a string, or NULL on error. The string is owned by "
+"the guest handle and must I<not> be freed."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2196
+msgid "guestfs_get_pgroup"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2198
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_get_pgroup (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2205 ../src/guestfs-actions.pod:6496
+#: ../src/guestfs-actions.pod:7844
+msgid "(Added in 1.11.18)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2207
+msgid "guestfs_get_pid"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2209
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_get_pid (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2219
+msgid "(Added in 1.0.56)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2221
+msgid "guestfs_get_qemu"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2223
+#, no-wrap
+msgid ""
+" const char *\n"
+" guestfs_get_qemu (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2234 ../src/guestfs-actions.pod:6524
+msgid "(Added in 1.0.6)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2236
+msgid "guestfs_get_recovery_proc"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2238
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_get_recovery_proc (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2245 ../src/guestfs-actions.pod:3816
+#: ../src/guestfs-actions.pod:4147 ../src/guestfs-actions.pod:4550
+#: ../src/guestfs-actions.pod:4582 ../src/guestfs-actions.pod:5760
+#: ../src/guestfs-actions.pod:6103 ../src/guestfs-actions.pod:6548
+#: ../src/guestfs-actions.pod:7255 ../src/guestfs-actions.pod:7275
+#: ../src/guestfs-actions.pod:7467
+msgid "(Added in 1.0.77)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2247
+msgid "guestfs_get_selinux"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2249
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_get_selinux (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2252
+msgid ""
+"This returns the current setting of the selinux flag which is passed to the "
+"appliance at boot time. See C<guestfs_set_selinux>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2260 ../src/guestfs-actions.pod:2334
+#: ../src/guestfs-actions.pod:6567 ../src/guestfs-actions.pod:6641
+msgid "(Added in 1.0.67)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2262
+msgid "guestfs_get_smp"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2264
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_get_smp (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2273
+msgid "guestfs_get_state"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2275
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_get_state (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2287
+msgid "guestfs_get_trace"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2289
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_get_trace (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2298
+msgid "guestfs_get_umask"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2300
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_get_umask (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2303
+msgid ""
+"Return the current umask. By default the umask is C<022> unless it has been "
+"set by calling C<guestfs_umask>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2310
+msgid "guestfs_get_verbose"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2312
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_get_verbose (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2321
+msgid "guestfs_getcon"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2323
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_getcon (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2328
+msgid ""
+"See the documentation about SELINUX in L<guestfs(3)>, and C<guestfs_setcon>"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2336
+msgid "guestfs_getxattr"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2338
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_getxattr (guestfs_h *g,\n"
+" const char *path,\n"
+" const char *name,\n"
+" size_t *size_r);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2344
+msgid ""
+"Get a single extended attribute from file C<path> named C<name>. This call "
+"follows symlinks. If you want to lookup an extended attribute for the "
+"symlink itself, use C<guestfs_lgetxattr>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2348 ../src/guestfs-actions.pod:3830
+msgid ""
+"Normally it is better to get all extended attributes from a file in one go "
+"by calling C<guestfs_getxattrs>. However some Linux filesystem "
+"implementations are buggy and do not provide a way to list out attributes. "
+"For these filesystems (notably ntfs-3g) you have to know the names of the "
+"extended attributes you want in advance and call this function."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2358
+msgid "See also: C<guestfs_getxattrs>, C<guestfs_lgetxattr>, L<attr(5)>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2360 ../src/guestfs-actions.pod:2573
+#: ../src/guestfs-actions.pod:3047 ../src/guestfs-actions.pod:3842
+#: ../src/guestfs-actions.pod:5753 ../src/guestfs-actions.pod:5779
+#: ../src/guestfs-actions.pod:5960
+msgid ""
+"This function returns a buffer, or NULL on error. The size of the returned "
+"buffer is written to C<*size_r>. I<The caller must free the returned buffer "
+"after use>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2364 ../src/guestfs-actions.pod:3846
+msgid "(Added in 1.7.24)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2366
+msgid "guestfs_getxattrs"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2368
+#, no-wrap
+msgid ""
+" struct guestfs_xattr_list *\n"
+" guestfs_getxattrs (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2378
+msgid "See also: C<guestfs_lgetxattrs>, L<attr(5)>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2380 ../src/guestfs-actions.pod:3858
+#: ../src/guestfs-actions.pod:4546
+msgid ""
+"This function returns a C<struct guestfs_xattr_list *>, or NULL if there was "
+"an error. I<The caller must call C<guestfs_free_xattr_list> after use>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2384 ../src/guestfs-actions.pod:3862
+#: ../src/guestfs-actions.pod:4061 ../src/guestfs-actions.pod:4097
+#: ../src/guestfs-actions.pod:6133 ../src/guestfs-actions.pod:6660
+#: ../src/guestfs-actions.pod:8055
+msgid "(Added in 1.0.59)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2386
+msgid "guestfs_glob_expand"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2388
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_glob_expand (guestfs_h *g,\n"
+" const char *pattern);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:2407 ../src/guestfs-actions.pod:6853
+#: ../src/guestfs-actions.pod:6870
+msgid "(Added in 1.0.50)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2409
+msgid "guestfs_grep"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2411
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_grep (guestfs_h *g,\n"
+" const char *regex,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:2428
+msgid "guestfs_grepi"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:2430