+#. type: verbatim
+#: ../src/guestfs-actions.pod:3264
+#, no-wrap
+msgid ""
+" struct guestfs_application_list *\n"
+" guestfs_inspect_list_applications (guestfs_h *g,\n"
+" const char *root);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3268 ../fish/guestfish-actions.pod:2218
+msgid "Return the list of applications installed in the operating system."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3270
+msgid ""
+"I<Note:> This call works differently from other parts of the inspection "
+"API. You have to call C<guestfs_inspect_os>, then "
+"C<guestfs_inspect_get_mountpoints>, then mount up the disks, before calling "
+"this. Listing applications is a significantly more difficult operation "
+"which requires access to the full filesystem. Also note that unlike the "
+"other C<guestfs_inspect_get_*> calls which are just returning data cached in "
+"the libguestfs handle, this call actually reads parts of the mounted "
+"filesystems during the call."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3280 ../fish/guestfish-actions.pod:2230
+msgid ""
+"This returns an empty list if the inspection code was not able to determine "
+"the list of applications."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3283 ../fish/guestfish-actions.pod:2233
+msgid "The application structure contains the following fields:"
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs-actions.pod:3287 ../fish/guestfish-actions.pod:2237
+msgid "C<app_name>"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3289 ../fish/guestfish-actions.pod:2239
+msgid ""
+"The name of the application. For Red Hat-derived and Debian-derived Linux "
+"guests, this is the package name."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs-actions.pod:3292 ../fish/guestfish-actions.pod:2242
+msgid "C<app_display_name>"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3294 ../fish/guestfish-actions.pod:2244
+msgid ""
+"The display name of the application, sometimes localized to the install "
+"language of the guest operating system."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3297 ../fish/guestfish-actions.pod:2247
+msgid ""
+"If unavailable this is returned as an empty string C<\"\">. Callers needing "
+"to display something can use C<app_name> instead."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs-actions.pod:3300 ../fish/guestfish-actions.pod:2250
+msgid "C<app_epoch>"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3302 ../fish/guestfish-actions.pod:2252
+msgid ""
+"For package managers which use epochs, this contains the epoch of the "
+"package (an integer). If unavailable, this is returned as C<0>."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs-actions.pod:3305 ../fish/guestfish-actions.pod:2255
+msgid "C<app_version>"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3307 ../fish/guestfish-actions.pod:2257
+msgid ""
+"The version string of the application or package. If unavailable this is "
+"returned as an empty string C<\"\">."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs-actions.pod:3310 ../fish/guestfish-actions.pod:2260
+msgid "C<app_release>"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3312 ../fish/guestfish-actions.pod:2262
+msgid ""
+"The release string of the application or package, for package managers that "
+"use this. If unavailable this is returned as an empty string C<\"\">."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs-actions.pod:3316 ../fish/guestfish-actions.pod:2266
+msgid "C<app_install_path>"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3318 ../fish/guestfish-actions.pod:2268
+msgid ""
+"The installation path of the application (on operating systems such as "
+"Windows which use installation paths). This path is in the format used by "
+"the guest operating system, it is not a libguestfs path."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3323 ../fish/guestfish-actions.pod:2273
+msgid "If unavailable this is returned as an empty string C<\"\">."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs-actions.pod:3325 ../fish/guestfish-actions.pod:2275
+msgid "C<app_trans_path>"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3327 ../fish/guestfish-actions.pod:2277
+msgid ""
+"The install path translated into a libguestfs path. If unavailable this is "
+"returned as an empty string C<\"\">."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs-actions.pod:3330 ../fish/guestfish-actions.pod:2280
+msgid "C<app_publisher>"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3332 ../fish/guestfish-actions.pod:2282
+msgid ""
+"The name of the publisher of the application, for package managers that use "
+"this. If unavailable this is returned as an empty string C<\"\">."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs-actions.pod:3336 ../fish/guestfish-actions.pod:2286
+msgid "C<app_url>"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3338 ../fish/guestfish-actions.pod:2288
+msgid ""
+"The URL (eg. upstream URL) of the application. If unavailable this is "
+"returned as an empty string C<\"\">."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs-actions.pod:3341 ../fish/guestfish-actions.pod:2291
+msgid "C<app_source_package>"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3343 ../fish/guestfish-actions.pod:2293
+msgid ""
+"For packaging systems which support this, the name of the source package. "
+"If unavailable this is returned as an empty string C<\"\">."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs-actions.pod:3346 ../fish/guestfish-actions.pod:2296
+msgid "C<app_summary>"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3348 ../fish/guestfish-actions.pod:2298
+msgid ""
+"A short (usually one line) description of the application or package. If "
+"unavailable this is returned as an empty string C<\"\">."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs-actions.pod:3351 ../fish/guestfish-actions.pod:2301
+msgid "C<app_description>"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3353 ../fish/guestfish-actions.pod:2303
+msgid ""
+"A longer description of the application or package. If unavailable this is "
+"returned as an empty string C<\"\">."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3360
+msgid ""
+"This function returns a C<struct guestfs_application_list *>, or NULL if "
+"there was an error. I<The caller must call C<guestfs_free_application_list> "
+"after use>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3364
+msgid "(Added in 1.7.8)"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3366
+msgid "guestfs_inspect_os"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3368
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_inspect_os (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3371 ../fish/guestfish-actions.pod:2314
+msgid ""
+"This function uses other libguestfs functions and certain heuristics to "
+"inspect the disk(s) (usually disks belonging to a virtual machine), looking "
+"for operating systems."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3375 ../fish/guestfish-actions.pod:2318
+msgid "The list returned is empty if no operating systems were found."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3377 ../fish/guestfish-actions.pod:2320
+msgid ""
+"If one operating system was found, then this returns a list with a single "
+"element, which is the name of the root filesystem of this operating system. "
+"It is also possible for this function to return a list containing more than "
+"one element, indicating a dual-boot or multi-boot virtual machine, with each "
+"element being the root filesystem of one of the operating systems."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3384
+msgid ""
+"You can pass the root string(s) returned to other C<guestfs_inspect_get_*> "
+"functions in order to query further information about each operating system, "
+"such as the name and version."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3389
+msgid ""
+"This function uses other libguestfs features such as C<guestfs_mount_ro> and "
+"C<guestfs_umount_all> in order to mount and unmount filesystems and look at "
+"the contents. This should be called with no disks currently mounted. The "
+"function may also use Augeas, so any existing Augeas handle will be closed."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3395 ../fish/guestfish-actions.pod:2338
+msgid ""
+"This function cannot decrypt encrypted disks. The caller must do that first "
+"(supplying the necessary keys) if the disk is encrypted."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3401 ../src/guestfs-actions.pod:3732
+#: ../src/guestfs-actions.pod:3814
+msgid "See also C<guestfs_list_filesystems>."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3409
+msgid "guestfs_is_blockdev"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3411
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_blockdev (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3415 ../fish/guestfish-actions.pod:2350
+msgid ""
+"This returns C<true> if and only if there is a block device with the given "
+"C<path> name."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3418 ../src/guestfs-actions.pod:3447
+#: ../src/guestfs-actions.pod:3477 ../src/guestfs-actions.pod:3492
+#: ../src/guestfs-actions.pod:3508 ../src/guestfs-actions.pod:3564
+#: ../src/guestfs-actions.pod:3579
+msgid "See also C<guestfs_stat>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3422 ../src/guestfs-actions.pod:3451
+#: ../src/guestfs-actions.pod:3496 ../src/guestfs-actions.pod:3568
+#: ../src/guestfs-actions.pod:3583
+msgid "(Added in 1.5.10)"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3424
+msgid "guestfs_is_busy"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3426
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_busy (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3429 ../fish/guestfish-actions.pod:2359
+msgid ""
+"This returns true iff this handle is busy processing a command (in the "
+"C<BUSY> state)."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3438
+msgid "guestfs_is_chardev"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3440
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_chardev (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3444 ../fish/guestfish-actions.pod:2368
+msgid ""
+"This returns C<true> if and only if there is a character device with the "
+"given C<path> name."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3453
+msgid "guestfs_is_config"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3455
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_config (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3458 ../fish/guestfish-actions.pod:2377
+msgid ""
+"This returns true iff this handle is being configured (in the C<CONFIG> "
+"state)."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3467
+msgid "guestfs_is_dir"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3469
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_dir (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3473 ../fish/guestfish-actions.pod:2386
+msgid ""
+"This returns C<true> if and only if there is a directory with the given "
+"C<path> name. Note that it returns false for other objects like files."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3483
+msgid "guestfs_is_fifo"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3485
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_fifo (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3489 ../fish/guestfish-actions.pod:2396
+msgid ""
+"This returns C<true> if and only if there is a FIFO (named pipe) with the "
+"given C<path> name."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3498
+msgid "guestfs_is_file"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3500
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_file (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3504 ../fish/guestfish-actions.pod:2405
+msgid ""
+"This returns C<true> if and only if there is a regular file with the given "
+"C<path> name. Note that it returns false for other objects like directories."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3514
+msgid "guestfs_is_launching"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3516
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_launching (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3519 ../fish/guestfish-actions.pod:2415
+msgid ""
+"This returns true iff this handle is launching the subprocess (in the "
+"C<LAUNCHING> state)."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3528
+msgid "guestfs_is_lv"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3530
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_lv (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3534 ../fish/guestfish-actions.pod:2424
+msgid ""
+"This command tests whether C<device> is a logical volume, and returns true "
+"iff this is the case."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3541
+msgid "guestfs_is_ready"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3543
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_ready (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3546 ../fish/guestfish-actions.pod:2431
+msgid ""
+"This returns true iff this handle is ready to accept commands (in the "
+"C<READY> state)."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3555
+msgid "guestfs_is_socket"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3557
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_socket (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3561 ../fish/guestfish-actions.pod:2440
+msgid ""
+"This returns C<true> if and only if there is a Unix domain socket with the "
+"given C<path> name."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3570
+msgid "guestfs_is_symlink"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3572
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_symlink (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3576 ../fish/guestfish-actions.pod:2449
+msgid ""
+"This returns C<true> if and only if there is a symbolic link with the given "
+"C<path> name."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:3585
+msgid "guestfs_is_zero"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3587
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_zero (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:3591 ../fish/guestfish-actions.pod:2458
+msgid ""
+"This returns true iff the file exists and the file is empty or it contains "
+"all zero bytes."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:3596 ../src/guestfs-actions.pod:3610
+msgid "(Added in 1.11.8)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:3598
+msgid "guestfs_is_zero_device"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3600
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_is_zero_device (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:3604 ../fish/guestfish-actions.pod:2465
+msgid "This returns true iff the device exists and contains all zero bytes."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:3606 ../fish/guestfish-actions.pod:2467
+msgid "Note that for large devices this can take a long time to run."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3612
+msgid "guestfs_kill_subprocess"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3614
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_kill_subprocess (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3617 ../fish/guestfish-actions.pod:2473
+msgid "This kills the qemu subprocess. You should never need to call this."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3623
+msgid "guestfs_launch"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3625
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_launch (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3628 ../fish/guestfish-actions.pod:2481
+msgid ""
+"Internally libguestfs is implemented by running a virtual machine using "
+"L<qemu(1)>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3631 ../fish/guestfish-actions.pod:2484
+msgid ""
+"You should call this after configuring the handle (eg. adding drives) but "
+"before performing any actions."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3643
+msgid "guestfs_lchown"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3645
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_lchown (guestfs_h *g,\n"
+" int owner,\n"
+" int group,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3651
+msgid ""
+"Change the file owner to C<owner> and group to C<group>. This is like "
+"C<guestfs_chown> but if C<path> is a symlink then the link itself is "
+"changed, not the target."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3663
+msgid "guestfs_lgetxattr"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3665
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_lgetxattr (guestfs_h *g,\n"
+" const char *path,\n"
+" const char *name,\n"
+" size_t *size_r);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3671 ../fish/guestfish-actions.pod:2503
+msgid ""
+"Get a single extended attribute from file C<path> named C<name>. If C<path> "
+"is a symlink, then this call returns an extended attribute from the symlink."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3685
+msgid "See also: C<guestfs_lgetxattrs>, C<guestfs_getxattr>, L<attr(5)>."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3693
+msgid "guestfs_lgetxattrs"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3695
+#, no-wrap
+msgid ""
+" struct guestfs_xattr_list *\n"
+" guestfs_lgetxattrs (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3699
+msgid ""
+"This is the same as C<guestfs_getxattrs>, but if C<path> is a symbolic link, "
+"then it returns the extended attributes of the link itself."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:3709
+msgid "guestfs_list_9p"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3711
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_list_9p (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:3714 ../fish/guestfish-actions.pod:2531
+msgid ""
+"List all 9p filesystems attached to the guest. A list of mount tags is "
+"returned."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3723
+msgid "guestfs_list_devices"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3725
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_list_devices (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3728 ../fish/guestfish-actions.pod:2538
+msgid "List all the block devices."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3730 ../fish/guestfish-actions.pod:2540
+msgid "The full block device names are returned, eg. C</dev/sda>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:3740
+msgid "guestfs_list_dm_devices"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3742
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_list_dm_devices (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:3745 ../fish/guestfish-actions.pod:2548
+msgid "List all device mapper devices."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:3747
+msgid ""
+"The returned list contains C</dev/mapper/*> devices, eg. ones created by a "
+"previous call to C<guestfs_luks_open>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:3750
+msgid ""
+"Device mapper devices which correspond to logical volumes are I<not> "
+"returned in this list. Call C<guestfs_lvs> if you want to list logical "
+"volumes."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:3758 ../src/guestfs-actions.pod:5214
+msgid "(Added in 1.11.15)"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3760
+msgid "guestfs_list_filesystems"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3762
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_list_filesystems (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3765 ../fish/guestfish-actions.pod:2561
+msgid ""
+"This inspection command looks for filesystems on partitions, block devices "
+"and logical volumes, returning a list of devices containing filesystems and "
+"their type."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3769 ../fish/guestfish-actions.pod:2565
+msgid ""
+"The return value is a hash, where the keys are the devices containing "
+"filesystems, and the values are the filesystem types. For example:"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3773 ../fish/guestfish-actions.pod:2569
+#, no-wrap
+msgid ""
+" \"/dev/sda1\" => \"ntfs\"\n"
+" \"/dev/sda2\" => \"ext2\"\n"
+" \"/dev/vg_guest/lv_root\" => \"ext4\"\n"
+" \"/dev/vg_guest/lv_swap\" => \"swap\"\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3778 ../fish/guestfish-actions.pod:2574
+msgid ""
+"The value can have the special value \"unknown\", meaning the content of the "
+"device is undetermined or empty. \"swap\" means a Linux swap partition."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3782
+msgid ""
+"This command runs other libguestfs commands, which might include "
+"C<guestfs_mount> and C<guestfs_umount>, and therefore you should use this "
+"soon after launch and only when nothing is mounted."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3786
+msgid ""
+"Not all of the filesystems returned will be mountable. In particular, swap "
+"partitions are returned in the list. Also this command does not check that "
+"each filesystem found is valid and mountable, and some filesystems might be "
+"mountable but require special options. Filesystems may not all belong to a "
+"single logical operating system (use C<guestfs_inspect_os> to look for OSes)."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3800 ../src/guestfs-actions.pod:5569
+msgid "(Added in 1.5.15)"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3802
+msgid "guestfs_list_partitions"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3804
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_list_partitions (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3807 ../fish/guestfish-actions.pod:2594
+msgid "List all the partitions detected on all block devices."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3809 ../fish/guestfish-actions.pod:2596
+msgid "The full partition device names are returned, eg. C</dev/sda1>"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3811
+msgid ""
+"This does not return logical volumes. For that you will need to call "
+"C<guestfs_lvs>."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3822
+msgid "guestfs_ll"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3824
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_ll (guestfs_h *g,\n"
+" const char *directory);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3828 ../fish/guestfish-actions.pod:2607
+msgid ""
+"List the files in C<directory> (relative to the root directory, there is no "
+"cwd) in the format of 'ls -la'."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3831 ../fish/guestfish-actions.pod:2610
+msgid ""
+"This command is mostly useful for interactive sessions. It is I<not> "
+"intended that you try to parse the output string."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3839
+msgid "guestfs_ln"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3841
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_ln (guestfs_h *g,\n"
+" const char *target,\n"
+" const char *linkname);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3846 ../fish/guestfish-actions.pod:2617
+msgid "This command creates a hard link using the C<ln> command."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3852
+msgid "guestfs_ln_f"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3854
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_ln_f (guestfs_h *g,\n"
+" const char *target,\n"
+" const char *linkname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:3859 ../fish/guestfish-actions.pod:2623
+msgid ""
+"This command creates a hard link using the C<ln -f> command. The I<-f> "
+"option removes the link (C<linkname>) if it exists already."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3866
+msgid "guestfs_ln_s"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3868
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_ln_s (guestfs_h *g,\n"
+" const char *target,\n"
+" const char *linkname);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3873 ../fish/guestfish-actions.pod:2630
+msgid "This command creates a symbolic link using the C<ln -s> command."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3879
+msgid "guestfs_ln_sf"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3881
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_ln_sf (guestfs_h *g,\n"
+" const char *target,\n"
+" const char *linkname);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:3886 ../fish/guestfish-actions.pod:2636
+msgid ""
+"This command creates a symbolic link using the C<ln -sf> command, The I<-f> "
+"option removes the link (C<linkname>) if it exists already."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3893
+msgid "guestfs_lremovexattr"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3895
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_lremovexattr (guestfs_h *g,\n"
+" const char *xattr,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3900
+msgid ""
+"This is the same as C<guestfs_removexattr>, but if C<path> is a symbolic "
+"link, then it removes an extended attribute of the link itself."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3908
+msgid "guestfs_ls"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3910
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_ls (guestfs_h *g,\n"
+" const char *directory);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3914 ../fish/guestfish-actions.pod:2651
+msgid ""
+"List the files in C<directory> (relative to the root directory, there is no "
+"cwd). The '.' and '..' entries are not returned, but hidden files are shown."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3918
+msgid ""
+"This command is mostly useful for interactive sessions. Programs should "
+"probably use C<guestfs_readdir> instead."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3927
+msgid "guestfs_lsetxattr"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3929
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_lsetxattr (guestfs_h *g,\n"
+" const char *xattr,\n"
+" const char *val,\n"
+" int vallen,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3936
+msgid ""
+"This is the same as C<guestfs_setxattr>, but if C<path> is a symbolic link, "
+"then it sets an extended attribute of the link itself."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3944
+msgid "guestfs_lstat"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3946
+#, no-wrap
+msgid ""
+" struct guestfs_stat *\n"
+" guestfs_lstat (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3950 ../src/guestfs-actions.pod:6721
+#: ../fish/guestfish-actions.pod:2670 ../fish/guestfish-actions.pod:4472
+msgid "Returns file information for the given C<path>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3952
+msgid ""
+"This is the same as C<guestfs_stat> except that if C<path> is a symbolic "
+"link, then the link is stat-ed, not the file it refers to."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3956 ../fish/guestfish-actions.pod:2676
+msgid "This is the same as the C<lstat(2)> system call."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3958 ../src/guestfs-actions.pod:6725
+msgid ""
+"This function returns a C<struct guestfs_stat *>, or NULL if there was an "
+"error. I<The caller must call C<guestfs_free_stat> after use>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3962 ../src/guestfs-actions.pod:6729
+#: ../src/guestfs-actions.pod:6747 ../src/guestfs-actions.pod:7128
+msgid "(Added in 0.9.2)"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3964
+msgid "guestfs_lstatlist"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3966
+#, no-wrap
+msgid ""
+" struct guestfs_stat_list *\n"
+" guestfs_lstatlist (guestfs_h *g,\n"
+" const char *path,\n"
+" char *const *names);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3971
+msgid ""
+"This call allows you to perform the C<guestfs_lstat> operation on multiple "
+"files, where all files are in the directory C<path>. C<names> is the list "
+"of files from this directory."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3975 ../fish/guestfish-actions.pod:2686
+msgid ""
+"On return you get a list of stat structs, with a one-to-one correspondence "
+"to the C<names> list. If any name did not exist or could not be lstat'd, "
+"then the C<ino> field of that structure is set to C<-1>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3980
+msgid ""
+"This call is intended for programs that want to efficiently list a directory "
+"contents without making many round-trips. See also C<guestfs_lxattrlist> "
+"for a similarly efficient call for getting extended attributes. Very long "
+"directory listings might cause the protocol message size to be exceeded, "
+"causing this call to fail. The caller must split up such requests into "
+"smaller groups of names."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:3988
+msgid ""
+"This function returns a C<struct guestfs_stat_list *>, or NULL if there was "
+"an error. I<The caller must call C<guestfs_free_stat_list> after use>."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:3994
+msgid "guestfs_luks_add_key"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3996
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_luks_add_key (guestfs_h *g,\n"
+" const char *device,\n"
+" const char *key,\n"
+" const char *newkey,\n"
+" int keyslot);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4003 ../fish/guestfish-actions.pod:2703
+msgid ""
+"This command adds a new key on LUKS device C<device>. C<key> is any "
+"existing key, and is used to access the device. C<newkey> is the new key to "
+"add. C<keyslot> is the key slot that will be replaced."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4008
+msgid ""
+"Note that if C<keyslot> already contains a key, then this command will "
+"fail. You have to use C<guestfs_luks_kill_slot> first to remove that key."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4014 ../src/guestfs-actions.pod:4054
+#: ../src/guestfs-actions.pod:4077 ../src/guestfs-actions.pod:4097
+#: ../src/guestfs-actions.pod:4132 ../src/guestfs-actions.pod:4151
+msgid ""
+"This function takes a key or passphrase parameter which could contain "
+"sensitive material. Read the section L</KEYS AND PASSPHRASES> for more "
+"information."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4018 ../src/guestfs-actions.pod:4058
+#: ../src/guestfs-actions.pod:4081 ../src/guestfs-actions.pod:4101
+msgid "(Added in 1.5.2)"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4020
+msgid "guestfs_luks_close"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4022
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_luks_close (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4026
+msgid ""
+"This closes a LUKS device that was created earlier by C<guestfs_luks_open> "
+"or C<guestfs_luks_open_ro>. The C<device> parameter must be the name of the "
+"LUKS mapping device (ie. C</dev/mapper/mapname>) and I<not> the name of the "
+"underlying block device."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4034 ../src/guestfs-actions.pod:4136
+#: ../src/guestfs-actions.pod:4155 ../src/guestfs-actions.pod:4205
+#: ../src/guestfs-actions.pod:4253
+msgid "(Added in 1.5.1)"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4036
+msgid "guestfs_luks_format"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4038
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_luks_format (guestfs_h *g,\n"
+" const char *device,\n"
+" const char *key,\n"
+" int keyslot);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4044 ../fish/guestfish-actions.pod:2729
+msgid ""
+"This command erases existing data on C<device> and formats the device as a "
+"LUKS encrypted device. C<key> is the initial key, which is added to key "
+"slot C<slot>. (LUKS supports 8 key slots, numbered 0-7)."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4051 ../src/guestfs-actions.pod:4074
+#: ../src/guestfs-actions.pod:4217 ../src/guestfs-actions.pod:5320
+#: ../src/guestfs-actions.pod:6102 ../src/guestfs-actions.pod:6528
+#: ../src/guestfs-actions.pod:6558 ../src/guestfs-actions.pod:6591
+#: ../src/guestfs-actions.pod:7787 ../fish/guestfish-actions.pod:2737
+#: ../fish/guestfish-actions.pod:2750 ../fish/guestfish-actions.pod:2837
+#: ../fish/guestfish-actions.pod:3498 ../fish/guestfish-actions.pod:4018
+#: ../fish/guestfish-actions.pod:4343 ../fish/guestfish-actions.pod:4366
+#: ../fish/guestfish-actions.pod:4388 ../fish/guestfish-actions.pod:5126
+msgid ""
+"B<This command is dangerous. Without careful use you can easily destroy all "
+"your data>."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4060
+msgid "guestfs_luks_format_cipher"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4062
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_luks_format_cipher (guestfs_h *g,\n"
+" const char *device,\n"
+" const char *key,\n"
+" int keyslot,\n"
+" const char *cipher);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4069
+msgid ""
+"This command is the same as C<guestfs_luks_format> but it also allows you to "
+"set the C<cipher> used."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4083
+msgid "guestfs_luks_kill_slot"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4085
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_luks_kill_slot (guestfs_h *g,\n"
+" const char *device,\n"
+" const char *key,\n"
+" int keyslot);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4091 ../fish/guestfish-actions.pod:2757
+msgid ""
+"This command deletes the key in key slot C<keyslot> from the encrypted LUKS "
+"device C<device>. C<key> must be one of the I<other> keys."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4103
+msgid "guestfs_luks_open"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4105
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_luks_open (guestfs_h *g,\n"
+" const char *device,\n"
+" const char *key,\n"
+" const char *mapname);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4111 ../fish/guestfish-actions.pod:2768
+msgid ""
+"This command opens a block device which has been encrypted according to the "
+"Linux Unified Key Setup (LUKS) standard."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4114 ../fish/guestfish-actions.pod:2771
+msgid "C<device> is the encrypted block device or partition."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4116 ../fish/guestfish-actions.pod:2773
+msgid ""
+"The caller must supply one of the keys associated with the LUKS block "
+"device, in the C<key> parameter."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4119 ../fish/guestfish-actions.pod:2776
+msgid ""
+"This creates a new block device called C</dev/mapper/mapname>. Reads and "
+"writes to this block device are decrypted from and encrypted to the "
+"underlying C<device> respectively."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4123
+msgid ""
+"If this block device contains LVM volume groups, then calling "
+"C<guestfs_vgscan> followed by C<guestfs_vg_activate_all> will make them "
+"visible."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:4127
+msgid "Use C<guestfs_list_dm_devices> to list all device mapper devices."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4138
+msgid "guestfs_luks_open_ro"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4140
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_luks_open_ro (guestfs_h *g,\n"
+" const char *device,\n"
+" const char *key,\n"
+" const char *mapname);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4146
+msgid ""
+"This is the same as C<guestfs_luks_open> except that a read-only mapping is "
+"created."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4157
+msgid "guestfs_lvcreate"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4159
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_lvcreate (guestfs_h *g,\n"
+" const char *logvol,\n"
+" const char *volgroup,\n"
+" int mbytes);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4165 ../fish/guestfish-actions.pod:2804
+msgid ""
+"This creates an LVM logical volume called C<logvol> on the volume group "
+"C<volgroup>, with C<size> megabytes."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4172
+msgid "guestfs_lvm_canonical_lv_name"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4174
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_lvm_canonical_lv_name (guestfs_h *g,\n"
+" const char *lvname);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4178 ../fish/guestfish-actions.pod:2811
+msgid ""
+"This converts alternative naming schemes for LVs that you might find to the "
+"canonical name. For example, C</dev/mapper/VG-LV> is converted to C</dev/VG/"
+"LV>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4182 ../fish/guestfish-actions.pod:2815
+msgid ""
+"This command returns an error if the C<lvname> parameter does not refer to a "
+"logical volume."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4185
+msgid "See also C<guestfs_is_lv>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4190
+msgid "(Added in 1.5.24)"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4192
+msgid "guestfs_lvm_clear_filter"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4194
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_lvm_clear_filter (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4197
+msgid ""
+"This undoes the effect of C<guestfs_lvm_set_filter>. LVM will be able to "
+"see every block device."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4200 ../src/guestfs-actions.pod:4242
+#: ../fish/guestfish-actions.pod:2827 ../fish/guestfish-actions.pod:2858
+msgid ""
+"This command also clears the LVM cache and performs a volume group scan."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4207
+msgid "guestfs_lvm_remove_all"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4209
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_lvm_remove_all (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4212 ../fish/guestfish-actions.pod:2834
+msgid ""
+"This command removes all LVM logical volumes, volume groups and physical "
+"volumes."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4222
+msgid "guestfs_lvm_set_filter"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4224
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_lvm_set_filter (guestfs_h *g,\n"
+" char *const *devices);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4228 ../fish/guestfish-actions.pod:2844
+msgid ""
+"This sets the LVM device filter so that LVM will only be able to \"see\" the "
+"block devices in the list C<devices>, and will ignore all other attached "
+"block devices."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4232 ../fish/guestfish-actions.pod:2848
+msgid ""
+"Where disk image(s) contain duplicate PVs or VGs, this command is useful to "
+"get LVM to ignore the duplicates, otherwise LVM can get confused. Note also "
+"there are two types of duplication possible: either cloned PVs/VGs which "
+"have identical UUIDs; or VGs that are not cloned but just happen to have the "
+"same name. In normal operation you cannot create this situation, but you "
+"can do it outside LVM, eg. by cloning disk images or by bit twiddling "
+"inside the LVM metadata."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4245 ../fish/guestfish-actions.pod:2861
+msgid "You can filter whole block devices or individual partitions."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4247 ../fish/guestfish-actions.pod:2863
+msgid ""
+"You cannot use this if any VG is currently in use (eg. contains a mounted "
+"filesystem), even if you are not filtering out that VG."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4255
+msgid "guestfs_lvremove"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4257
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_lvremove (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4261 ../fish/guestfish-actions.pod:2871
+msgid ""
+"Remove an LVM logical volume C<device>, where C<device> is the path to the "
+"LV, such as C</dev/VG/LV>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4264 ../fish/guestfish-actions.pod:2874
+msgid ""
+"You can also remove all LVs in a volume group by specifying the VG name, C</"
+"dev/VG>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4269 ../src/guestfs-actions.pod:5666
+#: ../src/guestfs-actions.pod:7498
+msgid "(Added in 1.0.13)"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4271
+msgid "guestfs_lvrename"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4273
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_lvrename (guestfs_h *g,\n"
+" const char *logvol,\n"
+" const char *newlogvol);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4278 ../fish/guestfish-actions.pod:2881
+msgid "Rename a logical volume C<logvol> with the new name C<newlogvol>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4282 ../src/guestfs-actions.pod:7511
+msgid "(Added in 1.0.83)"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4284
+msgid "guestfs_lvresize"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4286
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_lvresize (guestfs_h *g,\n"
+" const char *device,\n"
+" int mbytes);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4291 ../fish/guestfish-actions.pod:2887
+msgid ""
+"This resizes (expands or shrinks) an existing LVM logical volume to "
+"C<mbytes>. When reducing, data in the reduced part is lost."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4299
+msgid "guestfs_lvresize_free"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4301
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_lvresize_free (guestfs_h *g,\n"
+" const char *lv,\n"
+" int percent);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4306 ../fish/guestfish-actions.pod:2895
+msgid ""
+"This expands an existing logical volume C<lv> so that it fills C<pc>% of the "
+"remaining free space in the volume group. Commonly you would call this with "
+"pc = 100 which expands the logical volume as much as possible, using all "
+"remaining free space in the volume group."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4314
+msgid "(Added in 1.3.3)"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4316
+msgid "guestfs_lvs"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4318
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_lvs (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4321 ../fish/guestfish-actions.pod:2905
+msgid ""
+"List all the logical volumes detected. This is the equivalent of the L<lvs"
+"(8)> command."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4324 ../fish/guestfish-actions.pod:2908
+msgid ""
+"This returns a list of the logical volume device names (eg. C</dev/"
+"VolGroup00/LogVol00>)."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4327
+msgid "See also C<guestfs_lvs_full>, C<guestfs_list_filesystems>."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4335
+msgid "guestfs_lvs_full"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4337
+#, no-wrap
+msgid ""
+" struct guestfs_lvm_lv_list *\n"
+" guestfs_lvs_full (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4340 ../fish/guestfish-actions.pod:2917
+msgid ""
+"List all the logical volumes detected. This is the equivalent of the L<lvs"
+"(8)> command. The \"full\" version includes all fields."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4343
+msgid ""
+"This function returns a C<struct guestfs_lvm_lv_list *>, or NULL if there "
+"was an error. I<The caller must call C<guestfs_free_lvm_lv_list> after use>."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4349
+msgid "guestfs_lvuuid"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4351
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_lvuuid (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4355 ../fish/guestfish-actions.pod:2924
+msgid "This command returns the UUID of the LVM LV C<device>."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4362
+msgid "guestfs_lxattrlist"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4364
+#, no-wrap
+msgid ""
+" struct guestfs_xattr_list *\n"
+" guestfs_lxattrlist (guestfs_h *g,\n"
+" const char *path,\n"
+" char *const *names);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4369 ../fish/guestfish-actions.pod:2930
+msgid ""
+"This call allows you to get the extended attributes of multiple files, where "
+"all files are in the directory C<path>. C<names> is the list of files from "
+"this directory."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4373 ../fish/guestfish-actions.pod:2934
+msgid ""
+"On return you get a flat list of xattr structs which must be interpreted "
+"sequentially. The first xattr struct always has a zero-length C<attrname>. "
+"C<attrval> in this struct is zero-length to indicate there was an error "
+"doing C<lgetxattr> for this file, I<or> is a C string which is a decimal "
+"number (the number of following attributes for this file, which could be C<"
+"\"0\">). Then after the first xattr struct are the zero or more attributes "
+"for the first named file. This repeats for the second and subsequent files."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4383
+msgid ""
+"This call is intended for programs that want to efficiently list a directory "
+"contents without making many round-trips. See also C<guestfs_lstatlist> for "
+"a similarly efficient call for getting standard stats. Very long directory "
+"listings might cause the protocol message size to be exceeded, causing this "
+"call to fail. The caller must split up such requests into smaller groups of "
+"names."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4397
+msgid "guestfs_mkdir"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4399
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_mkdir (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4403 ../fish/guestfish-actions.pod:2956
+msgid "Create a directory named C<path>."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4409
+msgid "guestfs_mkdir_mode"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4411
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_mkdir_mode (guestfs_h *g,\n"
+" const char *path,\n"
+" int mode);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4416 ../fish/guestfish-actions.pod:2962
+msgid ""
+"This command creates a directory, setting the initial permissions of the "
+"directory to C<mode>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4419 ../fish/guestfish-actions.pod:2965
+msgid ""
+"For common Linux filesystems, the actual mode which is set will be C<mode & "
+"~umask & 01777>. Non-native-Linux filesystems may interpret the mode in "
+"other ways."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4423
+msgid "See also C<guestfs_mkdir>, C<guestfs_umask>"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4429
+msgid "guestfs_mkdir_p"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4431
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_mkdir_p (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4435 ../fish/guestfish-actions.pod:2975
+msgid ""
+"Create a directory named C<path>, creating any parent directories as "
+"necessary. This is like the C<mkdir -p> shell command."
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4442
+msgid "guestfs_mkdtemp"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4444
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_mkdtemp (guestfs_h *g,\n"
+" const char *template);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4448 ../fish/guestfish-actions.pod:2982
+msgid ""
+"This command creates a temporary directory. The C<template> parameter "
+"should be a full pathname for the temporary directory name with the final "
+"six characters being \"XXXXXX\"."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4453 ../fish/guestfish-actions.pod:2987
+msgid ""
+"For example: \"/tmp/myprogXXXXXX\" or \"/Temp/myprogXXXXXX\", the second one "
+"being suitable for Windows filesystems."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4456 ../fish/guestfish-actions.pod:2990
+msgid "The name of the temporary directory that was created is returned."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4459 ../fish/guestfish-actions.pod:2993
+msgid "The temporary directory is created with mode 0700 and is owned by root."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4462 ../fish/guestfish-actions.pod:2996
+msgid ""
+"The caller is responsible for deleting the temporary directory and its "
+"contents after use."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4465 ../fish/guestfish-actions.pod:2999
+msgid "See also: L<mkdtemp(3)>"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4472
+msgid "guestfs_mke2fs_J"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4474
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_mke2fs_J (guestfs_h *g,\n"
+" const char *fstype,\n"
+" int blocksize,\n"
+" const char *device,\n"
+" const char *journal);\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4481 ../fish/guestfish-actions.pod:3005
+msgid ""
+"This creates an ext2/3/4 filesystem on C<device> with an external journal on "
+"C<journal>. It is equivalent to the command:"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4485 ../fish/guestfish-actions.pod:3009
+#, no-wrap
+msgid ""
+" mke2fs -t fstype -b blocksize -J device=<journal> <device>\n"
+"\n"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4487
+msgid "See also C<guestfs_mke2journal>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs-actions.pod:4491 ../src/guestfs-actions.pod:4509
+#: ../src/guestfs-actions.pod:4527 ../src/guestfs-actions.pod:4543
+#: ../src/guestfs-actions.pod:4557 ../src/guestfs-actions.pod:4571
+#: ../src/guestfs-actions.pod:4630 ../src/guestfs-actions.pod:4907
+msgid "(Added in 1.0.68)"
+msgstr ""
+
+# type: =head2
+#. type: =head2
+#: ../src/guestfs-actions.pod:4493
+msgid "guestfs_mke2fs_JL"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs-actions.pod:4495