+#. type: textblock
+#: ../src/guestfs-actions.pod:6137 ../fish/guestfish-actions.pod:4155
+msgid ""
+"This call sets the extended attribute named C<xattr> of the file C<path> to "
+"the value C<val> (of length C<vallen>). The value is arbitrary 8 bit data."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6141
+msgid "See also: C<guestfs_lsetxattr>, L<attr(5)>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6147
+msgid "guestfs_sfdisk"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6149
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_sfdisk (guestfs_h *g,\n"
+" const char *device,\n"
+" int cyls,\n"
+" int heads,\n"
+" int sectors,\n"
+" char *const *lines);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6157 ../fish/guestfish-actions.pod:4165
+msgid ""
+"This is a direct interface to the L<sfdisk(8)> program for creating "
+"partitions on block devices."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6160 ../fish/guestfish-actions.pod:4168
+msgid "C<device> should be a block device, for example C</dev/sda>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6162 ../fish/guestfish-actions.pod:4170
+msgid ""
+"C<cyls>, C<heads> and C<sectors> are the number of cylinders, heads and "
+"sectors on the device, which are passed directly to sfdisk as the I<-C>, "
+"I<-H> and I<-S> parameters. If you pass C<0> for any of these, then the "
+"corresponding parameter is omitted. Usually for 'large' disks, you can just "
+"pass C<0> for these, but for small (floppy-sized) disks, sfdisk (or rather, "
+"the kernel) cannot work out the right geometry and you will need to tell it."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6170 ../fish/guestfish-actions.pod:4178
+msgid ""
+"C<lines> is a list of lines that we feed to C<sfdisk>. For more information "
+"refer to the L<sfdisk(8)> manpage."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6173 ../fish/guestfish-actions.pod:4181
+msgid ""
+"To create a single partition occupying the whole disk, you would pass "
+"C<lines> as a single element list, when the single element being the string "
+"C<,> (comma)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6177
+msgid "See also: C<guestfs_sfdisk_l>, C<guestfs_sfdisk_N>, C<guestfs_part_init>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6185 ../src/guestfs-actions.pod:6215 ../src/guestfs-actions.pod:6248 ../fish/guestfish-actions.pod:4191 ../fish/guestfish-actions.pod:4214 ../fish/guestfish-actions.pod:4236
+msgid "This function is deprecated. In new code, use the C<part_add> call instead."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6194
+msgid "guestfs_sfdiskM"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6196
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_sfdiskM (guestfs_h *g,\n"
+" const char *device,\n"
+" char *const *lines);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6201
+msgid ""
+"This is a simplified interface to the C<guestfs_sfdisk> command, where "
+"partition sizes are specified in megabytes only (rounded to the nearest "
+"cylinder) and you don't need to specify the cyls, heads and sectors "
+"parameters which were rarely if ever used anyway."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6207
+msgid ""
+"See also: C<guestfs_sfdisk>, the L<sfdisk(8)> manpage and "
+"C<guestfs_part_disk>"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6224
+msgid "guestfs_sfdisk_N"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6226
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_sfdisk_N (guestfs_h *g,\n"
+" const char *device,\n"
+" int partnum,\n"
+" int cyls,\n"
+" int heads,\n"
+" int sectors,\n"
+" const char *line);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6235 ../fish/guestfish-actions.pod:4225
+msgid ""
+"This runs L<sfdisk(8)> option to modify just the single partition C<n> "
+"(note: C<n> counts from 1)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6238
+msgid ""
+"For other parameters, see C<guestfs_sfdisk>. You should usually pass C<0> "
+"for the cyls/heads/sectors parameters."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6241
+msgid "See also: C<guestfs_part_add>"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6257
+msgid "guestfs_sfdisk_disk_geometry"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6259
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_sfdisk_disk_geometry (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6263
+msgid ""
+"This displays the disk geometry of C<device> read from the partition table. "
+"Especially in the case where the underlying block device has been resized, "
+"this can be different from the kernel's idea of the geometry (see "
+"C<guestfs_sfdisk_kernel_geometry>)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6268 ../src/guestfs-actions.pod:6284 ../fish/guestfish-actions.pod:4252 ../fish/guestfish-actions.pod:4261
+msgid "The result is in human-readable format, and not designed to be parsed."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6276
+msgid "guestfs_sfdisk_kernel_geometry"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6278
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_sfdisk_kernel_geometry (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6282 ../fish/guestfish-actions.pod:4259
+msgid "This displays the kernel's idea of the geometry of C<device>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6292
+msgid "guestfs_sfdisk_l"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6294
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_sfdisk_l (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6298 ../fish/guestfish-actions.pod:4268
+msgid ""
+"This displays the partition table on C<device>, in the human-readable output "
+"of the L<sfdisk(8)> command. It is not intended to be parsed."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6302
+msgid "See also: C<guestfs_part_list>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6307 ../fish/guestfish-actions.pod:4274
+msgid ""
+"This function is deprecated. In new code, use the C<part_list> call "
+"instead."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6316
+msgid "guestfs_sh"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6318
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_sh (guestfs_h *g,\n"
+" const char *command);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6322 ../fish/guestfish-actions.pod:4285
+msgid ""
+"This call runs a command from the guest filesystem via the guest's "
+"C</bin/sh>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6325
+msgid "This is like C<guestfs_command>, but passes the command to:"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6327 ../fish/guestfish-actions.pod:4290
+#, no-wrap
+msgid ""
+" /bin/sh -c \"command\"\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6329 ../fish/guestfish-actions.pod:4292
+msgid ""
+"Depending on the guest's shell, this usually results in wildcards being "
+"expanded, shell expressions being interpolated and so on."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6333
+msgid "All the provisos about C<guestfs_command> apply to this call."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6340
+msgid "guestfs_sh_lines"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6342
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_sh_lines (guestfs_h *g,\n"
+" const char *command);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6346
+msgid ""
+"This is the same as C<guestfs_sh>, but splits the result into a list of "
+"lines."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6349
+msgid "See also: C<guestfs_command_lines>"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6357
+msgid "guestfs_sleep"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6359
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_sleep (guestfs_h *g,\n"
+" int secs);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6363 ../fish/guestfish-actions.pod:4311
+msgid "Sleep for C<secs> seconds."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6367
+msgid "(Added in 1.0.41)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6369 ../src/guestfs-structs.pod:109
+msgid "guestfs_stat"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6371
+#, no-wrap
+msgid ""
+" struct guestfs_stat *\n"
+" guestfs_stat (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6377 ../fish/guestfish-actions.pod:4319
+msgid "This is the same as the C<stat(2)> system call."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6385 ../src/guestfs-structs.pod:135
+msgid "guestfs_statvfs"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6387
+#, no-wrap
+msgid ""
+" struct guestfs_statvfs *\n"
+" guestfs_statvfs (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6391 ../fish/guestfish-actions.pod:4325
+msgid ""
+"Returns file system statistics for any mounted file system. C<path> should "
+"be a file or directory in the mounted file system (typically it is the mount "
+"point itself, but it doesn't need to be)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6395 ../fish/guestfish-actions.pod:4329
+msgid "This is the same as the C<statvfs(2)> system call."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6397
+msgid ""
+"This function returns a C<struct guestfs_statvfs *>, or NULL if there was an "
+"error. I<The caller must call C<guestfs_free_statvfs> after use>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6403
+msgid "guestfs_strings"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6405
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_strings (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6409 ../fish/guestfish-actions.pod:4335
+msgid ""
+"This runs the L<strings(1)> command on a file and returns the list of "
+"printable strings found."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6421
+msgid "guestfs_strings_e"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6423
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_strings_e (guestfs_h *g,\n"
+" const char *encoding,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6428
+msgid ""
+"This is like the C<guestfs_strings> command, but allows you to specify the "
+"encoding of strings that are looked for in the source file C<path>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6432 ../fish/guestfish-actions.pod:4349
+msgid "Allowed encodings are:"
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs-actions.pod:6436 ../fish/guestfish-actions.pod:4353
+msgid "s"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6438
+msgid ""
+"Single 7-bit-byte characters like ASCII and the ASCII-compatible parts of "
+"ISO-8859-X (this is what C<guestfs_strings> uses)."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs-actions.pod:6441 ../fish/guestfish-actions.pod:4358
+msgid "S"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6443 ../fish/guestfish-actions.pod:4360
+msgid "Single 8-bit-byte characters."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs-actions.pod:6445 ../fish/guestfish-actions.pod:4362
+msgid "b"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6447 ../fish/guestfish-actions.pod:4364
+msgid "16-bit big endian strings such as those encoded in UTF-16BE or UCS-2BE."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs-actions.pod:6450 ../fish/guestfish-actions.pod:4367
+msgid "l (lower case letter L)"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6452 ../fish/guestfish-actions.pod:4369
+msgid ""
+"16-bit little endian such as UTF-16LE and UCS-2LE. This is useful for "
+"examining binaries in Windows guests."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs-actions.pod:6455 ../fish/guestfish-actions.pod:4372
+msgid "B"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6457 ../fish/guestfish-actions.pod:4374
+msgid "32-bit big endian such as UCS-4BE."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs-actions.pod:6459 ../fish/guestfish-actions.pod:4376
+msgid "L"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6461 ../fish/guestfish-actions.pod:4378
+msgid "32-bit little endian such as UCS-4LE."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6465 ../fish/guestfish-actions.pod:4382
+msgid "The returned strings are transcoded to UTF-8."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6476
+msgid "guestfs_swapoff_device"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6478
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_swapoff_device (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6482
+msgid ""
+"This command disables the libguestfs appliance swap device or partition "
+"named C<device>. See C<guestfs_swapon_device>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6490
+msgid "guestfs_swapoff_file"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6492
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_swapoff_file (guestfs_h *g,\n"
+" const char *file);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6496 ../fish/guestfish-actions.pod:4399
+msgid "This command disables the libguestfs appliance swap on file."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6502
+msgid "guestfs_swapoff_label"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6504
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_swapoff_label (guestfs_h *g,\n"
+" const char *label);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6508 ../fish/guestfish-actions.pod:4405
+msgid ""
+"This command disables the libguestfs appliance swap on labeled swap "
+"partition."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6515
+msgid "guestfs_swapoff_uuid"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6517
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_swapoff_uuid (guestfs_h *g,\n"
+" const char *uuid);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6521 ../fish/guestfish-actions.pod:4412
+msgid ""
+"This command disables the libguestfs appliance swap partition with the given "
+"UUID."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6528
+msgid "guestfs_swapon_device"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6530
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_swapon_device (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6534
+msgid ""
+"This command enables the libguestfs appliance to use the swap device or "
+"partition named C<device>. The increased memory is made available for all "
+"commands, for example those run using C<guestfs_command> or C<guestfs_sh>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6539 ../fish/guestfish-actions.pod:4424
+msgid ""
+"Note that you should not swap to existing guest swap partitions unless you "
+"know what you are doing. They may contain hibernation information, or other "
+"information that the guest doesn't want you to trash. You also risk leaking "
+"information about the host to the guest this way. Instead, attach a new "
+"host device to the guest and swap on that."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6550
+msgid "guestfs_swapon_file"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6552
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_swapon_file (guestfs_h *g,\n"
+" const char *file);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6556
+msgid ""
+"This command enables swap to a file. See C<guestfs_swapon_device> for other "
+"notes."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6563
+msgid "guestfs_swapon_label"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6565
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_swapon_label (guestfs_h *g,\n"
+" const char *label);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6569
+msgid ""
+"This command enables swap to a labeled swap partition. See "
+"C<guestfs_swapon_device> for other notes."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6576
+msgid "guestfs_swapon_uuid"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6578
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_swapon_uuid (guestfs_h *g,\n"
+" const char *uuid);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6582
+msgid ""
+"This command enables swap to a swap partition with the given UUID. See "
+"C<guestfs_swapon_device> for other notes."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6589
+msgid "guestfs_sync"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6591
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_sync (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6594 ../fish/guestfish-actions.pod:4456
+msgid ""
+"This syncs the disk, so that any writes are flushed through to the "
+"underlying disk image."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6597 ../fish/guestfish-actions.pod:4459
+msgid ""
+"You should always call this if you have modified a disk image, before "
+"closing the handle."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6604
+msgid "guestfs_tail"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6606
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_tail (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6610 ../fish/guestfish-actions.pod:4466
+msgid "This command returns up to the last 10 lines of a file as a list of strings."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6622
+msgid "guestfs_tail_n"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6624
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_tail_n (guestfs_h *g,\n"
+" int nrlines,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6629 ../fish/guestfish-actions.pod:4476
+msgid ""
+"If the parameter C<nrlines> is a positive number, this returns the last "
+"C<nrlines> lines of the file C<path>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6632 ../fish/guestfish-actions.pod:4479
+msgid ""
+"If the parameter C<nrlines> is a negative number, this returns lines from "
+"the file C<path>, starting with the C<-nrlines>th line."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6646
+msgid "guestfs_tar_in"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6648
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_tar_in (guestfs_h *g,\n"
+" const char *tarfile,\n"
+" const char *directory);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6653 ../fish/guestfish-actions.pod:4491
+msgid ""
+"This command uploads and unpacks local file C<tarfile> (an I<uncompressed> "
+"tar file) into C<directory>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6656
+msgid "To upload a compressed tarball, use C<guestfs_tgz_in> or C<guestfs_txz_in>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6661 ../src/guestfs-actions.pod:6678 ../src/guestfs-actions.pod:6694 ../src/guestfs-actions.pod:6710
+msgid "(Added in 1.0.3)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6663
+msgid "guestfs_tar_out"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6665
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_tar_out (guestfs_h *g,\n"
+" const char *directory,\n"
+" const char *tarfile);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6670 ../fish/guestfish-actions.pod:4503
+msgid ""
+"This command packs the contents of C<directory> and downloads it to local "
+"file C<tarfile>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6673
+msgid ""
+"To download a compressed tarball, use C<guestfs_tgz_out> or "
+"C<guestfs_txz_out>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6680
+msgid "guestfs_tgz_in"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6682
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_tgz_in (guestfs_h *g,\n"
+" const char *tarball,\n"
+" const char *directory);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6687 ../fish/guestfish-actions.pod:4515
+msgid ""
+"This command uploads and unpacks local file C<tarball> (a I<gzip compressed> "
+"tar file) into C<directory>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6690
+msgid "To upload an uncompressed tarball, use C<guestfs_tar_in>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6696
+msgid "guestfs_tgz_out"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6698
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_tgz_out (guestfs_h *g,\n"
+" const char *directory,\n"
+" const char *tarball);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6703 ../fish/guestfish-actions.pod:4526
+msgid ""
+"This command packs the contents of C<directory> and downloads it to local "
+"file C<tarball>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6706
+msgid "To download an uncompressed tarball, use C<guestfs_tar_out>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6712
+msgid "guestfs_touch"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6714
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_touch (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6718 ../fish/guestfish-actions.pod:4537
+msgid ""
+"Touch acts like the L<touch(1)> command. It can be used to update the "
+"timestamps on a file, or, if the file does not exist, to create a new "
+"zero-length file."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6722 ../fish/guestfish-actions.pod:4541
+msgid ""
+"This command only works on regular files, and will fail on other file types "
+"such as directories, symbolic links, block special etc."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6729
+msgid "guestfs_truncate"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6731
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_truncate (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6735 ../fish/guestfish-actions.pod:4548
+msgid ""
+"This command truncates C<path> to a zero-length file. The file must exist "
+"already."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6742
+msgid "guestfs_truncate_size"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6744
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_truncate_size (guestfs_h *g,\n"
+" const char *path,\n"
+" int64_t size);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6749 ../fish/guestfish-actions.pod:4555
+msgid ""
+"This command truncates C<path> to size C<size> bytes. The file must exist "
+"already."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6752
+msgid ""
+"If the current file size is less than C<size> then the file is extended to "
+"the required size with zero bytes. This creates a sparse file (ie. disk "
+"blocks are not allocated for the file until you write to it). To create a "
+"non-sparse file of zeroes, use C<guestfs_fallocate64> instead."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6762
+msgid "guestfs_tune2fs_l"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6764
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_tune2fs_l (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6768 ../fish/guestfish-actions.pod:4568
+msgid ""
+"This returns the contents of the ext2, ext3 or ext4 filesystem superblock on "
+"C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6771 ../fish/guestfish-actions.pod:4571
+msgid ""
+"It is the same as running C<tune2fs -l device>. See L<tune2fs(8)> manpage "
+"for more details. The list of fields returned isn't clearly defined, and "
+"depends on both the version of C<tune2fs> that libguestfs was built against, "
+"and the filesystem itself."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6784
+msgid "guestfs_txz_in"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6786
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_txz_in (guestfs_h *g,\n"
+" const char *tarball,\n"
+" const char *directory);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6791 ../fish/guestfish-actions.pod:4580
+msgid ""
+"This command uploads and unpacks local file C<tarball> (an I<xz compressed> "
+"tar file) into C<directory>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6798
+msgid "guestfs_txz_out"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6800
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_txz_out (guestfs_h *g,\n"
+" const char *directory,\n"
+" const char *tarball);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6805 ../fish/guestfish-actions.pod:4589
+msgid ""
+"This command packs the contents of C<directory> and downloads it to local "
+"file C<tarball> (as an xz compressed tar archive)."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6812
+msgid "guestfs_umask"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6814
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_umask (guestfs_h *g,\n"
+" int mask);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6818 ../fish/guestfish-actions.pod:4598
+msgid ""
+"This function sets the mask used for creating new files and device nodes to "
+"C<mask & 0777>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6821 ../fish/guestfish-actions.pod:4601
+msgid ""
+"Typical umask values would be C<022> which creates new files with "
+"permissions like \"-rw-r--r--\" or \"-rwxr-xr-x\", and C<002> which creates "
+"new files with permissions like \"-rw-rw-r--\" or \"-rwxrwxr-x\"."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6826 ../fish/guestfish-actions.pod:4606
+msgid ""
+"The default umask is C<022>. This is important because it means that "
+"directories and device nodes will be created with C<0644> or C<0755> mode "
+"even if you specify C<0777>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6830
+msgid ""
+"See also C<guestfs_get_umask>, L<umask(2)>, C<guestfs_mknod>, "
+"C<guestfs_mkdir>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6833 ../fish/guestfish-actions.pod:4613
+msgid "This call returns the previous umask."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6839
+msgid "guestfs_umount"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6841
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_umount (guestfs_h *g,\n"
+" const char *pathordevice);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6845 ../fish/guestfish-actions.pod:4621
+msgid ""
+"This unmounts the given filesystem. The filesystem may be specified either "
+"by its mountpoint (path) or the device which contains the filesystem."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6853
+msgid "guestfs_umount_all"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6855
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_umount_all (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6858 ../fish/guestfish-actions.pod:4631
+msgid "This unmounts all mounted filesystems."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6860 ../fish/guestfish-actions.pod:4633
+msgid "Some internal mounts are not unmounted by this call."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6866
+msgid "guestfs_upload"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6868
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_upload (guestfs_h *g,\n"
+" const char *filename,\n"
+" const char *remotefilename);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6873 ../src/guestfs-actions.pod:6897 ../fish/guestfish-actions.pod:4639 ../fish/guestfish-actions.pod:4652
+msgid "Upload local file C<filename> to C<remotefilename> on the filesystem."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6878
+msgid "See also C<guestfs_download>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6889
+msgid "guestfs_upload_offset"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6891
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_upload_offset (guestfs_h *g,\n"
+" const char *filename,\n"
+" const char *remotefilename,\n"
+" int64_t offset);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6900 ../fish/guestfish-actions.pod:4655
+msgid ""
+"C<remotefilename> is overwritten starting at the byte C<offset> specified. "
+"The intention is to overwrite parts of existing files or devices, although "
+"if a non-existant file is specified then it is created with a \"hole\" "
+"before C<offset>. The size of the data written is implicit in the size of "
+"the source C<filename>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6907
+msgid ""
+"Note that there is no limit on the amount of data that can be uploaded with "
+"this call, unlike with C<guestfs_pwrite>, and this call always writes the "
+"full amount unless an error occurs."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6912
+msgid "See also C<guestfs_upload>, C<guestfs_pwrite>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6923
+msgid "guestfs_utimens"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6925
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_utimens (guestfs_h *g,\n"
+" const char *path,\n"
+" int64_t atsecs,\n"
+" int64_t atnsecs,\n"
+" int64_t mtsecs,\n"
+" int64_t mtnsecs);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6933 ../fish/guestfish-actions.pod:4675
+msgid "This command sets the timestamps of a file with nanosecond precision."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6936 ../fish/guestfish-actions.pod:4678
+msgid ""
+"C<atsecs, atnsecs> are the last access time (atime) in secs and nanoseconds "
+"from the epoch."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6939 ../fish/guestfish-actions.pod:4681
+msgid ""
+"C<mtsecs, mtnsecs> are the last modification time (mtime) in secs and "
+"nanoseconds from the epoch."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6942 ../fish/guestfish-actions.pod:4684
+msgid ""
+"If the C<*nsecs> field contains the special value C<-1> then the "
+"corresponding timestamp is set to the current time. (The C<*secs> field is "
+"ignored in this case)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6946 ../fish/guestfish-actions.pod:4688
+msgid ""
+"If the C<*nsecs> field contains the special value C<-2> then the "
+"corresponding timestamp is left unchanged. (The C<*secs> field is ignored "
+"in this case)."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6954 ../src/guestfs-structs.pod:175
+msgid "guestfs_version"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6956
+#, no-wrap
+msgid ""
+" struct guestfs_version *\n"
+" guestfs_version (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6959 ../fish/guestfish-actions.pod:4696
+msgid "Return the libguestfs version number that the program is linked against."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6962 ../fish/guestfish-actions.pod:4699
+msgid ""
+"Note that because of dynamic linking this is not necessarily the version of "
+"libguestfs that you compiled against. You can compile the program, and then "
+"at runtime dynamically link against a completely different C<libguestfs.so> "
+"library."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6967 ../fish/guestfish-actions.pod:4704
+msgid ""
+"This call was added in version C<1.0.58>. In previous versions of "
+"libguestfs there was no way to get the version number. From C code you can "
+"use dynamic linker functions to find out if this symbol exists (if it "
+"doesn't, then it's an earlier version)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6973 ../fish/guestfish-actions.pod:4710
+msgid ""
+"The call returns a structure with four elements. The first three (C<major>, "
+"C<minor> and C<release>) are numbers and correspond to the usual version "
+"triplet. The fourth element (C<extra>) is a string and is normally empty, "
+"but may be used for distro-specific information."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6979 ../fish/guestfish-actions.pod:4716
+msgid "To construct the original version string: C<$major.$minor.$release$extra>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6982 ../fish/guestfish-actions.pod:4719
+msgid "See also: L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6984
+msgid ""
+"I<Note:> Don't use this call to test for availability of features. In "
+"enterprise distributions we backport features from later versions into "
+"earlier versions, making this an unreliable way to test for features. Use "
+"C<guestfs_available> instead."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6990
+msgid ""
+"This function returns a C<struct guestfs_version *>, or NULL if there was an "
+"error. I<The caller must call C<guestfs_free_version> after use>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6994
+msgid "(Added in 1.0.58)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6996
+msgid "guestfs_vfs_label"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6998
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_vfs_label (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7002 ../fish/guestfish-actions.pod:4731
+msgid "This returns the filesystem label of the filesystem on C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7005 ../fish/guestfish-actions.pod:4734
+msgid "If the filesystem is unlabeled, this returns the empty string."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7007
+msgid "To find a filesystem from the label, use C<guestfs_findfs_label>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7012 ../src/guestfs-actions.pod:7049
+msgid "(Added in 1.3.18)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7014
+msgid "guestfs_vfs_type"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7016
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_vfs_type (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7020 ../fish/guestfish-actions.pod:4742
+msgid ""
+"This command gets the filesystem type corresponding to the filesystem on "
+"C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7023 ../fish/guestfish-actions.pod:4745
+msgid ""
+"For most filesystems, the result is the name of the Linux VFS module which "
+"would be used to mount this filesystem if you mounted it without specifying "
+"the filesystem type. For example a string such as C<ext3> or C<ntfs>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7033
+msgid "guestfs_vfs_uuid"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7035
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_vfs_uuid (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7039 ../fish/guestfish-actions.pod:4754
+msgid "This returns the filesystem UUID of the filesystem on C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7042 ../fish/guestfish-actions.pod:4757
+msgid "If the filesystem does not have a UUID, this returns the empty string."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7044
+msgid "To find a filesystem from the UUID, use C<guestfs_findfs_uuid>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7051
+msgid "guestfs_vg_activate"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7053
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vg_activate (guestfs_h *g,\n"
+" int activate,\n"
+" char *const *volgroups);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7058 ../fish/guestfish-actions.pod:4765
+msgid ""
+"This command activates or (if C<activate> is false) deactivates all logical "
+"volumes in the listed volume groups C<volgroups>. If activated, then they "
+"are made known to the kernel, ie. they appear as C</dev/mapper> devices. If "
+"deactivated, then those devices disappear."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7064 ../fish/guestfish-actions.pod:4771
+msgid "This command is the same as running C<vgchange -a y|n volgroups...>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7066 ../fish/guestfish-actions.pod:4773
+msgid ""
+"Note that if C<volgroups> is an empty list then B<all> volume groups are "
+"activated or deactivated."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7073
+msgid "guestfs_vg_activate_all"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7075
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vg_activate_all (guestfs_h *g,\n"
+" int activate);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7079 ../fish/guestfish-actions.pod:4780
+msgid ""
+"This command activates or (if C<activate> is false) deactivates all logical "
+"volumes in all volume groups. If activated, then they are made known to the "
+"kernel, ie. they appear as C</dev/mapper> devices. If deactivated, then "
+"those devices disappear."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7085 ../fish/guestfish-actions.pod:4786
+msgid "This command is the same as running C<vgchange -a y|n>"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7091
+msgid "guestfs_vgcreate"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7093
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vgcreate (guestfs_h *g,\n"
+" const char *volgroup,\n"
+" char *const *physvols);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7098 ../fish/guestfish-actions.pod:4792
+msgid ""
+"This creates an LVM volume group called C<volgroup> from the non-empty list "
+"of physical volumes C<physvols>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7105
+msgid "guestfs_vglvuuids"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7107
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_vglvuuids (guestfs_h *g,\n"
+" const char *vgname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7111 ../fish/guestfish-actions.pod:4799
+msgid ""
+"Given a VG called C<vgname>, this returns the UUIDs of all the logical "
+"volumes created in this volume group."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7114
+msgid ""
+"You can use this along with C<guestfs_lvs> and C<guestfs_lvuuid> calls to "
+"associate logical volumes and volume groups."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7117
+msgid "See also C<guestfs_vgpvuuids>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7125
+msgid "guestfs_vgpvuuids"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7127
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_vgpvuuids (guestfs_h *g,\n"
+" const char *vgname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7131 ../fish/guestfish-actions.pod:4811
+msgid ""
+"Given a VG called C<vgname>, this returns the UUIDs of all the physical "
+"volumes that this volume group resides on."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7134
+msgid ""
+"You can use this along with C<guestfs_pvs> and C<guestfs_pvuuid> calls to "
+"associate physical volumes and volume groups."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7137
+msgid "See also C<guestfs_vglvuuids>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7145
+msgid "guestfs_vgremove"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7147
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vgremove (guestfs_h *g,\n"
+" const char *vgname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7151 ../fish/guestfish-actions.pod:4823
+msgid "Remove an LVM volume group C<vgname>, (for example C<VG>)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7153 ../fish/guestfish-actions.pod:4825
+msgid "This also forcibly removes all logical volumes in the volume group (if any)."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7160
+msgid "guestfs_vgrename"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7162
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vgrename (guestfs_h *g,\n"
+" const char *volgroup,\n"
+" const char *newvolgroup);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7167 ../fish/guestfish-actions.pod:4832
+msgid "Rename a volume group C<volgroup> with the new name C<newvolgroup>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7173
+msgid "guestfs_vgs"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7175
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_vgs (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7178 ../fish/guestfish-actions.pod:4838
+msgid ""
+"List all the volumes groups detected. This is the equivalent of the "
+"L<vgs(8)> command."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7181 ../fish/guestfish-actions.pod:4841
+msgid ""
+"This returns a list of just the volume group names that were detected "
+"(eg. C<VolGroup00>)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7184
+msgid "See also C<guestfs_vgs_full>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7192
+msgid "guestfs_vgs_full"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7194
+#, no-wrap
+msgid ""
+" struct guestfs_lvm_vg_list *\n"
+" guestfs_vgs_full (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7197 ../fish/guestfish-actions.pod:4850
+msgid ""
+"List all the volumes groups detected. This is the equivalent of the "
+"L<vgs(8)> command. The \"full\" version includes all fields."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7200
+msgid ""
+"This function returns a C<struct guestfs_lvm_vg_list *>, or NULL if there "
+"was an error. I<The caller must call C<guestfs_free_lvm_vg_list> after "
+"use>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7206
+msgid "guestfs_vgscan"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7208
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vgscan (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7211 ../fish/guestfish-actions.pod:4857
+msgid ""
+"This rescans all block devices and rebuilds the list of LVM physical "
+"volumes, volume groups and logical volumes."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7218
+msgid "guestfs_vguuid"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7220
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_vguuid (guestfs_h *g,\n"
+" const char *vgname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7224 ../fish/guestfish-actions.pod:4864
+msgid "This command returns the UUID of the LVM VG named C<vgname>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7231
+msgid "guestfs_wait_ready"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7233
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_wait_ready (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7236
+msgid "This function is a no op."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7238
+msgid ""
+"In versions of the API E<lt> 1.0.71 you had to call this function just after "
+"calling C<guestfs_launch> to wait for the launch to complete. However this "
+"is no longer necessary because C<guestfs_launch> now does the waiting."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7243
+msgid ""
+"If you see any calls to this function in code then you can just remove them, "
+"unless you want to retain compatibility with older versions of the API."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7249
+msgid "This function is deprecated. In new code, use the C<launch> call instead."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7258
+msgid "guestfs_wc_c"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7260
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_wc_c (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7264 ../fish/guestfish-actions.pod:4870
+msgid ""
+"This command counts the characters in a file, using the C<wc -c> external "
+"command."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7271
+msgid "guestfs_wc_l"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7273
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_wc_l (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7277 ../fish/guestfish-actions.pod:4877
+msgid ""
+"This command counts the lines in a file, using the C<wc -l> external "
+"command."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7284
+msgid "guestfs_wc_w"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7286
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_wc_w (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7290 ../fish/guestfish-actions.pod:4884
+msgid ""
+"This command counts the words in a file, using the C<wc -w> external "
+"command."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7297
+msgid "guestfs_write"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7299
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_write (guestfs_h *g,\n"
+" const char *path,\n"
+" const char *content,\n"
+" size_t content_size);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7305 ../fish/guestfish-actions.pod:4891
+msgid ""
+"This call creates a file called C<path>. The content of the file is the "
+"string C<content> (which can contain any 8 bit data)."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7315
+msgid "guestfs_write_file"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7317
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_write_file (guestfs_h *g,\n"
+" const char *path,\n"
+" const char *content,\n"
+" int size);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7323 ../fish/guestfish-actions.pod:4901
+msgid ""
+"This call creates a file called C<path>. The contents of the file is the "
+"string C<content> (which can contain any 8 bit data), with length C<size>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7327 ../fish/guestfish-actions.pod:4905
+msgid ""
+"As a special case, if C<size> is C<0> then the length is calculated using "
+"C<strlen> (so in this case the content cannot contain embedded ASCII NULs)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7331 ../fish/guestfish-actions.pod:4909
+msgid ""
+"I<NB.> Owing to a bug, writing content containing ASCII NUL characters does "
+"I<not> work, even if the length is specified."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7339 ../fish/guestfish-actions.pod:4915
+msgid "This function is deprecated. In new code, use the C<write> call instead."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7348
+msgid "guestfs_zegrep"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7350
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_zegrep (guestfs_h *g,\n"
+" const char *regex,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7355 ../fish/guestfish-actions.pod:4926
+msgid "This calls the external C<zegrep> program and returns the matching lines."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7367
+msgid "guestfs_zegrepi"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7369
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_zegrepi (guestfs_h *g,\n"
+" const char *regex,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7374 ../fish/guestfish-actions.pod:4936
+msgid "This calls the external C<zegrep -i> program and returns the matching lines."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7386
+msgid "guestfs_zero"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7388
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_zero (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7392 ../fish/guestfish-actions.pod:4946
+msgid "This command writes zeroes over the first few blocks of C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7394 ../fish/guestfish-actions.pod:4948
+msgid ""
+"How many blocks are zeroed isn't specified (but it's I<not> enough to "
+"securely wipe the device). It should be sufficient to remove any partition "
+"tables, filesystem superblocks and so on."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7398
+msgid ""
+"See also: C<guestfs_zero_device>, C<guestfs_scrub_device>, "
+"C<guestfs_is_zero_device>"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7410
+msgid "guestfs_zero_device"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7412
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_zero_device (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7416
+msgid ""
+"This command writes zeroes over the entire C<device>. Compare with "
+"C<guestfs_zero> which just zeroes the first few blocks of a device."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7430
+msgid "(Added in 1.3.1)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7432
+msgid "guestfs_zerofree"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7434
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_zerofree (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7438 ../fish/guestfish-actions.pod:4970