Drop the generated libvirt_c.c from the sources
[ocaml-libvirt.git] / libvirt / libvirt_c_prologue.c
index 7d9c0f5..c41e48d 100644 (file)
 static char *Optstring_val (value strv);
 typedef value (*Val_ptr_t) (void *);
 static value Val_opt (void *ptr, Val_ptr_t Val_ptr);
+typedef value (*Val_const_ptr_t) (const void *);
+static value Val_opt_const (const void *ptr, Val_const_ptr_t Val_ptr);
 /*static value option_default (value option, value deflt);*/
-static void _raise_virterror (virConnectPtr conn, const char *fn) Noreturn;
-static void not_supported (const char *fn) Noreturn;
+static void _raise_virterror (const char *fn) Noreturn;
 static value Val_virterror (virErrorPtr err);
+static int _list_length (value listv);
+static value Val_virconnectcredential (const virConnectCredentialPtr cred);
 
 /* Use this around synchronous libvirt API calls to release the OCaml
  * lock, allowing other threads to run simultaneously.  'code' must not
@@ -40,11 +43,18 @@ static value Val_virterror (virErrorPtr err);
     caml_leave_blocking_section ();            \
   } while (0)
 
+/* Empty macro to use as empty parameter for other macros, since
+ * a null token as parameter when calling a macro is not allowed
+ * before C99.
+ */
+#define EMPTY
 /* Check error condition from a libvirt function, and automatically raise
  * an exception if one is found.
  */
-#define CHECK_ERROR(cond, conn, fn) \
-  do { if (cond) _raise_virterror (conn, fn); } while (0)
+#define CHECK_ERROR_CLEANUP(cond, cleanup, fn) \
+  do { if (cond) { cleanup; _raise_virterror (fn); } } while (0)
+#define CHECK_ERROR(cond, fn) \
+  CHECK_ERROR_CLEANUP(cond, EMPTY, fn)
 
 /*----------------------------------------------------------------------*/