X-Git-Url: http://git.annexia.org/?p=virt-top.git;a=blobdiff_plain;f=libvirt%2Flibvirt_c.c;h=ca7f30350598931eea001907d63942aba3670245;hp=0200b1c8e9723658a4f4c726226347f016bef45d;hb=0bdb08c61ec66a16a81c2778a2a76cac77b08fda;hpb=e7c94d95feb1fb3d7249c2ead935fe2e56ec31a4 diff --git a/libvirt/libvirt_c.c b/libvirt/libvirt_c.c index 0200b1c..ca7f303 100644 --- a/libvirt/libvirt_c.c +++ b/libvirt/libvirt_c.c @@ -85,8 +85,7 @@ ocaml_libvirt_connect_get_hostname (value connv) #ifndef HAVE_VIRCONNECTGETHOSTNAME /* Symbol virConnectGetHostname not found at compile time. */ not_supported ("virConnectGetHostname"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virConnectGetHostname * is in runtime version of libvirt. @@ -123,8 +122,7 @@ ocaml_libvirt_connect_get_uri (value connv) #ifndef HAVE_VIRCONNECTGETURI /* Symbol virConnectGetURI not found at compile time. */ not_supported ("virConnectGetURI"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virConnectGetURI * is in runtime version of libvirt. @@ -361,8 +359,7 @@ ocaml_libvirt_connect_num_of_storage_pools (value connv) #ifndef HAVE_VIRCONNECTNUMOFSTORAGEPOOLS /* Symbol virConnectNumOfStoragePools not found at compile time. */ not_supported ("virConnectNumOfStoragePools"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virConnectNumOfStoragePools * is in runtime version of libvirt. @@ -396,8 +393,7 @@ ocaml_libvirt_connect_list_storage_pools (value connv, value iv) #ifndef HAVE_VIRCONNECTLISTSTORAGEPOOLS /* Symbol virConnectListStoragePools not found at compile time. */ not_supported ("virConnectListStoragePools"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virConnectListStoragePools * is in runtime version of libvirt. @@ -441,8 +437,7 @@ ocaml_libvirt_connect_num_of_defined_storage_pools (value connv) #ifndef HAVE_VIRCONNECTNUMOFDEFINEDSTORAGEPOOLS /* Symbol virConnectNumOfDefinedStoragePools not found at compile time. */ not_supported ("virConnectNumOfDefinedStoragePools"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virConnectNumOfDefinedStoragePools * is in runtime version of libvirt. @@ -476,8 +471,7 @@ ocaml_libvirt_connect_list_defined_storage_pools (value connv, value iv) #ifndef HAVE_VIRCONNECTLISTDEFINEDSTORAGEPOOLS /* Symbol virConnectListDefinedStoragePools not found at compile time. */ not_supported ("virConnectListDefinedStoragePools"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virConnectListDefinedStoragePools * is in runtime version of libvirt. @@ -553,7 +547,7 @@ ocaml_libvirt_domain_create_linux (value connv, value strv) #ifdef HAVE_WEAK_SYMBOLS #ifdef HAVE_VIRDOMAINCREATELINUXJOB -extern virJobPtr virDomainCreateLinuxJob (virConnectPtr conn, const char *str, unsigned int flags) __attribute__((weak)); +extern virJobPtr virDomainCreateLinuxJob (virConnectPtr conn, const char *str, unsigned int flags) __attribute__((weak)); #endif #endif @@ -564,8 +558,7 @@ ocaml_libvirt_domain_create_linux_job (value connv, value strv) #ifndef HAVE_VIRDOMAINCREATELINUXJOB /* Symbol virDomainCreateLinuxJob not found at compile time. */ not_supported ("virDomainCreateLinuxJob"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virDomainCreateLinuxJob * is in runtime version of libvirt. @@ -857,7 +850,6 @@ ocaml_libvirt_domain_save (value domv, value strv) { CAMLparam2 (domv, strv); - CAMLlocal1 (rv); virDomainPtr dom = Domain_val (domv); virConnectPtr conn = Connect_domv (domv); char *str = String_val (strv); @@ -886,8 +878,7 @@ ocaml_libvirt_domain_save_job (value domv, value strv) #ifndef HAVE_VIRDOMAINSAVEJOB /* Symbol virDomainSaveJob not found at compile time. */ not_supported ("virDomainSaveJob"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virDomainSaveJob * is in runtime version of libvirt. @@ -919,7 +910,6 @@ ocaml_libvirt_domain_restore (value connv, value strv) { CAMLparam2 (connv, strv); - CAMLlocal1 (rv); virConnectPtr conn = Connect_val (connv); char *str = String_val (strv); int r; @@ -947,8 +937,7 @@ ocaml_libvirt_domain_restore_job (value connv, value strv) #ifndef HAVE_VIRDOMAINRESTOREJOB /* Symbol virDomainRestoreJob not found at compile time. */ not_supported ("virDomainRestoreJob"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virDomainRestoreJob * is in runtime version of libvirt. @@ -1007,8 +996,7 @@ ocaml_libvirt_domain_core_dump_job (value domv, value strv) #ifndef HAVE_VIRDOMAINCOREDUMPJOB /* Symbol virDomainCoreDumpJob not found at compile time. */ not_supported ("virDomainCoreDumpJob"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virDomainCoreDumpJob * is in runtime version of libvirt. @@ -1184,8 +1172,7 @@ ocaml_libvirt_domain_create_job (value domv) #ifndef HAVE_VIRDOMAINCREATEJOB /* Symbol virDomainCreateJob not found at compile time. */ not_supported ("virDomainCreateJob"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virDomainCreateJob * is in runtime version of libvirt. @@ -1216,7 +1203,6 @@ ocaml_libvirt_domain_attach_device (value domv, value strv) { CAMLparam2 (domv, strv); - CAMLlocal1 (rv); virDomainPtr dom = Domain_val (domv); virConnectPtr conn = Connect_domv (domv); char *str = String_val (strv); @@ -1237,7 +1223,6 @@ ocaml_libvirt_domain_detach_device (value domv, value strv) { CAMLparam2 (domv, strv); - CAMLlocal1 (rv); virDomainPtr dom = Domain_val (domv); virConnectPtr conn = Connect_domv (domv); char *str = String_val (strv); @@ -1568,8 +1553,7 @@ ocaml_libvirt_network_create_xml_job (value connv, value strv) #ifndef HAVE_VIRNETWORKCREATEXMLJOB /* Symbol virNetworkCreateXMLJob not found at compile time. */ not_supported ("virNetworkCreateXMLJob"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virNetworkCreateXMLJob * is in runtime version of libvirt. @@ -1648,8 +1632,7 @@ ocaml_libvirt_network_create_job (value netv) #ifndef HAVE_VIRNETWORKCREATEJOB /* Symbol virNetworkCreateJob not found at compile time. */ not_supported ("virNetworkCreateJob"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virNetworkCreateJob * is in runtime version of libvirt. @@ -1728,8 +1711,7 @@ ocaml_libvirt_storage_pool_free (value poolv) #ifndef HAVE_VIRSTORAGEPOOLFREE /* Symbol virStoragePoolFree not found at compile time. */ not_supported ("virStoragePoolFree"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolFree * is in runtime version of libvirt. @@ -1767,8 +1749,7 @@ ocaml_libvirt_storage_pool_destroy (value poolv) #ifndef HAVE_VIRSTORAGEPOOLDESTROY /* Symbol virStoragePoolDestroy not found at compile time. */ not_supported ("virStoragePoolDestroy"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolDestroy * is in runtime version of libvirt. @@ -1806,8 +1787,7 @@ ocaml_libvirt_storage_pool_lookup_by_name (value connv, value strv) #ifndef HAVE_VIRSTORAGEPOOLLOOKUPBYNAME /* Symbol virStoragePoolLookupByName not found at compile time. */ not_supported ("virStoragePoolLookupByName"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolLookupByName * is in runtime version of libvirt. @@ -1845,8 +1825,7 @@ ocaml_libvirt_storage_pool_lookup_by_uuid (value connv, value uuidv) #ifndef HAVE_VIRSTORAGEPOOLLOOKUPBYUUID /* Symbol virStoragePoolLookupByUUID not found at compile time. */ not_supported ("virStoragePoolLookupByUUID"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolLookupByUUID * is in runtime version of libvirt. @@ -1884,8 +1863,7 @@ ocaml_libvirt_storage_pool_lookup_by_uuid_string (value connv, value strv) #ifndef HAVE_VIRSTORAGEPOOLLOOKUPBYUUIDSTRING /* Symbol virStoragePoolLookupByUUIDString not found at compile time. */ not_supported ("virStoragePoolLookupByUUIDString"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolLookupByUUIDString * is in runtime version of libvirt. @@ -1923,8 +1901,7 @@ ocaml_libvirt_storage_pool_get_name (value poolv) #ifndef HAVE_VIRSTORAGEPOOLGETNAME /* Symbol virStoragePoolGetName not found at compile time. */ not_supported ("virStoragePoolGetName"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolGetName * is in runtime version of libvirt. @@ -1945,12 +1922,12 @@ ocaml_libvirt_storage_pool_get_name (value poolv) } /* Automatically generated binding for virStoragePoolGetXMLDesc. - * In generator.pl this function has signature "pool, 0 : string". + * In generator.pl this function has signature "pool, 0U : string". */ #ifdef HAVE_WEAK_SYMBOLS #ifdef HAVE_VIRSTORAGEPOOLGETXMLDESC -extern char *virStoragePoolGetXMLDesc (virStoragePoolPtr pool, int flags) __attribute__((weak)); +extern char *virStoragePoolGetXMLDesc (virStoragePoolPtr pool, unsigned int flags) __attribute__((weak)); #endif #endif @@ -1961,8 +1938,7 @@ ocaml_libvirt_storage_pool_get_xml_desc (value poolv) #ifndef HAVE_VIRSTORAGEPOOLGETXMLDESC /* Symbol virStoragePoolGetXMLDesc not found at compile time. */ not_supported ("virStoragePoolGetXMLDesc"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolGetXMLDesc * is in runtime version of libvirt. @@ -2000,8 +1976,7 @@ ocaml_libvirt_storage_pool_get_uuid (value poolv) #ifndef HAVE_VIRSTORAGEPOOLGETUUID /* Symbol virStoragePoolGetUUID not found at compile time. */ not_supported ("virStoragePoolGetUUID"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolGetUUID * is in runtime version of libvirt. @@ -2041,8 +2016,7 @@ ocaml_libvirt_storage_pool_get_uuid_string (value poolv) #ifndef HAVE_VIRSTORAGEPOOLGETUUIDSTRING /* Symbol virStoragePoolGetUUIDString not found at compile time. */ not_supported ("virStoragePoolGetUUIDString"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolGetUUIDString * is in runtime version of libvirt. @@ -2064,12 +2038,12 @@ ocaml_libvirt_storage_pool_get_uuid_string (value poolv) } /* Automatically generated binding for virStoragePoolCreateXML. - * In generator.pl this function has signature "conn, string : pool". + * In generator.pl this function has signature "conn, string, 0U : pool". */ #ifdef HAVE_WEAK_SYMBOLS #ifdef HAVE_VIRSTORAGEPOOLCREATEXML -extern virStoragePoolPtr virStoragePoolCreateXML (virConnectPtr conn, const char *str) __attribute__((weak)); +extern virStoragePoolPtr virStoragePoolCreateXML (virConnectPtr conn, const char *str, unsigned int flags) __attribute__((weak)); #endif #endif @@ -2080,8 +2054,7 @@ ocaml_libvirt_storage_pool_create_xml (value connv, value strv) #ifndef HAVE_VIRSTORAGEPOOLCREATEXML /* Symbol virStoragePoolCreateXML not found at compile time. */ not_supported ("virStoragePoolCreateXML"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolCreateXML * is in runtime version of libvirt. @@ -2093,7 +2066,7 @@ ocaml_libvirt_storage_pool_create_xml (value connv, value strv) char *str = String_val (strv); virStoragePoolPtr r; - NONBLOCKING (r = virStoragePoolCreateXML (conn, str)); + NONBLOCKING (r = virStoragePoolCreateXML (conn, str, 0)); CHECK_ERROR (!r, conn, "virStoragePoolCreateXML"); rv = Val_pool (r, connv); @@ -2103,12 +2076,12 @@ ocaml_libvirt_storage_pool_create_xml (value connv, value strv) } /* Automatically generated binding for virStoragePoolDefineXML. - * In generator.pl this function has signature "conn, string : pool". + * In generator.pl this function has signature "conn, string, 0U : pool". */ #ifdef HAVE_WEAK_SYMBOLS #ifdef HAVE_VIRSTORAGEPOOLDEFINEXML -extern virStoragePoolPtr virStoragePoolDefineXML (virConnectPtr conn, const char *str) __attribute__((weak)); +extern virStoragePoolPtr virStoragePoolDefineXML (virConnectPtr conn, const char *str, unsigned int flags) __attribute__((weak)); #endif #endif @@ -2119,8 +2092,7 @@ ocaml_libvirt_storage_pool_define_xml (value connv, value strv) #ifndef HAVE_VIRSTORAGEPOOLDEFINEXML /* Symbol virStoragePoolDefineXML not found at compile time. */ not_supported ("virStoragePoolDefineXML"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolDefineXML * is in runtime version of libvirt. @@ -2132,7 +2104,7 @@ ocaml_libvirt_storage_pool_define_xml (value connv, value strv) char *str = String_val (strv); virStoragePoolPtr r; - NONBLOCKING (r = virStoragePoolDefineXML (conn, str)); + NONBLOCKING (r = virStoragePoolDefineXML (conn, str, 0)); CHECK_ERROR (!r, conn, "virStoragePoolDefineXML"); rv = Val_pool (r, connv); @@ -2141,6 +2113,42 @@ ocaml_libvirt_storage_pool_define_xml (value connv, value strv) #endif } +/* Automatically generated binding for virStoragePoolBuild. + * In generator.pl this function has signature "pool, uint : unit". + */ + +#ifdef HAVE_WEAK_SYMBOLS +#ifdef HAVE_VIRSTORAGEPOOLBUILD +extern int virStoragePoolBuild (virStoragePoolPtr pool, unsigned int i) __attribute__((weak)); +#endif +#endif + +CAMLprim value +ocaml_libvirt_storage_pool_build (value poolv, value iv) +{ + CAMLparam2 (poolv, iv); +#ifndef HAVE_VIRSTORAGEPOOLBUILD + /* Symbol virStoragePoolBuild not found at compile time. */ + not_supported ("virStoragePoolBuild"); + CAMLnoreturn; +#else + /* Check that the symbol virStoragePoolBuild + * is in runtime version of libvirt. + */ + WEAK_SYMBOL_CHECK (virStoragePoolBuild); + + virStoragePoolPtr pool = Pool_val (poolv); + virConnectPtr conn = Connect_polv (poolv); + unsigned int i = Int_val (iv); + int r; + + NONBLOCKING (r = virStoragePoolBuild (pool, i)); + CHECK_ERROR (!r, conn, "virStoragePoolBuild"); + + CAMLreturn (Val_unit); +#endif +} + /* Automatically generated binding for virStoragePoolUndefine. * In generator.pl this function has signature "pool : unit". */ @@ -2158,8 +2166,7 @@ ocaml_libvirt_storage_pool_undefine (value poolv) #ifndef HAVE_VIRSTORAGEPOOLUNDEFINE /* Symbol virStoragePoolUndefine not found at compile time. */ not_supported ("virStoragePoolUndefine"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolUndefine * is in runtime version of libvirt. @@ -2178,12 +2185,12 @@ ocaml_libvirt_storage_pool_undefine (value poolv) } /* Automatically generated binding for virStoragePoolCreate. - * In generator.pl this function has signature "pool : unit". + * In generator.pl this function has signature "pool, 0U : unit". */ #ifdef HAVE_WEAK_SYMBOLS #ifdef HAVE_VIRSTORAGEPOOLCREATE -extern int virStoragePoolCreate (virStoragePoolPtr pool) __attribute__((weak)); +extern int virStoragePoolCreate (virStoragePoolPtr pool, unsigned int flags) __attribute__((weak)); #endif #endif @@ -2194,8 +2201,7 @@ ocaml_libvirt_storage_pool_create (value poolv) #ifndef HAVE_VIRSTORAGEPOOLCREATE /* Symbol virStoragePoolCreate not found at compile time. */ not_supported ("virStoragePoolCreate"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolCreate * is in runtime version of libvirt. @@ -2206,44 +2212,44 @@ ocaml_libvirt_storage_pool_create (value poolv) virConnectPtr conn = Connect_polv (poolv); int r; - NONBLOCKING (r = virStoragePoolCreate (pool)); + NONBLOCKING (r = virStoragePoolCreate (pool, 0)); CHECK_ERROR (r == -1, conn, "virStoragePoolCreate"); CAMLreturn (Val_unit); #endif } -/* Automatically generated binding for virStoragePoolShutdown. - * In generator.pl this function has signature "pool : unit". +/* Automatically generated binding for virStoragePoolDelete. + * In generator.pl this function has signature "pool, uint : unit". */ #ifdef HAVE_WEAK_SYMBOLS -#ifdef HAVE_VIRSTORAGEPOOLSHUTDOWN -extern int virStoragePoolShutdown (virStoragePoolPtr pool) __attribute__((weak)); +#ifdef HAVE_VIRSTORAGEPOOLDELETE +extern int virStoragePoolDelete (virStoragePoolPtr pool, unsigned int i) __attribute__((weak)); #endif #endif CAMLprim value -ocaml_libvirt_storage_pool_shutdown (value poolv) +ocaml_libvirt_storage_pool_delete (value poolv, value iv) { - CAMLparam1 (poolv); -#ifndef HAVE_VIRSTORAGEPOOLSHUTDOWN - /* Symbol virStoragePoolShutdown not found at compile time. */ - not_supported ("virStoragePoolShutdown"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLparam2 (poolv, iv); +#ifndef HAVE_VIRSTORAGEPOOLDELETE + /* Symbol virStoragePoolDelete not found at compile time. */ + not_supported ("virStoragePoolDelete"); + CAMLnoreturn; #else - /* Check that the symbol virStoragePoolShutdown + /* Check that the symbol virStoragePoolDelete * is in runtime version of libvirt. */ - WEAK_SYMBOL_CHECK (virStoragePoolShutdown); + WEAK_SYMBOL_CHECK (virStoragePoolDelete); virStoragePoolPtr pool = Pool_val (poolv); virConnectPtr conn = Connect_polv (poolv); + unsigned int i = Int_val (iv); int r; - NONBLOCKING (r = virStoragePoolShutdown (pool)); - CHECK_ERROR (r == -1, conn, "virStoragePoolShutdown"); + NONBLOCKING (r = virStoragePoolDelete (pool, i)); + CHECK_ERROR (!r, conn, "virStoragePoolDelete"); CAMLreturn (Val_unit); #endif @@ -2266,8 +2272,7 @@ ocaml_libvirt_storage_pool_refresh (value poolv) #ifndef HAVE_VIRSTORAGEPOOLREFRESH /* Symbol virStoragePoolRefresh not found at compile time. */ not_supported ("virStoragePoolRefresh"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolRefresh * is in runtime version of libvirt. @@ -2302,8 +2307,7 @@ ocaml_libvirt_storage_pool_get_autostart (value poolv) #ifndef HAVE_VIRSTORAGEPOOLGETAUTOSTART /* Symbol virStoragePoolGetAutostart not found at compile time. */ not_supported ("virStoragePoolGetAutostart"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolGetAutostart * is in runtime version of libvirt. @@ -2338,8 +2342,7 @@ ocaml_libvirt_storage_pool_set_autostart (value poolv, value bv) #ifndef HAVE_VIRSTORAGEPOOLSETAUTOSTART /* Symbol virStoragePoolSetAutostart not found at compile time. */ not_supported ("virStoragePoolSetAutostart"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolSetAutostart * is in runtime version of libvirt. @@ -2359,6 +2362,86 @@ ocaml_libvirt_storage_pool_set_autostart (value poolv, value bv) #endif } +/* Automatically generated binding for virStoragePoolNumOfVolumes. + * In generator.pl this function has signature "pool : int". + */ + +#ifdef HAVE_WEAK_SYMBOLS +#ifdef HAVE_VIRSTORAGEPOOLNUMOFVOLUMES +extern int virStoragePoolNumOfVolumes (virStoragePoolPtr pool) __attribute__((weak)); +#endif +#endif + +CAMLprim value +ocaml_libvirt_storage_pool_num_of_volumes (value poolv) +{ + CAMLparam1 (poolv); +#ifndef HAVE_VIRSTORAGEPOOLNUMOFVOLUMES + /* Symbol virStoragePoolNumOfVolumes not found at compile time. */ + not_supported ("virStoragePoolNumOfVolumes"); + CAMLnoreturn; +#else + /* Check that the symbol virStoragePoolNumOfVolumes + * is in runtime version of libvirt. + */ + WEAK_SYMBOL_CHECK (virStoragePoolNumOfVolumes); + + virStoragePoolPtr pool = Pool_val (poolv); + virConnectPtr conn = Connect_polv (poolv); + int r; + + NONBLOCKING (r = virStoragePoolNumOfVolumes (pool)); + CHECK_ERROR (r == -1, conn, "virStoragePoolNumOfVolumes"); + + CAMLreturn (Val_int (r)); +#endif +} + +/* Automatically generated binding for virStoragePoolListVolumes. + * In generator.pl this function has signature "pool, int : string array". + */ + +#ifdef HAVE_WEAK_SYMBOLS +#ifdef HAVE_VIRSTORAGEPOOLLISTVOLUMES +extern int virStoragePoolListVolumes (virStoragePoolPtr pool, char **const names, int maxnames) __attribute__((weak)); +#endif +#endif + +CAMLprim value +ocaml_libvirt_storage_pool_list_volumes (value poolv, value iv) +{ + CAMLparam2 (poolv, iv); +#ifndef HAVE_VIRSTORAGEPOOLLISTVOLUMES + /* Symbol virStoragePoolListVolumes not found at compile time. */ + not_supported ("virStoragePoolListVolumes"); + CAMLnoreturn; +#else + /* Check that the symbol virStoragePoolListVolumes + * is in runtime version of libvirt. + */ + WEAK_SYMBOL_CHECK (virStoragePoolListVolumes); + + CAMLlocal2 (rv, strv); + virStoragePoolPtr pool = Pool_val (poolv); + virConnectPtr conn = Connect_polv (poolv); + int i = Int_val (iv); + char *names[i]; + int r; + + NONBLOCKING (r = virStoragePoolListVolumes (pool, names, i)); + CHECK_ERROR (r == -1, conn, "virStoragePoolListVolumes"); + + rv = caml_alloc (r, 0); + for (i = 0; i < r; ++i) { + strv = caml_copy_string (names[i]); + Store_field (rv, i, strv); + free (names[i]); + } + + CAMLreturn (rv); +#endif +} + /* Automatically generated binding for virStorageVolFree. * In generator.pl this function has signature "vol : free". */ @@ -2376,8 +2459,7 @@ ocaml_libvirt_storage_vol_free (value volv) #ifndef HAVE_VIRSTORAGEVOLFREE /* Symbol virStorageVolFree not found at compile time. */ not_supported ("virStorageVolFree"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStorageVolFree * is in runtime version of libvirt. @@ -2398,40 +2480,37 @@ ocaml_libvirt_storage_vol_free (value volv) #endif } -/* Automatically generated binding for virStorageVolDestroy. - * In generator.pl this function has signature "vol : free". +/* Automatically generated binding for virStorageVolDelete. + * In generator.pl this function has signature "vol, uint : unit". */ #ifdef HAVE_WEAK_SYMBOLS -#ifdef HAVE_VIRSTORAGEVOLDESTROY -extern int virStorageVolDestroy (virStorageVolPtr vol) __attribute__((weak)); +#ifdef HAVE_VIRSTORAGEVOLDELETE +extern int virStorageVolDelete (virStorageVolPtr vol, unsigned int i) __attribute__((weak)); #endif #endif CAMLprim value -ocaml_libvirt_storage_vol_destroy (value volv) +ocaml_libvirt_storage_vol_delete (value volv, value iv) { - CAMLparam1 (volv); -#ifndef HAVE_VIRSTORAGEVOLDESTROY - /* Symbol virStorageVolDestroy not found at compile time. */ - not_supported ("virStorageVolDestroy"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLparam2 (volv, iv); +#ifndef HAVE_VIRSTORAGEVOLDELETE + /* Symbol virStorageVolDelete not found at compile time. */ + not_supported ("virStorageVolDelete"); + CAMLnoreturn; #else - /* Check that the symbol virStorageVolDestroy + /* Check that the symbol virStorageVolDelete * is in runtime version of libvirt. */ - WEAK_SYMBOL_CHECK (virStorageVolDestroy); + WEAK_SYMBOL_CHECK (virStorageVolDelete); virStorageVolPtr vol = Volume_val (volv); virConnectPtr conn = Connect_volv (volv); + unsigned int i = Int_val (iv); int r; - NONBLOCKING (r = virStorageVolDestroy (vol)); - CHECK_ERROR (r == -1, conn, "virStorageVolDestroy"); - - /* So that we don't double-free in the finalizer: */ - Volume_val (volv) = NULL; + NONBLOCKING (r = virStorageVolDelete (vol, i)); + CHECK_ERROR (!r, conn, "virStorageVolDelete"); CAMLreturn (Val_unit); #endif @@ -2454,8 +2533,7 @@ ocaml_libvirt_storage_vol_lookup_by_name (value poolv, value strv) #ifndef HAVE_VIRSTORAGEVOLLOOKUPBYNAME /* Symbol virStorageVolLookupByName not found at compile time. */ not_supported ("virStorageVolLookupByName"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStorageVolLookupByName * is in runtime version of libvirt. @@ -2495,8 +2573,7 @@ ocaml_libvirt_storage_vol_lookup_by_key (value connv, value strv) #ifndef HAVE_VIRSTORAGEVOLLOOKUPBYKEY /* Symbol virStorageVolLookupByKey not found at compile time. */ not_supported ("virStorageVolLookupByKey"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStorageVolLookupByKey * is in runtime version of libvirt. @@ -2534,8 +2611,7 @@ ocaml_libvirt_storage_vol_lookup_by_path (value connv, value strv) #ifndef HAVE_VIRSTORAGEVOLLOOKUPBYPATH /* Symbol virStorageVolLookupByPath not found at compile time. */ not_supported ("virStorageVolLookupByPath"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStorageVolLookupByPath * is in runtime version of libvirt. @@ -2557,12 +2633,12 @@ ocaml_libvirt_storage_vol_lookup_by_path (value connv, value strv) } /* Automatically generated binding for virStorageVolCreateXML. - * In generator.pl this function has signature "pool, string, 0 : vol from pool". + * In generator.pl this function has signature "pool, string, 0U : vol from pool". */ #ifdef HAVE_WEAK_SYMBOLS #ifdef HAVE_VIRSTORAGEVOLCREATEXML -extern virStorageVolPtr virStorageVolCreateXML (virStoragePoolPtr pool, const char *str, int flags) __attribute__((weak)); +extern virStorageVolPtr virStorageVolCreateXML (virStoragePoolPtr pool, const char *str, unsigned int flags) __attribute__((weak)); #endif #endif @@ -2573,8 +2649,7 @@ ocaml_libvirt_storage_vol_create_xml (value poolv, value strv) #ifndef HAVE_VIRSTORAGEVOLCREATEXML /* Symbol virStorageVolCreateXML not found at compile time. */ not_supported ("virStorageVolCreateXML"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStorageVolCreateXML * is in runtime version of libvirt. @@ -2598,12 +2673,12 @@ ocaml_libvirt_storage_vol_create_xml (value poolv, value strv) } /* Automatically generated binding for virStorageVolGetXMLDesc. - * In generator.pl this function has signature "vol, 0 : string". + * In generator.pl this function has signature "vol, 0U : string". */ #ifdef HAVE_WEAK_SYMBOLS #ifdef HAVE_VIRSTORAGEVOLGETXMLDESC -extern char *virStorageVolGetXMLDesc (virStorageVolPtr vol, int flags) __attribute__((weak)); +extern char *virStorageVolGetXMLDesc (virStorageVolPtr vol, unsigned int flags) __attribute__((weak)); #endif #endif @@ -2614,8 +2689,7 @@ ocaml_libvirt_storage_vol_get_xml_desc (value volv) #ifndef HAVE_VIRSTORAGEVOLGETXMLDESC /* Symbol virStorageVolGetXMLDesc not found at compile time. */ not_supported ("virStorageVolGetXMLDesc"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStorageVolGetXMLDesc * is in runtime version of libvirt. @@ -2653,8 +2727,7 @@ ocaml_libvirt_storage_vol_get_path (value volv) #ifndef HAVE_VIRSTORAGEVOLGETPATH /* Symbol virStorageVolGetPath not found at compile time. */ not_supported ("virStorageVolGetPath"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStorageVolGetPath * is in runtime version of libvirt. @@ -2692,8 +2765,7 @@ ocaml_libvirt_storage_vol_get_key (value volv) #ifndef HAVE_VIRSTORAGEVOLGETKEY /* Symbol virStorageVolGetKey not found at compile time. */ not_supported ("virStorageVolGetKey"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStorageVolGetKey * is in runtime version of libvirt. @@ -2730,8 +2802,7 @@ ocaml_libvirt_storage_vol_get_name (value volv) #ifndef HAVE_VIRSTORAGEVOLGETNAME /* Symbol virStorageVolGetName not found at compile time. */ not_supported ("virStorageVolGetName"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStorageVolGetName * is in runtime version of libvirt. @@ -2768,8 +2839,7 @@ ocaml_libvirt_storage_pool_lookup_by_volume (value volv) #ifndef HAVE_VIRSTORAGEPOOLLOOKUPBYVOLUME /* Symbol virStoragePoolLookupByVolume not found at compile time. */ not_supported ("virStoragePoolLookupByVolume"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virStoragePoolLookupByVolume * is in runtime version of libvirt. @@ -2808,8 +2878,7 @@ ocaml_libvirt_job_free (value jobv) #ifndef HAVE_VIRJOBFREE /* Symbol virJobFree not found at compile time. */ not_supported ("virJobFree"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virJobFree * is in runtime version of libvirt. @@ -2847,8 +2916,7 @@ ocaml_libvirt_job_cancel (value jobv) #ifndef HAVE_VIRJOBCANCEL /* Symbol virJobCancel not found at compile time. */ not_supported ("virJobCancel"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virJobCancel * is in runtime version of libvirt. @@ -2883,8 +2951,7 @@ ocaml_libvirt_job_get_network (value jobv) #ifndef HAVE_VIRJOBGETNETWORK /* Symbol virJobGetNetwork not found at compile time. */ not_supported ("virJobGetNetwork"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virJobGetNetwork * is in runtime version of libvirt. @@ -2923,8 +2990,7 @@ ocaml_libvirt_job_get_domain (value jobv) #ifndef HAVE_VIRJOBGETDOMAIN /* Symbol virJobGetDomain not found at compile time. */ not_supported ("virJobGetDomain"); - /* Suppresses a compiler warning. */ - (void) caml__frame; + CAMLnoreturn; #else /* Check that the symbol virJobGetDomain * is in runtime version of libvirt.