Documentation updates.
authorRichard W.M. Jones <rjones@redhat.com>
Sat, 19 Jan 2008 14:27:01 +0000 (14:27 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Sat, 19 Jan 2008 14:27:01 +0000 (14:27 +0000)
libvirt/README
libvirt/generator.pl
libvirt/libvirt_c.c

index c94cccb..be8300d 100644 (file)
@@ -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.
index 4fd07b8..40005c0 100755 (executable)
@@ -629,6 +629,13 @@ END
 
 printf "$0: warning: %d unimplemented functions\n", scalar (@unimplemented);
 
+print F <<'END';
+/* The following functions are unimplemented and always fail.
+ * See generator.pl '@unimplemented'
+ */
+
+END
+
 foreach my $c_external_name (@unimplemented) {
     print F <<END
 CAMLprim value
index dc7b3c9..8c31710 100644 (file)
@@ -1485,6 +1485,10 @@ ocaml_libvirt_storage_vol_get_name (value volv)
 #endif
 }
 
+/* The following functions are unimplemented and always fail.
+ * See generator.pl '@unimplemented'
+ */
+
 CAMLprim value
 ocaml_libvirt_domain_create_job ()
 {