Separate rules for building bytecode & native code versions.
[virt-mem.git] / lib / kernel.mli
index 25f16ba..e4f4148 100644 (file)
@@ -15,7 +15,9 @@ module AddrMap :
     val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int;;
     val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool;;
   end;;
+exception ParseError of string * string * string;;
 type kernel_version = string;;
+type load_fn = string -> Virt_mem_mmap.addr -> int -> Bitstring.bitstring;;
 type task_struct =
   { task_struct_comm : string; task_struct_normal_prio : int64;
     task_struct_pid : int64; task_struct_prio : int64;
@@ -67,62 +69,22 @@ type kernel_struct =
   | Inet6_dev of inet6_dev
   | In_ifaddr of in_ifaddr
   | Inet6_ifaddr of inet6_ifaddr;;
+type addrmap =
+  (string * ((int * Bitstring.bitstring * kernel_struct) option)) AddrMap.t;;
 
 
 
 val task_struct_follower :
-  kernel_version ->
-    (string -> Virt_mem_mmap.addr -> int -> Bitstring.bitstring) ->
-      (string * ((int * Bitstring.bitstring * kernel_struct) option))
-        AddrMap.t ->
-        Virt_mem_mmap.addr ->
-          (string * ((int * Bitstring.bitstring * kernel_struct) option))
-            AddrMap.t;;
+  kernel_version -> load_fn -> addrmap -> Virt_mem_mmap.addr -> addrmap;;
 val net_device_follower :
-  kernel_version ->
-    (string -> Virt_mem_mmap.addr -> int -> Bitstring.bitstring) ->
-      (string * ((int * Bitstring.bitstring * kernel_struct) option))
-        AddrMap.t ->
-        Virt_mem_mmap.addr ->
-          (string * ((int * Bitstring.bitstring * kernel_struct) option))
-            AddrMap.t;;
+  kernel_version -> load_fn -> addrmap -> Virt_mem_mmap.addr -> addrmap;;
 val net_follower :
-  kernel_version ->
-    (string -> Virt_mem_mmap.addr -> int -> Bitstring.bitstring) ->
-      (string * ((int * Bitstring.bitstring * kernel_struct) option))
-        AddrMap.t ->
-        Virt_mem_mmap.addr ->
-          (string * ((int * Bitstring.bitstring * kernel_struct) option))
-            AddrMap.t;;
+  kernel_version -> load_fn -> addrmap -> Virt_mem_mmap.addr -> addrmap;;
 val in_device_follower :
-  kernel_version ->
-    (string -> Virt_mem_mmap.addr -> int -> Bitstring.bitstring) ->
-      (string * ((int * Bitstring.bitstring * kernel_struct) option))
-        AddrMap.t ->
-        Virt_mem_mmap.addr ->
-          (string * ((int * Bitstring.bitstring * kernel_struct) option))
-            AddrMap.t;;
+  kernel_version -> load_fn -> addrmap -> Virt_mem_mmap.addr -> addrmap;;
 val inet6_dev_follower :
-  kernel_version ->
-    (string -> Virt_mem_mmap.addr -> int -> Bitstring.bitstring) ->
-      (string * ((int * Bitstring.bitstring * kernel_struct) option))
-        AddrMap.t ->
-        Virt_mem_mmap.addr ->
-          (string * ((int * Bitstring.bitstring * kernel_struct) option))
-            AddrMap.t;;
+  kernel_version -> load_fn -> addrmap -> Virt_mem_mmap.addr -> addrmap;;
 val in_ifaddr_follower :
-  kernel_version ->
-    (string -> Virt_mem_mmap.addr -> int -> Bitstring.bitstring) ->
-      (string * ((int * Bitstring.bitstring * kernel_struct) option))
-        AddrMap.t ->
-        Virt_mem_mmap.addr ->
-          (string * ((int * Bitstring.bitstring * kernel_struct) option))
-            AddrMap.t;;
+  kernel_version -> load_fn -> addrmap -> Virt_mem_mmap.addr -> addrmap;;
 val inet6_ifaddr_follower :
-  kernel_version ->
-    (string -> Virt_mem_mmap.addr -> int -> Bitstring.bitstring) ->
-      (string * ((int * Bitstring.bitstring * kernel_struct) option))
-        AddrMap.t ->
-        Virt_mem_mmap.addr ->
-          (string * ((int * Bitstring.bitstring * kernel_struct) option))
-            AddrMap.t;;
+  kernel_version -> load_fn -> addrmap -> Virt_mem_mmap.addr -> addrmap;;