X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=HACKING;h=df28b7affabb3193e6bb12165996ae5dbfe4a791;hp=3746ffda9f17e1cf5b0b38115b038ef8d42c03d8;hb=4d900cdac8258daa2e99c6ceb2a4985154e94150;hpb=f1d23409f7297c8435c939b919fe5c2331fd484e diff --git a/HACKING b/HACKING index 3746ffd..df28b7a 100644 --- a/HACKING +++ b/HACKING @@ -7,8 +7,8 @@ Adding a new action All action functions are generated automatically, so there are only two files you need to edit: -(1) src/generator.ml: Add your new action, parameters, description, -etc. to the big list called 'functions' at the top of this file. +(1) generator/generator_actions.ml: Add your new action, parameters, +description, etc. to the big list at the top of this file. (2) Edit/create a C file in daemon/ subdirectory which implements your 'do_action' function. Take a look at one of the numerous examples @@ -24,6 +24,13 @@ Please make sure that the code compiles without warnings. Please test any changes. +Useful targets: + make syntax-check Checks the syntax of the C code. + make check Runs the test suite. + +Enable warnings, and fix any you find: + ./configure --enable-gcc-warnings + Code indentation ---------------------------------------------------------------------- Our C source code generally adheres to some basic code-formatting @@ -61,30 +68,40 @@ Directories appliance/ The qemu appliance, build scripts and so on. -cat/ - The virt-cat tool. - capitests/ Automated tests of the C API. contrib/ Outside contributions, experimental parts. +csharp/ + Experimental C# bindings. + daemon/ The daemon that runs inside the guest and carries out actions. -df/ - The virt-df tool. - examples/ The examples. fish/ Guestfish (the command-line program / shell) +fuse/ + FUSE (userspace filesystem) built on top of libguestfs. + +generator/ + The crucially important generator, used to automatically + generate large amounts of boilerplate C code for things like + RPC and bindings. + haskell/ Haskell bindings. +hivex/ [removed in 1.0.85] + This used to contain the hivex library for reading and + writing Windows Registry binary hive files. This is now + available as a separate upstream project. + images/ Some guest images to test against. These are gzipped to save space. You have to unzip them before use. @@ -103,8 +120,17 @@ m4/ ocaml/ OCaml bindings. +php/ + PHP bindings. + po/ - Translations. + Translations of simple gettext strings. For translations of + longer documents, see po-docs/. + +po-docs/ + The build infrastructure and PO files for translations of + manpages and POD files. Eventually this will be combined + with the po/ directory, but that is rather complicated. perl/ Perl bindings. @@ -118,16 +144,18 @@ regressions/ ruby/ Ruby bindings. +tools/ + Command line tools like virt-cat, virt-df, virt-edit and more. + In versions <= 1.0.73 these were all in separate directories + like cat/, df/, edit/, but since then we moved them all into + one directory to simplify builds. + src/ Source code to the C library. - Also contains the crucial generator program. test-tool/ Interactive qemu/kernel test tool. -v2v/ - Xen to KVM (V2V) conversion tool. - Debugging ----------------------------------------------------------------------