Extracted kernel structures for device addressing in ifconfig.
[virt-mem.git] / lib / kernel_task_struct.mli
index e600878..101642f 100644 (file)
@@ -1,10 +1,37 @@
-exception ParseError of string;;
 type t =
-  { comm : string; normal_prio : int; prio : int; state : int;
-    static_prio : int; tasks'next : [ | `list_head ] int64;
-    tasks'prev : [ | `list_head ] int64
+  { task_struct_state : int64; task_struct_prio : int64;
+    task_struct_normal_prio : int64; task_struct_static_prio : int64;
+    task_struct_tasks'prev : Virt_mem_mmap.addr;
+    task_struct_tasks'next : Virt_mem_mmap.addr;
+    task_struct_mm : Virt_mem_mmap.addr;
+    task_struct_active_mm : Virt_mem_mmap.addr; task_struct_comm : string;
+    task_struct_pid : int64
   };;
+val struct_name : string;;
 type kernel_version = string;;
-val known : kernel_version -> bool;;
-val size : kernel_version -> int;;
-val get : kernel_version -> Bitstring.bitstring -> t;;
+val task_struct_known : kernel_version -> bool;;
+val task_struct_size : kernel_version -> int;;
+val task_struct_of_bits : kernel_version -> Bitstring.bitstring -> t;;
+val get_task_struct :
+  kernel_version ->
+    ('a, 'b, [ | `HasMapping ]) Virt_mem_mmap.t -> Virt_mem_mmap.addr -> t;;
+val field_signature_of_task_struct_state :
+  kernel_version -> Virt_mem_types.fieldsig;;
+val field_signature_of_task_struct_prio :
+  kernel_version -> Virt_mem_types.fieldsig;;
+val field_signature_of_task_struct_normal_prio :
+  kernel_version -> Virt_mem_types.fieldsig;;
+val field_signature_of_task_struct_static_prio :
+  kernel_version -> Virt_mem_types.fieldsig;;
+val field_signature_of_task_struct_tasks'prev :
+  kernel_version -> Virt_mem_types.fieldsig;;
+val field_signature_of_task_struct_tasks'next :
+  kernel_version -> Virt_mem_types.fieldsig;;
+val field_signature_of_task_struct_mm :
+  kernel_version -> Virt_mem_types.fieldsig;;
+val field_signature_of_task_struct_active_mm :
+  kernel_version -> Virt_mem_types.fieldsig;;
+val field_signature_of_task_struct_comm :
+  kernel_version -> Virt_mem_types.fieldsig;;
+val field_signature_of_task_struct_pid :
+  kernel_version -> Virt_mem_types.fieldsig;;