Add .gitignore file for git.
[virt-df.git] / lib / diskimage_impl.mli
index 26dd555..05fcd70 100644 (file)
@@ -1,24 +1,26 @@
+(** Diskimage library implementation. *)
 (* (C) Copyright 2007-2008 Richard W.M. Jones, Red Hat Inc.
    http://libvirt.org/
 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2 of the License, or (at your option) any later version,
+   with the OCaml linking exception described in ../COPYING.LIB.
 
-   This program is distributed in the hope that it will be useful,
+   This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   You should have received a copy of the GNU Lesser General Public
+   License along with this library; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
  *)
 
-(* Don't use the functions and types in here directly.  The safe ones
* are reexported through the Diskimage module, see diskimage.mli.
- *)
+(** Don't use the functions and types in here directly.  The safe ones
   are reexported through the {!Diskimage} module, see [diskimage.mli].
+*)
 
 (**/**)
 
@@ -31,7 +33,7 @@ class virtual device :
     method virtual name : string
     method virtual size : Int63.t
     method read : Int63.t -> Int63.t -> string
-    method read_bitstring : Int63.t -> Int63.t -> Bitmatch.bitstring
+    method read_bitstring : Int63.t -> Int63.t -> Bitstring.bitstring
     method virtual blocksize : Int63.t
     method virtual map_block : Int63.t -> (device * Int63.t) list
     method virtual contiguous : Int63.t -> Int63.t
@@ -42,7 +44,7 @@ class block_device : string -> Int63.t ->
     method name : string
     method size : Int63.t
     method read : Int63.t -> Int63.t -> string
-    method read_bitstring : Int63.t -> Int63.t -> Bitmatch.bitstring
+    method read_bitstring : Int63.t -> Int63.t -> Bitstring.bitstring
     method blocksize : Int63.t
     method map_block : Int63.t -> (device * Int63.t) list
     method contiguous : Int63.t -> Int63.t
@@ -54,7 +56,7 @@ class offset_device : string -> Int63.t -> Int63.t -> Int63.t -> device ->
     method name : string
     method size : Int63.t
     method read : Int63.t -> Int63.t -> string
-    method read_bitstring : Int63.t -> Int63.t -> Bitmatch.bitstring
+    method read_bitstring : Int63.t -> Int63.t -> Bitstring.bitstring
     method blocksize : Int63.t
     method map_block : Int63.t -> (device * Int63.t) list
     method contiguous : Int63.t -> Int63.t
@@ -65,7 +67,7 @@ class blocksize_overlay : Int63.t -> device ->
     method name : string
     method size : Int63.t
     method read : Int63.t -> Int63.t -> string
-    method read_bitstring : Int63.t -> Int63.t -> Bitmatch.bitstring
+    method read_bitstring : Int63.t -> Int63.t -> Bitstring.bitstring
     method blocksize : Int63.t
     method map_block : Int63.t -> (device * Int63.t) list
     method contiguous : Int63.t -> Int63.t
@@ -141,6 +143,7 @@ and lv = {
 and partitioner_probe = device -> partitions
 
 and partitioner_callbacks = {
+  parts_cb_uq : int;
   parts_cb_name : string;
   parts_cb_offset_is_free : partitions -> Int63.t -> bool;
 }
@@ -148,6 +151,7 @@ and partitioner_callbacks = {
 and filesystem_probe = device -> filesystem
 
 and filesystem_callbacks = {
+  fs_cb_uq : int;
   fs_cb_name : string;
   fs_cb_printable_name : string;
   fs_cb_offset_is_free : filesystem -> Int63.t -> bool;
@@ -156,6 +160,7 @@ and filesystem_callbacks = {
 and lvm_probe = device -> pv
 
 and lvm_callbacks = {
+  lvm_cb_uq : int;
   lvm_cb_name : string;
   lvm_cb_list_lvs : pv list -> lv list;
   lvm_cb_offset_is_free : pv -> Int63.t -> bool;
@@ -171,11 +176,10 @@ val register_plugin :
   ?lvm:lvm_probe ->
   string -> unit
 
-(** {3 Plug-in-specific data management. *)
-
-
-
+(** {3 Plug-in-specific data management} *)
 
+val private_data_functions :
+  ('key -> int) -> ('key -> 'data -> unit) * ('key -> 'data)
 
 (** {2 Internal functions used by the plug-ins} *)
 
@@ -201,6 +205,8 @@ val range : int -> int -> int list
 (** {2 Functions} *)
 
 val open_machine : string -> (string * string) list -> machine
+val open_machine_from_devices : string -> (string * block_device) list ->
+  machine
 val close_machine : machine -> unit
 val scan_machine : machine -> machine