X-Git-Url: http://git.annexia.org/?p=virt-top.git;a=blobdiff_plain;f=libvirt%2FREADME;h=be8300d800a51d138a9f95865962fdeff2f564cb;hp=c94cccb8b8d5a012187726776820835d5c8d8fe7;hb=748302caa93af2c412bcd30dad5787a5a24e9af5;hpb=43b894e0ef93f380dcd8b1b20a3cd6626a8f3b7d diff --git a/libvirt/README b/libvirt/README index c94cccb..be8300d 100644 --- a/libvirt/README +++ b/libvirt/README @@ -1,11 +1,29 @@ -README for generated code -------------------------- +README +====== + +The public interface is described in 'libvirt.mli'. You may prefer to +do 'make doc' at the top level source directory and then read the HTML +documentation starting at html/index.html. + +'libvirt.ml' describes how OCaml functions map to C functions. + +'libvirt_c*.c' are the C functions which map OCaml objects to C +objects and vice versa (see next section). + +Generated code +-------------- The C bindings in 'libvirt_c.c' are now generated automatically by a Perl script called 'generator.pl'. You do not normally need to run this script, but you may need to if you want to extend libvirt coverage. +The majority of the functions are now generated automatically, but +there are a few one-off bindings (eg. one-of-a-type functions, +functions with particularly complex mappings). Our eventual aim to is +autogenerate as much as possible. Use 'make autostatus' in this +directory to find out how we're doing. + The generated 'libvirt_c.c' #includes some other C files in this directory: @@ -25,3 +43,7 @@ directory: An epilogue which defines some standard static functions (eg.) for wrapping and unwrapping libvirt objects. + +The key to understanding the generator is to look at the generated +code (libvirt_c.c) first, and go from there back to parts of the +generator script.