X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=HACKING;h=3cd266bb89c06d6982bd29f1a6280ca4a069cf22;hb=cc9f1f9d8f17e8ac5a6a73af830c132d916fd6e0;hp=bce40a9acca7b2ad6d15ec8e76b887b0acb4cbc0;hpb=2a8acd07005f2e8cdc43a6cc2a4e6f3d66f9fc4d;p=virt-top.git diff --git a/HACKING b/HACKING index bce40a9..3cd266b 100644 --- a/HACKING +++ b/HACKING @@ -7,75 +7,7 @@ General OCaml advice: (2) Emacs users: use tuareg-mode for editing OCaml. -(3) http://www.ocaml-tutorial.org/ +(3) https://realworldocaml.org/ is the definitive book which is also + available online in full. (4) http://camltastic.blogspot.com/2008/08/3-things-that-will-confuse-you-when.html - -The code is structured into these files: - - virt_top_utils.mli / virt_top_utils.ml - - String functions and other small utility functions. This is - included directly into virt_top.ml. - - virt_top_version.ml - - The version number (automatically generated by configure). - - virt_top.mli / virt_top.ml - - This is the virt-top program. - - The two interesting functions are called 'collect' and 'redraw'. - - 'collect' collects all the information about domains, etc. - - 'redraw' updates the display on each frame. - - Another interesting function is 'start_up' which handles all - start-up stuff, eg. command line arguments, connecting to the - hypervisor, enabling curses. - - The function 'main_loop' runs the main loop and has sub-functions - to deal with keypresses, help screens and so on. - - virt_top_xml.ml - - Any code which needs the optional xml-light library goes - in here. Mainly for parsing domain XML descriptions to get - the list of block devices and network interfaces. - - The reason for having it in a separate file is so that we - don't depend on xml-light. - - virt_top_csv.ml - - Any code which needs the optional ocaml-csv library goes - in here. This implements the --csv command line option. - - virt_top_calendar1.ml - virt_top_calendar2.ml - - Any code which needs the optional ocaml-calendar library - goes in here. This implements the --end-time command line - option. Note there are two incompatible versions of the - ocaml-calendar library, which is why we have two - implementations. The Makefile works out which one to use. - - virt_top_gettext.ml - - Gettext interaction (this is generated by ./configure). - - virt_top_main.ml - - This is just a small bit of code to glue the modules above - together. - -The man-page is generated from the single file: - - virt-top.pod - -which generates (using perldoc) the following: - - virt-top.1 - virt-top.txt