+" 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:6913 ../fish/guestfish-actions.pod:4664
+msgid "This command sets the timestamps of a file with nanosecond precision."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6916 ../fish/guestfish-actions.pod:4667
+msgid ""
+"C<atsecs, atnsecs> are the last access time (atime) in secs and nanoseconds "
+"from the epoch."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6919 ../fish/guestfish-actions.pod:4670
+msgid ""
+"C<mtsecs, mtnsecs> are the last modification time (mtime) in secs and "
+"nanoseconds from the epoch."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6922 ../fish/guestfish-actions.pod:4673
+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:6926 ../fish/guestfish-actions.pod:4677
+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:6934 ../src/guestfs-structs.pod:175
+msgid "guestfs_version"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6936
+#, no-wrap
+msgid ""
+" struct guestfs_version *\n"
+" guestfs_version (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6939 ../fish/guestfish-actions.pod:4685
+msgid "Return the libguestfs version number that the program is linked against."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6942 ../fish/guestfish-actions.pod:4688
+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:6947 ../fish/guestfish-actions.pod:4693
+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:6953 ../fish/guestfish-actions.pod:4699
+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:6959 ../fish/guestfish-actions.pod:4705
+msgid "To construct the original version string: C<$major.$minor.$release$extra>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6962 ../fish/guestfish-actions.pod:4708
+msgid "See also: L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6964
+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:6970
+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:6974
+msgid "(Added in 1.0.58)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6976
+msgid "guestfs_vfs_label"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6978
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_vfs_label (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6982 ../fish/guestfish-actions.pod:4720
+msgid "This returns the filesystem label of the filesystem on C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6985 ../fish/guestfish-actions.pod:4723
+msgid "If the filesystem is unlabeled, this returns the empty string."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6987
+msgid "To find a filesystem from the label, use C<guestfs_findfs_label>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:6992 ../src/guestfs-actions.pod:7029
+msgid "(Added in 1.3.18)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:6994
+msgid "guestfs_vfs_type"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:6996
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_vfs_type (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7000 ../fish/guestfish-actions.pod:4731
+msgid ""
+"This command gets the filesystem type corresponding to the filesystem on "
+"C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7003 ../fish/guestfish-actions.pod:4734
+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:7013
+msgid "guestfs_vfs_uuid"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7015
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_vfs_uuid (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7019 ../fish/guestfish-actions.pod:4743
+msgid "This returns the filesystem UUID of the filesystem on C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7022 ../fish/guestfish-actions.pod:4746
+msgid "If the filesystem does not have a UUID, this returns the empty string."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7024
+msgid "To find a filesystem from the UUID, use C<guestfs_findfs_uuid>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7031
+msgid "guestfs_vg_activate"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7033
+#, 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:7038 ../fish/guestfish-actions.pod:4754
+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:7044 ../fish/guestfish-actions.pod:4760
+msgid "This command is the same as running C<vgchange -a y|n volgroups...>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7046 ../fish/guestfish-actions.pod:4762
+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:7053
+msgid "guestfs_vg_activate_all"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7055
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vg_activate_all (guestfs_h *g,\n"
+" int activate);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7059 ../fish/guestfish-actions.pod:4769
+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:7065 ../fish/guestfish-actions.pod:4775
+msgid "This command is the same as running C<vgchange -a y|n>"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7071
+msgid "guestfs_vgcreate"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7073
+#, 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:7078 ../fish/guestfish-actions.pod:4781
+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:7085
+msgid "guestfs_vglvuuids"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7087
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_vglvuuids (guestfs_h *g,\n"
+" const char *vgname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7091 ../fish/guestfish-actions.pod:4788
+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:7094
+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:7097
+msgid "See also C<guestfs_vgpvuuids>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7105
+msgid "guestfs_vgpvuuids"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7107
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_vgpvuuids (guestfs_h *g,\n"
+" const char *vgname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7111 ../fish/guestfish-actions.pod:4800
+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:7114
+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:7117
+msgid "See also C<guestfs_vglvuuids>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7125
+msgid "guestfs_vgremove"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7127
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vgremove (guestfs_h *g,\n"
+" const char *vgname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7131 ../fish/guestfish-actions.pod:4812
+msgid "Remove an LVM volume group C<vgname>, (for example C<VG>)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7133 ../fish/guestfish-actions.pod:4814
+msgid "This also forcibly removes all logical volumes in the volume group (if any)."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7140
+msgid "guestfs_vgrename"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7142
+#, 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:7147 ../fish/guestfish-actions.pod:4821
+msgid "Rename a volume group C<volgroup> with the new name C<newvolgroup>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7153
+msgid "guestfs_vgs"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7155
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_vgs (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7158 ../fish/guestfish-actions.pod:4827
+msgid ""
+"List all the volumes groups detected. This is the equivalent of the "
+"L<vgs(8)> command."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7161 ../fish/guestfish-actions.pod:4830
+msgid ""
+"This returns a list of just the volume group names that were detected "
+"(eg. C<VolGroup00>)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7164
+msgid "See also C<guestfs_vgs_full>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7172
+msgid "guestfs_vgs_full"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7174
+#, no-wrap
+msgid ""
+" struct guestfs_lvm_vg_list *\n"
+" guestfs_vgs_full (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7177 ../fish/guestfish-actions.pod:4839
+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:7180
+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:7186
+msgid "guestfs_vgscan"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7188
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_vgscan (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7191 ../fish/guestfish-actions.pod:4846
+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:7198
+msgid "guestfs_vguuid"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7200
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_vguuid (guestfs_h *g,\n"
+" const char *vgname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7204 ../fish/guestfish-actions.pod:4853
+msgid "This command returns the UUID of the LVM VG named C<vgname>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7211
+msgid "guestfs_wait_ready"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7213
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_wait_ready (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7216
+msgid "This function is a no op."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7218
+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:7223
+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:7229
+msgid "This function is deprecated. In new code, use the C<launch> call instead."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7238
+msgid "guestfs_wc_c"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7240
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_wc_c (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7244 ../fish/guestfish-actions.pod:4859
+msgid ""
+"This command counts the characters in a file, using the C<wc -c> external "
+"command."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7251
+msgid "guestfs_wc_l"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7253
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_wc_l (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7257 ../fish/guestfish-actions.pod:4866
+msgid ""
+"This command counts the lines in a file, using the C<wc -l> external "
+"command."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7264
+msgid "guestfs_wc_w"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7266
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_wc_w (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:7270 ../fish/guestfish-actions.pod:4873
+msgid ""
+"This command counts the words in a file, using the C<wc -w> external "
+"command."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:7277
+msgid "guestfs_write"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7279
+#, 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:7285 ../fish/guestfish-actions.pod:4880
+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:7295
+msgid "guestfs_write_file"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:7297
+#, 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:7303 ../fish/guestfish-actions.pod:4890
+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>."