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-2008 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.
17 * This library is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * Lesser General Public License for more details.
22 * You should have received a copy of the GNU Lesser General Public
23 * License along with this library; if not, write to the Free Software
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
33 #include <libvirt/libvirt.h>
34 #include <libvirt/virterror.h>
36 #include <caml/config.h>
37 #include <caml/alloc.h>
38 #include <caml/callback.h>
39 #include <caml/custom.h>
40 #include <caml/fail.h>
41 #include <caml/memory.h>
42 #include <caml/misc.h>
43 #include <caml/mlvalues.h>
44 #include <caml/signals.h>
46 #include "libvirt_c_prologue.c"
48 #include "libvirt_c_oneoffs.c"
51 ocaml_libvirt_connect_close (value connv)
55 virConnectPtr conn = Connect_val (connv);
58 NONBLOCKING (r = virConnectClose (conn));
59 CHECK_ERROR (r == -1, conn, "virConnectClose");
61 /* So that we don't double-free in the finalizer: */
62 Connect_val (connv) = NULL;
64 CAMLreturn (Val_unit);
67 #ifdef HAVE_WEAK_SYMBOLS
68 #ifdef HAVE_VIRCONNECTGETHOSTNAME
69 extern char *virConnectGetHostname (virConnectPtr conn) __attribute__((weak));
74 ocaml_libvirt_connect_get_hostname (value connv)
77 #ifndef HAVE_VIRCONNECTGETHOSTNAME
78 /* Symbol virConnectGetHostname not found at compile time. */
79 not_supported ("virConnectGetHostname");
80 /* Suppresses a compiler warning. */
83 /* Check that the symbol virConnectGetHostname
84 * is in runtime version of libvirt.
86 WEAK_SYMBOL_CHECK (virConnectGetHostname);
89 virConnectPtr conn = Connect_val (connv);
92 NONBLOCKING (r = virConnectGetHostname (conn));
93 CHECK_ERROR (!r, conn, "virConnectGetHostname");
95 rv = caml_copy_string (r);
101 #ifdef HAVE_WEAK_SYMBOLS
102 #ifdef HAVE_VIRCONNECTGETURI
103 extern char *virConnectGetURI (virConnectPtr conn) __attribute__((weak));
108 ocaml_libvirt_connect_get_uri (value connv)
111 #ifndef HAVE_VIRCONNECTGETURI
112 /* Symbol virConnectGetURI not found at compile time. */
113 not_supported ("virConnectGetURI");
114 /* Suppresses a compiler warning. */
117 /* Check that the symbol virConnectGetURI
118 * is in runtime version of libvirt.
120 WEAK_SYMBOL_CHECK (virConnectGetURI);
123 virConnectPtr conn = Connect_val (connv);
126 NONBLOCKING (r = virConnectGetURI (conn));
127 CHECK_ERROR (!r, conn, "virConnectGetURI");
129 rv = caml_copy_string (r);
136 ocaml_libvirt_connect_get_type (value connv)
141 virConnectPtr conn = Connect_val (connv);
144 NONBLOCKING (r = virConnectGetType (conn));
145 CHECK_ERROR (!r, conn, "virConnectGetType");
147 rv = caml_copy_string (r);
152 ocaml_libvirt_connect_num_of_domains (value connv)
156 virConnectPtr conn = Connect_val (connv);
159 NONBLOCKING (r = virConnectNumOfDomains (conn));
160 CHECK_ERROR (r == -1, conn, "virConnectNumOfDomains");
162 CAMLreturn (Val_int (r));
166 ocaml_libvirt_connect_list_domains (value connv, value iv)
168 CAMLparam2 (connv, iv);
171 virConnectPtr conn = Connect_val (connv);
172 int i = Int_val (iv);
175 NONBLOCKING (r = virConnectListDomains (conn, ids, i));
176 CHECK_ERROR (r == -1, conn, "virConnectListDomains");
178 rv = caml_alloc (r, 0);
179 for (i = 0; i < r; ++i)
180 Store_field (rv, i, Val_int (ids[i]));
186 ocaml_libvirt_connect_num_of_defined_domains (value connv)
190 virConnectPtr conn = Connect_val (connv);
193 NONBLOCKING (r = virConnectNumOfDefinedDomains (conn));
194 CHECK_ERROR (r == -1, conn, "virConnectNumOfDefinedDomains");
196 CAMLreturn (Val_int (r));
200 ocaml_libvirt_connect_list_defined_domains (value connv, value iv)
202 CAMLparam2 (connv, iv);
204 CAMLlocal2 (rv, strv);
205 virConnectPtr conn = Connect_val (connv);
206 int i = Int_val (iv);
210 NONBLOCKING (r = virConnectListDefinedDomains (conn, names, i));
211 CHECK_ERROR (r == -1, conn, "virConnectListDefinedDomains");
213 rv = caml_alloc (r, 0);
214 for (i = 0; i < r; ++i) {
215 strv = caml_copy_string (names[i]);
216 Store_field (rv, i, strv);
224 ocaml_libvirt_connect_num_of_networks (value connv)
228 virConnectPtr conn = Connect_val (connv);
231 NONBLOCKING (r = virConnectNumOfNetworks (conn));
232 CHECK_ERROR (r == -1, conn, "virConnectNumOfNetworks");
234 CAMLreturn (Val_int (r));
238 ocaml_libvirt_connect_list_networks (value connv, value iv)
240 CAMLparam2 (connv, iv);
242 CAMLlocal2 (rv, strv);
243 virConnectPtr conn = Connect_val (connv);
244 int i = Int_val (iv);
248 NONBLOCKING (r = virConnectListNetworks (conn, names, i));
249 CHECK_ERROR (r == -1, conn, "virConnectListNetworks");
251 rv = caml_alloc (r, 0);
252 for (i = 0; i < r; ++i) {
253 strv = caml_copy_string (names[i]);
254 Store_field (rv, i, strv);
262 ocaml_libvirt_connect_num_of_defined_networks (value connv)
266 virConnectPtr conn = Connect_val (connv);
269 NONBLOCKING (r = virConnectNumOfDefinedNetworks (conn));
270 CHECK_ERROR (r == -1, conn, "virConnectNumOfDefinedNetworks");
272 CAMLreturn (Val_int (r));
276 ocaml_libvirt_connect_list_defined_networks (value connv, value iv)
278 CAMLparam2 (connv, iv);
280 CAMLlocal2 (rv, strv);
281 virConnectPtr conn = Connect_val (connv);
282 int i = Int_val (iv);
286 NONBLOCKING (r = virConnectListDefinedNetworks (conn, names, i));
287 CHECK_ERROR (r == -1, conn, "virConnectListDefinedNetworks");
289 rv = caml_alloc (r, 0);
290 for (i = 0; i < r; ++i) {
291 strv = caml_copy_string (names[i]);
292 Store_field (rv, i, strv);
299 #ifdef HAVE_WEAK_SYMBOLS
300 #ifdef HAVE_VIRCONNECTNUMOFSTORAGEPOOLS
301 extern int virConnectNumOfStoragePools (virConnectPtr conn) __attribute__((weak));
306 ocaml_libvirt_connect_num_of_storage_pools (value connv)
309 #ifndef HAVE_VIRCONNECTNUMOFSTORAGEPOOLS
310 /* Symbol virConnectNumOfStoragePools not found at compile time. */
311 not_supported ("virConnectNumOfStoragePools");
312 /* Suppresses a compiler warning. */
315 /* Check that the symbol virConnectNumOfStoragePools
316 * is in runtime version of libvirt.
318 WEAK_SYMBOL_CHECK (virConnectNumOfStoragePools);
320 virConnectPtr conn = Connect_val (connv);
323 NONBLOCKING (r = virConnectNumOfStoragePools (conn));
324 CHECK_ERROR (r == -1, conn, "virConnectNumOfStoragePools");
326 CAMLreturn (Val_int (r));
330 #ifdef HAVE_WEAK_SYMBOLS
331 #ifdef HAVE_VIRCONNECTLISTSTORAGEPOOLS
332 extern int virConnectListStoragePools (virConnectPtr conn, char **const names, int maxnames) __attribute__((weak));
337 ocaml_libvirt_connect_list_storage_pools (value connv, value iv)
339 CAMLparam2 (connv, iv);
340 #ifndef HAVE_VIRCONNECTLISTSTORAGEPOOLS
341 /* Symbol virConnectListStoragePools not found at compile time. */
342 not_supported ("virConnectListStoragePools");
343 /* Suppresses a compiler warning. */
346 /* Check that the symbol virConnectListStoragePools
347 * is in runtime version of libvirt.
349 WEAK_SYMBOL_CHECK (virConnectListStoragePools);
351 CAMLlocal2 (rv, strv);
352 virConnectPtr conn = Connect_val (connv);
353 int i = Int_val (iv);
357 NONBLOCKING (r = virConnectListStoragePools (conn, names, i));
358 CHECK_ERROR (r == -1, conn, "virConnectListStoragePools");
360 rv = caml_alloc (r, 0);
361 for (i = 0; i < r; ++i) {
362 strv = caml_copy_string (names[i]);
363 Store_field (rv, i, strv);
371 #ifdef HAVE_WEAK_SYMBOLS
372 #ifdef HAVE_VIRCONNECTNUMOFDEFINEDSTORAGEPOOLS
373 extern int virConnectNumOfDefinedStoragePools (virConnectPtr conn) __attribute__((weak));
378 ocaml_libvirt_connect_num_of_defined_storage_pools (value connv)
381 #ifndef HAVE_VIRCONNECTNUMOFDEFINEDSTORAGEPOOLS
382 /* Symbol virConnectNumOfDefinedStoragePools not found at compile time. */
383 not_supported ("virConnectNumOfDefinedStoragePools");
384 /* Suppresses a compiler warning. */
387 /* Check that the symbol virConnectNumOfDefinedStoragePools
388 * is in runtime version of libvirt.
390 WEAK_SYMBOL_CHECK (virConnectNumOfDefinedStoragePools);
392 virConnectPtr conn = Connect_val (connv);
395 NONBLOCKING (r = virConnectNumOfDefinedStoragePools (conn));
396 CHECK_ERROR (r == -1, conn, "virConnectNumOfDefinedStoragePools");
398 CAMLreturn (Val_int (r));
402 #ifdef HAVE_WEAK_SYMBOLS
403 #ifdef HAVE_VIRCONNECTLISTDEFINEDSTORAGEPOOLS
404 extern int virConnectListDefinedStoragePools (virConnectPtr conn, char **const names, int maxnames) __attribute__((weak));
409 ocaml_libvirt_connect_list_defined_storage_pools (value connv, value iv)
411 CAMLparam2 (connv, iv);
412 #ifndef HAVE_VIRCONNECTLISTDEFINEDSTORAGEPOOLS
413 /* Symbol virConnectListDefinedStoragePools not found at compile time. */
414 not_supported ("virConnectListDefinedStoragePools");
415 /* Suppresses a compiler warning. */
418 /* Check that the symbol virConnectListDefinedStoragePools
419 * is in runtime version of libvirt.
421 WEAK_SYMBOL_CHECK (virConnectListDefinedStoragePools);
423 CAMLlocal2 (rv, strv);
424 virConnectPtr conn = Connect_val (connv);
425 int i = Int_val (iv);
429 NONBLOCKING (r = virConnectListDefinedStoragePools (conn, names, i));
430 CHECK_ERROR (r == -1, conn, "virConnectListDefinedStoragePools");
432 rv = caml_alloc (r, 0);
433 for (i = 0; i < r; ++i) {
434 strv = caml_copy_string (names[i]);
435 Store_field (rv, i, strv);
444 ocaml_libvirt_connect_get_capabilities (value connv)
449 virConnectPtr conn = Connect_val (connv);
452 NONBLOCKING (r = virConnectGetCapabilities (conn));
453 CHECK_ERROR (!r, conn, "virConnectGetCapabilities");
455 rv = caml_copy_string (r);
461 ocaml_libvirt_domain_free (value domv)
465 virDomainPtr dom = Domain_val (domv);
466 virConnectPtr conn = Connect_domv (domv);
469 NONBLOCKING (r = virDomainFree (dom));
470 CHECK_ERROR (r == -1, conn, "virDomainFree");
472 /* So that we don't double-free in the finalizer: */
473 Domain_val (domv) = NULL;
475 CAMLreturn (Val_unit);
479 ocaml_libvirt_domain_destroy (value domv)
483 virDomainPtr dom = Domain_val (domv);
484 virConnectPtr conn = Connect_domv (domv);
487 NONBLOCKING (r = virDomainDestroy (dom));
488 CHECK_ERROR (r == -1, conn, "virDomainDestroy");
490 /* So that we don't double-free in the finalizer: */
491 Domain_val (domv) = NULL;
493 CAMLreturn (Val_unit);
497 ocaml_libvirt_domain_lookup_by_name (value connv, value strv)
499 CAMLparam2 (connv, strv);
502 virConnectPtr conn = Connect_val (connv);
503 char *str = String_val (strv);
506 NONBLOCKING (r = virDomainLookupByName (conn, str));
507 CHECK_ERROR (!r, conn, "virDomainLookupByName");
509 rv = Val_domain (r, connv);
515 ocaml_libvirt_domain_lookup_by_uuid_string (value connv, value strv)
517 CAMLparam2 (connv, strv);
520 virConnectPtr conn = Connect_val (connv);
521 char *str = String_val (strv);
524 NONBLOCKING (r = virDomainLookupByUUIDString (conn, str));
525 CHECK_ERROR (!r, conn, "virDomainLookupByUUIDString");
527 rv = Val_domain (r, connv);
533 ocaml_libvirt_domain_get_name (value domv)
538 virDomainPtr dom = Domain_val (domv);
539 virConnectPtr conn = Connect_domv (domv);
542 NONBLOCKING (r = virDomainGetName (dom));
543 CHECK_ERROR (!r, conn, "virDomainGetName");
545 rv = caml_copy_string (r);
550 ocaml_libvirt_domain_get_os_type (value domv)
555 virDomainPtr dom = Domain_val (domv);
556 virConnectPtr conn = Connect_domv (domv);
559 NONBLOCKING (r = virDomainGetOSType (dom));
560 CHECK_ERROR (!r, conn, "virDomainGetOSType");
562 rv = caml_copy_string (r);
568 ocaml_libvirt_domain_get_xml_desc (value domv)
573 virDomainPtr dom = Domain_val (domv);
574 virConnectPtr conn = Connect_domv (domv);
577 NONBLOCKING (r = virDomainGetXMLDesc (dom, 0));
578 CHECK_ERROR (!r, conn, "virDomainGetXMLDesc");
580 rv = caml_copy_string (r);
586 ocaml_libvirt_domain_get_uuid (value domv)
591 virDomainPtr dom = Domain_val (domv);
592 virConnectPtr conn = Connect_domv (domv);
593 unsigned char uuid[VIR_UUID_BUFLEN];
596 NONBLOCKING (r = virDomainGetUUID (dom, uuid));
597 CHECK_ERROR (r == -1, conn, "virDomainGetUUID");
599 rv = caml_copy_string ((char *) uuid);
604 ocaml_libvirt_domain_get_uuid_string (value domv)
609 virDomainPtr dom = Domain_val (domv);
610 virConnectPtr conn = Connect_domv (domv);
611 char uuid[VIR_UUID_STRING_BUFLEN];
614 NONBLOCKING (r = virDomainGetUUIDString (dom, uuid));
615 CHECK_ERROR (r == -1, conn, "virDomainGetUUIDString");
617 rv = caml_copy_string (uuid);
622 ocaml_libvirt_domain_suspend (value domv)
626 virDomainPtr dom = Domain_val (domv);
627 virConnectPtr conn = Connect_domv (domv);
630 NONBLOCKING (r = virDomainSuspend (dom));
631 CHECK_ERROR (r == -1, conn, "virDomainSuspend");
633 CAMLreturn (Val_unit);
637 ocaml_libvirt_domain_resume (value domv)
641 virDomainPtr dom = Domain_val (domv);
642 virConnectPtr conn = Connect_domv (domv);
645 NONBLOCKING (r = virDomainResume (dom));
646 CHECK_ERROR (r == -1, conn, "virDomainResume");
648 CAMLreturn (Val_unit);
652 ocaml_libvirt_domain_shutdown (value domv)
656 virDomainPtr dom = Domain_val (domv);
657 virConnectPtr conn = Connect_domv (domv);
660 NONBLOCKING (r = virDomainShutdown (dom));
661 CHECK_ERROR (r == -1, conn, "virDomainShutdown");
663 CAMLreturn (Val_unit);
667 ocaml_libvirt_domain_reboot (value domv)
671 virDomainPtr dom = Domain_val (domv);
672 virConnectPtr conn = Connect_domv (domv);
675 NONBLOCKING (r = virDomainReboot (dom, 0));
676 CHECK_ERROR (r == -1, conn, "virDomainReboot");
678 CAMLreturn (Val_unit);
682 ocaml_libvirt_domain_undefine (value domv)
686 virDomainPtr dom = Domain_val (domv);
687 virConnectPtr conn = Connect_domv (domv);
690 NONBLOCKING (r = virDomainUndefine (dom));
691 CHECK_ERROR (r == -1, conn, "virDomainUndefine");
693 CAMLreturn (Val_unit);
697 ocaml_libvirt_domain_create (value domv)
701 virDomainPtr dom = Domain_val (domv);
702 virConnectPtr conn = Connect_domv (domv);
705 NONBLOCKING (r = virDomainCreate (dom));
706 CHECK_ERROR (r == -1, conn, "virDomainCreate");
708 CAMLreturn (Val_unit);
712 ocaml_libvirt_domain_get_autostart (value domv)
716 virDomainPtr dom = Domain_val (domv);
717 virConnectPtr conn = Connect_domv (domv);
720 NONBLOCKING (r = virDomainGetAutostart (dom, &b));
721 CHECK_ERROR (r == -1, conn, "virDomainGetAutostart");
723 CAMLreturn (b ? Val_true : Val_false);
727 ocaml_libvirt_domain_set_autostart (value domv, value bv)
729 CAMLparam2 (domv, bv);
731 virDomainPtr dom = Domain_val (domv);
732 virConnectPtr conn = Connect_domv (domv);
735 b = bv == Val_true ? 1 : 0;
737 NONBLOCKING (r = virDomainSetAutostart (dom, b));
738 CHECK_ERROR (r == -1, conn, "virDomainSetAutostart");
740 CAMLreturn (Val_unit);
744 ocaml_libvirt_network_free (value netv)
748 virNetworkPtr net = Network_val (netv);
749 virConnectPtr conn = Connect_netv (netv);
752 NONBLOCKING (r = virNetworkFree (net));
753 CHECK_ERROR (r == -1, conn, "virNetworkFree");
755 /* So that we don't double-free in the finalizer: */
756 Network_val (netv) = NULL;
758 CAMLreturn (Val_unit);
762 ocaml_libvirt_network_destroy (value netv)
766 virNetworkPtr net = Network_val (netv);
767 virConnectPtr conn = Connect_netv (netv);
770 NONBLOCKING (r = virNetworkDestroy (net));
771 CHECK_ERROR (r == -1, conn, "virNetworkDestroy");
773 /* So that we don't double-free in the finalizer: */
774 Network_val (netv) = NULL;
776 CAMLreturn (Val_unit);
780 ocaml_libvirt_network_lookup_by_name (value connv, value strv)
782 CAMLparam2 (connv, strv);
785 virConnectPtr conn = Connect_val (connv);
786 char *str = String_val (strv);
789 NONBLOCKING (r = virNetworkLookupByName (conn, str));
790 CHECK_ERROR (!r, conn, "virNetworkLookupByName");
792 rv = Val_network (r, connv);
798 ocaml_libvirt_network_lookup_by_uuid_string (value connv, value strv)
800 CAMLparam2 (connv, strv);
803 virConnectPtr conn = Connect_val (connv);
804 char *str = String_val (strv);
807 NONBLOCKING (r = virNetworkLookupByUUIDString (conn, str));
808 CHECK_ERROR (!r, conn, "virNetworkLookupByUUIDString");
810 rv = Val_network (r, connv);
816 ocaml_libvirt_network_get_name (value netv)
821 virNetworkPtr net = Network_val (netv);
822 virConnectPtr conn = Connect_netv (netv);
825 NONBLOCKING (r = virNetworkGetName (net));
826 CHECK_ERROR (!r, conn, "virNetworkGetName");
828 rv = caml_copy_string (r);
833 ocaml_libvirt_network_get_xml_desc (value netv)
838 virNetworkPtr net = Network_val (netv);
839 virConnectPtr conn = Connect_netv (netv);
842 NONBLOCKING (r = virNetworkGetXMLDesc (net, 0));
843 CHECK_ERROR (!r, conn, "virNetworkGetXMLDesc");
845 rv = caml_copy_string (r);
851 ocaml_libvirt_network_get_bridge_name (value netv)
856 virNetworkPtr net = Network_val (netv);
857 virConnectPtr conn = Connect_netv (netv);
860 NONBLOCKING (r = virNetworkGetBridgeName (net));
861 CHECK_ERROR (!r, conn, "virNetworkGetBridgeName");
863 rv = caml_copy_string (r);
869 ocaml_libvirt_network_get_uuid (value netv)
874 virNetworkPtr net = Network_val (netv);
875 virConnectPtr conn = Connect_netv (netv);
876 unsigned char uuid[VIR_UUID_BUFLEN];
879 NONBLOCKING (r = virNetworkGetUUID (net, uuid));
880 CHECK_ERROR (r == -1, conn, "virNetworkGetUUID");
882 rv = caml_copy_string ((char *) uuid);
887 ocaml_libvirt_network_get_uuid_string (value netv)
892 virNetworkPtr net = Network_val (netv);
893 virConnectPtr conn = Connect_netv (netv);
894 char uuid[VIR_UUID_STRING_BUFLEN];
897 NONBLOCKING (r = virNetworkGetUUIDString (net, uuid));
898 CHECK_ERROR (r == -1, conn, "virNetworkGetUUIDString");
900 rv = caml_copy_string (uuid);
905 ocaml_libvirt_network_undefine (value netv)
909 virNetworkPtr net = Network_val (netv);
910 virConnectPtr conn = Connect_netv (netv);
913 NONBLOCKING (r = virNetworkUndefine (net));
914 CHECK_ERROR (r == -1, conn, "virNetworkUndefine");
916 CAMLreturn (Val_unit);
920 ocaml_libvirt_network_create (value netv)
924 virNetworkPtr net = Network_val (netv);
925 virConnectPtr conn = Connect_netv (netv);
928 NONBLOCKING (r = virNetworkCreate (net));
929 CHECK_ERROR (r == -1, conn, "virNetworkCreate");
931 CAMLreturn (Val_unit);
935 ocaml_libvirt_network_get_autostart (value netv)
939 virNetworkPtr net = Network_val (netv);
940 virConnectPtr conn = Connect_netv (netv);
943 NONBLOCKING (r = virNetworkGetAutostart (net, &b));
944 CHECK_ERROR (r == -1, conn, "virNetworkGetAutostart");
946 CAMLreturn (b ? Val_true : Val_false);
950 ocaml_libvirt_network_set_autostart (value netv, value bv)
952 CAMLparam2 (netv, bv);
954 virNetworkPtr net = Network_val (netv);
955 virConnectPtr conn = Connect_netv (netv);
958 b = bv == Val_true ? 1 : 0;
960 NONBLOCKING (r = virNetworkSetAutostart (net, b));
961 CHECK_ERROR (r == -1, conn, "virNetworkSetAutostart");
963 CAMLreturn (Val_unit);
966 #ifdef HAVE_WEAK_SYMBOLS
967 #ifdef HAVE_VIRSTORAGEPOOLFREE
968 extern int virStoragePoolFree (virStoragePoolPtr pool) __attribute__((weak));
973 ocaml_libvirt_storage_pool_free (value poolv)
976 #ifndef HAVE_VIRSTORAGEPOOLFREE
977 /* Symbol virStoragePoolFree not found at compile time. */
978 not_supported ("virStoragePoolFree");
979 /* Suppresses a compiler warning. */
982 /* Check that the symbol virStoragePoolFree
983 * is in runtime version of libvirt.
985 WEAK_SYMBOL_CHECK (virStoragePoolFree);
987 virStoragePoolPtr pool = Pool_val (poolv);
988 virConnectPtr conn = Connect_polv (poolv);
991 NONBLOCKING (r = virStoragePoolFree (pool));
992 CHECK_ERROR (r == -1, conn, "virStoragePoolFree");
994 /* So that we don't double-free in the finalizer: */
995 Pool_val (poolv) = NULL;
997 CAMLreturn (Val_unit);
1001 #ifdef HAVE_WEAK_SYMBOLS
1002 #ifdef HAVE_VIRSTORAGEPOOLDESTROY
1003 extern int virStoragePoolDestroy (virStoragePoolPtr pool) __attribute__((weak));
1008 ocaml_libvirt_storage_pool_destroy (value poolv)
1011 #ifndef HAVE_VIRSTORAGEPOOLDESTROY
1012 /* Symbol virStoragePoolDestroy not found at compile time. */
1013 not_supported ("virStoragePoolDestroy");
1014 /* Suppresses a compiler warning. */
1017 /* Check that the symbol virStoragePoolDestroy
1018 * is in runtime version of libvirt.
1020 WEAK_SYMBOL_CHECK (virStoragePoolDestroy);
1022 virStoragePoolPtr pool = Pool_val (poolv);
1023 virConnectPtr conn = Connect_polv (poolv);
1026 NONBLOCKING (r = virStoragePoolDestroy (pool));
1027 CHECK_ERROR (r == -1, conn, "virStoragePoolDestroy");
1029 /* So that we don't double-free in the finalizer: */
1030 Pool_val (poolv) = NULL;
1032 CAMLreturn (Val_unit);
1036 #ifdef HAVE_WEAK_SYMBOLS
1037 #ifdef HAVE_VIRSTORAGEPOOLLOOKUPBYNAME
1038 extern virStoragePoolPtr virStoragePoolLookupByName (virConnectPtr conn, const char *str) __attribute__((weak));
1043 ocaml_libvirt_storage_pool_lookup_by_name (value connv, value strv)
1045 CAMLparam2 (connv, strv);
1046 #ifndef HAVE_VIRSTORAGEPOOLLOOKUPBYNAME
1047 /* Symbol virStoragePoolLookupByName not found at compile time. */
1048 not_supported ("virStoragePoolLookupByName");
1049 /* Suppresses a compiler warning. */
1052 /* Check that the symbol virStoragePoolLookupByName
1053 * is in runtime version of libvirt.
1055 WEAK_SYMBOL_CHECK (virStoragePoolLookupByName);
1058 virConnectPtr conn = Connect_val (connv);
1059 char *str = String_val (strv);
1060 virStoragePoolPtr r;
1062 NONBLOCKING (r = virStoragePoolLookupByName (conn, str));
1063 CHECK_ERROR (!r, conn, "virStoragePoolLookupByName");
1065 rv = Val_pool (r, connv);
1071 #ifdef HAVE_WEAK_SYMBOLS
1072 #ifdef HAVE_VIRSTORAGEPOOLLOOKUPBYUUIDSTRING
1073 extern virStoragePoolPtr virStoragePoolLookupByUUIDString (virConnectPtr conn, const char *str) __attribute__((weak));
1078 ocaml_libvirt_storage_pool_lookup_by_uuid_string (value connv, value strv)
1080 CAMLparam2 (connv, strv);
1081 #ifndef HAVE_VIRSTORAGEPOOLLOOKUPBYUUIDSTRING
1082 /* Symbol virStoragePoolLookupByUUIDString not found at compile time. */
1083 not_supported ("virStoragePoolLookupByUUIDString");
1084 /* Suppresses a compiler warning. */
1087 /* Check that the symbol virStoragePoolLookupByUUIDString
1088 * is in runtime version of libvirt.
1090 WEAK_SYMBOL_CHECK (virStoragePoolLookupByUUIDString);
1093 virConnectPtr conn = Connect_val (connv);
1094 char *str = String_val (strv);
1095 virStoragePoolPtr r;
1097 NONBLOCKING (r = virStoragePoolLookupByUUIDString (conn, str));
1098 CHECK_ERROR (!r, conn, "virStoragePoolLookupByUUIDString");
1100 rv = Val_pool (r, connv);
1106 #ifdef HAVE_WEAK_SYMBOLS
1107 #ifdef HAVE_VIRSTORAGEPOOLGETNAME
1108 extern const char *virStoragePoolGetName (virStoragePoolPtr pool) __attribute__((weak));
1113 ocaml_libvirt_storage_pool_get_name (value poolv)
1116 #ifndef HAVE_VIRSTORAGEPOOLGETNAME
1117 /* Symbol virStoragePoolGetName not found at compile time. */
1118 not_supported ("virStoragePoolGetName");
1119 /* Suppresses a compiler warning. */
1122 /* Check that the symbol virStoragePoolGetName
1123 * is in runtime version of libvirt.
1125 WEAK_SYMBOL_CHECK (virStoragePoolGetName);
1128 virStoragePoolPtr pool = Pool_val (poolv);
1129 virConnectPtr conn = Connect_polv (poolv);
1132 NONBLOCKING (r = virStoragePoolGetName (pool));
1133 CHECK_ERROR (!r, conn, "virStoragePoolGetName");
1135 rv = caml_copy_string (r);
1140 #ifdef HAVE_WEAK_SYMBOLS
1141 #ifdef HAVE_VIRSTORAGEPOOLGETXMLDESC
1142 extern char *virStoragePoolGetXMLDesc (virStoragePoolPtr pool, int flags) __attribute__((weak));
1147 ocaml_libvirt_storage_pool_get_xml_desc (value poolv)
1150 #ifndef HAVE_VIRSTORAGEPOOLGETXMLDESC
1151 /* Symbol virStoragePoolGetXMLDesc not found at compile time. */
1152 not_supported ("virStoragePoolGetXMLDesc");
1153 /* Suppresses a compiler warning. */
1156 /* Check that the symbol virStoragePoolGetXMLDesc
1157 * is in runtime version of libvirt.
1159 WEAK_SYMBOL_CHECK (virStoragePoolGetXMLDesc);
1162 virStoragePoolPtr pool = Pool_val (poolv);
1163 virConnectPtr conn = Connect_polv (poolv);
1166 NONBLOCKING (r = virStoragePoolGetXMLDesc (pool, 0));
1167 CHECK_ERROR (!r, conn, "virStoragePoolGetXMLDesc");
1169 rv = caml_copy_string (r);
1175 #ifdef HAVE_WEAK_SYMBOLS
1176 #ifdef HAVE_VIRSTORAGEPOOLGETUUID
1177 extern int virStoragePoolGetUUID (virStoragePoolPtr pool, unsigned char *) __attribute__((weak));
1182 ocaml_libvirt_storage_pool_get_uuid (value poolv)
1185 #ifndef HAVE_VIRSTORAGEPOOLGETUUID
1186 /* Symbol virStoragePoolGetUUID not found at compile time. */
1187 not_supported ("virStoragePoolGetUUID");
1188 /* Suppresses a compiler warning. */
1191 /* Check that the symbol virStoragePoolGetUUID
1192 * is in runtime version of libvirt.
1194 WEAK_SYMBOL_CHECK (virStoragePoolGetUUID);
1197 virStoragePoolPtr pool = Pool_val (poolv);
1198 virConnectPtr conn = Connect_polv (poolv);
1199 unsigned char uuid[VIR_UUID_BUFLEN];
1202 NONBLOCKING (r = virStoragePoolGetUUID (pool, uuid));
1203 CHECK_ERROR (r == -1, conn, "virStoragePoolGetUUID");
1205 rv = caml_copy_string ((char *) uuid);
1210 #ifdef HAVE_WEAK_SYMBOLS
1211 #ifdef HAVE_VIRSTORAGEPOOLGETUUIDSTRING
1212 extern int virStoragePoolGetUUIDString (virStoragePoolPtr pool, char *) __attribute__((weak));
1217 ocaml_libvirt_storage_pool_get_uuid_string (value poolv)
1220 #ifndef HAVE_VIRSTORAGEPOOLGETUUIDSTRING
1221 /* Symbol virStoragePoolGetUUIDString not found at compile time. */
1222 not_supported ("virStoragePoolGetUUIDString");
1223 /* Suppresses a compiler warning. */
1226 /* Check that the symbol virStoragePoolGetUUIDString
1227 * is in runtime version of libvirt.
1229 WEAK_SYMBOL_CHECK (virStoragePoolGetUUIDString);
1232 virStoragePoolPtr pool = Pool_val (poolv);
1233 virConnectPtr conn = Connect_polv (poolv);
1234 char uuid[VIR_UUID_STRING_BUFLEN];
1237 NONBLOCKING (r = virStoragePoolGetUUIDString (pool, uuid));
1238 CHECK_ERROR (r == -1, conn, "virStoragePoolGetUUIDString");
1240 rv = caml_copy_string (uuid);
1245 #ifdef HAVE_WEAK_SYMBOLS
1246 #ifdef HAVE_VIRSTORAGEPOOLUNDEFINE
1247 extern int virStoragePoolUndefine (virStoragePoolPtr pool) __attribute__((weak));
1252 ocaml_libvirt_storage_pool_undefine (value poolv)
1255 #ifndef HAVE_VIRSTORAGEPOOLUNDEFINE
1256 /* Symbol virStoragePoolUndefine not found at compile time. */
1257 not_supported ("virStoragePoolUndefine");
1258 /* Suppresses a compiler warning. */
1261 /* Check that the symbol virStoragePoolUndefine
1262 * is in runtime version of libvirt.
1264 WEAK_SYMBOL_CHECK (virStoragePoolUndefine);
1266 virStoragePoolPtr pool = Pool_val (poolv);
1267 virConnectPtr conn = Connect_polv (poolv);
1270 NONBLOCKING (r = virStoragePoolUndefine (pool));
1271 CHECK_ERROR (r == -1, conn, "virStoragePoolUndefine");
1273 CAMLreturn (Val_unit);
1277 #ifdef HAVE_WEAK_SYMBOLS
1278 #ifdef HAVE_VIRSTORAGEPOOLCREATE
1279 extern int virStoragePoolCreate (virStoragePoolPtr pool) __attribute__((weak));
1284 ocaml_libvirt_storage_pool_create (value poolv)
1287 #ifndef HAVE_VIRSTORAGEPOOLCREATE
1288 /* Symbol virStoragePoolCreate not found at compile time. */
1289 not_supported ("virStoragePoolCreate");
1290 /* Suppresses a compiler warning. */
1293 /* Check that the symbol virStoragePoolCreate
1294 * is in runtime version of libvirt.
1296 WEAK_SYMBOL_CHECK (virStoragePoolCreate);
1298 virStoragePoolPtr pool = Pool_val (poolv);
1299 virConnectPtr conn = Connect_polv (poolv);
1302 NONBLOCKING (r = virStoragePoolCreate (pool));
1303 CHECK_ERROR (r == -1, conn, "virStoragePoolCreate");
1305 CAMLreturn (Val_unit);
1309 #ifdef HAVE_WEAK_SYMBOLS
1310 #ifdef HAVE_VIRSTORAGEPOOLSHUTDOWN
1311 extern int virStoragePoolShutdown (virStoragePoolPtr pool) __attribute__((weak));
1316 ocaml_libvirt_storage_pool_shutdown (value poolv)
1319 #ifndef HAVE_VIRSTORAGEPOOLSHUTDOWN
1320 /* Symbol virStoragePoolShutdown not found at compile time. */
1321 not_supported ("virStoragePoolShutdown");
1322 /* Suppresses a compiler warning. */
1325 /* Check that the symbol virStoragePoolShutdown
1326 * is in runtime version of libvirt.
1328 WEAK_SYMBOL_CHECK (virStoragePoolShutdown);
1330 virStoragePoolPtr pool = Pool_val (poolv);
1331 virConnectPtr conn = Connect_polv (poolv);
1334 NONBLOCKING (r = virStoragePoolShutdown (pool));
1335 CHECK_ERROR (r == -1, conn, "virStoragePoolShutdown");
1337 CAMLreturn (Val_unit);
1341 #ifdef HAVE_WEAK_SYMBOLS
1342 #ifdef HAVE_VIRSTORAGEPOOLREFRESH
1343 extern int virStoragePoolRefresh (virStoragePoolPtr pool, unsigned int flags) __attribute__((weak));
1348 ocaml_libvirt_storage_pool_refresh (value poolv)
1351 #ifndef HAVE_VIRSTORAGEPOOLREFRESH
1352 /* Symbol virStoragePoolRefresh not found at compile time. */
1353 not_supported ("virStoragePoolRefresh");
1354 /* Suppresses a compiler warning. */
1357 /* Check that the symbol virStoragePoolRefresh
1358 * is in runtime version of libvirt.
1360 WEAK_SYMBOL_CHECK (virStoragePoolRefresh);
1362 virStoragePoolPtr pool = Pool_val (poolv);
1363 virConnectPtr conn = Connect_polv (poolv);
1366 NONBLOCKING (r = virStoragePoolRefresh (pool, 0));
1367 CHECK_ERROR (r == -1, conn, "virStoragePoolRefresh");
1369 CAMLreturn (Val_unit);
1373 #ifdef HAVE_WEAK_SYMBOLS
1374 #ifdef HAVE_VIRSTORAGEPOOLGETAUTOSTART
1375 extern int virStoragePoolGetAutostart (virStoragePoolPtr pool, int *r) __attribute__((weak));
1380 ocaml_libvirt_storage_pool_get_autostart (value poolv)
1383 #ifndef HAVE_VIRSTORAGEPOOLGETAUTOSTART
1384 /* Symbol virStoragePoolGetAutostart not found at compile time. */
1385 not_supported ("virStoragePoolGetAutostart");
1386 /* Suppresses a compiler warning. */
1389 /* Check that the symbol virStoragePoolGetAutostart
1390 * is in runtime version of libvirt.
1392 WEAK_SYMBOL_CHECK (virStoragePoolGetAutostart);
1394 virStoragePoolPtr pool = Pool_val (poolv);
1395 virConnectPtr conn = Connect_polv (poolv);
1398 NONBLOCKING (r = virStoragePoolGetAutostart (pool, &b));
1399 CHECK_ERROR (r == -1, conn, "virStoragePoolGetAutostart");
1401 CAMLreturn (b ? Val_true : Val_false);
1405 #ifdef HAVE_WEAK_SYMBOLS
1406 #ifdef HAVE_VIRSTORAGEPOOLSETAUTOSTART
1407 extern int virStoragePoolSetAutostart (virStoragePoolPtr pool, int b) __attribute__((weak));
1412 ocaml_libvirt_storage_pool_set_autostart (value poolv, value bv)
1414 CAMLparam2 (poolv, bv);
1415 #ifndef HAVE_VIRSTORAGEPOOLSETAUTOSTART
1416 /* Symbol virStoragePoolSetAutostart not found at compile time. */
1417 not_supported ("virStoragePoolSetAutostart");
1418 /* Suppresses a compiler warning. */
1421 /* Check that the symbol virStoragePoolSetAutostart
1422 * is in runtime version of libvirt.
1424 WEAK_SYMBOL_CHECK (virStoragePoolSetAutostart);
1426 virStoragePoolPtr pool = Pool_val (poolv);
1427 virConnectPtr conn = Connect_polv (poolv);
1430 b = bv == Val_true ? 1 : 0;
1432 NONBLOCKING (r = virStoragePoolSetAutostart (pool, b));
1433 CHECK_ERROR (r == -1, conn, "virStoragePoolSetAutostart");
1435 CAMLreturn (Val_unit);
1440 ocaml_libvirt_storage_vol_free (value volv)
1444 virStorageVolPtr vol = Volume_val (volv);
1445 virConnectPtr conn = Connect_volv (volv);
1448 NONBLOCKING (r = virStorageVolFree (vol));
1449 CHECK_ERROR (r == -1, conn, "virStorageVolFree");
1451 /* So that we don't double-free in the finalizer: */
1452 Volume_val (volv) = NULL;
1454 CAMLreturn (Val_unit);
1458 ocaml_libvirt_storage_vol_destroy (value volv)
1462 virStorageVolPtr vol = Volume_val (volv);
1463 virConnectPtr conn = Connect_volv (volv);
1466 NONBLOCKING (r = virStorageVolDestroy (vol));
1467 CHECK_ERROR (r == -1, conn, "virStorageVolDestroy");
1469 /* So that we don't double-free in the finalizer: */
1470 Volume_val (volv) = NULL;
1472 CAMLreturn (Val_unit);
1475 #ifdef HAVE_WEAK_SYMBOLS
1476 #ifdef HAVE_VIRSTORAGEVOLLOOKUPBYKEY
1477 extern virStorageVolPtr virStorageVolLookupByKey (virConnectPtr conn, const char *str) __attribute__((weak));
1482 ocaml_libvirt_storage_vol_lookup_by_key (value connv, value strv)
1484 CAMLparam2 (connv, strv);
1485 #ifndef HAVE_VIRSTORAGEVOLLOOKUPBYKEY
1486 /* Symbol virStorageVolLookupByKey not found at compile time. */
1487 not_supported ("virStorageVolLookupByKey");
1488 /* Suppresses a compiler warning. */
1491 /* Check that the symbol virStorageVolLookupByKey
1492 * is in runtime version of libvirt.
1494 WEAK_SYMBOL_CHECK (virStorageVolLookupByKey);
1497 virConnectPtr conn = Connect_val (connv);
1498 char *str = String_val (strv);
1501 NONBLOCKING (r = virStorageVolLookupByKey (conn, str));
1502 CHECK_ERROR (!r, conn, "virStorageVolLookupByKey");
1504 rv = Val_volume (r, connv);
1510 #ifdef HAVE_WEAK_SYMBOLS
1511 #ifdef HAVE_VIRSTORAGEVOLLOOKUPBYPATH
1512 extern virStorageVolPtr virStorageVolLookupByPath (virConnectPtr conn, const char *str) __attribute__((weak));
1517 ocaml_libvirt_storage_vol_lookup_by_path (value connv, value strv)
1519 CAMLparam2 (connv, strv);
1520 #ifndef HAVE_VIRSTORAGEVOLLOOKUPBYPATH
1521 /* Symbol virStorageVolLookupByPath not found at compile time. */
1522 not_supported ("virStorageVolLookupByPath");
1523 /* Suppresses a compiler warning. */
1526 /* Check that the symbol virStorageVolLookupByPath
1527 * is in runtime version of libvirt.
1529 WEAK_SYMBOL_CHECK (virStorageVolLookupByPath);
1532 virConnectPtr conn = Connect_val (connv);
1533 char *str = String_val (strv);
1536 NONBLOCKING (r = virStorageVolLookupByPath (conn, str));
1537 CHECK_ERROR (!r, conn, "virStorageVolLookupByPath");
1539 rv = Val_volume (r, connv);
1545 #ifdef HAVE_WEAK_SYMBOLS
1546 #ifdef HAVE_VIRSTORAGEVOLGETXMLDESC
1547 extern char *virStorageVolGetXMLDesc (virStorageVolPtr vol, int flags) __attribute__((weak));
1552 ocaml_libvirt_storage_vol_get_xml_desc (value volv)
1555 #ifndef HAVE_VIRSTORAGEVOLGETXMLDESC
1556 /* Symbol virStorageVolGetXMLDesc not found at compile time. */
1557 not_supported ("virStorageVolGetXMLDesc");
1558 /* Suppresses a compiler warning. */
1561 /* Check that the symbol virStorageVolGetXMLDesc
1562 * is in runtime version of libvirt.
1564 WEAK_SYMBOL_CHECK (virStorageVolGetXMLDesc);
1567 virStorageVolPtr vol = Volume_val (volv);
1568 virConnectPtr conn = Connect_volv (volv);
1571 NONBLOCKING (r = virStorageVolGetXMLDesc (vol, 0));
1572 CHECK_ERROR (!r, conn, "virStorageVolGetXMLDesc");
1574 rv = caml_copy_string (r);
1580 #ifdef HAVE_WEAK_SYMBOLS
1581 #ifdef HAVE_VIRSTORAGEVOLGETPATH
1582 extern char *virStorageVolGetPath (virStorageVolPtr vol) __attribute__((weak));
1587 ocaml_libvirt_storage_vol_get_path (value volv)
1590 #ifndef HAVE_VIRSTORAGEVOLGETPATH
1591 /* Symbol virStorageVolGetPath not found at compile time. */
1592 not_supported ("virStorageVolGetPath");
1593 /* Suppresses a compiler warning. */
1596 /* Check that the symbol virStorageVolGetPath
1597 * is in runtime version of libvirt.
1599 WEAK_SYMBOL_CHECK (virStorageVolGetPath);
1602 virStorageVolPtr vol = Volume_val (volv);
1603 virConnectPtr conn = Connect_volv (volv);
1606 NONBLOCKING (r = virStorageVolGetPath (vol));
1607 CHECK_ERROR (!r, conn, "virStorageVolGetPath");
1609 rv = caml_copy_string (r);
1615 #ifdef HAVE_WEAK_SYMBOLS
1616 #ifdef HAVE_VIRSTORAGEVOLGETKEY
1617 extern const char *virStorageVolGetKey (virStorageVolPtr vol) __attribute__((weak));
1622 ocaml_libvirt_storage_vol_get_key (value volv)
1625 #ifndef HAVE_VIRSTORAGEVOLGETKEY
1626 /* Symbol virStorageVolGetKey not found at compile time. */
1627 not_supported ("virStorageVolGetKey");
1628 /* Suppresses a compiler warning. */
1631 /* Check that the symbol virStorageVolGetKey
1632 * is in runtime version of libvirt.
1634 WEAK_SYMBOL_CHECK (virStorageVolGetKey);
1637 virStorageVolPtr vol = Volume_val (volv);
1638 virConnectPtr conn = Connect_volv (volv);
1641 NONBLOCKING (r = virStorageVolGetKey (vol));
1642 CHECK_ERROR (!r, conn, "virStorageVolGetKey");
1644 rv = caml_copy_string (r);
1649 #ifdef HAVE_WEAK_SYMBOLS
1650 #ifdef HAVE_VIRSTORAGEVOLGETNAME
1651 extern const char *virStorageVolGetName (virStorageVolPtr vol) __attribute__((weak));
1656 ocaml_libvirt_storage_vol_get_name (value volv)
1659 #ifndef HAVE_VIRSTORAGEVOLGETNAME
1660 /* Symbol virStorageVolGetName not found at compile time. */
1661 not_supported ("virStorageVolGetName");
1662 /* Suppresses a compiler warning. */
1665 /* Check that the symbol virStorageVolGetName
1666 * is in runtime version of libvirt.
1668 WEAK_SYMBOL_CHECK (virStorageVolGetName);
1671 virStorageVolPtr vol = Volume_val (volv);
1672 virConnectPtr conn = Connect_volv (volv);
1675 NONBLOCKING (r = virStorageVolGetName (vol));
1676 CHECK_ERROR (!r, conn, "virStorageVolGetName");
1678 rv = caml_copy_string (r);
1683 /* The following functions are unimplemented and always fail.
1684 * See generator.pl '@unimplemented'
1688 ocaml_libvirt_domain_create_job ()
1690 failwith ("ocaml_libvirt_domain_create_job is unimplemented");
1694 ocaml_libvirt_domain_core_dump_job ()
1696 failwith ("ocaml_libvirt_domain_core_dump_job is unimplemented");
1700 ocaml_libvirt_domain_restore_job ()
1702 failwith ("ocaml_libvirt_domain_restore_job is unimplemented");
1706 ocaml_libvirt_domain_save_job ()
1708 failwith ("ocaml_libvirt_domain_save_job is unimplemented");
1712 ocaml_libvirt_connect_create_linux_job ()
1714 failwith ("ocaml_libvirt_connect_create_linux_job is unimplemented");
1718 ocaml_libvirt_network_create_job ()
1720 failwith ("ocaml_libvirt_network_create_job is unimplemented");
1724 ocaml_libvirt_network_create_xml_job ()
1726 failwith ("ocaml_libvirt_network_create_xml_job is unimplemented");
1730 ocaml_libvirt_storage_pool_get_info ()
1732 failwith ("ocaml_libvirt_storage_pool_get_info is unimplemented");
1736 ocaml_libvirt_storage_pool_define_xml ()
1738 failwith ("ocaml_libvirt_storage_pool_define_xml is unimplemented");
1742 ocaml_libvirt_storage_pool_create_xml ()
1744 failwith ("ocaml_libvirt_storage_pool_create_xml is unimplemented");
1748 ocaml_libvirt_storage_pool_lookup_by_uuid ()
1750 failwith ("ocaml_libvirt_storage_pool_lookup_by_uuid is unimplemented");
1754 ocaml_libvirt_storage_vol_lookup_by_name ()
1756 failwith ("ocaml_libvirt_storage_vol_lookup_by_name is unimplemented");
1760 ocaml_libvirt_storage_vol_create_xml ()
1762 failwith ("ocaml_libvirt_storage_vol_create_xml is unimplemented");
1766 ocaml_libvirt_storage_vol_get_info ()
1768 failwith ("ocaml_libvirt_storage_vol_get_info is unimplemented");
1772 ocaml_libvirt_pool_of_volume ()
1774 failwith ("ocaml_libvirt_pool_of_volume is unimplemented");
1778 ocaml_libvirt_job_cancel ()
1780 failwith ("ocaml_libvirt_job_cancel is unimplemented");
1784 ocaml_libvirt_job_get_network ()
1786 failwith ("ocaml_libvirt_job_get_network is unimplemented");
1790 ocaml_libvirt_job_get_domain ()
1792 failwith ("ocaml_libvirt_job_get_domain is unimplemented");
1796 ocaml_libvirt_job_get_info ()
1798 failwith ("ocaml_libvirt_job_get_info is unimplemented");
1801 #include "libvirt_c_epilogue.c"