From 2df154c93069ab97f38fbb8e290527f74ace5e62 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 27 Mar 2017 12:30:01 +0100 Subject: [PATCH 09/23] Refresh HACKING file. Fixes commit b7c3ef13cbd9c9cd49005a32ffb70faf6f5bbe8c. --- HACKING | 72 ++------------------------------------------------------- 1 file changed, 2 insertions(+), 70 deletions(-) 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 -- 2.31.1