let cpu_usable cpumaps maplen vcpu cpu =
Char.code cpumaps.[vcpu*maplen + cpu/8] land (1 lsl (cpu mod 8)) <> 0
+ external set_keep_alive : [>`R] t -> int -> int -> unit = "ocaml_libvirt_connect_set_keep_alive"
+
external const : [>`R] t -> ro t = "%identity"
end
external get_info : [`R] t -> pool_info = "ocaml_libvirt_storage_pool_get_info"
external get_xml_desc : [`R] t -> xml = "ocaml_libvirt_storage_pool_get_xml_desc"
external get_autostart : [`R] t -> bool = "ocaml_libvirt_storage_pool_get_autostart"
- external set_autostart : [`W] t -> bool -> unit = "ocaml_libvirt_storage_pool_set_autostart"
+ external set_autostart : [>`W] t -> bool -> unit = "ocaml_libvirt_storage_pool_set_autostart"
external num_of_volumes : [`R] t -> int = "ocaml_libvirt_storage_pool_num_of_volumes"
external list_volumes : [`R] t -> int -> string array = "ocaml_libvirt_storage_pool_list_volumes"
external const : [>`R] t -> ro t = "%identity"
external get_path : [`R] t -> string = "ocaml_libvirt_storage_vol_get_path"
external get_info : [`R] t -> vol_info = "ocaml_libvirt_storage_vol_get_info"
external get_xml_desc : [`R] t -> xml = "ocaml_libvirt_storage_vol_get_xml_desc"
- external create_xml : [`W] Pool.t -> xml -> unit = "ocaml_libvirt_storage_vol_create_xml"
- external delete : [`W] t -> unit = "ocaml_libvirt_storage_vol_delete"
+ external create_xml : [>`W] Pool.t -> xml -> unit = "ocaml_libvirt_storage_vol_create_xml"
+ external delete : [>`W] t -> vol_delete_flags -> unit = "ocaml_libvirt_storage_vol_delete"
external free : [>`R] t -> unit = "ocaml_libvirt_storage_vol_free"
external const : [>`R] t -> ro t = "%identity"
end