X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=generator%2Fgenerator_actions.ml;h=d01871f289295d95aded3ebd4b52962d9d6c204c;hp=2e015070fcf601fae06fa6b631aa4674fb4d32d7;hb=0003ea2c3dbaa7e22f4f616539136821d80694b8;hpb=585fceb3350c17a3d6ed7f2daffd5e2b3e5fc3e1 diff --git a/generator/generator_actions.ml b/generator/generator_actions.ml index 2e01507..d01871f 100644 --- a/generator/generator_actions.ml +++ b/generator/generator_actions.ml @@ -5124,9 +5124,7 @@ let all_functions = non_daemon_functions @ daemon_functions (* In some places we want the functions to be displayed sorted * alphabetically, so this is useful: *) -let all_functions_sorted = - List.sort (fun (n1,_,_,_,_,_,_) (n2,_,_,_,_,_,_) -> - compare n1 n2) all_functions +let all_functions_sorted = List.sort action_compare all_functions (* This is used to generate the src/MAX_PROC_NR file which * contains the maximum procedure number, a surrogate for the @@ -5137,3 +5135,158 @@ let max_proc_nr = fun (_, _, proc_nr, _, _, _, _) -> proc_nr ) daemon_functions in List.fold_left max 0 proc_nrs + +(* Non-API meta-commands available only in guestfish. + * + * Note (1): args/return value, proc_nr and tests fields are all + * meaningless. The only fields which are actually used are the + * shortname, FishAlias flags, shortdesc and longdesc. + * + * Note (2): to refer to other commands, use L. + * + * Note (3): keep this list sorted by shortname. + *) +let fish_commands = [ + ("alloc", (RErr,[]), -1, [FishAlias "allocate"], [], + "allocate and add a disk file", + " alloc filename size + +This creates an empty (zeroed) file of the given size, and then adds +so it can be further examined. + +For more advanced image creation, see L utility. + +Size can be specified using standard suffixes, eg. C<1M>. + +To create a sparse file, use L instead. To create a +prepared disk image, see L."); + + ("copy_in", (RErr,[]), -1, [], [], + "copy local files or directories into an image", + " copy-in local [local ...] /remotedir + +C copies local files or directories recursively into the disk +image, placing them in the directory called C (which must +exist). This guestfish meta-command turns into a sequence of +L and other commands as necessary. + +Multiple local files and directories can be specified, but the last +parameter must always be a remote directory. Wildcards cannot be +used."); + + ("copy_out", (RErr,[]), -1, [], [], + "copy remote files or directories out of an image", + " copy-out remote [remote ...] localdir + +C copies remote files or directories recursively out of the +disk image, placing them on the host disk in a local directory called +C (which must exist). This guestfish meta-command turns +into a sequence of L, L and other commands as +necessary. + +Multiple remote files and directories can be specified, but the last +parameter must always be a local directory. To download to the +current directory, use C<.> as in: + + copy-out /home . + +Wildcards cannot be used in the ordinary command, but you can use +them with the help of L like this: + + glob copy-out /home/* ."); + + ("echo", (RErr,[]), -1, [], [], + "display a line of text", + " echo [params ...] + +This echos the parameters to the terminal."); + + ("edit", (RErr,[]), -1, [FishAlias "vi"; FishAlias "emacs"], [], + "edit a file", + " edit filename + +This is used to edit a file. It downloads the file, edits it +locally using your editor, then uploads the result. + +The editor is C<$EDITOR>. However if you use the alternate +commands C or C you will get those corresponding +editors."); + + ("glob", (RErr,[]), -1, [], [], + "expand wildcards in command", + " glob command args... + +Expand wildcards in any paths in the args list, and run C +repeatedly on each matching path. + +See L."); + + ("lcd", (RErr,[]), -1, [], [], + "change working directory", + " lcd directory + +Change the local directory, ie. the current directory of guestfish +itself. + +Note that C won't do what you might expect."); + + ("man", (RErr,[]), -1, [FishAlias "manual"], [], + "open the manual", + " man + +Opens the manual page for guestfish."); + + ("more", (RErr,[]), -1, [FishAlias "less"], [], + "view a file", + " more filename + + less filename + +This is used to view a file. + +The default viewer is C<$PAGER>. However if you use the alternate +command C you will get the C command specifically."); + + ("reopen", (RErr,[]), -1, [], [], + "close and reopen libguestfs handle", + " reopen + +Close and reopen the libguestfs handle. It is not necessary to use +this normally, because the handle is closed properly when guestfish +exits. However this is occasionally useful for testing."); + + ("sparse", (RErr,[]), -1, [], [], + "create a sparse disk image and add", + " sparse filename size + +This creates an empty sparse file of the given size, and then adds +so it can be further examined. + +In all respects it works the same as the L command, except that +the image file is allocated sparsely, which means that disk blocks are +not assigned to the file until they are needed. Sparse disk files +only use space when written to, but they are slower and there is a +danger you could run out of real disk space during a write operation. + +For more advanced image creation, see L utility. + +Size can be specified using standard suffixes, eg. C<1M>."); + + ("supported", (RErr,[]), -1, [], [], + "list supported groups of commands", + " supported + +This command returns a list of the optional groups +known to the daemon, and indicates which ones are +supported by this build of the libguestfs appliance. + +See also L."); + + ("time", (RErr,[]), -1, [], [], + "print elapsed time taken to run a command", + " time command args... + +Run the command as usual, but print the elapsed time afterwards. This +can be useful for benchmarking operations."); + +]