X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=lib%2Fkernel_task_struct.ml;h=a13e5373936e524489807c6ae25b2481ee8aa766;hb=0bb087262357335c4b12f189d568a6f4ba9f89fa;hp=e87a928d26f5f995c992e6f9ace2da4bb334df60;hpb=e6529f04e4135efbe726a7ee034c5086de220818;p=virt-mem.git diff --git a/lib/kernel_task_struct.ml b/lib/kernel_task_struct.ml index e87a928..a13e537 100644 --- a/lib/kernel_task_struct.ml +++ b/lib/kernel_task_struct.ml @@ -1,33 +1,645 @@ let warning = "This code is automatically generated from the kernel database by kerneldb-to-parser program. Any edits you make will be lost.";; -exception ParseError of string;; +let zero = 0;; +exception ParseError of string * string * 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_active_mm : Virt_mem_mmap.addr; task_struct_comm : string; + task_struct_mm : Virt_mem_mmap.addr; task_struct_normal_prio : int64; + task_struct_pid : int64; task_struct_prio : int64; + task_struct_state : int64; task_struct_static_prio : int64; + task_struct_tasks'next : Virt_mem_mmap.addr; + task_struct_tasks'prev : Virt_mem_mmap.addr };; -let parser_1 bits = "parser_1";; -let parser_2 bits = "parser_2";; -let parser_3 bits = "parser_3";; -let parser_4 bits = "parser_4";; -let parser_5 bits = "parser_5";; -let parser_6 bits = "parser_6";; -let parser_7 bits = "parser_7";; -let parser_8 bits = "parser_8";; -let parser_9 bits = "parser_9";; -let parser_10 bits = "parser_10";; -let parser_11 bits = "parser_11";; -let parser_12 bits = "parser_12";; -let parser_13 bits = "parser_13";; -let parser_14 bits = "parser_14";; -let parser_15 bits = "parser_15";; -let parser_16 bits = "parser_16";; -let parser_17 bits = "parser_17";; -let parser_18 bits = "parser_18";; -let parser_19 bits = "parser_19";; -let parser_20 bits = "parser_20";; -let parser_21 bits = "parser_21";; -let parser_22 bits = "parser_22";; +let parser_1 bits = bitmatch bits with + | { task_struct_state : zero+32 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(192), littleendian; + task_struct_static_prio : zero+32 : offset(224), littleendian; + task_struct_normal_prio : zero+32 : offset(256), littleendian; + task_struct_tasks'next : zero+32 : offset(992), littleendian; + task_struct_tasks'prev : zero+32 : offset(1024), littleendian; + task_struct_mm : zero+32 : offset(1056), littleendian; + task_struct_active_mm : zero+32 : offset(1088), littleendian; + task_struct_pid : zero+32 : offset(1344), littleendian; + task_struct_comm : 128 : offset(3232), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 124L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 128L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_1", "failed to match kernel structure"));; +let parser_2 bits = bitmatch bits with + | { task_struct_state : zero+32 : offset(0), bigendian; + task_struct_prio : zero+32 : offset(160), bigendian; + task_struct_static_prio : zero+32 : offset(192), bigendian; + task_struct_normal_prio : zero+32 : offset(224), bigendian; + task_struct_tasks'next : zero+32 : offset(2176), bigendian; + task_struct_tasks'prev : zero+32 : offset(2208), bigendian; + task_struct_mm : zero+32 : offset(2240), bigendian; + task_struct_active_mm : zero+32 : offset(2272), bigendian; + task_struct_pid : zero+32 : offset(2528), bigendian; + task_struct_comm : 128 : offset(4416), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 272L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 276L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_2", "failed to match kernel structure"));; +let parser_3 bits = bitmatch bits with + | { task_struct_state : zero+32 : offset(0), bigendian; + task_struct_prio : zero+32 : offset(192), bigendian; + task_struct_static_prio : zero+32 : offset(224), bigendian; + task_struct_normal_prio : zero+32 : offset(256), bigendian; + task_struct_tasks'next : zero+32 : offset(2304), bigendian; + task_struct_tasks'prev : zero+32 : offset(2336), bigendian; + task_struct_mm : zero+32 : offset(2496), bigendian; + task_struct_active_mm : zero+32 : offset(2528), bigendian; + task_struct_pid : zero+32 : offset(2784), bigendian; + task_struct_comm : 128 : offset(4736), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 288L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 292L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_3", "failed to match kernel structure"));; +let parser_4 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(320), littleendian; + task_struct_static_prio : zero+32 : offset(352), littleendian; + task_struct_normal_prio : zero+32 : offset(384), littleendian; + task_struct_tasks'next : zero+64 : offset(1536), littleendian; + task_struct_tasks'prev : zero+64 : offset(1600), littleendian; + task_struct_mm : zero+64 : offset(1664), littleendian; + task_struct_active_mm : zero+64 : offset(1728), littleendian; + task_struct_pid : zero+32 : offset(2144), littleendian; + task_struct_comm : 128 : offset(5376), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 192L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 200L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_4", "failed to match kernel structure"));; +let parser_5 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(256), littleendian; + task_struct_static_prio : zero+32 : offset(288), littleendian; + task_struct_normal_prio : zero+32 : offset(320), littleendian; + task_struct_tasks'next : zero+64 : offset(2816), littleendian; + task_struct_tasks'prev : zero+64 : offset(2880), littleendian; + task_struct_mm : zero+64 : offset(3200), littleendian; + task_struct_active_mm : zero+64 : offset(3264), littleendian; + task_struct_pid : zero+32 : offset(3584), littleendian; + task_struct_comm : 128 : offset(6912), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 352L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 360L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_5", "failed to match kernel structure"));; +let parser_6 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), bigendian; + task_struct_prio : zero+32 : offset(256), bigendian; + task_struct_static_prio : zero+32 : offset(288), bigendian; + task_struct_normal_prio : zero+32 : offset(320), bigendian; + task_struct_tasks'next : zero+64 : offset(1472), bigendian; + task_struct_tasks'prev : zero+64 : offset(1536), bigendian; + task_struct_mm : zero+64 : offset(1600), bigendian; + task_struct_active_mm : zero+64 : offset(1664), bigendian; + task_struct_pid : zero+32 : offset(1984), bigendian; + task_struct_comm : 128 : offset(5184), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 184L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 192L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_6", "failed to match kernel structure"));; +let parser_7 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), bigendian; + task_struct_prio : zero+32 : offset(320), bigendian; + task_struct_static_prio : zero+32 : offset(352), bigendian; + task_struct_normal_prio : zero+32 : offset(384), bigendian; + task_struct_tasks'next : zero+64 : offset(1600), bigendian; + task_struct_tasks'prev : zero+64 : offset(1664), bigendian; + task_struct_mm : zero+64 : offset(1728), bigendian; + task_struct_active_mm : zero+64 : offset(1792), bigendian; + task_struct_pid : zero+32 : offset(2208), bigendian; + task_struct_comm : 128 : offset(5440), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 200L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 208L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_7", "failed to match kernel structure"));; +let parser_8 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(320), littleendian; + task_struct_static_prio : zero+32 : offset(352), littleendian; + task_struct_normal_prio : zero+32 : offset(384), littleendian; + task_struct_tasks'next : zero+64 : offset(1536), littleendian; + task_struct_tasks'prev : zero+64 : offset(1600), littleendian; + task_struct_mm : zero+64 : offset(1664), littleendian; + task_struct_active_mm : zero+64 : offset(1728), littleendian; + task_struct_pid : zero+32 : offset(2144), littleendian; + task_struct_comm : 128 : offset(5440), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 192L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 200L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_8", "failed to match kernel structure"));; +let parser_9 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(224), littleendian; + task_struct_static_prio : zero+32 : offset(256), littleendian; + task_struct_normal_prio : zero+32 : offset(288), littleendian; + task_struct_tasks'next : zero+64 : offset(2816), littleendian; + task_struct_tasks'prev : zero+64 : offset(2880), littleendian; + task_struct_mm : zero+64 : offset(2944), littleendian; + task_struct_active_mm : zero+64 : offset(3008), littleendian; + task_struct_pid : zero+32 : offset(3328), littleendian; + task_struct_comm : 128 : offset(6592), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 352L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 360L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_9", "failed to match kernel structure"));; +let parser_10 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), bigendian; + task_struct_prio : zero+32 : offset(224), bigendian; + task_struct_static_prio : zero+32 : offset(256), bigendian; + task_struct_normal_prio : zero+32 : offset(288), bigendian; + task_struct_tasks'next : zero+64 : offset(2816), bigendian; + task_struct_tasks'prev : zero+64 : offset(2880), bigendian; + task_struct_mm : zero+64 : offset(2944), bigendian; + task_struct_active_mm : zero+64 : offset(3008), bigendian; + task_struct_pid : zero+32 : offset(3328), bigendian; + task_struct_comm : 128 : offset(6528), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 352L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 360L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_10", "failed to match kernel structure"));; +let parser_11 bits = bitmatch bits with + | { task_struct_state : zero+32 : offset(0), bigendian; + task_struct_prio : zero+32 : offset(192), bigendian; + task_struct_static_prio : zero+32 : offset(224), bigendian; + task_struct_normal_prio : zero+32 : offset(256), bigendian; + task_struct_tasks'next : zero+32 : offset(1024), bigendian; + task_struct_tasks'prev : zero+32 : offset(1056), bigendian; + task_struct_mm : zero+32 : offset(1088), bigendian; + task_struct_active_mm : zero+32 : offset(1120), bigendian; + task_struct_pid : zero+32 : offset(1376), bigendian; + task_struct_comm : 128 : offset(3264), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 128L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 132L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_11", "failed to match kernel structure"));; +let parser_12 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), bigendian; + task_struct_prio : zero+32 : offset(224), bigendian; + task_struct_static_prio : zero+32 : offset(256), bigendian; + task_struct_normal_prio : zero+32 : offset(288), bigendian; + task_struct_tasks'next : zero+64 : offset(2880), bigendian; + task_struct_tasks'prev : zero+64 : offset(2944), bigendian; + task_struct_mm : zero+64 : offset(3008), bigendian; + task_struct_active_mm : zero+64 : offset(3072), bigendian; + task_struct_pid : zero+32 : offset(3392), bigendian; + task_struct_comm : 128 : offset(6592), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 360L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 368L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_12", "failed to match kernel structure"));; +let parser_13 bits = bitmatch bits with + | { task_struct_state : zero+32 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(192), littleendian; + task_struct_static_prio : zero+32 : offset(224), littleendian; + task_struct_normal_prio : zero+32 : offset(256), littleendian; + task_struct_tasks'next : zero+32 : offset(2208), littleendian; + task_struct_tasks'prev : zero+32 : offset(2240), littleendian; + task_struct_mm : zero+32 : offset(2400), littleendian; + task_struct_active_mm : zero+32 : offset(2432), littleendian; + task_struct_pid : zero+32 : offset(2688), littleendian; + task_struct_comm : 128 : offset(4608), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 276L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 280L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_13", "failed to match kernel structure"));; +let parser_14 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(224), littleendian; + task_struct_static_prio : zero+32 : offset(256), littleendian; + task_struct_normal_prio : zero+32 : offset(288), littleendian; + task_struct_tasks'next : zero+64 : offset(3648), littleendian; + task_struct_tasks'prev : zero+64 : offset(3712), littleendian; + task_struct_mm : zero+64 : offset(3776), littleendian; + task_struct_active_mm : zero+64 : offset(3840), littleendian; + task_struct_pid : zero+32 : offset(4160), littleendian; + task_struct_comm : 128 : offset(7816), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 456L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 464L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_14", "failed to match kernel structure"));; +let parser_15 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), bigendian; + task_struct_prio : zero+32 : offset(256), bigendian; + task_struct_static_prio : zero+32 : offset(288), bigendian; + task_struct_normal_prio : zero+32 : offset(320), bigendian; + task_struct_tasks'next : zero+64 : offset(2688), bigendian; + task_struct_tasks'prev : zero+64 : offset(2752), bigendian; + task_struct_mm : zero+64 : offset(3072), bigendian; + task_struct_active_mm : zero+64 : offset(3136), bigendian; + task_struct_pid : zero+32 : offset(3456), bigendian; + task_struct_comm : 128 : offset(6720), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 336L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 344L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_15", "failed to match kernel structure"));; +let parser_16 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(224), littleendian; + task_struct_static_prio : zero+32 : offset(256), littleendian; + task_struct_normal_prio : zero+32 : offset(288), littleendian; + task_struct_tasks'next : zero+64 : offset(3840), littleendian; + task_struct_tasks'prev : zero+64 : offset(3904), littleendian; + task_struct_mm : zero+64 : offset(3968), littleendian; + task_struct_active_mm : zero+64 : offset(4032), littleendian; + task_struct_pid : zero+32 : offset(4352), littleendian; + task_struct_comm : 128 : offset(8392), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 480L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 488L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_16", "failed to match kernel structure"));; +let parser_17 bits = bitmatch bits with + | { task_struct_state : zero+32 : offset(0), bigendian; + task_struct_prio : zero+32 : offset(160), bigendian; + task_struct_static_prio : zero+32 : offset(192), bigendian; + task_struct_normal_prio : zero+32 : offset(224), bigendian; + task_struct_tasks'next : zero+32 : offset(2240), bigendian; + task_struct_tasks'prev : zero+32 : offset(2272), bigendian; + task_struct_mm : zero+32 : offset(2304), bigendian; + task_struct_active_mm : zero+32 : offset(2336), bigendian; + task_struct_pid : zero+32 : offset(2592), bigendian; + task_struct_comm : 128 : offset(4480), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 280L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 284L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_17", "failed to match kernel structure"));; +let parser_18 bits = bitmatch bits with + | { task_struct_state : zero+32 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(160), littleendian; + task_struct_static_prio : zero+32 : offset(192), littleendian; + task_struct_normal_prio : zero+32 : offset(224), littleendian; + task_struct_tasks'next : zero+32 : offset(3008), littleendian; + task_struct_tasks'prev : zero+32 : offset(3040), littleendian; + task_struct_mm : zero+32 : offset(3072), littleendian; + task_struct_active_mm : zero+32 : offset(3104), littleendian; + task_struct_pid : zero+32 : offset(3360), littleendian; + task_struct_comm : 128 : offset(5416), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 376L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 380L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_18", "failed to match kernel structure"));; +let parser_19 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), bigendian; + task_struct_prio : zero+32 : offset(224), bigendian; + task_struct_static_prio : zero+32 : offset(256), bigendian; + task_struct_normal_prio : zero+32 : offset(288), bigendian; + task_struct_tasks'next : zero+64 : offset(3648), bigendian; + task_struct_tasks'prev : zero+64 : offset(3712), bigendian; + task_struct_mm : zero+64 : offset(3776), bigendian; + task_struct_active_mm : zero+64 : offset(3840), bigendian; + task_struct_pid : zero+32 : offset(4160), bigendian; + task_struct_comm : 128 : offset(7752), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 456L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 464L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_19", "failed to match kernel structure"));; +let parser_20 bits = bitmatch bits with + | { task_struct_state : zero+32 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(160), littleendian; + task_struct_static_prio : zero+32 : offset(192), littleendian; + task_struct_normal_prio : zero+32 : offset(224), littleendian; + task_struct_tasks'next : zero+32 : offset(2144), littleendian; + task_struct_tasks'prev : zero+32 : offset(2176), littleendian; + task_struct_mm : zero+32 : offset(2208), littleendian; + task_struct_active_mm : zero+32 : offset(2240), littleendian; + task_struct_pid : zero+32 : offset(2496), littleendian; + task_struct_comm : 128 : offset(4384), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 268L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 272L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_20", "failed to match kernel structure"));; +let parser_21 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), bigendian; + task_struct_prio : zero+32 : offset(256), bigendian; + task_struct_static_prio : zero+32 : offset(288), bigendian; + task_struct_normal_prio : zero+32 : offset(320), bigendian; + task_struct_tasks'next : zero+64 : offset(2880), bigendian; + task_struct_tasks'prev : zero+64 : offset(2944), bigendian; + task_struct_mm : zero+64 : offset(3264), bigendian; + task_struct_active_mm : zero+64 : offset(3328), bigendian; + task_struct_pid : zero+32 : offset(3648), bigendian; + task_struct_comm : 128 : offset(6912), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 360L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 368L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_21", "failed to match kernel structure"));; +let parser_22 bits = bitmatch bits with + | { task_struct_state : zero+32 : offset(0), bigendian; + task_struct_prio : zero+32 : offset(160), bigendian; + task_struct_static_prio : zero+32 : offset(192), bigendian; + task_struct_normal_prio : zero+32 : offset(224), bigendian; + task_struct_tasks'next : zero+32 : offset(3136), bigendian; + task_struct_tasks'prev : zero+32 : offset(3168), bigendian; + task_struct_mm : zero+32 : offset(3200), bigendian; + task_struct_active_mm : zero+32 : offset(3232), bigendian; + task_struct_pid : zero+32 : offset(3488), bigendian; + task_struct_comm : 128 : offset(5576), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 392L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 396L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_22", "failed to match kernel structure"));; +let parser_23 bits = bitmatch bits with + | { task_struct_state : zero+32 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(192), littleendian; + task_struct_static_prio : zero+32 : offset(224), littleendian; + task_struct_normal_prio : zero+32 : offset(256), littleendian; + task_struct_tasks'next : zero+32 : offset(2144), littleendian; + task_struct_tasks'prev : zero+32 : offset(2176), littleendian; + task_struct_mm : zero+32 : offset(2336), littleendian; + task_struct_active_mm : zero+32 : offset(2368), littleendian; + task_struct_pid : zero+32 : offset(2624), littleendian; + task_struct_comm : 128 : offset(4544), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 268L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 272L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_23", "failed to match kernel structure"));; +let parser_24 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(320), littleendian; + task_struct_static_prio : zero+32 : offset(352), littleendian; + task_struct_normal_prio : zero+32 : offset(384), littleendian; + task_struct_tasks'next : zero+64 : offset(1728), littleendian; + task_struct_tasks'prev : zero+64 : offset(1792), littleendian; + task_struct_mm : zero+64 : offset(1856), littleendian; + task_struct_active_mm : zero+64 : offset(1920), littleendian; + task_struct_pid : zero+32 : offset(2336), littleendian; + task_struct_comm : 128 : offset(5568), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 216L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 224L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_24", "failed to match kernel structure"));; +let parser_25 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(224), littleendian; + task_struct_static_prio : zero+32 : offset(256), littleendian; + task_struct_normal_prio : zero+32 : offset(288), littleendian; + task_struct_tasks'next : zero+64 : offset(2752), littleendian; + task_struct_tasks'prev : zero+64 : offset(2816), littleendian; + task_struct_mm : zero+64 : offset(2880), littleendian; + task_struct_active_mm : zero+64 : offset(2944), littleendian; + task_struct_pid : zero+32 : offset(3264), littleendian; + task_struct_comm : 128 : offset(6528), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 344L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 352L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_25", "failed to match kernel structure"));; +let parser_26 bits = bitmatch bits with + | { task_struct_state : zero+32 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(160), littleendian; + task_struct_static_prio : zero+32 : offset(192), littleendian; + task_struct_normal_prio : zero+32 : offset(224), littleendian; + task_struct_tasks'next : zero+32 : offset(2176), littleendian; + task_struct_tasks'prev : zero+32 : offset(2208), littleendian; + task_struct_mm : zero+32 : offset(2240), littleendian; + task_struct_active_mm : zero+32 : offset(2272), littleendian; + task_struct_pid : zero+32 : offset(2528), littleendian; + task_struct_comm : 128 : offset(4416), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 272L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 276L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_26", "failed to match kernel structure"));; +let parser_27 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(256), littleendian; + task_struct_static_prio : zero+32 : offset(288), littleendian; + task_struct_normal_prio : zero+32 : offset(320), littleendian; + task_struct_tasks'next : zero+64 : offset(1408), littleendian; + task_struct_tasks'prev : zero+64 : offset(1472), littleendian; + task_struct_mm : zero+64 : offset(1536), littleendian; + task_struct_active_mm : zero+64 : offset(1600), littleendian; + task_struct_pid : zero+32 : offset(1920), littleendian; + task_struct_comm : 128 : offset(5184), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 176L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 184L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_27", "failed to match kernel structure"));; +let parser_28 bits = bitmatch bits with + | { task_struct_state : zero+32 : offset(0), bigendian; + task_struct_prio : zero+32 : offset(192), bigendian; + task_struct_static_prio : zero+32 : offset(224), bigendian; + task_struct_normal_prio : zero+32 : offset(256), bigendian; + task_struct_tasks'next : zero+32 : offset(2240), bigendian; + task_struct_tasks'prev : zero+32 : offset(2272), bigendian; + task_struct_mm : zero+32 : offset(2432), bigendian; + task_struct_active_mm : zero+32 : offset(2464), bigendian; + task_struct_pid : zero+32 : offset(2720), bigendian; + task_struct_comm : 128 : offset(4672), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 280L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 284L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_28", "failed to match kernel structure"));; +let parser_29 bits = bitmatch bits with + | { task_struct_state : zero+32 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(160), littleendian; + task_struct_static_prio : zero+32 : offset(192), littleendian; + task_struct_normal_prio : zero+32 : offset(224), littleendian; + task_struct_tasks'next : zero+32 : offset(3232), littleendian; + task_struct_tasks'prev : zero+32 : offset(3264), littleendian; + task_struct_mm : zero+32 : offset(3296), littleendian; + task_struct_active_mm : zero+32 : offset(3328), littleendian; + task_struct_pid : zero+32 : offset(3584), littleendian; + task_struct_comm : 128 : offset(5928), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 404L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 408L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_29", "failed to match kernel structure"));; +let parser_30 bits = bitmatch bits with + | { task_struct_state : zero+64 : offset(0), littleendian; + task_struct_prio : zero+32 : offset(256), littleendian; + task_struct_static_prio : zero+32 : offset(288), littleendian; + task_struct_normal_prio : zero+32 : offset(320), littleendian; + task_struct_tasks'next : zero+64 : offset(2624), littleendian; + task_struct_tasks'prev : zero+64 : offset(2688), littleendian; + task_struct_mm : zero+64 : offset(3008), littleendian; + task_struct_active_mm : zero+64 : offset(3072), littleendian; + task_struct_pid : zero+32 : offset(3392), littleendian; + task_struct_comm : 128 : offset(6720), string } -> { task_struct_state = task_struct_state; + task_struct_prio = task_struct_prio; + task_struct_static_prio = task_struct_static_prio; + task_struct_normal_prio = task_struct_normal_prio; + task_struct_tasks'next = Int64.sub task_struct_tasks'next 328L; + task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 336L; + task_struct_mm = task_struct_mm; + task_struct_active_mm = task_struct_active_mm; + task_struct_pid = task_struct_pid; + task_struct_comm = task_struct_comm } + | { _ } -> raise (ParseError ("task_struct", "parser_30", "failed to match kernel structure"));; module StringMap = Map.Make(String);; let map = StringMap.empty;; let v = (parser_1, 2704);; @@ -36,6 +648,8 @@ let v = (parser_2, 1756);; let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc" v map;; let v = (parser_1, 2704);; let map = StringMap.add "2.6.21-1.3128.fc7.i686" v map;; +let v = (parser_1, 2704);; +let map = StringMap.add "2.6.21-1.3132.fc7.i686" v map;; let v = (parser_3, 1780);; let map = StringMap.add "2.6.21-1.3236.fc8.ppc" v map;; let v = (parser_1, 1376);; @@ -44,131 +658,189 @@ let v = (parser_4, 1856);; let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;; let v = (parser_5, 3948);; let map = StringMap.add "2.6.21-1.3236.fc8.x86_64" v map;; -let v = (parser_6, 2072);; +let v = (parser_6, 2116);; +let map = StringMap.add "2.6.21-1.3218.fc8.ppc64" v map;; +let v = (parser_7, 2072);; let map = StringMap.add "2.6.21-1.3228.fc7.ppc64" v map;; -let v = (parser_7, 1832);; +let v = (parser_8, 1832);; let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;; -let v = (parser_8, 3932);; +let v = (parser_1, 2712);; +let map = StringMap.add "2.6.21-1.3218.fc8.i586" v map;; +let v = (parser_9, 3932);; let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.x86_64" v map;; -let v = (parser_6, 2132);; +let v = (parser_10, 2276);; +let map = StringMap.add "2.6.21-1.3242.fc8.ppc64" v map;; +let v = (parser_7, 2132);; let map = StringMap.add "2.6.21-1.3144.fc7.ppc64" v map;; -let v = (parser_9, 2292);; +let v = (parser_11, 1612);; +let map = StringMap.add "2.6.21-1.3218.fc8.ppc" v map;; +let v = (parser_12, 2292);; let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc64" v map;; -let v = (parser_10, 2880);; +let v = (parser_13, 2880);; let map = StringMap.add "2.6.21-1.3236.fc8.i686" v map;; +let v = (parser_7, 2132);; +let map = StringMap.add "2.6.21-1.3132.fc7.ppc64" v map;; let v = (parser_1, 1376);; let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;; -let v = (parser_11, 4684);; +let v = (parser_14, 4684);; let map = StringMap.add "2.6.24-9.fc9.x86_64" v map;; -let v = (parser_9, 2292);; +let v = (parser_12, 2292);; let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc64" v map;; +let v = (parser_7, 2132);; +let map = StringMap.add "2.6.21-1.3132.fc7.ppc64" v map;; +let v = (parser_14, 4684);; +let map = StringMap.add "2.6.24-7.fc9.x86_64" v map;; +let v = (parser_10, 2276);; +let map = StringMap.add "2.6.21-1.3238.fc8.ppc64" v map;; let v = (parser_1, 1384);; let map = StringMap.add "2.6.18-1.2798.fc6.i586" v map;; -let v = (parser_12, 1620);; +let v = (parser_11, 1620);; let map = StringMap.add "2.6.21-1.3132.fc7.ppc" v map;; +let v = (parser_15, 2292);; +let map = StringMap.add "2.6.21-1.3234.fc8.ppc64" v map;; let v = (parser_1, 1384);; let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;; -let v = (parser_13, 2496);; +let v = (parser_16, 2496);; let map = StringMap.add "2.6.25.11-97.fc9.x86_64" v map;; let v = (parser_1, 1368);; let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;; -let v = (parser_14, 3540);; +let v = (parser_17, 1772);; +let map = StringMap.add "2.6.21-1.3242.fc8.ppc" v map;; +let v = (parser_18, 3540);; let map = StringMap.add "2.6.24-9.fc9.i686" v map;; -let v = (parser_15, 2856);; +let v = (parser_19, 2492);; +let map = StringMap.add "2.6.24-7.fc9.ppc64" v map;; +let v = (parser_20, 2856);; let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.i686" v map;; -let v = (parser_16, 2308);; +let v = (parser_21, 2308);; let map = StringMap.add "2.6.21-1.3236.fc8.ppc64" v map;; -let v = (parser_12, 1628);; +let v = (parser_11, 1628);; let map = StringMap.add "2.6.21-1.3209.fc8.ppc" v map;; -let v = (parser_16, 2308);; +let v = (parser_21, 2308);; let map = StringMap.add "2.6.21-1.3236.fc8.ppc64" v map;; -let v = (parser_6, 2072);; +let v = (parser_7, 2072);; let map = StringMap.add "2.6.21-1.3228.fc7.ppc64" v map;; -let v = (parser_6, 2132);; +let v = (parser_7, 2132);; let map = StringMap.add "2.6.21-1.3128.fc7.ppc64" v map;; +let v = (parser_10, 2276);; +let map = StringMap.add "2.6.21-1.3238.fc8.ppc64" v map;; let v = (parser_1, 2712);; let map = StringMap.add "2.6.21-1.3209.fc8.i686" v map;; -let v = (parser_7, 3772);; +let v = (parser_8, 3772);; let map = StringMap.add "2.6.21-1.3132.fc7.x86_64" v map;; -let v = (parser_7, 3772);; +let v = (parser_19, 2492);; +let map = StringMap.add "2.6.24-7.fc9.ppc64" v map;; +let v = (parser_8, 3772);; let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;; -let v = (parser_17, 1948);; +let v = (parser_22, 1948);; let map = StringMap.add "2.6.24-9.fc9.ppc" v map;; -let v = (parser_12, 1576);; +let v = (parser_11, 1576);; let map = StringMap.add "2.6.18-1.2798.fc6.ppc" v map;; -let v = (parser_12, 1620);; +let v = (parser_11, 1620);; let map = StringMap.add "2.6.21-1.3128.fc7.ppc" v map;; let v = (parser_1, 2712);; let map = StringMap.add "2.6.21-1.3209.fc8.i686" v map;; -let v = (parser_7, 3772);; +let v = (parser_8, 3772);; let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;; -let v = (parser_12, 1620);; +let v = (parser_23, 2880);; +let map = StringMap.add "2.6.21-1.3234.fc8.i686" v map;; +let v = (parser_11, 1620);; let map = StringMap.add "2.6.21-1.3144.fc7.ppc" v map;; -let v = (parser_6, 2132);; +let v = (parser_7, 2132);; let map = StringMap.add "2.6.21-1.3144.fc7.ppc64" v map;; -let v = (parser_18, 2492);; +let v = (parser_19, 2492);; let map = StringMap.add "2.6.24-9.fc9.ppc64" v map;; -let v = (parser_12, 1604);; +let v = (parser_11, 1628);; +let map = StringMap.add "2.6.21-1.3218.fc8.ppc" v map;; +let v = (parser_11, 1604);; let map = StringMap.add "2.6.21-1.3128.fc7.ppc" v map;; -let v = (parser_19, 1928);; +let v = (parser_24, 1928);; let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;; -let v = (parser_12, 1604);; +let v = (parser_11, 1604);; let map = StringMap.add "2.6.21-1.3132.fc7.ppc" v map;; -let v = (parser_12, 1584);; +let v = (parser_11, 1584);; let map = StringMap.add "2.6.21-1.3228.fc7.ppc" v map;; -let v = (parser_18, 2492);; +let v = (parser_25, 3916);; +let map = StringMap.add "2.6.21-1.3242.fc8.x86_64" v map;; +let v = (parser_19, 2492);; let map = StringMap.add "2.6.24-9.fc9.ppc64" v map;; -let v = (parser_6, 2104);; +let v = (parser_6, 2116);; +let map = StringMap.add "2.6.21-1.3218.fc8.ppc64" v map;; +let v = (parser_7, 2104);; let map = StringMap.add "2.6.18-1.2798.fc6.ppc64" v map;; -let v = (parser_7, 3780);; +let v = (parser_8, 3780);; let map = StringMap.add "2.6.21-1.3128.fc7.x86_64" v map;; let v = (parser_1, 1400);; let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;; -let v = (parser_7, 3772);; +let v = (parser_8, 3772);; let map = StringMap.add "2.6.21-1.3144.fc7.x86_64" v map;; -let v = (parser_6, 2112);; +let v = (parser_7, 2112);; let map = StringMap.add "2.6.20-1.2933.fc6.ppc64" v map;; let v = (parser_2, 1772);; let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc" v map;; -let v = (parser_12, 1612);; +let v = (parser_22, 1936);; +let map = StringMap.add "2.6.24-7.fc9.ppc" v map;; +let v = (parser_11, 1612);; let map = StringMap.add "2.6.21-1.3209.fc8.ppc" v map;; -let v = (parser_7, 1920);; +let v = (parser_8, 1920);; let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;; +let v = (parser_17, 1756);; +let map = StringMap.add "2.6.21-1.3242.fc8.ppc" v map;; let v = (parser_1, 2704);; let map = StringMap.add "2.6.21-1.3132.fc7.i586" v map;; let v = (parser_1, 2704);; let map = StringMap.add "2.6.21-1.3144.fc7.i586" v map;; -let v = (parser_7, 1880);; +let v = (parser_8, 1880);; let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;; -let v = (parser_6, 2088);; +let v = (parser_7, 2088);; let map = StringMap.add "2.6.18-1.2798.fc6.ppc64iseries" v map;; -let v = (parser_12, 1592);; +let v = (parser_26, 2872);; +let map = StringMap.add "2.6.21-1.3238.fc8.i686" v map;; +let v = (parser_18, 3540);; +let map = StringMap.add "2.6.24-7.fc9.i586" v map;; +let v = (parser_11, 1592);; let map = StringMap.add "2.6.20-1.2933.fc6.ppc" v map;; +let v = (parser_10, 2276);; +let map = StringMap.add "2.6.21-1.3242.fc8.ppc64" v map;; +let v = (parser_1, 2712);; +let map = StringMap.add "2.6.21-1.3218.fc8.i686" v map;; let v = (parser_1, 2704);; let map = StringMap.add "2.6.21-1.3144.fc7.i686" v map;; let v = (parser_1, 1376);; let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;; let v = (parser_1, 2712);; let map = StringMap.add "2.6.21-1.3209.fc8.i586" v map;; -let v = (parser_6, 2088);; +let v = (parser_27, 3756);; +let map = StringMap.add "2.6.21-1.3218.fc8.x86_64" v map;; +let v = (parser_7, 2088);; let map = StringMap.add "2.6.18-1.2798.fc6.ppc64iseries" v map;; let v = (parser_1, 2704);; let map = StringMap.add "2.6.21-1.3144.fc7.i686" v map;; -let v = (parser_7, 1880);; +let v = (parser_8, 1880);; let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;; -let v = (parser_7, 1920);; +let v = (parser_28, 1796);; +let map = StringMap.add "2.6.21-1.3234.fc8.ppc" v map;; +let v = (parser_25, 3916);; +let map = StringMap.add "2.6.21-1.3238.fc8.x86_64" v map;; +let v = (parser_8, 1920);; let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;; -let v = (parser_19, 1928);; +let v = (parser_24, 1928);; let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;; -let v = (parser_7, 3780);; +let v = (parser_18, 3540);; +let map = StringMap.add "2.6.24-7.fc9.i686" v map;; +let v = (parser_17, 1772);; +let map = StringMap.add "2.6.21-1.3238.fc8.ppc" v map;; +let v = (parser_8, 3780);; let map = StringMap.add "2.6.21-1.3144.fc7.x86_64" v map;; -let v = (parser_12, 1608);; +let v = (parser_11, 1608);; let map = StringMap.add "2.6.20-1.2933.fc6.ppc" v map;; -let v = (parser_14, 3540);; +let v = (parser_18, 3540);; +let map = StringMap.add "2.6.24-7.fc9.i686" v map;; +let v = (parser_18, 3540);; let map = StringMap.add "2.6.24-9.fc9.i686" v map;; let v = (parser_1, 2704);; let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;; -let v = (parser_20, 1832);; +let v = (parser_29, 1832);; let map = StringMap.add "2.6.25.11-97.fc9.i686" v map;; let v = (parser_1, 2704);; let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;; @@ -176,52 +848,77 @@ let v = (parser_1, 2704);; let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;; let v = (parser_1, 2704);; let map = StringMap.add "2.6.21-1.3128.fc7.i686" v map;; -let v = (parser_12, 1604);; +let v = (parser_11, 1604);; let map = StringMap.add "2.6.21-1.3144.fc7.ppc" v map;; let v = (parser_1, 1400);; let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;; -let v = (parser_21, 3756);; +let v = (parser_27, 3756);; let map = StringMap.add "2.6.21-1.3209.fc8.x86_64" v map;; +let v = (parser_17, 1756);; +let map = StringMap.add "2.6.21-1.3238.fc8.ppc" v map;; +let v = (parser_30, 3932);; +let map = StringMap.add "2.6.21-1.3234.fc8.x86_64" v map;; +let v = (parser_28, 1780);; +let map = StringMap.add "2.6.21-1.3234.fc8.ppc" v map;; +let v = (parser_15, 2292);; +let map = StringMap.add "2.6.21-1.3234.fc8.ppc64" v map;; let v = (parser_1, 1400);; let map = StringMap.add "2.6.20-1.2933.fc6.i586" v map;; -let v = (parser_7, 3780);; +let v = (parser_8, 3780);; let map = StringMap.add "2.6.21-1.3132.fc7.x86_64" v map;; let v = (parser_1, 1400);; let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;; -let v = (parser_6, 2104);; +let v = (parser_7, 2104);; let map = StringMap.add "2.6.18-1.2798.fc6.ppc64" v map;; let v = (parser_1, 1384);; let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;; -let v = (parser_12, 1560);; +let v = (parser_26, 2872);; +let map = StringMap.add "2.6.21-1.3238.fc8.i686" v map;; +let v = (parser_11, 1560);; let map = StringMap.add "2.6.21-1.3228.fc7.ppc" v map;; -let v = (parser_10, 2880);; +let v = (parser_13, 2880);; let map = StringMap.add "2.6.21-1.3236.fc8.i686" v map;; let v = (parser_3, 1796);; let map = StringMap.add "2.6.21-1.3236.fc8.ppc" v map;; let v = (parser_1, 1384);; let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;; -let v = (parser_14, 3540);; +let v = (parser_1, 2712);; +let map = StringMap.add "2.6.21-1.3218.fc8.i686" v map;; +let v = (parser_18, 3540);; let map = StringMap.add "2.6.24-9.fc9.i586" v map;; -let v = (parser_7, 3772);; +let v = (parser_8, 3772);; let map = StringMap.add "2.6.21-1.3128.fc7.x86_64" v map;; -let v = (parser_6, 2112);; +let v = (parser_23, 2880);; +let map = StringMap.add "2.6.21-1.3234.fc8.i686" v map;; +let v = (parser_7, 2112);; let map = StringMap.add "2.6.20-1.2933.fc6.ppc64" v map;; -let v = (parser_17, 1936);; +let v = (parser_22, 1936);; let map = StringMap.add "2.6.24-9.fc9.ppc" v map;; -let v = (parser_6, 2132);; +let v = (parser_26, 2872);; +let map = StringMap.add "2.6.21-1.3242.fc8.i686" v map;; +let v = (parser_7, 2132);; let map = StringMap.add "2.6.21-1.3128.fc7.ppc64" v map;; -let v = (parser_22, 2116);; +let v = (parser_22, 1948);; +let map = StringMap.add "2.6.24-7.fc9.ppc" v map;; +let v = (parser_6, 2116);; let map = StringMap.add "2.6.21-1.3209.fc8.ppc64" v map;; -let v = (parser_12, 1592);; +let v = (parser_11, 1592);; let map = StringMap.add "2.6.18-1.2798.fc6.ppc" v map;; -let v = (parser_15, 2856);; +let v = (parser_20, 2856);; let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.i686" v map;; let v = (parser_1, 2704);; let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;; -let v = (parser_22, 2116);; +let v = (parser_6, 2116);; let map = StringMap.add "2.6.21-1.3209.fc8.ppc64" v map;; +let v = (parser_1, 2704);; +let map = StringMap.add "2.6.21-1.3132.fc7.i686" v map;; type kernel_version = string;; -let known version = StringMap.mem version map;; -let size version = let (_, size) = StringMap.find version map in size;; -let get version bits = +let task_struct_known version = StringMap.mem version map;; +let task_struct_size version = + let (_, size) = StringMap.find version map in size;; +let task_struct_of_bits version bits = let (parsefn, _) = StringMap.find version map in parsefn bits;; +let get_task_struct version mem addr = + let (parsefn, size) = StringMap.find version map in + let bytes = Virt_mem_mmap.get_bytes mem addr size in + let bits = Bitstring.bitstring_of_string bytes in parsefn bits;;