Bring kernel version checking (utsname) into the central process.
[virt-mem.git] / lib / virt_mem_types.ml
index 2f8b329..34f3fe7 100644 (file)
@@ -37,3 +37,21 @@ type image1 =
     * 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. *)
+
+(** 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. *)
+
+and utsname = {
+  kernel_name : string;
+  nodename : string;
+  kernel_release : string;
+  kernel_version : string;
+  machine : string;
+  domainname : string;
+}