You can clone with
Cannot retrieve contributors at this time
This program generates a large amount of code and documentation forall the daemon actions.To add a new action there are only two files you need to change,'actions.ml' to describe the interface, and daemon/<somefile>.c towrite the implementation.After editing these files, build it (make -C generator) to regenerateall the output files. 'make' will rerun this automatically whennecessary.IMPORTANT: This program should NOT print any warnings at compile timeor run time. If it prints warnings, you should treat them as errors.OCaml tips:(1) In emacs, install tuareg-mode to display and format OCaml codecorrectly. 'vim' comes with a good OCaml editing mode by default.(2) Read the resources at http://ocaml-tutorial.org/(3) A module called 'Foo' is defined in one or two files called'foo.mli' and 'foo.ml' (NB: lowercase first letter). The *.mli file,if present, defines the public interface for the module. The *.mlfile is the implementation. If the *.mli file is missing theneverything is exported.Some notable files in this directory: actions.ml The libguestfs API. structs.ml Structures returned by the API. c.ml Generate C API. <lang>.ml Generate bindings for <lang>. main.ml The main generator program.Note about long descriptions:When referring to another action, use the format C<guestfs_other>(ie. the full name of the C function). This will be replaced asappropriate in other language bindings. Apart from that, longdescriptions are just perldoc paragraphs.Note about extending functions:In general you cannot change the name, number of required arguments ortype of required arguments of a function, since this would breakbackwards compatibility.You may add another optional argument, *if* the function has >= 1optional arguments already. Add it at the end of the list.You may add optional arguments to a function that doesn't have any.However you *must* set the once_had_no_optargs flag to true, so thatthe relevant backwards compatibility bindings can be added.