1 /* !!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!!
3 * THIS FILE IS AUTOMATICALLY GENERATED BY 'generator.pl'.
5 * Any changes you make to this file may be overwritten.
8 /* OCaml bindings for libvirt.
9 * (C) Copyright 2007-2015 Richard W.M. Jones, Red Hat Inc.
12 * This library is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Lesser General Public
14 * License as published by the Free Software Foundation; either
15 * version 2 of the License, or (at your option) any later version,
16 * with the OCaml linking exception described in ../COPYING.LIB.
18 * This library is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * Lesser General Public License for more details.
23 * You should have received a copy of the GNU Lesser General Public
24 * License along with this library; if not, write to the Free Software
25 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
34 #include <libvirt/libvirt.h>
35 #include <libvirt/virterror.h>
37 #include <caml/config.h>
38 #include <caml/alloc.h>
39 #include <caml/callback.h>
40 #include <caml/custom.h>
41 #include <caml/fail.h>
42 #include <caml/memory.h>
43 #include <caml/misc.h>
44 #include <caml/mlvalues.h>
45 #include <caml/signals.h>
47 #include "libvirt_c_prologue.c"
49 #include "libvirt_c_oneoffs.c"
51 /* Automatically generated binding for virConnectClose.
52 * In generator.pl this function has signature "conn : free".
56 ocaml_libvirt_connect_close (value connv)
60 virConnectPtr conn = Connect_val (connv);
63 NONBLOCKING (r = virConnectClose (conn));
64 CHECK_ERROR (r == -1, conn, "virConnectClose");
66 /* So that we don't double-free in the finalizer: */
67 Connect_val (connv) = NULL;
69 CAMLreturn (Val_unit);
72 /* Automatically generated binding for virConnectGetHostname.
73 * In generator.pl this function has signature "conn : string".
77 ocaml_libvirt_connect_get_hostname (value connv)
82 virConnectPtr conn = Connect_val (connv);
85 NONBLOCKING (r = virConnectGetHostname (conn));
86 CHECK_ERROR (!r, conn, "virConnectGetHostname");
88 rv = caml_copy_string (r);
93 /* Automatically generated binding for virConnectGetURI.
94 * In generator.pl this function has signature "conn : string".
98 ocaml_libvirt_connect_get_uri (value connv)
103 virConnectPtr conn = Connect_val (connv);
106 NONBLOCKING (r = virConnectGetURI (conn));
107 CHECK_ERROR (!r, conn, "virConnectGetURI");
109 rv = caml_copy_string (r);
114 /* Automatically generated binding for virConnectGetType.
115 * In generator.pl this function has signature "conn : static string".
119 ocaml_libvirt_connect_get_type (value connv)
124 virConnectPtr conn = Connect_val (connv);
127 NONBLOCKING (r = virConnectGetType (conn));
128 CHECK_ERROR (!r, conn, "virConnectGetType");
130 rv = caml_copy_string (r);
134 /* Automatically generated binding for virConnectNumOfDomains.
135 * In generator.pl this function has signature "conn : int".
139 ocaml_libvirt_connect_num_of_domains (value connv)
143 virConnectPtr conn = Connect_val (connv);
146 NONBLOCKING (r = virConnectNumOfDomains (conn));
147 CHECK_ERROR (r == -1, conn, "virConnectNumOfDomains");
149 CAMLreturn (Val_int (r));
152 /* Automatically generated binding for virConnectListDomains.
153 * In generator.pl this function has signature "conn, int : int array".
157 ocaml_libvirt_connect_list_domains (value connv, value iv)
159 CAMLparam2 (connv, iv);
162 virConnectPtr conn = Connect_val (connv);
163 int i = Int_val (iv);
166 /* Some libvirt List* functions still throw exceptions if i == 0,
167 * so catch that and return an empty array directly. This changes
168 * the semantics slightly (masking other failures) but it's
169 * unlikely anyone will care. RWMJ 2008/06/10
172 rv = caml_alloc (0, 0);
176 NONBLOCKING (r = virConnectListDomains (conn, ids, i));
177 CHECK_ERROR (r == -1, conn, "virConnectListDomains");
179 rv = caml_alloc (r, 0);
180 for (i = 0; i < r; ++i)
181 Store_field (rv, i, Val_int (ids[i]));
186 /* Automatically generated binding for virConnectNumOfDefinedDomains.
187 * In generator.pl this function has signature "conn : int".
191 ocaml_libvirt_connect_num_of_defined_domains (value connv)
195 virConnectPtr conn = Connect_val (connv);
198 NONBLOCKING (r = virConnectNumOfDefinedDomains (conn));
199 CHECK_ERROR (r == -1, conn, "virConnectNumOfDefinedDomains");
201 CAMLreturn (Val_int (r));
204 /* Automatically generated binding for virConnectListDefinedDomains.
205 * In generator.pl this function has signature "conn, int : string array".
209 ocaml_libvirt_connect_list_defined_domains (value connv, value iv)
211 CAMLparam2 (connv, iv);
213 CAMLlocal2 (rv, strv);
214 virConnectPtr conn = Connect_val (connv);
215 int i = Int_val (iv);
219 /* Some libvirt List* functions still throw exceptions if i == 0,
220 * so catch that and return an empty array directly. This changes
221 * the semantics slightly (masking other failures) but it's
222 * unlikely anyone will care. RWMJ 2008/06/10
225 rv = caml_alloc (0, 0);
229 NONBLOCKING (r = virConnectListDefinedDomains (conn, names, i));
230 CHECK_ERROR (r == -1, conn, "virConnectListDefinedDomains");
232 rv = caml_alloc (r, 0);
233 for (i = 0; i < r; ++i) {
234 strv = caml_copy_string (names[i]);
235 Store_field (rv, i, strv);
242 /* Automatically generated binding for virConnectNumOfNetworks.
243 * In generator.pl this function has signature "conn : int".
247 ocaml_libvirt_connect_num_of_networks (value connv)
251 virConnectPtr conn = Connect_val (connv);
254 NONBLOCKING (r = virConnectNumOfNetworks (conn));
255 CHECK_ERROR (r == -1, conn, "virConnectNumOfNetworks");
257 CAMLreturn (Val_int (r));
260 /* Automatically generated binding for virConnectListNetworks.
261 * In generator.pl this function has signature "conn, int : string array".
265 ocaml_libvirt_connect_list_networks (value connv, value iv)
267 CAMLparam2 (connv, iv);
269 CAMLlocal2 (rv, strv);
270 virConnectPtr conn = Connect_val (connv);
271 int i = Int_val (iv);
275 /* Some libvirt List* functions still throw exceptions if i == 0,
276 * so catch that and return an empty array directly. This changes
277 * the semantics slightly (masking other failures) but it's
278 * unlikely anyone will care. RWMJ 2008/06/10
281 rv = caml_alloc (0, 0);
285 NONBLOCKING (r = virConnectListNetworks (conn, names, i));
286 CHECK_ERROR (r == -1, conn, "virConnectListNetworks");
288 rv = caml_alloc (r, 0);
289 for (i = 0; i < r; ++i) {
290 strv = caml_copy_string (names[i]);
291 Store_field (rv, i, strv);
298 /* Automatically generated binding for virConnectNumOfDefinedNetworks.
299 * In generator.pl this function has signature "conn : int".
303 ocaml_libvirt_connect_num_of_defined_networks (value connv)
307 virConnectPtr conn = Connect_val (connv);
310 NONBLOCKING (r = virConnectNumOfDefinedNetworks (conn));
311 CHECK_ERROR (r == -1, conn, "virConnectNumOfDefinedNetworks");
313 CAMLreturn (Val_int (r));
316 /* Automatically generated binding for virConnectListDefinedNetworks.
317 * In generator.pl this function has signature "conn, int : string array".
321 ocaml_libvirt_connect_list_defined_networks (value connv, value iv)
323 CAMLparam2 (connv, iv);
325 CAMLlocal2 (rv, strv);
326 virConnectPtr conn = Connect_val (connv);
327 int i = Int_val (iv);
331 /* Some libvirt List* functions still throw exceptions if i == 0,
332 * so catch that and return an empty array directly. This changes
333 * the semantics slightly (masking other failures) but it's
334 * unlikely anyone will care. RWMJ 2008/06/10
337 rv = caml_alloc (0, 0);
341 NONBLOCKING (r = virConnectListDefinedNetworks (conn, names, i));
342 CHECK_ERROR (r == -1, conn, "virConnectListDefinedNetworks");
344 rv = caml_alloc (r, 0);
345 for (i = 0; i < r; ++i) {
346 strv = caml_copy_string (names[i]);
347 Store_field (rv, i, strv);
354 /* Automatically generated binding for virConnectNumOfStoragePools.
355 * In generator.pl this function has signature "conn : int".
359 ocaml_libvirt_connect_num_of_storage_pools (value connv)
363 virConnectPtr conn = Connect_val (connv);
366 NONBLOCKING (r = virConnectNumOfStoragePools (conn));
367 CHECK_ERROR (r == -1, conn, "virConnectNumOfStoragePools");
369 CAMLreturn (Val_int (r));
372 /* Automatically generated binding for virConnectListStoragePools.
373 * In generator.pl this function has signature "conn, int : string array".
377 ocaml_libvirt_connect_list_storage_pools (value connv, value iv)
379 CAMLparam2 (connv, iv);
381 CAMLlocal2 (rv, strv);
382 virConnectPtr conn = Connect_val (connv);
383 int i = Int_val (iv);
387 /* Some libvirt List* functions still throw exceptions if i == 0,
388 * so catch that and return an empty array directly. This changes
389 * the semantics slightly (masking other failures) but it's
390 * unlikely anyone will care. RWMJ 2008/06/10
393 rv = caml_alloc (0, 0);
397 NONBLOCKING (r = virConnectListStoragePools (conn, names, i));
398 CHECK_ERROR (r == -1, conn, "virConnectListStoragePools");
400 rv = caml_alloc (r, 0);
401 for (i = 0; i < r; ++i) {
402 strv = caml_copy_string (names[i]);
403 Store_field (rv, i, strv);
410 /* Automatically generated binding for virConnectNumOfDefinedStoragePools.
411 * In generator.pl this function has signature "conn : int".
415 ocaml_libvirt_connect_num_of_defined_storage_pools (value connv)
419 virConnectPtr conn = Connect_val (connv);
422 NONBLOCKING (r = virConnectNumOfDefinedStoragePools (conn));
423 CHECK_ERROR (r == -1, conn, "virConnectNumOfDefinedStoragePools");
425 CAMLreturn (Val_int (r));
428 /* Automatically generated binding for virConnectListDefinedStoragePools.
429 * In generator.pl this function has signature "conn, int : string array".
433 ocaml_libvirt_connect_list_defined_storage_pools (value connv, value iv)
435 CAMLparam2 (connv, iv);
437 CAMLlocal2 (rv, strv);
438 virConnectPtr conn = Connect_val (connv);
439 int i = Int_val (iv);
443 /* Some libvirt List* functions still throw exceptions if i == 0,
444 * so catch that and return an empty array directly. This changes
445 * the semantics slightly (masking other failures) but it's
446 * unlikely anyone will care. RWMJ 2008/06/10
449 rv = caml_alloc (0, 0);
453 NONBLOCKING (r = virConnectListDefinedStoragePools (conn, names, i));
454 CHECK_ERROR (r == -1, conn, "virConnectListDefinedStoragePools");
456 rv = caml_alloc (r, 0);
457 for (i = 0; i < r; ++i) {
458 strv = caml_copy_string (names[i]);
459 Store_field (rv, i, strv);
466 /* Automatically generated binding for virConnectGetCapabilities.
467 * In generator.pl this function has signature "conn : string".
471 ocaml_libvirt_connect_get_capabilities (value connv)
476 virConnectPtr conn = Connect_val (connv);
479 NONBLOCKING (r = virConnectGetCapabilities (conn));
480 CHECK_ERROR (!r, conn, "virConnectGetCapabilities");
482 rv = caml_copy_string (r);
487 /* Automatically generated binding for virConnectDomainEventDeregisterAny.
488 * In generator.pl this function has signature "conn, int : unit".
492 ocaml_libvirt_connect_domain_event_deregister_any (value connv, value iv)
494 CAMLparam2 (connv, iv);
496 virConnectPtr conn = Connect_val (connv);
497 int i = Int_val (iv);
500 NONBLOCKING (r = virConnectDomainEventDeregisterAny (conn, i));
501 CHECK_ERROR (r == -1, conn, "virConnectDomainEventDeregisterAny");
503 CAMLreturn (Val_unit);
506 /* Automatically generated binding for virDomainCreateLinux.
507 * In generator.pl this function has signature "conn, string, 0U : dom".
511 ocaml_libvirt_domain_create_linux (value connv, value strv)
513 CAMLparam2 (connv, strv);
516 virConnectPtr conn = Connect_val (connv);
517 char *str = String_val (strv);
520 NONBLOCKING (r = virDomainCreateLinux (conn, str, 0));
521 CHECK_ERROR (!r, conn, "virDomainCreateLinux");
523 rv = Val_domain (r, connv);
528 /* Automatically generated binding for virDomainCreateXML.
529 * In generator.pl this function has signature "conn, string, unsigned : dom".
533 ocaml_libvirt_domain_create_xml (value connv, value strv, value uv)
535 CAMLparam3 (connv, strv, uv);
538 virConnectPtr conn = Connect_val (connv);
539 char *str = String_val (strv);
540 unsigned int u = Int_val (uv);
543 NONBLOCKING (r = virDomainCreateXML (conn, str, u));
544 CHECK_ERROR (!r, conn, "virDomainCreateXML");
546 rv = Val_domain (r, connv);
551 /* Automatically generated binding for virDomainFree.
552 * In generator.pl this function has signature "dom : free".
556 ocaml_libvirt_domain_free (value domv)
560 virDomainPtr dom = Domain_val (domv);
561 virConnectPtr conn = Connect_domv (domv);
564 NONBLOCKING (r = virDomainFree (dom));
565 CHECK_ERROR (r == -1, conn, "virDomainFree");
567 /* So that we don't double-free in the finalizer: */
568 Domain_val (domv) = NULL;
570 CAMLreturn (Val_unit);
573 /* Automatically generated binding for virDomainDestroy.
574 * In generator.pl this function has signature "dom : free".
578 ocaml_libvirt_domain_destroy (value domv)
582 virDomainPtr dom = Domain_val (domv);
583 virConnectPtr conn = Connect_domv (domv);
586 NONBLOCKING (r = virDomainDestroy (dom));
587 CHECK_ERROR (r == -1, conn, "virDomainDestroy");
589 /* So that we don't double-free in the finalizer: */
590 Domain_val (domv) = NULL;
592 CAMLreturn (Val_unit);
595 /* Automatically generated binding for virDomainLookupByName.
596 * In generator.pl this function has signature "conn, string : dom".
600 ocaml_libvirt_domain_lookup_by_name (value connv, value strv)
602 CAMLparam2 (connv, strv);
605 virConnectPtr conn = Connect_val (connv);
606 char *str = String_val (strv);
609 NONBLOCKING (r = virDomainLookupByName (conn, str));
610 CHECK_ERROR (!r, conn, "virDomainLookupByName");
612 rv = Val_domain (r, connv);
617 /* Automatically generated binding for virDomainLookupByID.
618 * In generator.pl this function has signature "conn, int : dom".
622 ocaml_libvirt_domain_lookup_by_id (value connv, value iv)
624 CAMLparam2 (connv, iv);
627 virConnectPtr conn = Connect_val (connv);
628 int i = Int_val (iv);
631 NONBLOCKING (r = virDomainLookupByID (conn, i));
632 CHECK_ERROR (!r, conn, "virDomainLookupByID");
634 rv = Val_domain (r, connv);
639 /* Automatically generated binding for virDomainLookupByUUID.
640 * In generator.pl this function has signature "conn, uuid : dom".
644 ocaml_libvirt_domain_lookup_by_uuid (value connv, value uuidv)
646 CAMLparam2 (connv, uuidv);
649 virConnectPtr conn = Connect_val (connv);
650 unsigned char *uuid = (unsigned char *) String_val (uuidv);
653 NONBLOCKING (r = virDomainLookupByUUID (conn, uuid));
654 CHECK_ERROR (!r, conn, "virDomainLookupByUUID");
656 rv = Val_domain (r, connv);
661 /* Automatically generated binding for virDomainLookupByUUIDString.
662 * In generator.pl this function has signature "conn, string : dom".
666 ocaml_libvirt_domain_lookup_by_uuid_string (value connv, value strv)
668 CAMLparam2 (connv, strv);
671 virConnectPtr conn = Connect_val (connv);
672 char *str = String_val (strv);
675 NONBLOCKING (r = virDomainLookupByUUIDString (conn, str));
676 CHECK_ERROR (!r, conn, "virDomainLookupByUUIDString");
678 rv = Val_domain (r, connv);
683 /* Automatically generated binding for virDomainGetName.
684 * In generator.pl this function has signature "dom : static string".
688 ocaml_libvirt_domain_get_name (value domv)
693 virDomainPtr dom = Domain_val (domv);
694 virConnectPtr conn = Connect_domv (domv);
697 NONBLOCKING (r = virDomainGetName (dom));
698 CHECK_ERROR (!r, conn, "virDomainGetName");
700 rv = caml_copy_string (r);
704 /* Automatically generated binding for virDomainGetOSType.
705 * In generator.pl this function has signature "dom : string".
709 ocaml_libvirt_domain_get_os_type (value domv)
714 virDomainPtr dom = Domain_val (domv);
715 virConnectPtr conn = Connect_domv (domv);
718 NONBLOCKING (r = virDomainGetOSType (dom));
719 CHECK_ERROR (!r, conn, "virDomainGetOSType");
721 rv = caml_copy_string (r);
726 /* Automatically generated binding for virDomainGetXMLDesc.
727 * In generator.pl this function has signature "dom, 0 : string".
731 ocaml_libvirt_domain_get_xml_desc (value domv)
736 virDomainPtr dom = Domain_val (domv);
737 virConnectPtr conn = Connect_domv (domv);
740 NONBLOCKING (r = virDomainGetXMLDesc (dom, 0));
741 CHECK_ERROR (!r, conn, "virDomainGetXMLDesc");
743 rv = caml_copy_string (r);
748 /* Automatically generated binding for virDomainGetUUID.
749 * In generator.pl this function has signature "dom : uuid".
753 ocaml_libvirt_domain_get_uuid (value domv)
758 virDomainPtr dom = Domain_val (domv);
759 virConnectPtr conn = Connect_domv (domv);
760 unsigned char uuid[VIR_UUID_BUFLEN];
763 NONBLOCKING (r = virDomainGetUUID (dom, uuid));
764 CHECK_ERROR (r == -1, conn, "virDomainGetUUID");
766 /* UUIDs are byte arrays with a fixed length. */
767 rv = caml_alloc_string (VIR_UUID_BUFLEN);
768 memcpy (String_val (rv), uuid, VIR_UUID_BUFLEN);
772 /* Automatically generated binding for virDomainGetUUIDString.
773 * In generator.pl this function has signature "dom : uuid string".
777 ocaml_libvirt_domain_get_uuid_string (value domv)
782 virDomainPtr dom = Domain_val (domv);
783 virConnectPtr conn = Connect_domv (domv);
784 char uuid[VIR_UUID_STRING_BUFLEN];
787 NONBLOCKING (r = virDomainGetUUIDString (dom, uuid));
788 CHECK_ERROR (r == -1, conn, "virDomainGetUUIDString");
790 rv = caml_copy_string (uuid);
794 /* Automatically generated binding for virDomainGetMaxVcpus.
795 * In generator.pl this function has signature "dom : int".
799 ocaml_libvirt_domain_get_max_vcpus (value domv)
803 virDomainPtr dom = Domain_val (domv);
804 virConnectPtr conn = Connect_domv (domv);
807 NONBLOCKING (r = virDomainGetMaxVcpus (dom));
808 CHECK_ERROR (r == -1, conn, "virDomainGetMaxVcpus");
810 CAMLreturn (Val_int (r));
813 /* Automatically generated binding for virDomainSave.
814 * In generator.pl this function has signature "dom, string : unit".
818 ocaml_libvirt_domain_save (value domv, value strv)
820 CAMLparam2 (domv, strv);
822 virDomainPtr dom = Domain_val (domv);
823 virConnectPtr conn = Connect_domv (domv);
824 char *str = String_val (strv);
827 NONBLOCKING (r = virDomainSave (dom, str));
828 CHECK_ERROR (r == -1, conn, "virDomainSave");
830 CAMLreturn (Val_unit);
833 /* Automatically generated binding for virDomainRestore.
834 * In generator.pl this function has signature "conn, string : unit".
838 ocaml_libvirt_domain_restore (value connv, value strv)
840 CAMLparam2 (connv, strv);
842 virConnectPtr conn = Connect_val (connv);
843 char *str = String_val (strv);
846 NONBLOCKING (r = virDomainRestore (conn, str));
847 CHECK_ERROR (r == -1, conn, "virDomainRestore");
849 CAMLreturn (Val_unit);
852 /* Automatically generated binding for virDomainCoreDump.
853 * In generator.pl this function has signature "dom, string, 0 : unit".
857 ocaml_libvirt_domain_core_dump (value domv, value strv)
859 CAMLparam2 (domv, strv);
862 virDomainPtr dom = Domain_val (domv);
863 virConnectPtr conn = Connect_domv (domv);
864 char *str = String_val (strv);
867 NONBLOCKING (r = virDomainCoreDump (dom, str, 0));
868 CHECK_ERROR (!r, conn, "virDomainCoreDump");
870 CAMLreturn (Val_unit);
873 /* Automatically generated binding for virDomainSuspend.
874 * In generator.pl this function has signature "dom : unit".
878 ocaml_libvirt_domain_suspend (value domv)
882 virDomainPtr dom = Domain_val (domv);
883 virConnectPtr conn = Connect_domv (domv);
886 NONBLOCKING (r = virDomainSuspend (dom));
887 CHECK_ERROR (r == -1, conn, "virDomainSuspend");
889 CAMLreturn (Val_unit);
892 /* Automatically generated binding for virDomainResume.
893 * In generator.pl this function has signature "dom : unit".
897 ocaml_libvirt_domain_resume (value domv)
901 virDomainPtr dom = Domain_val (domv);
902 virConnectPtr conn = Connect_domv (domv);
905 NONBLOCKING (r = virDomainResume (dom));
906 CHECK_ERROR (r == -1, conn, "virDomainResume");
908 CAMLreturn (Val_unit);
911 /* Automatically generated binding for virDomainShutdown.
912 * In generator.pl this function has signature "dom : unit".
916 ocaml_libvirt_domain_shutdown (value domv)
920 virDomainPtr dom = Domain_val (domv);
921 virConnectPtr conn = Connect_domv (domv);
924 NONBLOCKING (r = virDomainShutdown (dom));
925 CHECK_ERROR (r == -1, conn, "virDomainShutdown");
927 CAMLreturn (Val_unit);
930 /* Automatically generated binding for virDomainReboot.
931 * In generator.pl this function has signature "dom, 0 : unit".
935 ocaml_libvirt_domain_reboot (value domv)
939 virDomainPtr dom = Domain_val (domv);
940 virConnectPtr conn = Connect_domv (domv);
943 NONBLOCKING (r = virDomainReboot (dom, 0));
944 CHECK_ERROR (r == -1, conn, "virDomainReboot");
946 CAMLreturn (Val_unit);
949 /* Automatically generated binding for virDomainDefineXML.
950 * In generator.pl this function has signature "conn, string : dom".
954 ocaml_libvirt_domain_define_xml (value connv, value strv)
956 CAMLparam2 (connv, strv);
959 virConnectPtr conn = Connect_val (connv);
960 char *str = String_val (strv);
963 NONBLOCKING (r = virDomainDefineXML (conn, str));
964 CHECK_ERROR (!r, conn, "virDomainDefineXML");
966 rv = Val_domain (r, connv);
971 /* Automatically generated binding for virDomainUndefine.
972 * In generator.pl this function has signature "dom : unit".
976 ocaml_libvirt_domain_undefine (value domv)
980 virDomainPtr dom = Domain_val (domv);
981 virConnectPtr conn = Connect_domv (domv);
984 NONBLOCKING (r = virDomainUndefine (dom));
985 CHECK_ERROR (r == -1, conn, "virDomainUndefine");
987 CAMLreturn (Val_unit);
990 /* Automatically generated binding for virDomainCreate.
991 * In generator.pl this function has signature "dom : unit".
995 ocaml_libvirt_domain_create (value domv)
999 virDomainPtr dom = Domain_val (domv);
1000 virConnectPtr conn = Connect_domv (domv);
1003 NONBLOCKING (r = virDomainCreate (dom));
1004 CHECK_ERROR (r == -1, conn, "virDomainCreate");
1006 CAMLreturn (Val_unit);
1009 /* Automatically generated binding for virDomainAttachDevice.
1010 * In generator.pl this function has signature "dom, string : unit".
1014 ocaml_libvirt_domain_attach_device (value domv, value strv)
1016 CAMLparam2 (domv, strv);
1018 virDomainPtr dom = Domain_val (domv);
1019 virConnectPtr conn = Connect_domv (domv);
1020 char *str = String_val (strv);
1023 NONBLOCKING (r = virDomainAttachDevice (dom, str));
1024 CHECK_ERROR (r == -1, conn, "virDomainAttachDevice");
1026 CAMLreturn (Val_unit);
1029 /* Automatically generated binding for virDomainDetachDevice.
1030 * In generator.pl this function has signature "dom, string : unit".
1034 ocaml_libvirt_domain_detach_device (value domv, value strv)
1036 CAMLparam2 (domv, strv);
1038 virDomainPtr dom = Domain_val (domv);
1039 virConnectPtr conn = Connect_domv (domv);
1040 char *str = String_val (strv);
1043 NONBLOCKING (r = virDomainDetachDevice (dom, str));
1044 CHECK_ERROR (r == -1, conn, "virDomainDetachDevice");
1046 CAMLreturn (Val_unit);
1049 /* Automatically generated binding for virDomainGetAutostart.
1050 * In generator.pl this function has signature "dom : bool".
1054 ocaml_libvirt_domain_get_autostart (value domv)
1058 virDomainPtr dom = Domain_val (domv);
1059 virConnectPtr conn = Connect_domv (domv);
1062 NONBLOCKING (r = virDomainGetAutostart (dom, &b));
1063 CHECK_ERROR (r == -1, conn, "virDomainGetAutostart");
1065 CAMLreturn (b ? Val_true : Val_false);
1068 /* Automatically generated binding for virDomainSetAutostart.
1069 * In generator.pl this function has signature "dom, bool : unit".
1073 ocaml_libvirt_domain_set_autostart (value domv, value bv)
1075 CAMLparam2 (domv, bv);
1077 virDomainPtr dom = Domain_val (domv);
1078 virConnectPtr conn = Connect_domv (domv);
1081 b = bv == Val_true ? 1 : 0;
1083 NONBLOCKING (r = virDomainSetAutostart (dom, b));
1084 CHECK_ERROR (r == -1, conn, "virDomainSetAutostart");
1086 CAMLreturn (Val_unit);
1089 /* Automatically generated binding for virNetworkFree.
1090 * In generator.pl this function has signature "net : free".
1094 ocaml_libvirt_network_free (value netv)
1098 virNetworkPtr net = Network_val (netv);
1099 virConnectPtr conn = Connect_netv (netv);
1102 NONBLOCKING (r = virNetworkFree (net));
1103 CHECK_ERROR (r == -1, conn, "virNetworkFree");
1105 /* So that we don't double-free in the finalizer: */
1106 Network_val (netv) = NULL;
1108 CAMLreturn (Val_unit);
1111 /* Automatically generated binding for virNetworkDestroy.
1112 * In generator.pl this function has signature "net : free".
1116 ocaml_libvirt_network_destroy (value netv)
1120 virNetworkPtr net = Network_val (netv);
1121 virConnectPtr conn = Connect_netv (netv);
1124 NONBLOCKING (r = virNetworkDestroy (net));
1125 CHECK_ERROR (r == -1, conn, "virNetworkDestroy");
1127 /* So that we don't double-free in the finalizer: */
1128 Network_val (netv) = NULL;
1130 CAMLreturn (Val_unit);
1133 /* Automatically generated binding for virNetworkLookupByName.
1134 * In generator.pl this function has signature "conn, string : net".
1138 ocaml_libvirt_network_lookup_by_name (value connv, value strv)
1140 CAMLparam2 (connv, strv);
1143 virConnectPtr conn = Connect_val (connv);
1144 char *str = String_val (strv);
1147 NONBLOCKING (r = virNetworkLookupByName (conn, str));
1148 CHECK_ERROR (!r, conn, "virNetworkLookupByName");
1150 rv = Val_network (r, connv);
1155 /* Automatically generated binding for virNetworkLookupByUUID.
1156 * In generator.pl this function has signature "conn, uuid : net".
1160 ocaml_libvirt_network_lookup_by_uuid (value connv, value uuidv)
1162 CAMLparam2 (connv, uuidv);
1165 virConnectPtr conn = Connect_val (connv);
1166 unsigned char *uuid = (unsigned char *) String_val (uuidv);
1169 NONBLOCKING (r = virNetworkLookupByUUID (conn, uuid));
1170 CHECK_ERROR (!r, conn, "virNetworkLookupByUUID");
1172 rv = Val_network (r, connv);
1177 /* Automatically generated binding for virNetworkLookupByUUIDString.
1178 * In generator.pl this function has signature "conn, string : net".
1182 ocaml_libvirt_network_lookup_by_uuid_string (value connv, value strv)
1184 CAMLparam2 (connv, strv);
1187 virConnectPtr conn = Connect_val (connv);
1188 char *str = String_val (strv);
1191 NONBLOCKING (r = virNetworkLookupByUUIDString (conn, str));
1192 CHECK_ERROR (!r, conn, "virNetworkLookupByUUIDString");
1194 rv = Val_network (r, connv);
1199 /* Automatically generated binding for virNetworkGetName.
1200 * In generator.pl this function has signature "net : static string".
1204 ocaml_libvirt_network_get_name (value netv)
1209 virNetworkPtr net = Network_val (netv);
1210 virConnectPtr conn = Connect_netv (netv);
1213 NONBLOCKING (r = virNetworkGetName (net));
1214 CHECK_ERROR (!r, conn, "virNetworkGetName");
1216 rv = caml_copy_string (r);
1220 /* Automatically generated binding for virNetworkGetXMLDesc.
1221 * In generator.pl this function has signature "net, 0 : string".
1225 ocaml_libvirt_network_get_xml_desc (value netv)
1230 virNetworkPtr net = Network_val (netv);
1231 virConnectPtr conn = Connect_netv (netv);
1234 NONBLOCKING (r = virNetworkGetXMLDesc (net, 0));
1235 CHECK_ERROR (!r, conn, "virNetworkGetXMLDesc");
1237 rv = caml_copy_string (r);
1242 /* Automatically generated binding for virNetworkGetBridgeName.
1243 * In generator.pl this function has signature "net : string".
1247 ocaml_libvirt_network_get_bridge_name (value netv)
1252 virNetworkPtr net = Network_val (netv);
1253 virConnectPtr conn = Connect_netv (netv);
1256 NONBLOCKING (r = virNetworkGetBridgeName (net));
1257 CHECK_ERROR (!r, conn, "virNetworkGetBridgeName");
1259 rv = caml_copy_string (r);
1264 /* Automatically generated binding for virNetworkGetUUID.
1265 * In generator.pl this function has signature "net : uuid".
1269 ocaml_libvirt_network_get_uuid (value netv)
1274 virNetworkPtr net = Network_val (netv);
1275 virConnectPtr conn = Connect_netv (netv);
1276 unsigned char uuid[VIR_UUID_BUFLEN];
1279 NONBLOCKING (r = virNetworkGetUUID (net, uuid));
1280 CHECK_ERROR (r == -1, conn, "virNetworkGetUUID");
1282 /* UUIDs are byte arrays with a fixed length. */
1283 rv = caml_alloc_string (VIR_UUID_BUFLEN);
1284 memcpy (String_val (rv), uuid, VIR_UUID_BUFLEN);
1288 /* Automatically generated binding for virNetworkGetUUIDString.
1289 * In generator.pl this function has signature "net : uuid string".
1293 ocaml_libvirt_network_get_uuid_string (value netv)
1298 virNetworkPtr net = Network_val (netv);
1299 virConnectPtr conn = Connect_netv (netv);
1300 char uuid[VIR_UUID_STRING_BUFLEN];
1303 NONBLOCKING (r = virNetworkGetUUIDString (net, uuid));
1304 CHECK_ERROR (r == -1, conn, "virNetworkGetUUIDString");
1306 rv = caml_copy_string (uuid);
1310 /* Automatically generated binding for virNetworkUndefine.
1311 * In generator.pl this function has signature "net : unit".
1315 ocaml_libvirt_network_undefine (value netv)
1319 virNetworkPtr net = Network_val (netv);
1320 virConnectPtr conn = Connect_netv (netv);
1323 NONBLOCKING (r = virNetworkUndefine (net));
1324 CHECK_ERROR (r == -1, conn, "virNetworkUndefine");
1326 CAMLreturn (Val_unit);
1329 /* Automatically generated binding for virNetworkCreateXML.
1330 * In generator.pl this function has signature "conn, string : net".
1334 ocaml_libvirt_network_create_xml (value connv, value strv)
1336 CAMLparam2 (connv, strv);
1339 virConnectPtr conn = Connect_val (connv);
1340 char *str = String_val (strv);
1343 NONBLOCKING (r = virNetworkCreateXML (conn, str));
1344 CHECK_ERROR (!r, conn, "virNetworkCreateXML");
1346 rv = Val_network (r, connv);
1351 /* Automatically generated binding for virNetworkDefineXML.
1352 * In generator.pl this function has signature "conn, string : net".
1356 ocaml_libvirt_network_define_xml (value connv, value strv)
1358 CAMLparam2 (connv, strv);
1361 virConnectPtr conn = Connect_val (connv);
1362 char *str = String_val (strv);
1365 NONBLOCKING (r = virNetworkDefineXML (conn, str));
1366 CHECK_ERROR (!r, conn, "virNetworkDefineXML");
1368 rv = Val_network (r, connv);
1373 /* Automatically generated binding for virNetworkCreate.
1374 * In generator.pl this function has signature "net : unit".
1378 ocaml_libvirt_network_create (value netv)
1382 virNetworkPtr net = Network_val (netv);
1383 virConnectPtr conn = Connect_netv (netv);
1386 NONBLOCKING (r = virNetworkCreate (net));
1387 CHECK_ERROR (r == -1, conn, "virNetworkCreate");
1389 CAMLreturn (Val_unit);
1392 /* Automatically generated binding for virNetworkGetAutostart.
1393 * In generator.pl this function has signature "net : bool".
1397 ocaml_libvirt_network_get_autostart (value netv)
1401 virNetworkPtr net = Network_val (netv);
1402 virConnectPtr conn = Connect_netv (netv);
1405 NONBLOCKING (r = virNetworkGetAutostart (net, &b));
1406 CHECK_ERROR (r == -1, conn, "virNetworkGetAutostart");
1408 CAMLreturn (b ? Val_true : Val_false);
1411 /* Automatically generated binding for virNetworkSetAutostart.
1412 * In generator.pl this function has signature "net, bool : unit".
1416 ocaml_libvirt_network_set_autostart (value netv, value bv)
1418 CAMLparam2 (netv, bv);
1420 virNetworkPtr net = Network_val (netv);
1421 virConnectPtr conn = Connect_netv (netv);
1424 b = bv == Val_true ? 1 : 0;
1426 NONBLOCKING (r = virNetworkSetAutostart (net, b));
1427 CHECK_ERROR (r == -1, conn, "virNetworkSetAutostart");
1429 CAMLreturn (Val_unit);
1432 /* Automatically generated binding for virStoragePoolFree.
1433 * In generator.pl this function has signature "pool : free".
1437 ocaml_libvirt_storage_pool_free (value poolv)
1441 virStoragePoolPtr pool = Pool_val (poolv);
1442 virConnectPtr conn = Connect_polv (poolv);
1445 NONBLOCKING (r = virStoragePoolFree (pool));
1446 CHECK_ERROR (r == -1, conn, "virStoragePoolFree");
1448 /* So that we don't double-free in the finalizer: */
1449 Pool_val (poolv) = NULL;
1451 CAMLreturn (Val_unit);
1454 /* Automatically generated binding for virStoragePoolDestroy.
1455 * In generator.pl this function has signature "pool : free".
1459 ocaml_libvirt_storage_pool_destroy (value poolv)
1463 virStoragePoolPtr pool = Pool_val (poolv);
1464 virConnectPtr conn = Connect_polv (poolv);
1467 NONBLOCKING (r = virStoragePoolDestroy (pool));
1468 CHECK_ERROR (r == -1, conn, "virStoragePoolDestroy");
1470 /* So that we don't double-free in the finalizer: */
1471 Pool_val (poolv) = NULL;
1473 CAMLreturn (Val_unit);
1476 /* Automatically generated binding for virStoragePoolLookupByName.
1477 * In generator.pl this function has signature "conn, string : pool".
1481 ocaml_libvirt_storage_pool_lookup_by_name (value connv, value strv)
1483 CAMLparam2 (connv, strv);
1486 virConnectPtr conn = Connect_val (connv);
1487 char *str = String_val (strv);
1488 virStoragePoolPtr r;
1490 NONBLOCKING (r = virStoragePoolLookupByName (conn, str));
1491 CHECK_ERROR (!r, conn, "virStoragePoolLookupByName");
1493 rv = Val_pool (r, connv);
1498 /* Automatically generated binding for virStoragePoolLookupByUUID.
1499 * In generator.pl this function has signature "conn, uuid : pool".
1503 ocaml_libvirt_storage_pool_lookup_by_uuid (value connv, value uuidv)
1505 CAMLparam2 (connv, uuidv);
1508 virConnectPtr conn = Connect_val (connv);
1509 unsigned char *uuid = (unsigned char *) String_val (uuidv);
1510 virStoragePoolPtr r;
1512 NONBLOCKING (r = virStoragePoolLookupByUUID (conn, uuid));
1513 CHECK_ERROR (!r, conn, "virStoragePoolLookupByUUID");
1515 rv = Val_pool (r, connv);
1520 /* Automatically generated binding for virStoragePoolLookupByUUIDString.
1521 * In generator.pl this function has signature "conn, string : pool".
1525 ocaml_libvirt_storage_pool_lookup_by_uuid_string (value connv, value strv)
1527 CAMLparam2 (connv, strv);
1530 virConnectPtr conn = Connect_val (connv);
1531 char *str = String_val (strv);
1532 virStoragePoolPtr r;
1534 NONBLOCKING (r = virStoragePoolLookupByUUIDString (conn, str));
1535 CHECK_ERROR (!r, conn, "virStoragePoolLookupByUUIDString");
1537 rv = Val_pool (r, connv);
1542 /* Automatically generated binding for virStoragePoolGetName.
1543 * In generator.pl this function has signature "pool : static string".
1547 ocaml_libvirt_storage_pool_get_name (value poolv)
1552 virStoragePoolPtr pool = Pool_val (poolv);
1553 virConnectPtr conn = Connect_polv (poolv);
1556 NONBLOCKING (r = virStoragePoolGetName (pool));
1557 CHECK_ERROR (!r, conn, "virStoragePoolGetName");
1559 rv = caml_copy_string (r);
1563 /* Automatically generated binding for virStoragePoolGetXMLDesc.
1564 * In generator.pl this function has signature "pool, 0U : string".
1568 ocaml_libvirt_storage_pool_get_xml_desc (value poolv)
1573 virStoragePoolPtr pool = Pool_val (poolv);
1574 virConnectPtr conn = Connect_polv (poolv);
1577 NONBLOCKING (r = virStoragePoolGetXMLDesc (pool, 0));
1578 CHECK_ERROR (!r, conn, "virStoragePoolGetXMLDesc");
1580 rv = caml_copy_string (r);
1585 /* Automatically generated binding for virStoragePoolGetUUID.
1586 * In generator.pl this function has signature "pool : uuid".
1590 ocaml_libvirt_storage_pool_get_uuid (value poolv)
1595 virStoragePoolPtr pool = Pool_val (poolv);
1596 virConnectPtr conn = Connect_polv (poolv);
1597 unsigned char uuid[VIR_UUID_BUFLEN];
1600 NONBLOCKING (r = virStoragePoolGetUUID (pool, uuid));
1601 CHECK_ERROR (r == -1, conn, "virStoragePoolGetUUID");
1603 /* UUIDs are byte arrays with a fixed length. */
1604 rv = caml_alloc_string (VIR_UUID_BUFLEN);
1605 memcpy (String_val (rv), uuid, VIR_UUID_BUFLEN);
1609 /* Automatically generated binding for virStoragePoolGetUUIDString.
1610 * In generator.pl this function has signature "pool : uuid string".
1614 ocaml_libvirt_storage_pool_get_uuid_string (value poolv)
1619 virStoragePoolPtr pool = Pool_val (poolv);
1620 virConnectPtr conn = Connect_polv (poolv);
1621 char uuid[VIR_UUID_STRING_BUFLEN];
1624 NONBLOCKING (r = virStoragePoolGetUUIDString (pool, uuid));
1625 CHECK_ERROR (r == -1, conn, "virStoragePoolGetUUIDString");
1627 rv = caml_copy_string (uuid);
1631 /* Automatically generated binding for virStoragePoolCreateXML.
1632 * In generator.pl this function has signature "conn, string, 0U : pool".
1636 ocaml_libvirt_storage_pool_create_xml (value connv, value strv)
1638 CAMLparam2 (connv, strv);
1641 virConnectPtr conn = Connect_val (connv);
1642 char *str = String_val (strv);
1643 virStoragePoolPtr r;
1645 NONBLOCKING (r = virStoragePoolCreateXML (conn, str, 0));
1646 CHECK_ERROR (!r, conn, "virStoragePoolCreateXML");
1648 rv = Val_pool (r, connv);
1653 /* Automatically generated binding for virStoragePoolDefineXML.
1654 * In generator.pl this function has signature "conn, string, 0U : pool".
1658 ocaml_libvirt_storage_pool_define_xml (value connv, value strv)
1660 CAMLparam2 (connv, strv);
1663 virConnectPtr conn = Connect_val (connv);
1664 char *str = String_val (strv);
1665 virStoragePoolPtr r;
1667 NONBLOCKING (r = virStoragePoolDefineXML (conn, str, 0));
1668 CHECK_ERROR (!r, conn, "virStoragePoolDefineXML");
1670 rv = Val_pool (r, connv);
1675 /* Automatically generated binding for virStoragePoolBuild.
1676 * In generator.pl this function has signature "pool, uint : unit".
1680 ocaml_libvirt_storage_pool_build (value poolv, value iv)
1682 CAMLparam2 (poolv, iv);
1684 virStoragePoolPtr pool = Pool_val (poolv);
1685 virConnectPtr conn = Connect_polv (poolv);
1686 unsigned int i = Int_val (iv);
1689 NONBLOCKING (r = virStoragePoolBuild (pool, i));
1690 CHECK_ERROR (r == -1, conn, "virStoragePoolBuild");
1692 CAMLreturn (Val_unit);
1695 /* Automatically generated binding for virStoragePoolUndefine.
1696 * In generator.pl this function has signature "pool : unit".
1700 ocaml_libvirt_storage_pool_undefine (value poolv)
1704 virStoragePoolPtr pool = Pool_val (poolv);
1705 virConnectPtr conn = Connect_polv (poolv);
1708 NONBLOCKING (r = virStoragePoolUndefine (pool));
1709 CHECK_ERROR (r == -1, conn, "virStoragePoolUndefine");
1711 CAMLreturn (Val_unit);
1714 /* Automatically generated binding for virStoragePoolCreate.
1715 * In generator.pl this function has signature "pool, 0U : unit".
1719 ocaml_libvirt_storage_pool_create (value poolv)
1723 virStoragePoolPtr pool = Pool_val (poolv);
1724 virConnectPtr conn = Connect_polv (poolv);
1727 NONBLOCKING (r = virStoragePoolCreate (pool, 0));
1728 CHECK_ERROR (r == -1, conn, "virStoragePoolCreate");
1730 CAMLreturn (Val_unit);
1733 /* Automatically generated binding for virStoragePoolDelete.
1734 * In generator.pl this function has signature "pool, uint : unit".
1738 ocaml_libvirt_storage_pool_delete (value poolv, value iv)
1740 CAMLparam2 (poolv, iv);
1742 virStoragePoolPtr pool = Pool_val (poolv);
1743 virConnectPtr conn = Connect_polv (poolv);
1744 unsigned int i = Int_val (iv);
1747 NONBLOCKING (r = virStoragePoolDelete (pool, i));
1748 CHECK_ERROR (r == -1, conn, "virStoragePoolDelete");
1750 CAMLreturn (Val_unit);
1753 /* Automatically generated binding for virStoragePoolRefresh.
1754 * In generator.pl this function has signature "pool, 0U : unit".
1758 ocaml_libvirt_storage_pool_refresh (value poolv)
1762 virStoragePoolPtr pool = Pool_val (poolv);
1763 virConnectPtr conn = Connect_polv (poolv);
1766 NONBLOCKING (r = virStoragePoolRefresh (pool, 0));
1767 CHECK_ERROR (r == -1, conn, "virStoragePoolRefresh");
1769 CAMLreturn (Val_unit);
1772 /* Automatically generated binding for virStoragePoolGetAutostart.
1773 * In generator.pl this function has signature "pool : bool".
1777 ocaml_libvirt_storage_pool_get_autostart (value poolv)
1781 virStoragePoolPtr pool = Pool_val (poolv);
1782 virConnectPtr conn = Connect_polv (poolv);
1785 NONBLOCKING (r = virStoragePoolGetAutostart (pool, &b));
1786 CHECK_ERROR (r == -1, conn, "virStoragePoolGetAutostart");
1788 CAMLreturn (b ? Val_true : Val_false);
1791 /* Automatically generated binding for virStoragePoolSetAutostart.
1792 * In generator.pl this function has signature "pool, bool : unit".
1796 ocaml_libvirt_storage_pool_set_autostart (value poolv, value bv)
1798 CAMLparam2 (poolv, bv);
1800 virStoragePoolPtr pool = Pool_val (poolv);
1801 virConnectPtr conn = Connect_polv (poolv);
1804 b = bv == Val_true ? 1 : 0;
1806 NONBLOCKING (r = virStoragePoolSetAutostart (pool, b));
1807 CHECK_ERROR (r == -1, conn, "virStoragePoolSetAutostart");
1809 CAMLreturn (Val_unit);
1812 /* Automatically generated binding for virStoragePoolNumOfVolumes.
1813 * In generator.pl this function has signature "pool : int".
1817 ocaml_libvirt_storage_pool_num_of_volumes (value poolv)
1821 virStoragePoolPtr pool = Pool_val (poolv);
1822 virConnectPtr conn = Connect_polv (poolv);
1825 NONBLOCKING (r = virStoragePoolNumOfVolumes (pool));
1826 CHECK_ERROR (r == -1, conn, "virStoragePoolNumOfVolumes");
1828 CAMLreturn (Val_int (r));
1831 /* Automatically generated binding for virStoragePoolListVolumes.
1832 * In generator.pl this function has signature "pool, int : string array".
1836 ocaml_libvirt_storage_pool_list_volumes (value poolv, value iv)
1838 CAMLparam2 (poolv, iv);
1840 CAMLlocal2 (rv, strv);
1841 virStoragePoolPtr pool = Pool_val (poolv);
1842 virConnectPtr conn = Connect_polv (poolv);
1843 int i = Int_val (iv);
1847 /* Some libvirt List* functions still throw exceptions if i == 0,
1848 * so catch that and return an empty array directly. This changes
1849 * the semantics slightly (masking other failures) but it's
1850 * unlikely anyone will care. RWMJ 2008/06/10
1853 rv = caml_alloc (0, 0);
1857 NONBLOCKING (r = virStoragePoolListVolumes (pool, names, i));
1858 CHECK_ERROR (r == -1, conn, "virStoragePoolListVolumes");
1860 rv = caml_alloc (r, 0);
1861 for (i = 0; i < r; ++i) {
1862 strv = caml_copy_string (names[i]);
1863 Store_field (rv, i, strv);
1870 /* Automatically generated binding for virStorageVolFree.
1871 * In generator.pl this function has signature "vol : free".
1875 ocaml_libvirt_storage_vol_free (value volv)
1879 virStorageVolPtr vol = Volume_val (volv);
1880 virConnectPtr conn = Connect_volv (volv);
1883 NONBLOCKING (r = virStorageVolFree (vol));
1884 CHECK_ERROR (r == -1, conn, "virStorageVolFree");
1886 /* So that we don't double-free in the finalizer: */
1887 Volume_val (volv) = NULL;
1889 CAMLreturn (Val_unit);
1892 /* Automatically generated binding for virStorageVolDelete.
1893 * In generator.pl this function has signature "vol, uint : unit".
1897 ocaml_libvirt_storage_vol_delete (value volv, value iv)
1899 CAMLparam2 (volv, iv);
1901 virStorageVolPtr vol = Volume_val (volv);
1902 virConnectPtr conn = Connect_volv (volv);
1903 unsigned int i = Int_val (iv);
1906 NONBLOCKING (r = virStorageVolDelete (vol, i));
1907 CHECK_ERROR (r == -1, conn, "virStorageVolDelete");
1909 CAMLreturn (Val_unit);
1912 /* Automatically generated binding for virStorageVolLookupByName.
1913 * In generator.pl this function has signature "pool, string : vol from pool".
1917 ocaml_libvirt_storage_vol_lookup_by_name (value poolv, value strv)
1919 CAMLparam2 (poolv, strv);
1921 CAMLlocal2 (rv, connv);
1922 virStoragePoolPtr pool = Pool_val (poolv);
1923 virConnectPtr conn = Connect_polv (poolv);
1924 char *str = String_val (strv);
1927 NONBLOCKING (r = virStorageVolLookupByName (pool, str));
1928 CHECK_ERROR (!r, conn, "virStorageVolLookupByName");
1930 connv = Field (poolv, 1);
1931 rv = Val_volume (r, connv);
1936 /* Automatically generated binding for virStorageVolLookupByKey.
1937 * In generator.pl this function has signature "conn, string : vol".
1941 ocaml_libvirt_storage_vol_lookup_by_key (value connv, value strv)
1943 CAMLparam2 (connv, strv);
1946 virConnectPtr conn = Connect_val (connv);
1947 char *str = String_val (strv);
1950 NONBLOCKING (r = virStorageVolLookupByKey (conn, str));
1951 CHECK_ERROR (!r, conn, "virStorageVolLookupByKey");
1953 rv = Val_volume (r, connv);
1958 /* Automatically generated binding for virStorageVolLookupByPath.
1959 * In generator.pl this function has signature "conn, string : vol".
1963 ocaml_libvirt_storage_vol_lookup_by_path (value connv, value strv)
1965 CAMLparam2 (connv, strv);
1968 virConnectPtr conn = Connect_val (connv);
1969 char *str = String_val (strv);
1972 NONBLOCKING (r = virStorageVolLookupByPath (conn, str));
1973 CHECK_ERROR (!r, conn, "virStorageVolLookupByPath");
1975 rv = Val_volume (r, connv);
1980 /* Automatically generated binding for virStorageVolCreateXML.
1981 * In generator.pl this function has signature "pool, string, 0U : vol from pool".
1985 ocaml_libvirt_storage_vol_create_xml (value poolv, value strv)
1987 CAMLparam2 (poolv, strv);
1989 CAMLlocal2 (rv, connv);
1990 virStoragePoolPtr pool = Pool_val (poolv);
1991 virConnectPtr conn = Connect_polv (poolv);
1992 char *str = String_val (strv);
1995 NONBLOCKING (r = virStorageVolCreateXML (pool, str, 0));
1996 CHECK_ERROR (!r, conn, "virStorageVolCreateXML");
1998 connv = Field (poolv, 1);
1999 rv = Val_volume (r, connv);
2004 /* Automatically generated binding for virStorageVolGetXMLDesc.
2005 * In generator.pl this function has signature "vol, 0U : string".
2009 ocaml_libvirt_storage_vol_get_xml_desc (value volv)
2014 virStorageVolPtr vol = Volume_val (volv);
2015 virConnectPtr conn = Connect_volv (volv);
2018 NONBLOCKING (r = virStorageVolGetXMLDesc (vol, 0));
2019 CHECK_ERROR (!r, conn, "virStorageVolGetXMLDesc");
2021 rv = caml_copy_string (r);
2026 /* Automatically generated binding for virStorageVolGetPath.
2027 * In generator.pl this function has signature "vol : string".
2031 ocaml_libvirt_storage_vol_get_path (value volv)
2036 virStorageVolPtr vol = Volume_val (volv);
2037 virConnectPtr conn = Connect_volv (volv);
2040 NONBLOCKING (r = virStorageVolGetPath (vol));
2041 CHECK_ERROR (!r, conn, "virStorageVolGetPath");
2043 rv = caml_copy_string (r);
2048 /* Automatically generated binding for virStorageVolGetKey.
2049 * In generator.pl this function has signature "vol : static string".
2053 ocaml_libvirt_storage_vol_get_key (value volv)
2058 virStorageVolPtr vol = Volume_val (volv);
2059 virConnectPtr conn = Connect_volv (volv);
2062 NONBLOCKING (r = virStorageVolGetKey (vol));
2063 CHECK_ERROR (!r, conn, "virStorageVolGetKey");
2065 rv = caml_copy_string (r);
2069 /* Automatically generated binding for virStorageVolGetName.
2070 * In generator.pl this function has signature "vol : static string".
2074 ocaml_libvirt_storage_vol_get_name (value volv)
2079 virStorageVolPtr vol = Volume_val (volv);
2080 virConnectPtr conn = Connect_volv (volv);
2083 NONBLOCKING (r = virStorageVolGetName (vol));
2084 CHECK_ERROR (!r, conn, "virStorageVolGetName");
2086 rv = caml_copy_string (r);
2090 /* Automatically generated binding for virStoragePoolLookupByVolume.
2091 * In generator.pl this function has signature "vol : pool from vol".
2095 ocaml_libvirt_storage_pool_lookup_by_volume (value volv)
2099 CAMLlocal2 (rv, connv);
2100 virStorageVolPtr vol = Volume_val (volv);
2101 virConnectPtr conn = Connect_volv (volv);
2102 virStoragePoolPtr r;
2104 NONBLOCKING (r = virStoragePoolLookupByVolume (vol));
2105 CHECK_ERROR (!r, conn, "virStoragePoolLookupByVolume");
2107 connv = Field (volv, 1);
2108 rv = Val_pool (r, connv);
2113 #include "libvirt_c_epilogue.c"