Get rid of lookup_ksym function, replace with a map.
[virt-mem.git] / lib / virt_mem_types.ml
index 34f3fe7..071f6de 100644 (file)
    Common types.
  *)
 
-(** A kernel image. *)
-type image0 =
-    int option                         (* Domain ID, if known. *)
-    * string                           (* Domain name. *)
-    * Virt_mem_utils.architecture      (* Architecture, eg. i386. *)
-    * ([`Wordsize], [`Endian], [`HasMapping]) Virt_mem_mmap.t (* Memory map. *)
-
-(** A kernel symbol. *)
+module D = Libvirt.Domain
+
+open Virt_mem_mmap
+
 type ksym = string
 
-(** A kernel image, after finding kernel symbols. *)
+module Ksymmap = Map.Make (String)
+
+type image0 = {
+  dom : Libvirt.ro D.t option;
+  domname : string;
+  arch : Virt_mem_utils.architecture;
+  mem : ([`Wordsize], [`Endian], [`HasMapping]) Virt_mem_mmap.t;
+}
+
 type image1 =
-    int option                         (* Domain ID, if known. *)
-    * string                           (* Domain name. *)
-    * Virt_mem_utils.architecture      (* Architecture, eg. i386. *)
-    * ([`Wordsize], [`Endian], [`HasMapping]) Virt_mem_mmap.t (* Memory map. *)
-    * (ksym -> Virt_mem_mmap.addr)     (* Kernel symbol lookup function. *)
+    image0
+    * addr Ksymmap.t
 
-(** A kernel image, after finding kernel version (like 'uname'). *)
 type image2 =
-    int option                         (* Domain ID, if known. *)
-    * string                           (* Domain name. *)
-    * Virt_mem_utils.architecture      (* Architecture, eg. i386. *)
-    * ([`Wordsize], [`Endian], [`HasMapping]) Virt_mem_mmap.t (* Memory map. *)
-    * (ksym -> Virt_mem_mmap.addr)     (* Kernel symbol lookup function. *)
-    * utsname option                   (* Kernel version, etc., if known. *)
+    image0
+    * addr Ksymmap.t
+    * utsname option
 
 and utsname = {
   kernel_name : string;