-ocaml_libvirt_domain_create_linux (value connv, value xmlv)
-{
- CAMLparam2 (connv, xmlv);
- CAMLlocal1 (rv);
- virConnectPtr conn = Connect_val (connv);
- char *xml = String_val (xmlv);
- virDomainPtr r;
-
- NONBLOCKING (r = virDomainCreateLinux (conn, xml, 0));
- CHECK_ERROR (!r, conn, "virDomainCreateLinux");
-
- rv = Val_domain (r, connv);
- CAMLreturn (rv);
-}
-
-CAMLprim value
-ocaml_libvirt_domain_lookup_by_id (value connv, value iv)
-{
- CAMLparam2 (connv, iv);
- CAMLlocal1 (rv);
- virConnectPtr conn = Connect_val (connv);
- int i = Int_val (iv);
- virDomainPtr r;
-
- NONBLOCKING (r = virDomainLookupByID (conn, i));
- CHECK_ERROR (!r, conn, "virDomainLookupByID");
-
- rv = Val_domain (r, connv);
- CAMLreturn (rv);
-}
-
-CAMLprim value
-ocaml_libvirt_domain_lookup_by_uuid (value connv, value uuidv)
-{
- CAMLparam2 (connv, uuidv);
- CAMLlocal1 (rv);
- virConnectPtr conn = Connect_val (connv);
- char *uuid = String_val (uuidv);
- virDomainPtr r;
-
- NONBLOCKING (r = virDomainLookupByUUID (conn, (unsigned char *) uuid));
- CHECK_ERROR (!r, conn, "virDomainLookupByUUID");
-
- rv = Val_domain (r, connv);
- CAMLreturn (rv);
-}
-
-CAMLprim value
-ocaml_libvirt_domain_destroy (value domv)
-{
- CAMLparam1 (domv);
- virDomainPtr dom = Domain_val (domv);
- virConnectPtr conn = Connect_domv (domv);
- int r;
-
- NONBLOCKING (r = virDomainDestroy (dom));
- CHECK_ERROR (r == -1, conn, "virDomainDestroy");
-
- /* So that we don't double-free in the finalizer: */
- Domain_val (domv) = NULL;
-
- CAMLreturn (Val_unit);
-}
-
-CAMLprim value
-ocaml_libvirt_domain_free (value domv)
-{
- CAMLparam1 (domv);
- virDomainPtr dom = Domain_val (domv);
- virConnectPtr conn = Connect_domv (domv);
- int r;
-
- NONBLOCKING (r = virDomainFree (dom));
- CHECK_ERROR (r == -1, conn, "virDomainFree");
-
- /* So that we don't double-free in the finalizer: */
- Domain_val (domv) = NULL;
-
- CAMLreturn (Val_unit);
-}
-
-CAMLprim value
-ocaml_libvirt_domain_save (value domv, value pathv)
-{
- CAMLparam2 (domv, pathv);
- virDomainPtr dom = Domain_val (domv);
- virConnectPtr conn = Connect_domv (domv);
- char *path = String_val (pathv);
- int r;
-
- NONBLOCKING (r = virDomainSave (dom, path));
- CHECK_ERROR (r == -1, conn, "virDomainSave");
-
- CAMLreturn (Val_unit);
-}
-
-CAMLprim value
-ocaml_libvirt_domain_restore (value connv, value pathv)
-{
- CAMLparam2 (connv, pathv);
- virConnectPtr conn = Connect_val (connv);
- char *path = String_val (pathv);
- int r;
-
- NONBLOCKING (r = virDomainRestore (conn, path));
- CHECK_ERROR (r == -1, conn, "virDomainRestore");
-
- CAMLreturn (Val_unit);
-}
-
-CAMLprim value
-ocaml_libvirt_domain_core_dump (value domv, value pathv)
-{
- CAMLparam2 (domv, pathv);
- virDomainPtr dom = Domain_val (domv);
- virConnectPtr conn = Connect_domv (domv);
- char *path = String_val (pathv);
- int r;
-
- NONBLOCKING (r = virDomainCoreDump (dom, path, 0));
- CHECK_ERROR (r == -1, conn, "virDomainCoreDump");
-
- CAMLreturn (Val_unit);
-}
-
-CAMLprim value
-ocaml_libvirt_domain_get_uuid (value domv)
-{
- CAMLparam1 (domv);
- CAMLlocal1 (rv);
- virDomainPtr dom = Domain_val (domv);
- virConnectPtr conn = Connect_domv (domv);
- unsigned char uuid[VIR_UUID_BUFLEN];
- int r;
-
- NONBLOCKING (r = virDomainGetUUID (dom, uuid));
- CHECK_ERROR (r == -1, conn, "virDomainGetUUID");
-
- rv = caml_copy_string ((char *) uuid);
- CAMLreturn (rv);
-}
-
-CAMLprim value
-ocaml_libvirt_domain_get_uuid_string (value domv)
-{
- CAMLparam1 (domv);
- CAMLlocal1 (rv);
- virDomainPtr dom = Domain_val (domv);
- virConnectPtr conn = Connect_domv (domv);
- char uuid[VIR_UUID_STRING_BUFLEN];
- int r;
-
- NONBLOCKING (r = virDomainGetUUIDString (dom, uuid));
- CHECK_ERROR (r == -1, conn, "virDomainGetUUIDString");
-
- rv = caml_copy_string (uuid);
- CAMLreturn (rv);
-}
-
-CAMLprim value