}
CAMLprim value
+ocaml_guestfs_add_drive_ro (value gv, value filenamev)
+{
+ CAMLparam2 (gv, filenamev);
+ CAMLlocal1 (rv);
+
+ guestfs_h *g = Guestfs_val (gv);
+ if (g == NULL)
+ caml_failwith ("add_drive_ro: used handle after closing it");
+
+ const char *filename = String_val (filenamev);
+ int r;
+
+ caml_enter_blocking_section ();
+ r = guestfs_add_drive_ro (g, filename);
+ caml_leave_blocking_section ();
+ if (r == -1)
+ ocaml_guestfs_raise_error (g, "add_drive_ro");
+
+ rv = Val_unit;
+ CAMLreturn (rv);
+}
+
+CAMLprim value
ocaml_guestfs_config (value gv, value qemuparamv, value qemuvaluev)
{
CAMLparam3 (gv, qemuparamv, qemuvaluev);
CAMLreturn (rv);
}
+CAMLprim value
+ocaml_guestfs_sleep (value gv, value secsv)
+{
+ CAMLparam2 (gv, secsv);
+ CAMLlocal1 (rv);
+
+ guestfs_h *g = Guestfs_val (gv);
+ if (g == NULL)
+ caml_failwith ("sleep: used handle after closing it");
+
+ int secs = Int_val (secsv);
+ int r;
+
+ caml_enter_blocking_section ();
+ r = guestfs_sleep (g, secs);
+ caml_leave_blocking_section ();
+ if (r == -1)
+ ocaml_guestfs_raise_error (g, "sleep");
+
+ rv = Val_unit;
+ CAMLreturn (rv);
+}
+
+CAMLprim value
+ocaml_guestfs_ntfs_3g_probe (value gv, value rwv, value devicev)
+{
+ CAMLparam3 (gv, rwv, devicev);
+ CAMLlocal1 (rv);
+
+ guestfs_h *g = Guestfs_val (gv);
+ if (g == NULL)
+ caml_failwith ("ntfs_3g_probe: used handle after closing it");
+
+ int rw = Bool_val (rwv);
+ const char *device = String_val (devicev);
+ int r;
+
+ caml_enter_blocking_section ();
+ r = guestfs_ntfs_3g_probe (g, rw, device);
+ caml_leave_blocking_section ();
+ if (r == -1)
+ ocaml_guestfs_raise_error (g, "ntfs_3g_probe");
+
+ rv = Val_int (r);
+ CAMLreturn (rv);
+}
+