Tidy up the generated parsing code.
authorRichard W.M. Jones <rjones@redhat.com>
Sat, 9 Aug 2008 09:47:06 +0000 (10:47 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Sat, 9 Aug 2008 09:47:06 +0000 (10:47 +0100)
extract/codegen/kerneldb_to_parser.ml
lib/kernel_net_device.ml
lib/kernel_net_device.mli
lib/kernel_task_struct.ml
lib/kernel_task_struct.mli

index 1d56126..e1056c5 100644 (file)
@@ -418,12 +418,19 @@ Example (from toplevel of virt-mem source tree):
   let files =
     List.map (
       fun (name, _) ->
   let files =
     List.map (
       fun (name, _) ->
-       name,
-       List.filter_map (
-         fun (basename, version, arch, structures) ->
-           try Some (basename, version, arch, List.assoc name structures)
-           with Not_found -> None
-       ) datas
+       let kernels =
+         List.filter_map (
+           fun (basename, version, arch, structures) ->
+             try Some (basename, version, arch, List.assoc name structures)
+             with Not_found -> None
+         ) datas in
+
+       (* Sort the kernels, which makes the generated output more stable
+        * and makes patches more useful.
+        *)
+       let kernels = List.sort kernels in
+
+       name, kernels
     ) what in
 
   let datas = () in ignore datas; (* garbage collect *)
     ) what in
 
   let datas = () in ignore datas; (* garbage collect *)
@@ -496,7 +503,8 @@ Example (from toplevel of virt-mem source tree):
                  !i in
              (basename, version, arch, total_size, j)
          ) kernels in
                  !i in
              (basename, version, arch, total_size, j)
          ) kernels in
-       struct_name, kernels, field_types, List.rev !xs
+       let parsers = List.rev !xs in
+       struct_name, kernels, field_types, parsers
     ) files in
 
   (* How much did we save by sharing? *)
     ) files in
 
   (* How much did we save by sharing? *)
@@ -579,7 +587,7 @@ Example (from toplevel of virt-mem source tree):
                 *)
                let cmp (_, (_, o1, _)) (_, (_, o2, _)) = compare o1 o2 in
                let fields = List.sort ~cmp fields in
                 *)
                let cmp (_, (_, o1, _)) (_, (_, o2, _)) = compare o1 o2 in
                let fields = List.sort ~cmp fields in
-               String.concat ";\n    " (
+               String.concat ";\n      " (
                  List.map (
                    function
                    | (field_name, (`Int, offset, size))
                  List.map (
                    function
                    | (field_name, (`Int, offset, size))
@@ -593,7 +601,7 @@ Example (from toplevel of virt-mem source tree):
                  ) fields
                ) in
              let assignments =
                  ) fields
                ) in
              let assignments =
-               String.concat ";\n    " (
+               String.concat ";\n        " (
                  List.map (
                    function
                    | (field_name, (`Ptr "list_head", offset, size)) ->
                  List.map (
                    function
                    | (field_name, (`Ptr "list_head", offset, size)) ->
@@ -604,11 +612,13 @@ Example (from toplevel of virt-mem source tree):
                ) in
 
              let sub =
                ) in
 
              let sub =
-               sprintf "\
+               sprintf "
   bitmatch bits with
   bitmatch bits with
-  | { %s } -> { %s }
-  | { _ } -> raise (ParseError (%S, %S, \"failed to match kernel structure\"))"
-                 patterns assignments struct_name fnname in
+  | { %s } ->
+      { %s }
+  | { _ } ->
+      raise (ParseError (struct_name, %S, match_err))"
+                 patterns assignments fnname in
 
              fnname, sub
          ) parsers in
 
              fnname, sub
          ) parsers in
@@ -636,6 +646,8 @@ Example (from toplevel of virt-mem source tree):
        let code = <:str_item<
          let warning = "This code is automatically generated from the kernel database by kerneldb-to-parser program.  Any edits you make will be lost."
           let zero = 0
        let code = <:str_item<
          let warning = "This code is automatically generated from the kernel database by kerneldb-to-parser program.  Any edits you make will be lost."
           let zero = 0
+         let struct_name = $str:struct_name$
+         let match_err = "failed to match kernel structure"
           exception ParseError of string * string * string;;
          $struct_type$
          $parser_stmts$
           exception ParseError of string * string * string;;
          $struct_type$
          $parser_stmts$
@@ -661,6 +673,7 @@ Example (from toplevel of virt-mem source tree):
           exception ParseError of string * string * string;;
          $struct_sig$
 
           exception ParseError of string * string * string;;
          $struct_sig$
 
+          val struct_name : string
          type kernel_version = string
          val $lid:struct_name^"_known"$ : kernel_version -> bool
          val $lid:struct_name^"_size"$ : kernel_version -> int
          type kernel_version = string
          val $lid:struct_name^"_known"$ : kernel_version -> bool
          val $lid:struct_name^"_size"$ : kernel_version -> int
index d2f3513..643b730 100644 (file)
 let warning =
   "This code is automatically generated from the kernel database by kerneldb-to-parser program.  Any edits you make will be lost.";;
 let zero = 0;;
 let warning =
   "This code is automatically generated from the kernel database by kerneldb-to-parser program.  Any edits you make will be lost.";;
 let zero = 0;;
+let struct_name = "net_device";;
+let match_err = "failed to match kernel structure";;
 exception ParseError of string * string * string;;
 type t = { net_device_dev_addr : string; net_device_name : string };;
 exception ParseError of string * string * string;;
 type t = { net_device_dev_addr : string; net_device_name : string };;
-let parser_1 bits = bitmatch bits with
+let parser_1 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(2240), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_1", "failed to match kernel structure"));;
-let parser_2 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(2240), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_1", match_err));;
+let parser_2 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(4288), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_2", "failed to match kernel structure"));;
-let parser_3 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(3264), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_2", match_err));;
+let parser_3 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(2496), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_3", "failed to match kernel structure"));;
-let parser_4 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(2528), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_3", match_err));;
+let parser_4 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(2688), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_4", "failed to match kernel structure"));;
-let parser_5 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(3392), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_4", match_err));;
+let parser_5 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(3392), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_5", "failed to match kernel structure"));;
-let parser_6 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(4416), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_5", match_err));;
+let parser_6 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(2528), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_6", "failed to match kernel structure"));;
-let parser_7 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(1728), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_6", match_err));;
+let parser_7 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(4416), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_7", "failed to match kernel structure"));;
-let parser_8 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(3392), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_7", match_err));;
+let parser_8 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(4416), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_8", "failed to match kernel structure"));;
-let parser_9 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(1696), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_8", match_err));;
+let parser_9 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(2528), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_9", "failed to match kernel structure"));;
-let parser_10 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(2496), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_9", match_err));;
+let parser_10 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(2592), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_10", "failed to match kernel structure"));;
-let parser_11 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(4416), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_10", match_err));;
+let parser_11 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(3264), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_11", "failed to match kernel structure"));;
-let parser_12 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(2592), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_11", match_err));;
+let parser_12 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(1728), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_12", "failed to match kernel structure"));;
-let parser_13 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(2528), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_12", match_err));;
+let parser_13 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(4288), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_13", "failed to match kernel structure"));;
-let parser_14 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(4288), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_13", match_err));;
+let parser_14 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(1728), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_14", "failed to match kernel structure"));;
-let parser_15 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(4288), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_14", match_err));;
+let parser_15 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(3392), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_15", "failed to match kernel structure"));;
-let parser_16 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(1728), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_15", match_err));;
+let parser_16 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(1696), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_16", "failed to match kernel structure"));;
-let parser_17 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(2688), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_16", match_err));;
+let parser_17 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(2752), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_17", "failed to match kernel structure"));;
-let parser_18 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(1696), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_17", match_err));;
+let parser_18 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(2624), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_18", "failed to match kernel structure"));;
-let parser_19 bits = bitmatch bits with
+      net_device_dev_addr : 256 : offset(2624), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_18", match_err));;
+let parser_19 bits = 
+  bitmatch bits with
   | { net_device_name : 128 : offset(0), string;
   | { net_device_name : 128 : offset(0), string;
-    net_device_dev_addr : 256 : offset(1696), string } -> { net_device_name = net_device_name;
-    net_device_dev_addr = net_device_dev_addr }
-  | { _ } -> raise (ParseError ("net_device", "parser_19", "failed to match kernel structure"));;
+      net_device_dev_addr : 256 : offset(2752), string } ->
+      { net_device_name = net_device_name;
+        net_device_dev_addr = net_device_dev_addr }
+  | { _ } ->
+      raise (ParseError (struct_name, "parser_19", match_err));;
 module StringMap = Map.Make(String);;
 let map = StringMap.empty;;
 module StringMap = Map.Make(String);;
 let map = StringMap.empty;;
+let v = (parser_1, 924);;
+let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
 let v = (parser_1, 1284);;
 let v = (parser_1, 1284);;
-let map = StringMap.add "2.6.21-1.3128.fc7.i586" v map;;
-let v = (parser_2, 1984);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc64" v map;;
-let v = (parser_3, 1092);;
-let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc" v map;;
+let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
+let v = (parser_1, 1284);;
+let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
+let v = (parser_2, 1444);;
+let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
+let v = (parser_1, 912);;
+let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
 let v = (parser_1, 1284);;
 let map = StringMap.add "2.6.21-1.3128.fc7.i686" v map;;
 let v = (parser_1, 1284);;
 let map = StringMap.add "2.6.21-1.3128.fc7.i686" v map;;
-let v = (parser_4, 2124);;
-let map = StringMap.add "2.6.21-1.3141.fc7.x86_64" v map;;
-let v = (parser_5, 1924);;
-let map = StringMap.add "2.6.21-1.3141.fc7.ppc64" v map;;
 let v = (parser_1, 1284);;
 let map = StringMap.add "2.6.21-1.3132.fc7.i686" v map;;
 let v = (parser_1, 1284);;
 let map = StringMap.add "2.6.21-1.3132.fc7.i686" v map;;
-let v = (parser_3, 1092);;
-let map = StringMap.add "2.6.21-1.3236.fc8.ppc" v map;;
-let v = (parser_1, 1116);;
-let map = StringMap.add "2.6.21-1.3228.fc7.i586" v map;;
-let v = (parser_6, 1244);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.i586" v map;;
-let v = (parser_4, 1108);;
-let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
-let v = (parser_7, 2316);;
-let map = StringMap.add "2.6.21-1.3236.fc8.x86_64" v map;;
-let v = (parser_1, 1284);;
-let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3218.fc8.ppc64" v map;;
-let v = (parser_9, 1072);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc" v map;;
-let v = (parser_5, 1684);;
-let map = StringMap.add "2.6.21-1.3228.fc7.ppc64" v map;;
-let v = (parser_10, 952);;
-let map = StringMap.add "2.6.23.14-135.fc8.ppc" v map;;
 let v = (parser_1, 1284);;
 let map = StringMap.add "2.6.21-1.3141.fc7.i686" v map;;
 let v = (parser_1, 1284);;
 let map = StringMap.add "2.6.21-1.3141.fc7.i686" v map;;
-let v = (parser_4, 1404);;
-let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
-let v = (parser_5, 1924);;
-let map = StringMap.add "2.6.21-1.3141.fc7.ppc64" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3218.fc8.i586" v map;;
-let v = (parser_7, 2316);;
-let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.x86_64" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3242.fc8.ppc64" v map;;
-let v = (parser_8, 1824);;
-let map = StringMap.add "2.6.23.14-78.fc7.ppc64" v map;;
-let v = (parser_5, 1924);;
-let map = StringMap.add "2.6.21-1.3144.fc7.ppc64" v map;;
-let v = (parser_3, 1092);;
-let map = StringMap.add "2.6.21-1.3218.fc8.ppc" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc64" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3236.fc8.i686" v map;;
-let v = (parser_8, 1824);;
-let map = StringMap.add "2.6.23.14-135.fc8.ppc64" v map;;
-let v = (parser_12, 996);;
-let map = StringMap.add "2.6.21-1.3145.fc7.ppc" v map;;
-let v = (parser_5, 1924);;
-let map = StringMap.add "2.6.21-1.3132.fc7.ppc64" v map;;
+let v = (parser_1, 1284);;
+let map = StringMap.add "2.6.21-1.3144.fc7.i686" v map;;
 let v = (parser_1, 1200);;
 let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
 let v = (parser_1, 1200);;
 let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3209.fc8.i686" v map;;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3218.fc8.i686" v map;;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3221.fc8.i686" v map;;
 let v = (parser_1, 1116);;
 let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
 let v = (parser_1, 1116);;
 let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
-let v = (parser_13, 2288);;
-let map = StringMap.add "2.6.24-9.fc9.x86_64" v map;;
-let v = (parser_7, 2316);;
-let map = StringMap.add "2.6.21-1.3221.fc8.x86_64" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc64" v map;;
-let v = (parser_5, 1924);;
-let map = StringMap.add "2.6.21-1.3132.fc7.ppc64" v map;;
-let v = (parser_13, 2288);;
-let map = StringMap.add "2.6.24-7.fc9.x86_64" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3238.fc8.ppc64" v map;;
-let v = (parser_1, 912);;
-let map = StringMap.add "2.6.18-1.2798.fc6.i586" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc64" v map;;
-let v = (parser_12, 1020);;
-let map = StringMap.add "2.6.21-1.3132.fc7.ppc" v map;;
-let v = (parser_7, 1800);;
-let map = StringMap.add "2.6.23.14-135.fc8.x86_64" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3234.fc8.ppc64" v map;;
-let v = (parser_13, 2288);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.x86_64" v map;;
-let v = (parser_1, 912);;
-let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;;
-let v = (parser_13, 1752);;
-let map = StringMap.add "2.6.25.11-97.fc9.x86_64" v map;;
-let v = (parser_14, 672);;
-let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;;
-let v = (parser_3, 1116);;
-let map = StringMap.add "2.6.21-1.3242.fc8.ppc" v map;;
-let v = (parser_6, 1244);;
-let map = StringMap.add "2.6.24-9.fc9.i686" v map;;
-let v = (parser_1, 1284);;
-let map = StringMap.add "2.6.21-1.3141.fc7.i586" v map;;
-let v = (parser_1, 1284);;
-let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
-let v = (parser_12, 996);;
-let map = StringMap.add "2.6.21-1.3141.fc7.ppc" v map;;
-let v = (parser_2, 1984);;
-let map = StringMap.add "2.6.24-7.fc9.ppc64" v map;;
-let v = (parser_11, 1408);;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3234.fc8.i686" v map;;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3236.fc8.i686" v map;;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3238.fc8.i686" v map;;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3242.fc8.i686" v map;;
+let v = (parser_2, 1408);;
 let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.i686" v map;;
 let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.i686" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3236.fc8.ppc64" v map;;
-let v = (parser_3, 1116);;
-let map = StringMap.add "2.6.21-1.3209.fc8.ppc" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3236.fc8.ppc64" v map;;
-let v = (parser_5, 1684);;
-let map = StringMap.add "2.6.21-1.3228.fc7.ppc64" v map;;
-let v = (parser_5, 1924);;
-let map = StringMap.add "2.6.21-1.3128.fc7.ppc64" v map;;
-let v = (parser_11, 1444);;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.22-0.rc7.2.fc8.i686" v map;;
+let v = (parser_2, 1248);;
 let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
 let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3238.fc8.ppc64" v map;;
-let v = (parser_1, 1200);;
+let v = (parser_3, 1244);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.i686" v map;;
+let v = (parser_3, 1244);;
+let map = StringMap.add "2.6.24-7.fc9.i686" v map;;
+let v = (parser_3, 1244);;
+let map = StringMap.add "2.6.24-9.fc9.i686" v map;;
+let v = (parser_1, 924);;
+let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
+let v = (parser_4, 1540);;
+let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
+let v = (parser_1, 1284);;
 let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
 let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3209.fc8.i686" v map;;
-let v = (parser_15, 2196);;
-let map = StringMap.add "2.6.21-1.3132.fc7.x86_64" v map;;
-let v = (parser_2, 1984);;
-let map = StringMap.add "2.6.24-7.fc9.ppc64" v map;;
-let v = (parser_15, 1900);;
+let v = (parser_4, 2196);;
 let map = StringMap.add "2.6.21-1.3145.fc7.x86_64" v map;;
 let map = StringMap.add "2.6.21-1.3145.fc7.x86_64" v map;;
-let v = (parser_15, 2196);;
+let v = (parser_1, 1284);;
+let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
+let v = (parser_4, 2196);;
 let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
 let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
-let v = (parser_9, 1072);;
-let map = StringMap.add "2.6.24-9.fc9.ppc" v map;;
-let v = (parser_12, 672);;
-let map = StringMap.add "2.6.18-1.2798.fc6.ppc" v map;;
-let v = (parser_7, 2316);;
-let map = StringMap.add "2.6.22-0.rc7.2.fc8.x86_64" v map;;
-let v = (parser_11, 1248);;
+let v = (parser_2, 1444);;
 let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
 let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
-let v = (parser_12, 1020);;
-let map = StringMap.add "2.6.21-1.3128.fc7.ppc" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3209.fc8.i686" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3221.fc8.ppc64" v map;;
-let v = (parser_3, 1092);;
-let map = StringMap.add "2.6.21-1.3221.fc8.ppc" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc64" v map;;
-let v = (parser_3, 1116);;
-let map = StringMap.add "2.6.21-1.3221.fc8.ppc" v map;;
-let v = (parser_15, 1540);;
-let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
-let v = (parser_2, 1984);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc64" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3234.fc8.i686" v map;;
-let v = (parser_12, 1020);;
-let map = StringMap.add "2.6.21-1.3144.fc7.ppc" v map;;
-let v = (parser_5, 1924);;
-let map = StringMap.add "2.6.21-1.3144.fc7.ppc64" v map;;
-let v = (parser_2, 1984);;
-let map = StringMap.add "2.6.24-9.fc9.ppc64" v map;;
-let v = (parser_3, 1116);;
-let map = StringMap.add "2.6.21-1.3218.fc8.ppc" v map;;
-let v = (parser_6, 1244);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.i686" v map;;
-let v = (parser_15, 2196);;
-let map = StringMap.add "2.6.21-1.3141.fc7.x86_64" v map;;
-let v = (parser_12, 996);;
-let map = StringMap.add "2.6.21-1.3128.fc7.ppc" v map;;
-let v = (parser_15, 1260);;
-let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
-let v = (parser_12, 996);;
-let map = StringMap.add "2.6.21-1.3132.fc7.ppc" v map;;
-let v = (parser_12, 936);;
-let map = StringMap.add "2.6.21-1.3228.fc7.ppc" v map;;
-let v = (parser_11, 1444);;
-let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
-let v = (parser_7, 2316);;
-let map = StringMap.add "2.6.21-1.3242.fc8.x86_64" v map;;
-let v = (parser_2, 1984);;
-let map = StringMap.add "2.6.24-9.fc9.ppc64" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3221.fc8.ppc64" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3218.fc8.ppc64" v map;;
-let v = (parser_5, 1260);;
+let v = (parser_5, 2392);;
+let map = StringMap.add "2.6.23.14-135.fc8.x86_64" v map;;
+let v = (parser_5, 2392);;
+let map = StringMap.add "2.6.23.14-78.fc7.x86_64" v map;;
+let v = (parser_1, 912);;
+let map = StringMap.add "2.6.18-1.2798.fc6.i586" v map;;
+let v = (parser_1, 912);;
+let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;;
+let v = (parser_6, 672);;
+let map = StringMap.add "2.6.18-1.2798.fc6.ppc" v map;;
+let v = (parser_7, 1260);;
 let map = StringMap.add "2.6.18-1.2798.fc6.ppc64" v map;;
 let map = StringMap.add "2.6.18-1.2798.fc6.ppc64" v map;;
-let v = (parser_4, 2124);;
-let map = StringMap.add "2.6.21-1.3128.fc7.x86_64" v map;;
+let v = (parser_7, 1260);;
+let map = StringMap.add "2.6.18-1.2798.fc6.ppc64iseries" v map;;
+let v = (parser_4, 1260);;
+let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
+let v = (parser_1, 912);;
+let map = StringMap.add "2.6.20-1.2933.fc6.i586" v map;;
 let v = (parser_1, 912);;
 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
 let v = (parser_1, 912);;
 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
-let v = (parser_15, 2196);;
-let map = StringMap.add "2.6.21-1.3144.fc7.x86_64" v map;;
-let v = (parser_5, 1260);;
+let v = (parser_8, 668);;
+let map = StringMap.add "2.6.20-1.2933.fc6.ppc" v map;;
+let v = (parser_7, 1260);;
 let map = StringMap.add "2.6.20-1.2933.fc6.ppc64" v map;;
 let map = StringMap.add "2.6.20-1.2933.fc6.ppc64" v map;;
-let v = (parser_3, 1116);;
-let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc" v map;;
-let v = (parser_9, 1048);;
-let map = StringMap.add "2.6.24-7.fc9.ppc" v map;;
-let v = (parser_3, 1092);;
-let map = StringMap.add "2.6.21-1.3209.fc8.ppc" v map;;
-let v = (parser_15, 1260);;
+let v = (parser_4, 1260);;
 let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
 let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
-let v = (parser_11, 1248);;
-let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
-let v = (parser_3, 1092);;
-let map = StringMap.add "2.6.21-1.3242.fc8.ppc" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3242.fc8.i686" v map;;
+let v = (parser_1, 1284);;
+let map = StringMap.add "2.6.21-1.3128.fc7.i586" v map;;
+let v = (parser_1, 1284);;
+let map = StringMap.add "2.6.21-1.3128.fc7.i686" v map;;
+let v = (parser_6, 996);;
+let map = StringMap.add "2.6.21-1.3128.fc7.ppc" v map;;
+let v = (parser_7, 1924);;
+let map = StringMap.add "2.6.21-1.3128.fc7.ppc64" v map;;
+let v = (parser_4, 2196);;
+let map = StringMap.add "2.6.21-1.3128.fc7.x86_64" v map;;
 let v = (parser_1, 1284);;
 let map = StringMap.add "2.6.21-1.3132.fc7.i586" v map;;
 let v = (parser_1, 1284);;
 let v = (parser_1, 1284);;
 let map = StringMap.add "2.6.21-1.3132.fc7.i586" v map;;
 let v = (parser_1, 1284);;
-let map = StringMap.add "2.6.21-1.3144.fc7.i586" v map;;
-let v = (parser_15, 1660);;
-let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
-let v = (parser_5, 1260);;
-let map = StringMap.add "2.6.18-1.2798.fc6.ppc64iseries" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3238.fc8.i686" v map;;
-let v = (parser_10, 952);;
-let map = StringMap.add "2.6.23.14-78.fc7.ppc" v map;;
-let v = (parser_6, 1244);;
-let map = StringMap.add "2.6.24-7.fc9.i586" v map;;
-let v = (parser_4, 1644);;
-let map = StringMap.add "2.6.21-1.3145.fc7.x86_64" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3221.fc8.i686" v map;;
-let v = (parser_16, 668);;
-let map = StringMap.add "2.6.20-1.2933.fc6.ppc" v map;;
-let v = (parser_5, 1924);;
-let map = StringMap.add "2.6.21-1.3145.fc7.ppc64" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3242.fc8.ppc64" v map;;
+let map = StringMap.add "2.6.21-1.3132.fc7.i686" v map;;
+let v = (parser_6, 996);;
+let map = StringMap.add "2.6.21-1.3132.fc7.ppc" v map;;
+let v = (parser_7, 1924);;
+let map = StringMap.add "2.6.21-1.3132.fc7.ppc64" v map;;
+let v = (parser_4, 2196);;
+let map = StringMap.add "2.6.21-1.3132.fc7.x86_64" v map;;
+let v = (parser_1, 1284);;
+let map = StringMap.add "2.6.21-1.3141.fc7.i586" v map;;
 let v = (parser_1, 1284);;
 let map = StringMap.add "2.6.21-1.3141.fc7.i686" v map;;
 let v = (parser_1, 1284);;
 let map = StringMap.add "2.6.21-1.3141.fc7.i686" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3218.fc8.i686" v map;;
+let v = (parser_6, 996);;
+let map = StringMap.add "2.6.21-1.3141.fc7.ppc" v map;;
+let v = (parser_7, 1924);;
+let map = StringMap.add "2.6.21-1.3141.fc7.ppc64" v map;;
+let v = (parser_4, 2196);;
+let map = StringMap.add "2.6.21-1.3141.fc7.x86_64" v map;;
+let v = (parser_1, 1284);;
+let map = StringMap.add "2.6.21-1.3144.fc7.i586" v map;;
 let v = (parser_1, 1284);;
 let map = StringMap.add "2.6.21-1.3144.fc7.i686" v map;;
 let v = (parser_1, 1284);;
 let map = StringMap.add "2.6.21-1.3144.fc7.i686" v map;;
+let v = (parser_6, 996);;
+let map = StringMap.add "2.6.21-1.3144.fc7.ppc" v map;;
+let v = (parser_7, 1924);;
+let map = StringMap.add "2.6.21-1.3144.fc7.ppc64" v map;;
+let v = (parser_4, 2196);;
+let map = StringMap.add "2.6.21-1.3144.fc7.x86_64" v map;;
 let v = (parser_1, 1200);;
 let map = StringMap.add "2.6.21-1.3145.fc7.i586" v map;;
 let v = (parser_1, 1200);;
 let map = StringMap.add "2.6.21-1.3145.fc7.i586" v map;;
-let v = (parser_1, 1116);;
-let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
-let v = (parser_11, 1408);;
+let v = (parser_1, 1200);;
+let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
+let v = (parser_6, 996);;
+let map = StringMap.add "2.6.21-1.3145.fc7.ppc" v map;;
+let v = (parser_7, 1924);;
+let map = StringMap.add "2.6.21-1.3145.fc7.ppc64" v map;;
+let v = (parser_4, 1900);;
+let map = StringMap.add "2.6.21-1.3145.fc7.x86_64" v map;;
+let v = (parser_2, 1408);;
 let map = StringMap.add "2.6.21-1.3209.fc8.i586" v map;;
 let map = StringMap.add "2.6.21-1.3209.fc8.i586" v map;;
-let v = (parser_7, 2316);;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3209.fc8.i686" v map;;
+let v = (parser_9, 1092);;
+let map = StringMap.add "2.6.21-1.3209.fc8.ppc" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3209.fc8.ppc64" v map;;
+let v = (parser_5, 2316);;
+let map = StringMap.add "2.6.21-1.3209.fc8.x86_64" v map;;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3218.fc8.i586" v map;;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3218.fc8.i686" v map;;
+let v = (parser_9, 1092);;
+let map = StringMap.add "2.6.21-1.3218.fc8.ppc" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3218.fc8.ppc64" v map;;
+let v = (parser_5, 2316);;
 let map = StringMap.add "2.6.21-1.3218.fc8.x86_64" v map;;
 let map = StringMap.add "2.6.21-1.3218.fc8.x86_64" v map;;
-let v = (parser_5, 1260);;
-let map = StringMap.add "2.6.18-1.2798.fc6.ppc64iseries" v map;;
-let v = (parser_1, 1284);;
-let map = StringMap.add "2.6.21-1.3144.fc7.i686" v map;;
-let v = (parser_15, 2196);;
-let map = StringMap.add "2.6.21-1.3145.fc7.x86_64" v map;;
-let v = (parser_17, 1064);;
-let map = StringMap.add "2.6.23.14-78.fc7.ppc" v map;;
-let v = (parser_18, 1100);;
-let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
-let v = (parser_3, 1116);;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3221.fc8.i586" v map;;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3221.fc8.i686" v map;;
+let v = (parser_9, 1092);;
+let map = StringMap.add "2.6.21-1.3221.fc8.ppc" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3221.fc8.ppc64" v map;;
+let v = (parser_5, 2316);;
+let map = StringMap.add "2.6.21-1.3221.fc8.x86_64" v map;;
+let v = (parser_1, 1116);;
+let map = StringMap.add "2.6.21-1.3228.fc7.i586" v map;;
+let v = (parser_1, 1116);;
+let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
+let v = (parser_6, 836);;
+let map = StringMap.add "2.6.21-1.3228.fc7.ppc" v map;;
+let v = (parser_7, 1684);;
+let map = StringMap.add "2.6.21-1.3228.fc7.ppc64" v map;;
+let v = (parser_4, 1660);;
+let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3234.fc8.i686" v map;;
+let v = (parser_9, 1092);;
 let map = StringMap.add "2.6.21-1.3234.fc8.ppc" v map;;
 let map = StringMap.add "2.6.21-1.3234.fc8.ppc" v map;;
-let v = (parser_7, 2316);;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3234.fc8.ppc64" v map;;
+let v = (parser_5, 2316);;
+let map = StringMap.add "2.6.21-1.3234.fc8.x86_64" v map;;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3236.fc8.i686" v map;;
+let v = (parser_9, 1092);;
+let map = StringMap.add "2.6.21-1.3236.fc8.ppc" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3236.fc8.ppc64" v map;;
+let v = (parser_5, 2316);;
+let map = StringMap.add "2.6.21-1.3236.fc8.x86_64" v map;;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3238.fc8.i686" v map;;
+let v = (parser_9, 1092);;
+let map = StringMap.add "2.6.21-1.3238.fc8.ppc" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3238.fc8.ppc64" v map;;
+let v = (parser_5, 2316);;
 let map = StringMap.add "2.6.21-1.3238.fc8.x86_64" v map;;
 let map = StringMap.add "2.6.21-1.3238.fc8.x86_64" v map;;
-let v = (parser_6, 1244);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.i686" v map;;
-let v = (parser_15, 1260);;
-let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
-let v = (parser_11, 1408);;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.21-1.3242.fc8.i686" v map;;
+let v = (parser_9, 1092);;
+let map = StringMap.add "2.6.21-1.3242.fc8.ppc" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3242.fc8.ppc64" v map;;
+let v = (parser_5, 2316);;
+let map = StringMap.add "2.6.21-1.3242.fc8.x86_64" v map;;
+let v = (parser_2, 1408);;
+let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.i686" v map;;
+let v = (parser_9, 1092);;
+let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc64" v map;;
+let v = (parser_5, 2316);;
+let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.x86_64" v map;;
+let v = (parser_2, 1408);;
 let map = StringMap.add "2.6.22-0.rc7.2.fc8.i686" v map;;
 let map = StringMap.add "2.6.22-0.rc7.2.fc8.i686" v map;;
-let v = (parser_15, 1260);;
-let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
-let v = (parser_6, 1244);;
-let map = StringMap.add "2.6.24-7.fc9.i686" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3221.fc8.i686" v map;;
-let v = (parser_7, 2392);;
+let v = (parser_9, 1092);;
+let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc64" v map;;
+let v = (parser_5, 2316);;
+let map = StringMap.add "2.6.22-0.rc7.2.fc8.x86_64" v map;;
+let v = (parser_2, 1248);;
+let map = StringMap.add "2.6.23.14-135.fc8.i586" v map;;
+let v = (parser_2, 1248);;
+let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
+let v = (parser_11, 952);;
+let map = StringMap.add "2.6.23.14-135.fc8.ppc" v map;;
+let v = (parser_10, 1824);;
+let map = StringMap.add "2.6.23.14-135.fc8.ppc64" v map;;
+let v = (parser_5, 1800);;
 let map = StringMap.add "2.6.23.14-135.fc8.x86_64" v map;;
 let map = StringMap.add "2.6.23.14-135.fc8.x86_64" v map;;
-let v = (parser_3, 1116);;
-let map = StringMap.add "2.6.21-1.3238.fc8.ppc" v map;;
-let v = (parser_4, 2124);;
-let map = StringMap.add "2.6.21-1.3144.fc7.x86_64" v map;;
-let v = (parser_12, 688);;
-let map = StringMap.add "2.6.20-1.2933.fc6.ppc" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.22-0.rc7.2.fc8.i686" v map;;
-let v = (parser_6, 1244);;
-let map = StringMap.add "2.6.24-7.fc9.i686" v map;;
-let v = (parser_7, 1800);;
+let v = (parser_2, 1248);;
+let map = StringMap.add "2.6.23.14-78.fc7.i586" v map;;
+let v = (parser_11, 952);;
+let map = StringMap.add "2.6.23.14-78.fc7.ppc" v map;;
+let v = (parser_10, 1824);;
+let map = StringMap.add "2.6.23.14-78.fc7.ppc64" v map;;
+let v = (parser_5, 1800);;
 let map = StringMap.add "2.6.23.14-78.fc7.x86_64" v map;;
 let map = StringMap.add "2.6.23.14-78.fc7.x86_64" v map;;
-let v = (parser_6, 1244);;
+let v = (parser_3, 1244);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.i586" v map;;
+let v = (parser_3, 1244);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.i686" v map;;
+let v = (parser_12, 1048);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc" v map;;
+let v = (parser_13, 1984);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc64" v map;;
+let v = (parser_14, 2288);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.x86_64" v map;;
+let v = (parser_3, 1244);;
+let map = StringMap.add "2.6.24-7.fc9.i586" v map;;
+let v = (parser_3, 1244);;
+let map = StringMap.add "2.6.24-7.fc9.i686" v map;;
+let v = (parser_12, 1048);;
+let map = StringMap.add "2.6.24-7.fc9.ppc" v map;;
+let v = (parser_13, 1984);;
+let map = StringMap.add "2.6.24-7.fc9.ppc64" v map;;
+let v = (parser_14, 2288);;
+let map = StringMap.add "2.6.24-7.fc9.x86_64" v map;;
+let v = (parser_3, 1244);;
+let map = StringMap.add "2.6.24-9.fc9.i586" v map;;
+let v = (parser_3, 1244);;
 let map = StringMap.add "2.6.24-9.fc9.i686" v map;;
 let map = StringMap.add "2.6.24-9.fc9.i686" v map;;
-let v = (parser_1, 924);;
-let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
-let v = (parser_6, 1212);;
+let v = (parser_12, 1048);;
+let map = StringMap.add "2.6.24-9.fc9.ppc" v map;;
+let v = (parser_13, 1984);;
+let map = StringMap.add "2.6.24-9.fc9.ppc64" v map;;
+let v = (parser_14, 2288);;
+let map = StringMap.add "2.6.24-9.fc9.x86_64" v map;;
+let v = (parser_3, 1212);;
 let map = StringMap.add "2.6.25.11-97.fc9.i686" v map;;
 let map = StringMap.add "2.6.25.11-97.fc9.i686" v map;;
-let v = (parser_1, 1284);;
-let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
-let v = (parser_1, 1284);;
-let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
-let v = (parser_5, 1924);;
-let map = StringMap.add "2.6.21-1.3145.fc7.ppc64" v map;;
-let v = (parser_7, 2392);;
-let map = StringMap.add "2.6.23.14-78.fc7.x86_64" v map;;
-let v = (parser_1, 1284);;
-let map = StringMap.add "2.6.21-1.3128.fc7.i686" v map;;
-let v = (parser_9, 1048);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc" v map;;
-let v = (parser_12, 996);;
-let map = StringMap.add "2.6.21-1.3144.fc7.ppc" v map;;
-let v = (parser_1, 912);;
+let v = (parser_14, 1752);;
+let map = StringMap.add "2.6.25.11-97.fc9.x86_64" v map;;
+let v = (parser_15, 672);;
+let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;;
+let v = (parser_7, 1260);;
+let map = StringMap.add "2.6.18-1.2798.fc6.ppc64" v map;;
+let v = (parser_7, 1260);;
+let map = StringMap.add "2.6.18-1.2798.fc6.ppc64iseries" v map;;
+let v = (parser_16, 1108);;
+let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
+let v = (parser_17, 668);;
 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
-let v = (parser_7, 2316);;
-let map = StringMap.add "2.6.21-1.3209.fc8.x86_64" v map;;
-let v = (parser_3, 1092);;
-let map = StringMap.add "2.6.21-1.3238.fc8.ppc" v map;;
-let v = (parser_7, 2316);;
-let map = StringMap.add "2.6.21-1.3234.fc8.x86_64" v map;;
-let v = (parser_3, 1092);;
-let map = StringMap.add "2.6.21-1.3234.fc8.ppc" v map;;
-let v = (parser_17, 1064);;
-let map = StringMap.add "2.6.23.14-135.fc8.ppc" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3234.fc8.ppc64" v map;;
-let v = (parser_3, 1092);;
-let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc" v map;;
-let v = (parser_1, 912);;
-let map = StringMap.add "2.6.20-1.2933.fc6.i586" v map;;
-let v = (parser_4, 2124);;
+let v = (parser_7, 1260);;
+let map = StringMap.add "2.6.20-1.2933.fc6.ppc64" v map;;
+let v = (parser_18, 1100);;
+let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
+let v = (parser_7, 1924);;
+let map = StringMap.add "2.6.21-1.3128.fc7.ppc64" v map;;
+let v = (parser_16, 2124);;
+let map = StringMap.add "2.6.21-1.3128.fc7.x86_64" v map;;
+let v = (parser_7, 1924);;
+let map = StringMap.add "2.6.21-1.3132.fc7.ppc64" v map;;
+let v = (parser_16, 2124);;
 let map = StringMap.add "2.6.21-1.3132.fc7.x86_64" v map;;
 let map = StringMap.add "2.6.21-1.3132.fc7.x86_64" v map;;
-let v = (parser_1, 912);;
-let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
-let v = (parser_5, 1260);;
-let map = StringMap.add "2.6.18-1.2798.fc6.ppc64" v map;;
-let v = (parser_1, 912);;
-let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3238.fc8.i686" v map;;
-let v = (parser_12, 1020);;
+let v = (parser_7, 1924);;
+let map = StringMap.add "2.6.21-1.3141.fc7.ppc64" v map;;
+let v = (parser_16, 2124);;
+let map = StringMap.add "2.6.21-1.3141.fc7.x86_64" v map;;
+let v = (parser_7, 1924);;
+let map = StringMap.add "2.6.21-1.3144.fc7.ppc64" v map;;
+let v = (parser_16, 2124);;
+let map = StringMap.add "2.6.21-1.3144.fc7.x86_64" v map;;
+let v = (parser_7, 1924);;
+let map = StringMap.add "2.6.21-1.3145.fc7.ppc64" v map;;
+let v = (parser_16, 1644);;
+let map = StringMap.add "2.6.21-1.3145.fc7.x86_64" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3209.fc8.ppc64" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3218.fc8.ppc64" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3221.fc8.ppc64" v map;;
+let v = (parser_7, 1684);;
+let map = StringMap.add "2.6.21-1.3228.fc7.ppc64" v map;;
+let v = (parser_16, 1404);;
+let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3234.fc8.ppc64" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3236.fc8.ppc64" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3238.fc8.ppc64" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.21-1.3242.fc8.ppc64" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc64" v map;;
+let v = (parser_10, 2044);;
+let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc64" v map;;
+let v = (parser_10, 1824);;
+let map = StringMap.add "2.6.23.14-135.fc8.ppc64" v map;;
+let v = (parser_13, 1984);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc64" v map;;
+let v = (parser_13, 1984);;
+let map = StringMap.add "2.6.24-7.fc9.ppc64" v map;;
+let v = (parser_13, 1984);;
+let map = StringMap.add "2.6.24-9.fc9.ppc64" v map;;
+let v = (parser_6, 688);;
+let map = StringMap.add "2.6.18-1.2798.fc6.ppc" v map;;
+let v = (parser_6, 688);;
+let map = StringMap.add "2.6.20-1.2933.fc6.ppc" v map;;
+let v = (parser_6, 1020);;
+let map = StringMap.add "2.6.21-1.3128.fc7.ppc" v map;;
+let v = (parser_6, 1020);;
+let map = StringMap.add "2.6.21-1.3132.fc7.ppc" v map;;
+let v = (parser_6, 1020);;
 let map = StringMap.add "2.6.21-1.3141.fc7.ppc" v map;;
 let map = StringMap.add "2.6.21-1.3141.fc7.ppc" v map;;
-let v = (parser_12, 836);;
+let v = (parser_6, 1020);;
+let map = StringMap.add "2.6.21-1.3144.fc7.ppc" v map;;
+let v = (parser_6, 1020);;
+let map = StringMap.add "2.6.21-1.3145.fc7.ppc" v map;;
+let v = (parser_9, 1116);;
+let map = StringMap.add "2.6.21-1.3209.fc8.ppc" v map;;
+let v = (parser_9, 1116);;
+let map = StringMap.add "2.6.21-1.3218.fc8.ppc" v map;;
+let v = (parser_9, 1116);;
+let map = StringMap.add "2.6.21-1.3221.fc8.ppc" v map;;
+let v = (parser_6, 936);;
 let map = StringMap.add "2.6.21-1.3228.fc7.ppc" v map;;
 let map = StringMap.add "2.6.21-1.3228.fc7.ppc" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3236.fc8.i686" v map;;
-let v = (parser_3, 1116);;
+let v = (parser_9, 1116);;
+let map = StringMap.add "2.6.21-1.3234.fc8.ppc" v map;;
+let v = (parser_9, 1116);;
 let map = StringMap.add "2.6.21-1.3236.fc8.ppc" v map;;
 let map = StringMap.add "2.6.21-1.3236.fc8.ppc" v map;;
-let v = (parser_19, 668);;
-let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3218.fc8.i686" v map;;
-let v = (parser_6, 1244);;
-let map = StringMap.add "2.6.24-9.fc9.i586" v map;;
-let v = (parser_15, 2196);;
-let map = StringMap.add "2.6.21-1.3128.fc7.x86_64" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3234.fc8.i686" v map;;
-let v = (parser_8, 1824);;
-let map = StringMap.add "2.6.23.14-135.fc8.ppc64" v map;;
-let v = (parser_5, 1260);;
-let map = StringMap.add "2.6.20-1.2933.fc6.ppc64" v map;;
-let v = (parser_9, 1048);;
-let map = StringMap.add "2.6.24-9.fc9.ppc" v map;;
-let v = (parser_11, 1248);;
-let map = StringMap.add "2.6.23.14-78.fc7.i586" v map;;
-let v = (parser_3, 1116);;
+let v = (parser_9, 1116);;
+let map = StringMap.add "2.6.21-1.3238.fc8.ppc" v map;;
+let v = (parser_9, 1116);;
+let map = StringMap.add "2.6.21-1.3242.fc8.ppc" v map;;
+let v = (parser_9, 1116);;
+let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc" v map;;
+let v = (parser_9, 1116);;
 let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc" v map;;
 let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3242.fc8.i686" v map;;
-let v = (parser_5, 1924);;
-let map = StringMap.add "2.6.21-1.3128.fc7.ppc64" v map;;
-let v = (parser_9, 1072);;
+let v = (parser_19, 1064);;
+let map = StringMap.add "2.6.23.14-135.fc8.ppc" v map;;
+let v = (parser_19, 1064);;
+let map = StringMap.add "2.6.23.14-78.fc7.ppc" v map;;
+let v = (parser_12, 1072);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc" v map;;
+let v = (parser_12, 1072);;
 let map = StringMap.add "2.6.24-7.fc9.ppc" v map;;
 let map = StringMap.add "2.6.24-7.fc9.ppc" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3209.fc8.ppc64" v map;;
-let v = (parser_12, 688);;
-let map = StringMap.add "2.6.18-1.2798.fc6.ppc" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.i686" v map;;
-let v = (parser_11, 1248);;
-let map = StringMap.add "2.6.23.14-135.fc8.i586" v map;;
-let v = (parser_1, 924);;
+let v = (parser_12, 1072);;
+let map = StringMap.add "2.6.24-9.fc9.ppc" v map;;
+let v = (parser_1, 912);;
+let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;;
+let v = (parser_4, 1260);;
+let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
+let v = (parser_1, 912);;
 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
-let v = (parser_8, 2044);;
-let map = StringMap.add "2.6.21-1.3209.fc8.ppc64" v map;;
-let v = (parser_1, 1284);;
-let map = StringMap.add "2.6.21-1.3132.fc7.i686" v map;;
-let v = (parser_12, 1020);;
-let map = StringMap.add "2.6.21-1.3145.fc7.ppc" v map;;
-let v = (parser_11, 1408);;
-let map = StringMap.add "2.6.21-1.3221.fc8.i586" v map;;
+let v = (parser_4, 1260);;
+let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
 type kernel_version = string;;
 let net_device_known version = StringMap.mem version map;;
 let net_device_size version =
 type kernel_version = string;;
 let net_device_known version = StringMap.mem version map;;
 let net_device_size version =
index a9600d5..3fd4ce9 100644 (file)
@@ -1,5 +1,6 @@
 exception ParseError of string * string * string;;
 type t = { net_device_dev_addr : string; net_device_name : string };;
 exception ParseError of string * string * string;;
 type t = { net_device_dev_addr : string; net_device_name : string };;
+val struct_name : string;;
 type kernel_version = string;;
 val net_device_known : kernel_version -> bool;;
 val net_device_size : kernel_version -> int;;
 type kernel_version = string;;
 val net_device_known : kernel_version -> bool;;
 val net_device_size : kernel_version -> int;;
index d2a5e00..0d69b85 100644 (file)
@@ -1,6 +1,8 @@
 let warning =
   "This code is automatically generated from the kernel database by kerneldb-to-parser program.  Any edits you make will be lost.";;
 let zero = 0;;
 let warning =
   "This code is automatically generated from the kernel database by kerneldb-to-parser program.  Any edits you make will be lost.";;
 let zero = 0;;
+let struct_name = "task_struct";;
+let match_err = "failed to match kernel structure";;
 exception ParseError of string * string * string;;
 type t =
   { task_struct_active_mm : Virt_mem_mmap.addr; task_struct_comm : string;
 exception ParseError of string * string * string;;
 type t =
   { task_struct_active_mm : Virt_mem_mmap.addr; task_struct_comm : string;
@@ -10,1116 +12,1218 @@ type t =
     task_struct_tasks'next : Virt_mem_mmap.addr;
     task_struct_tasks'prev : Virt_mem_mmap.addr
   };;
     task_struct_tasks'next : Virt_mem_mmap.addr;
     task_struct_tasks'prev : Virt_mem_mmap.addr
   };;
-let parser_1 bits = bitmatch bits with
+let parser_1 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+32 : offset(0), littleendian;
   | { 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+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_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(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_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(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_4", "failed to match kernel structure"));;
-let parser_5 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_5", "failed to match kernel structure"));;
-let parser_6 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_6", "failed to match kernel structure"));;
-let parser_7 bits = bitmatch bits with
+      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 (struct_name, "parser_1", match_err));;
+let parser_2 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(4512), 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 (struct_name, "parser_2", match_err));;
+let parser_3 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 (struct_name, "parser_3", match_err));;
+let parser_4 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+32 : offset(0), littleendian;
   | { 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_7", "failed to match kernel structure"));;
-let parser_8 bits = bitmatch bits with
+      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 (struct_name, "parser_4", match_err));;
+let parser_5 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 (struct_name, "parser_5", match_err));;
+let parser_6 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 (struct_name, "parser_6", match_err));;
+let parser_7 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 (struct_name, "parser_7", match_err));;
+let parser_8 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), littleendian;
   | { 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_8", "failed to match kernel structure"));;
-let parser_9 bits = bitmatch bits with
+      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 (struct_name, "parser_8", match_err));;
+let parser_9 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), littleendian;
   | { 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_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(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_10", "failed to match kernel structure"));;
-let parser_11 bits = bitmatch bits with
+      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(6848), 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 (struct_name, "parser_9", match_err));;
+let parser_10 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+32 : offset(0), bigendian;
   | { 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_11", "failed to match kernel structure"));;
-let parser_12 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(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 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_12", "failed to match kernel structure"));;
-let parser_13 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_13", "failed to match kernel structure"));;
-let parser_14 bits = bitmatch bits with
+      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 (struct_name, "parser_10", match_err));;
+let parser_11 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), bigendian;
   | { 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_14", "failed to match kernel structure"));;
-let parser_15 bits = bitmatch bits with
+      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 (struct_name, "parser_11", match_err));;
+let parser_12 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 (struct_name, "parser_12", match_err));;
+let parser_13 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), bigendian;
   | { 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(6848), 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_15", "failed to match kernel structure"));;
-let parser_16 bits = bitmatch bits with
+      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 (struct_name, "parser_13", match_err));;
+let parser_14 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 (struct_name, "parser_14", match_err));;
+let parser_15 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+32 : offset(0), bigendian;
   | { 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_16", "failed to match kernel structure"));;
-let parser_17 bits = bitmatch bits with
+      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 (struct_name, "parser_15", match_err));;
+let parser_16 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), bigendian;
   | { 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_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(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_18", "failed to match kernel structure"));;
-let parser_19 bits = bitmatch bits with
+      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 (struct_name, "parser_16", match_err));;
+let parser_17 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), littleendian;
   | { 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_19", "failed to match kernel structure"));;
-let parser_20 bits = bitmatch bits with
+      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 (struct_name, "parser_17", match_err));;
+let parser_18 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 (struct_name, "parser_18", match_err));;
+let parser_19 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 (struct_name, "parser_19", match_err));;
+let parser_20 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), littleendian;
   | { 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_20", "failed to match kernel structure"));;
-let parser_21 bits = bitmatch bits with
+      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 (struct_name, "parser_20", match_err));;
+let parser_21 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 (struct_name, "parser_21", match_err));;
+let parser_22 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 (struct_name, "parser_22", match_err));;
+let parser_23 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), littleendian;
   | { 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(6848), 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_21", "failed to match kernel structure"));;
-let parser_22 bits = bitmatch bits with
+      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 (struct_name, "parser_23", match_err));;
+let parser_24 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 (struct_name, "parser_24", match_err));;
+let parser_25 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), bigendian;
   | { 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_22", "failed to match kernel structure"));;
-let parser_23 bits = bitmatch bits with
+      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 (struct_name, "parser_25", match_err));;
+let parser_26 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), littleendian;
   | { 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_23", "failed to match kernel structure"));;
-let parser_24 bits = bitmatch bits with
+      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 (struct_name, "parser_26", match_err));;
+let parser_27 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+32 : offset(0), bigendian;
   | { 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_24", "failed to match kernel structure"));;
-let parser_25 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_25", "failed to match kernel structure"));;
-let parser_26 bits = bitmatch bits with
+      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(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 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 (struct_name, "parser_27", match_err));;
+let parser_28 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), bigendian;
   | { 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_26", "failed to match kernel structure"));;
-let parser_27 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(4512), 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_27", "failed to match kernel structure"));;
-let parser_28 bits = bitmatch bits with
+      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(6848), 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 (struct_name, "parser_28", match_err));;
+let parser_29 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 (struct_name, "parser_29", match_err));;
+let parser_30 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 (struct_name, "parser_30", match_err));;
+let parser_31 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), littleendian;
   | { 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_28", "failed to match kernel structure"));;
-let parser_29 bits = bitmatch bits with
+      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 (struct_name, "parser_31", match_err));;
+let parser_32 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+32 : offset(0), littleendian;
   | { 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_29", "failed to match kernel structure"));;
-let parser_30 bits = bitmatch bits with
+      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 (struct_name, "parser_32", match_err));;
+let parser_33 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), littleendian;
   | { 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_30", "failed to match kernel structure"));;
-let parser_31 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_31", "failed to match kernel structure"));;
-let parser_32 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_32", "failed to match kernel structure"));;
-let parser_33 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_33", "failed to match kernel structure"));;
-let parser_34 bits = bitmatch bits with
+      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 (struct_name, "parser_33", match_err));;
+let parser_34 bits = 
+  bitmatch bits with
   | { task_struct_state : zero+64 : offset(0), littleendian;
   | { 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_34", "failed to match kernel structure"));;
+      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 (struct_name, "parser_34", match_err));;
 module StringMap = Map.Make(String);;
 let map = StringMap.empty;;
 let v = (parser_1, 2704);;
 module StringMap = Map.Make(String);;
 let map = StringMap.empty;;
 let v = (parser_1, 2704);;
-let map = StringMap.add "2.6.21-1.3128.fc7.i586" v map;;
-let v = (parser_2, 2492);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc64" v map;;
-let v = (parser_3, 1756);;
-let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc" v map;;
+let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
+let v = (parser_1, 2704);;
+let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
+let v = (parser_1, 2704);;
+let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
+let v = (parser_2, 3364);;
+let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
+let v = (parser_1, 1400);;
+let map = StringMap.add "2.6.20-1.2933.fc6.i686" 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.3128.fc7.i686" v map;;
-let v = (parser_4, 3780);;
-let map = StringMap.add "2.6.21-1.3141.fc7.x86_64" v map;;
-let v = (parser_5, 2132);;
-let map = StringMap.add "2.6.21-1.3141.fc7.ppc64" v map;;
 let v = (parser_1, 2704);;
 let map = StringMap.add "2.6.21-1.3132.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_6, 1780);;
-let map = StringMap.add "2.6.21-1.3236.fc8.ppc" v map;;
-let v = (parser_1, 1376);;
-let map = StringMap.add "2.6.21-1.3228.fc7.i586" v map;;
-let v = (parser_7, 3540);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.i586" v map;;
-let v = (parser_8, 1856);;
-let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
-let v = (parser_9, 3948);;
-let map = StringMap.add "2.6.21-1.3236.fc8.x86_64" v map;;
-let v = (parser_1, 2704);;
-let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
-let v = (parser_10, 2116);;
-let map = StringMap.add "2.6.21-1.3218.fc8.ppc64" v map;;
-let v = (parser_11, 1948);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc" v map;;
-let v = (parser_5, 2072);;
-let map = StringMap.add "2.6.21-1.3228.fc7.ppc64" v map;;
-let v = (parser_12, 1736);;
-let map = StringMap.add "2.6.23.14-135.fc8.ppc" v map;;
 let v = (parser_1, 2704);;
 let map = StringMap.add "2.6.21-1.3141.fc7.i686" v map;;
 let v = (parser_1, 2704);;
 let map = StringMap.add "2.6.21-1.3141.fc7.i686" v map;;
-let v = (parser_4, 1832);;
-let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
-let v = (parser_5, 2132);;
-let map = StringMap.add "2.6.21-1.3141.fc7.ppc64" v map;;
-let v = (parser_1, 2712);;
-let map = StringMap.add "2.6.21-1.3218.fc8.i586" v map;;
-let v = (parser_13, 3932);;
-let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.x86_64" v map;;
-let v = (parser_14, 2276);;
-let map = StringMap.add "2.6.21-1.3242.fc8.ppc64" v map;;
-let v = (parser_15, 2272);;
-let map = StringMap.add "2.6.23.14-78.fc7.ppc64" v map;;
-let v = (parser_5, 2132);;
-let map = StringMap.add "2.6.21-1.3144.fc7.ppc64" v map;;
-let v = (parser_16, 1612);;
-let map = StringMap.add "2.6.21-1.3218.fc8.ppc" v map;;
-let v = (parser_17, 2292);;
-let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc64" v map;;
-let v = (parser_18, 2880);;
-let map = StringMap.add "2.6.21-1.3236.fc8.i686" v map;;
-let v = (parser_15, 2272);;
-let map = StringMap.add "2.6.23.14-135.fc8.ppc64" v map;;
-let v = (parser_16, 1592);;
-let map = StringMap.add "2.6.21-1.3145.fc7.ppc" v map;;
-let v = (parser_5, 2132);;
-let map = StringMap.add "2.6.21-1.3132.fc7.ppc64" v map;;
+let v = (parser_1, 2704);;
+let map = StringMap.add "2.6.21-1.3144.fc7.i686" v map;;
 let v = (parser_1, 1400);;
 let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
 let v = (parser_1, 1400);;
 let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
+let v = (parser_1, 2712);;
+let map = StringMap.add "2.6.21-1.3209.fc8.i686" v map;;
+let v = (parser_1, 2712);;
+let map = StringMap.add "2.6.21-1.3218.fc8.i686" v map;;
+let v = (parser_1, 2712);;
+let map = StringMap.add "2.6.21-1.3221.fc8.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, 1376);;
 let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
-let v = (parser_19, 4684);;
-let map = StringMap.add "2.6.24-9.fc9.x86_64" v map;;
-let v = (parser_20, 3756);;
-let map = StringMap.add "2.6.21-1.3221.fc8.x86_64" v map;;
-let v = (parser_17, 2292);;
-let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc64" v map;;
-let v = (parser_5, 2132);;
-let map = StringMap.add "2.6.21-1.3132.fc7.ppc64" v map;;
-let v = (parser_19, 4684);;
-let map = StringMap.add "2.6.24-7.fc9.x86_64" v map;;
-let v = (parser_14, 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_14, 2276);;
-let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc64" v map;;
-let v = (parser_16, 1620);;
-let map = StringMap.add "2.6.21-1.3132.fc7.ppc" v map;;
-let v = (parser_21, 2080);;
-let map = StringMap.add "2.6.23.14-135.fc8.x86_64" v map;;
-let v = (parser_22, 2292);;
-let map = StringMap.add "2.6.21-1.3234.fc8.ppc64" v map;;
-let v = (parser_19, 4684);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.x86_64" v map;;
-let v = (parser_1, 1384);;
-let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;;
-let v = (parser_23, 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_24, 1772);;
-let map = StringMap.add "2.6.21-1.3242.fc8.ppc" v map;;
+let v = (parser_3, 2880);;
+let map = StringMap.add "2.6.21-1.3234.fc8.i686" v map;;
+let v = (parser_4, 2880);;
+let map = StringMap.add "2.6.21-1.3236.fc8.i686" v map;;
+let v = (parser_5, 2872);;
+let map = StringMap.add "2.6.21-1.3238.fc8.i686" v map;;
+let v = (parser_5, 2872);;
+let map = StringMap.add "2.6.21-1.3242.fc8.i686" v map;;
+let v = (parser_6, 2856);;
+let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.i686" v map;;
+let v = (parser_5, 2872);;
+let map = StringMap.add "2.6.22-0.rc7.2.fc8.i686" v map;;
+let v = (parser_2, 1548);;
+let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
+let v = (parser_7, 3540);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.i686" v map;;
+let v = (parser_7, 3540);;
+let map = StringMap.add "2.6.24-7.fc9.i686" v map;;
 let v = (parser_7, 3540);;
 let map = StringMap.add "2.6.24-9.fc9.i686" v map;;
 let v = (parser_1, 2704);;
 let v = (parser_7, 3540);;
 let map = StringMap.add "2.6.24-9.fc9.i686" v map;;
 let v = (parser_1, 2704);;
-let map = StringMap.add "2.6.21-1.3141.fc7.i586" v map;;
+let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
+let v = (parser_8, 3772);;
+let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
 let v = (parser_1, 2704);;
 let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
 let v = (parser_1, 2704);;
 let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
-let v = (parser_16, 1604);;
-let map = StringMap.add "2.6.21-1.3141.fc7.ppc" v map;;
-let v = (parser_2, 2492);;
-let map = StringMap.add "2.6.24-7.fc9.ppc64" v map;;
-let v = (parser_25, 2856);;
-let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.i686" v map;;
-let v = (parser_26, 2308);;
-let map = StringMap.add "2.6.21-1.3236.fc8.ppc64" v map;;
-let v = (parser_16, 1628);;
-let map = StringMap.add "2.6.21-1.3209.fc8.ppc" v map;;
-let v = (parser_26, 2308);;
-let map = StringMap.add "2.6.21-1.3236.fc8.ppc64" v map;;
-let v = (parser_5, 2072);;
-let map = StringMap.add "2.6.21-1.3228.fc7.ppc64" v map;;
-let v = (parser_5, 2132);;
-let map = StringMap.add "2.6.21-1.3128.fc7.ppc64" v map;;
-let v = (parser_27, 3364);;
-let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
-let v = (parser_14, 2276);;
-let map = StringMap.add "2.6.21-1.3238.fc8.ppc64" v map;;
-let v = (parser_1, 1400);;
-let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
-let v = (parser_1, 2712);;
-let map = StringMap.add "2.6.21-1.3209.fc8.i686" v map;;
-let v = (parser_4, 3772);;
-let map = StringMap.add "2.6.21-1.3132.fc7.x86_64" v map;;
-let v = (parser_2, 2492);;
-let map = StringMap.add "2.6.24-7.fc9.ppc64" v map;;
-let v = (parser_4, 1920);;
+let v = (parser_8, 3772);;
 let map = StringMap.add "2.6.21-1.3145.fc7.x86_64" v map;;
 let map = StringMap.add "2.6.21-1.3145.fc7.x86_64" v map;;
-let v = (parser_4, 3772);;
+let v = (parser_1, 2704);;
+let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
+let v = (parser_8, 3772);;
 let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
 let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
-let v = (parser_11, 1948);;
-let map = StringMap.add "2.6.24-9.fc9.ppc" v map;;
-let v = (parser_16, 1576);;
-let map = StringMap.add "2.6.18-1.2798.fc6.ppc" v map;;
-let v = (parser_28, 3916);;
-let map = StringMap.add "2.6.22-0.rc7.2.fc8.x86_64" v map;;
-let v = (parser_27, 1548);;
+let v = (parser_2, 3364);;
 let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
 let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
-let v = (parser_16, 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_10, 2116);;
-let map = StringMap.add "2.6.21-1.3221.fc8.ppc64" v map;;
-let v = (parser_16, 1612);;
-let map = StringMap.add "2.6.21-1.3221.fc8.ppc" v map;;
-let v = (parser_14, 2276);;
-let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc64" v map;;
-let v = (parser_16, 1628);;
-let map = StringMap.add "2.6.21-1.3221.fc8.ppc" v map;;
-let v = (parser_4, 3772);;
-let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
-let v = (parser_2, 2492);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc64" v map;;
-let v = (parser_29, 2880);;
-let map = StringMap.add "2.6.21-1.3234.fc8.i686" v map;;
-let v = (parser_16, 1620);;
-let map = StringMap.add "2.6.21-1.3144.fc7.ppc" v map;;
-let v = (parser_5, 2132);;
-let map = StringMap.add "2.6.21-1.3144.fc7.ppc64" v map;;
-let v = (parser_2, 2492);;
-let map = StringMap.add "2.6.24-9.fc9.ppc64" v map;;
-let v = (parser_16, 1628);;
-let map = StringMap.add "2.6.21-1.3218.fc8.ppc" v map;;
-let v = (parser_7, 3540);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.i686" v map;;
-let v = (parser_4, 3772);;
-let map = StringMap.add "2.6.21-1.3141.fc7.x86_64" v map;;
-let v = (parser_16, 1604);;
-let map = StringMap.add "2.6.21-1.3128.fc7.ppc" v map;;
-let v = (parser_30, 1928);;
-let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
-let v = (parser_16, 1604);;
-let map = StringMap.add "2.6.21-1.3132.fc7.ppc" v map;;
-let v = (parser_16, 1584);;
-let map = StringMap.add "2.6.21-1.3228.fc7.ppc" v map;;
-let v = (parser_27, 3364);;
-let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
-let v = (parser_28, 3916);;
-let map = StringMap.add "2.6.21-1.3242.fc8.x86_64" v map;;
-let v = (parser_2, 2492);;
-let map = StringMap.add "2.6.24-9.fc9.ppc64" v map;;
-let v = (parser_10, 2116);;
-let map = StringMap.add "2.6.21-1.3221.fc8.ppc64" v map;;
-let v = (parser_10, 2116);;
-let map = StringMap.add "2.6.21-1.3218.fc8.ppc64" v map;;
-let v = (parser_5, 2104);;
+let v = (parser_9, 4468);;
+let map = StringMap.add "2.6.23.14-135.fc8.x86_64" v map;;
+let v = (parser_9, 4468);;
+let map = StringMap.add "2.6.23.14-78.fc7.x86_64" v map;;
+let v = (parser_1, 1384);;
+let map = StringMap.add "2.6.18-1.2798.fc6.i586" v map;;
+let v = (parser_1, 1384);;
+let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;;
+let v = (parser_10, 1576);;
+let map = StringMap.add "2.6.18-1.2798.fc6.ppc" v map;;
+let v = (parser_11, 2104);;
 let map = StringMap.add "2.6.18-1.2798.fc6.ppc64" v map;;
 let map = StringMap.add "2.6.18-1.2798.fc6.ppc64" v map;;
-let v = (parser_4, 3780);;
-let map = StringMap.add "2.6.21-1.3128.fc7.x86_64" v map;;
+let v = (parser_11, 2088);;
+let map = StringMap.add "2.6.18-1.2798.fc6.ppc64iseries" v map;;
+let v = (parser_12, 1928);;
+let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
+let v = (parser_1, 1400);;
+let map = StringMap.add "2.6.20-1.2933.fc6.i586" v map;;
 let v = (parser_1, 1400);;
 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
 let v = (parser_1, 1400);;
 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
-let v = (parser_4, 3772);;
-let map = StringMap.add "2.6.21-1.3144.fc7.x86_64" v map;;
-let v = (parser_5, 2112);;
+let v = (parser_10, 1592);;
+let map = StringMap.add "2.6.20-1.2933.fc6.ppc" v map;;
+let v = (parser_11, 2112);;
 let map = StringMap.add "2.6.20-1.2933.fc6.ppc64" v map;;
 let map = StringMap.add "2.6.20-1.2933.fc6.ppc64" v map;;
-let v = (parser_3, 1772);;
-let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc" v map;;
-let v = (parser_11, 1936);;
-let map = StringMap.add "2.6.24-7.fc9.ppc" v map;;
-let v = (parser_16, 1612);;
-let map = StringMap.add "2.6.21-1.3209.fc8.ppc" v map;;
-let v = (parser_4, 1920);;
+let v = (parser_8, 1920);;
 let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
 let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
-let v = (parser_27, 1548);;
-let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
-let v = (parser_24, 1756);;
-let map = StringMap.add "2.6.21-1.3242.fc8.ppc" v map;;
-let v = (parser_31, 2872);;
-let map = StringMap.add "2.6.21-1.3242.fc8.i686" v map;;
+let v = (parser_1, 2704);;
+let map = StringMap.add "2.6.21-1.3128.fc7.i586" v map;;
+let v = (parser_1, 2704);;
+let map = StringMap.add "2.6.21-1.3128.fc7.i686" v map;;
+let v = (parser_10, 1604);;
+let map = StringMap.add "2.6.21-1.3128.fc7.ppc" v map;;
+let v = (parser_11, 2132);;
+let map = StringMap.add "2.6.21-1.3128.fc7.ppc64" v map;;
+let v = (parser_8, 3772);;
+let map = StringMap.add "2.6.21-1.3128.fc7.x86_64" 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 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_4, 1880);;
-let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
-let v = (parser_5, 2088);;
-let map = StringMap.add "2.6.18-1.2798.fc6.ppc64iseries" v map;;
-let v = (parser_31, 2872);;
-let map = StringMap.add "2.6.21-1.3238.fc8.i686" v map;;
-let v = (parser_12, 1736);;
-let map = StringMap.add "2.6.23.14-78.fc7.ppc" v map;;
-let v = (parser_7, 3540);;
-let map = StringMap.add "2.6.24-7.fc9.i586" v map;;
-let v = (parser_4, 1880);;
-let map = StringMap.add "2.6.21-1.3145.fc7.x86_64" v map;;
-let v = (parser_1, 2712);;
-let map = StringMap.add "2.6.21-1.3221.fc8.i686" v map;;
-let v = (parser_16, 1592);;
-let map = StringMap.add "2.6.20-1.2933.fc6.ppc" v map;;
-let v = (parser_5, 2112);;
-let map = StringMap.add "2.6.21-1.3145.fc7.ppc64" v map;;
-let v = (parser_14, 2276);;
-let map = StringMap.add "2.6.21-1.3242.fc8.ppc64" v map;;
+let map = StringMap.add "2.6.21-1.3132.fc7.i686" v map;;
+let v = (parser_10, 1604);;
+let map = StringMap.add "2.6.21-1.3132.fc7.ppc" v map;;
+let v = (parser_11, 2132);;
+let map = StringMap.add "2.6.21-1.3132.fc7.ppc64" v map;;
+let v = (parser_8, 3772);;
+let map = StringMap.add "2.6.21-1.3132.fc7.x86_64" v map;;
+let v = (parser_1, 2704);;
+let map = StringMap.add "2.6.21-1.3141.fc7.i586" v map;;
 let v = (parser_1, 2704);;
 let map = StringMap.add "2.6.21-1.3141.fc7.i686" v map;;
 let v = (parser_1, 2704);;
 let map = StringMap.add "2.6.21-1.3141.fc7.i686" v map;;
-let v = (parser_1, 2712);;
-let map = StringMap.add "2.6.21-1.3218.fc8.i686" v map;;
+let v = (parser_10, 1604);;
+let map = StringMap.add "2.6.21-1.3141.fc7.ppc" v map;;
+let v = (parser_11, 2132);;
+let map = StringMap.add "2.6.21-1.3141.fc7.ppc64" v map;;
+let v = (parser_8, 3772);;
+let map = StringMap.add "2.6.21-1.3141.fc7.x86_64" v map;;
+let v = (parser_1, 2704);;
+let map = StringMap.add "2.6.21-1.3144.fc7.i586" v map;;
 let v = (parser_1, 2704);;
 let map = StringMap.add "2.6.21-1.3144.fc7.i686" v map;;
 let v = (parser_1, 2704);;
 let map = StringMap.add "2.6.21-1.3144.fc7.i686" v map;;
+let v = (parser_10, 1604);;
+let map = StringMap.add "2.6.21-1.3144.fc7.ppc" v map;;
+let v = (parser_11, 2132);;
+let map = StringMap.add "2.6.21-1.3144.fc7.ppc64" v map;;
+let v = (parser_8, 3772);;
+let map = StringMap.add "2.6.21-1.3144.fc7.x86_64" v map;;
 let v = (parser_1, 1400);;
 let map = StringMap.add "2.6.21-1.3145.fc7.i586" v map;;
 let v = (parser_1, 1400);;
 let map = StringMap.add "2.6.21-1.3145.fc7.i586" v map;;
-let v = (parser_1, 1376);;
-let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
+let v = (parser_1, 1400);;
+let map = StringMap.add "2.6.21-1.3145.fc7.i686" v map;;
+let v = (parser_10, 1592);;
+let map = StringMap.add "2.6.21-1.3145.fc7.ppc" v map;;
+let v = (parser_11, 2112);;
+let map = StringMap.add "2.6.21-1.3145.fc7.ppc64" v map;;
+let v = (parser_8, 1920);;
+let map = StringMap.add "2.6.21-1.3145.fc7.x86_64" v map;;
 let v = (parser_1, 2712);;
 let map = StringMap.add "2.6.21-1.3209.fc8.i586" v map;;
 let v = (parser_1, 2712);;
 let map = StringMap.add "2.6.21-1.3209.fc8.i586" v map;;
-let v = (parser_20, 3756);;
+let v = (parser_1, 2712);;
+let map = StringMap.add "2.6.21-1.3209.fc8.i686" v map;;
+let v = (parser_10, 1612);;
+let map = StringMap.add "2.6.21-1.3209.fc8.ppc" v map;;
+let v = (parser_13, 2116);;
+let map = StringMap.add "2.6.21-1.3209.fc8.ppc64" v map;;
+let v = (parser_14, 3756);;
+let map = StringMap.add "2.6.21-1.3209.fc8.x86_64" v map;;
+let v = (parser_1, 2712);;
+let map = StringMap.add "2.6.21-1.3218.fc8.i586" v map;;
+let v = (parser_1, 2712);;
+let map = StringMap.add "2.6.21-1.3218.fc8.i686" v map;;
+let v = (parser_10, 1612);;
+let map = StringMap.add "2.6.21-1.3218.fc8.ppc" v map;;
+let v = (parser_13, 2116);;
+let map = StringMap.add "2.6.21-1.3218.fc8.ppc64" v map;;
+let v = (parser_14, 3756);;
 let map = StringMap.add "2.6.21-1.3218.fc8.x86_64" v map;;
 let map = StringMap.add "2.6.21-1.3218.fc8.x86_64" v map;;
-let v = (parser_5, 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_4, 3772);;
-let map = StringMap.add "2.6.21-1.3145.fc7.x86_64" v map;;
-let v = (parser_12, 1760);;
-let map = StringMap.add "2.6.23.14-78.fc7.ppc" v map;;
-let v = (parser_4, 1880);;
-let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
-let v = (parser_32, 1796);;
+let v = (parser_1, 2712);;
+let map = StringMap.add "2.6.21-1.3221.fc8.i586" v map;;
+let v = (parser_1, 2712);;
+let map = StringMap.add "2.6.21-1.3221.fc8.i686" v map;;
+let v = (parser_10, 1612);;
+let map = StringMap.add "2.6.21-1.3221.fc8.ppc" v map;;
+let v = (parser_13, 2116);;
+let map = StringMap.add "2.6.21-1.3221.fc8.ppc64" v map;;
+let v = (parser_14, 3756);;
+let map = StringMap.add "2.6.21-1.3221.fc8.x86_64" v map;;
+let v = (parser_1, 1376);;
+let map = StringMap.add "2.6.21-1.3228.fc7.i586" v map;;
+let v = (parser_1, 1376);;
+let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
+let v = (parser_10, 1560);;
+let map = StringMap.add "2.6.21-1.3228.fc7.ppc" v map;;
+let v = (parser_11, 2072);;
+let map = StringMap.add "2.6.21-1.3228.fc7.ppc64" v map;;
+let v = (parser_8, 1880);;
+let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
+let v = (parser_3, 2880);;
+let map = StringMap.add "2.6.21-1.3234.fc8.i686" v map;;
+let v = (parser_15, 1780);;
 let map = StringMap.add "2.6.21-1.3234.fc8.ppc" v map;;
 let map = StringMap.add "2.6.21-1.3234.fc8.ppc" v map;;
-let v = (parser_28, 3916);;
+let v = (parser_16, 2292);;
+let map = StringMap.add "2.6.21-1.3234.fc8.ppc64" v map;;
+let v = (parser_17, 3932);;
+let map = StringMap.add "2.6.21-1.3234.fc8.x86_64" v map;;
+let v = (parser_4, 2880);;
+let map = StringMap.add "2.6.21-1.3236.fc8.i686" v map;;
+let v = (parser_18, 1780);;
+let map = StringMap.add "2.6.21-1.3236.fc8.ppc" v map;;
+let v = (parser_19, 2308);;
+let map = StringMap.add "2.6.21-1.3236.fc8.ppc64" v map;;
+let v = (parser_20, 3948);;
+let map = StringMap.add "2.6.21-1.3236.fc8.x86_64" v map;;
+let v = (parser_5, 2872);;
+let map = StringMap.add "2.6.21-1.3238.fc8.i686" v map;;
+let v = (parser_21, 1756);;
+let map = StringMap.add "2.6.21-1.3238.fc8.ppc" v map;;
+let v = (parser_22, 2276);;
+let map = StringMap.add "2.6.21-1.3238.fc8.ppc64" v map;;
+let v = (parser_23, 3916);;
 let map = StringMap.add "2.6.21-1.3238.fc8.x86_64" v map;;
 let map = StringMap.add "2.6.21-1.3238.fc8.x86_64" v map;;
+let v = (parser_5, 2872);;
+let map = StringMap.add "2.6.21-1.3242.fc8.i686" v map;;
+let v = (parser_21, 1756);;
+let map = StringMap.add "2.6.21-1.3242.fc8.ppc" v map;;
+let v = (parser_22, 2276);;
+let map = StringMap.add "2.6.21-1.3242.fc8.ppc64" v map;;
+let v = (parser_23, 3916);;
+let map = StringMap.add "2.6.21-1.3242.fc8.x86_64" v map;;
+let v = (parser_6, 2856);;
+let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.i686" v map;;
+let v = (parser_24, 1756);;
+let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc" v map;;
+let v = (parser_25, 2292);;
+let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc64" v map;;
+let v = (parser_26, 3932);;
+let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.x86_64" v map;;
+let v = (parser_5, 2872);;
+let map = StringMap.add "2.6.22-0.rc7.2.fc8.i686" v map;;
+let v = (parser_21, 1756);;
+let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc" v map;;
+let v = (parser_22, 2276);;
+let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc64" v map;;
+let v = (parser_23, 3916);;
+let map = StringMap.add "2.6.22-0.rc7.2.fc8.x86_64" v map;;
+let v = (parser_2, 1548);;
+let map = StringMap.add "2.6.23.14-135.fc8.i586" v map;;
+let v = (parser_2, 1548);;
+let map = StringMap.add "2.6.23.14-135.fc8.i686" v map;;
+let v = (parser_27, 1736);;
+let map = StringMap.add "2.6.23.14-135.fc8.ppc" v map;;
+let v = (parser_28, 2272);;
+let map = StringMap.add "2.6.23.14-135.fc8.ppc64" v map;;
+let v = (parser_9, 2080);;
+let map = StringMap.add "2.6.23.14-135.fc8.x86_64" v map;;
+let v = (parser_2, 1548);;
+let map = StringMap.add "2.6.23.14-78.fc7.i586" v map;;
+let v = (parser_27, 1736);;
+let map = StringMap.add "2.6.23.14-78.fc7.ppc" v map;;
+let v = (parser_28, 2272);;
+let map = StringMap.add "2.6.23.14-78.fc7.ppc64" v map;;
+let v = (parser_9, 2080);;
+let map = StringMap.add "2.6.23.14-78.fc7.x86_64" v map;;
+let v = (parser_7, 3540);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.i586" v map;;
 let v = (parser_7, 3540);;
 let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.i686" v map;;
 let v = (parser_7, 3540);;
 let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.i686" v map;;
-let v = (parser_4, 1920);;
-let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
-let v = (parser_31, 2872);;
-let map = StringMap.add "2.6.22-0.rc7.2.fc8.i686" v map;;
-let v = (parser_30, 1928);;
-let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
+let v = (parser_29, 1936);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc" v map;;
+let v = (parser_30, 2492);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc64" v map;;
+let v = (parser_31, 4684);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.x86_64" v map;;
 let v = (parser_7, 3540);;
 let v = (parser_7, 3540);;
-let map = StringMap.add "2.6.24-7.fc9.i686" v map;;
-let v = (parser_1, 2712);;
-let map = StringMap.add "2.6.21-1.3221.fc8.i686" v map;;
-let v = (parser_21, 4468);;
-let map = StringMap.add "2.6.23.14-135.fc8.x86_64" v map;;
-let v = (parser_24, 1772);;
-let map = StringMap.add "2.6.21-1.3238.fc8.ppc" v map;;
-let v = (parser_4, 3780);;
-let map = StringMap.add "2.6.21-1.3144.fc7.x86_64" v map;;
-let v = (parser_16, 1608);;
-let map = StringMap.add "2.6.20-1.2933.fc6.ppc" v map;;
-let v = (parser_31, 2872);;
-let map = StringMap.add "2.6.22-0.rc7.2.fc8.i686" v map;;
+let map = StringMap.add "2.6.24-7.fc9.i586" v map;;
 let v = (parser_7, 3540);;
 let map = StringMap.add "2.6.24-7.fc9.i686" v map;;
 let v = (parser_7, 3540);;
 let map = StringMap.add "2.6.24-7.fc9.i686" v map;;
-let v = (parser_21, 2080);;
-let map = StringMap.add "2.6.23.14-78.fc7.x86_64" v map;;
+let v = (parser_29, 1936);;
+let map = StringMap.add "2.6.24-7.fc9.ppc" v map;;
+let v = (parser_30, 2492);;
+let map = StringMap.add "2.6.24-7.fc9.ppc64" v map;;
+let v = (parser_31, 4684);;
+let map = StringMap.add "2.6.24-7.fc9.x86_64" v map;;
+let v = (parser_7, 3540);;
+let map = StringMap.add "2.6.24-9.fc9.i586" v map;;
 let v = (parser_7, 3540);;
 let map = StringMap.add "2.6.24-9.fc9.i686" v map;;
 let v = (parser_7, 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_33, 1832);;
+let v = (parser_29, 1936);;
+let map = StringMap.add "2.6.24-9.fc9.ppc" v map;;
+let v = (parser_30, 2492);;
+let map = StringMap.add "2.6.24-9.fc9.ppc64" v map;;
+let v = (parser_31, 4684);;
+let map = StringMap.add "2.6.24-9.fc9.x86_64" v map;;
+let v = (parser_32, 1832);;
 let map = StringMap.add "2.6.25.11-97.fc9.i686" v map;;
 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;;
-let v = (parser_1, 2704);;
-let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
-let v = (parser_5, 2112);;
-let map = StringMap.add "2.6.21-1.3145.fc7.ppc64" v map;;
-let v = (parser_21, 4468);;
-let map = StringMap.add "2.6.23.14-78.fc7.x86_64" v map;;
-let v = (parser_1, 2704);;
-let map = StringMap.add "2.6.21-1.3128.fc7.i686" v map;;
-let v = (parser_11, 1936);;
-let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc" v map;;
-let v = (parser_16, 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_20, 3756);;
-let map = StringMap.add "2.6.21-1.3209.fc8.x86_64" v map;;
-let v = (parser_24, 1756);;
-let map = StringMap.add "2.6.21-1.3238.fc8.ppc" v map;;
-let v = (parser_34, 3932);;
-let map = StringMap.add "2.6.21-1.3234.fc8.x86_64" v map;;
-let v = (parser_32, 1780);;
-let map = StringMap.add "2.6.21-1.3234.fc8.ppc" v map;;
-let v = (parser_12, 1760);;
-let map = StringMap.add "2.6.23.14-135.fc8.ppc" v map;;
-let v = (parser_22, 2292);;
-let map = StringMap.add "2.6.21-1.3234.fc8.ppc64" v map;;
-let v = (parser_24, 1756);;
-let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc" v map;;
-let v = (parser_1, 1400);;
-let map = StringMap.add "2.6.20-1.2933.fc6.i586" v map;;
-let v = (parser_4, 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_5, 2104);;
-let map = StringMap.add "2.6.18-1.2798.fc6.ppc64" v map;;
-let v = (parser_1, 1384);;
+let v = (parser_33, 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 map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;;
-let v = (parser_31, 2872);;
-let map = StringMap.add "2.6.21-1.3238.fc8.i686" v map;;
-let v = (parser_16, 1620);;
-let map = StringMap.add "2.6.21-1.3141.fc7.ppc" v map;;
-let v = (parser_16, 1560);;
-let map = StringMap.add "2.6.21-1.3228.fc7.ppc" v map;;
-let v = (parser_18, 2880);;
-let map = StringMap.add "2.6.21-1.3236.fc8.i686" v map;;
-let v = (parser_6, 1796);;
-let map = StringMap.add "2.6.21-1.3236.fc8.ppc" v map;;
+let v = (parser_11, 2104);;
+let map = StringMap.add "2.6.18-1.2798.fc6.ppc64" v map;;
+let v = (parser_11, 2088);;
+let map = StringMap.add "2.6.18-1.2798.fc6.ppc64iseries" v map;;
+let v = (parser_34, 1856);;
+let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
 let v = (parser_1, 1384);;
 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
 let v = (parser_1, 1384);;
 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
-let v = (parser_1, 2712);;
-let map = StringMap.add "2.6.21-1.3218.fc8.i686" v map;;
-let v = (parser_7, 3540);;
-let map = StringMap.add "2.6.24-9.fc9.i586" v map;;
-let v = (parser_4, 3772);;
+let v = (parser_11, 2112);;
+let map = StringMap.add "2.6.20-1.2933.fc6.ppc64" v map;;
+let v = (parser_8, 1880);;
+let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
+let v = (parser_11, 2132);;
+let map = StringMap.add "2.6.21-1.3128.fc7.ppc64" v map;;
+let v = (parser_8, 3780);;
 let map = StringMap.add "2.6.21-1.3128.fc7.x86_64" v map;;
 let map = StringMap.add "2.6.21-1.3128.fc7.x86_64" v map;;
-let v = (parser_29, 2880);;
-let map = StringMap.add "2.6.21-1.3234.fc8.i686" v map;;
-let v = (parser_15, 2272);;
+let v = (parser_11, 2132);;
+let map = StringMap.add "2.6.21-1.3132.fc7.ppc64" v map;;
+let v = (parser_8, 3780);;
+let map = StringMap.add "2.6.21-1.3132.fc7.x86_64" v map;;
+let v = (parser_11, 2132);;
+let map = StringMap.add "2.6.21-1.3141.fc7.ppc64" v map;;
+let v = (parser_8, 3780);;
+let map = StringMap.add "2.6.21-1.3141.fc7.x86_64" v map;;
+let v = (parser_11, 2132);;
+let map = StringMap.add "2.6.21-1.3144.fc7.ppc64" v map;;
+let v = (parser_8, 3780);;
+let map = StringMap.add "2.6.21-1.3144.fc7.x86_64" v map;;
+let v = (parser_11, 2112);;
+let map = StringMap.add "2.6.21-1.3145.fc7.ppc64" v map;;
+let v = (parser_8, 1880);;
+let map = StringMap.add "2.6.21-1.3145.fc7.x86_64" v map;;
+let v = (parser_13, 2116);;
+let map = StringMap.add "2.6.21-1.3209.fc8.ppc64" v map;;
+let v = (parser_13, 2116);;
+let map = StringMap.add "2.6.21-1.3218.fc8.ppc64" v map;;
+let v = (parser_13, 2116);;
+let map = StringMap.add "2.6.21-1.3221.fc8.ppc64" v map;;
+let v = (parser_11, 2072);;
+let map = StringMap.add "2.6.21-1.3228.fc7.ppc64" v map;;
+let v = (parser_8, 1832);;
+let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
+let v = (parser_16, 2292);;
+let map = StringMap.add "2.6.21-1.3234.fc8.ppc64" v map;;
+let v = (parser_19, 2308);;
+let map = StringMap.add "2.6.21-1.3236.fc8.ppc64" v map;;
+let v = (parser_22, 2276);;
+let map = StringMap.add "2.6.21-1.3238.fc8.ppc64" v map;;
+let v = (parser_22, 2276);;
+let map = StringMap.add "2.6.21-1.3242.fc8.ppc64" v map;;
+let v = (parser_25, 2292);;
+let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc64" v map;;
+let v = (parser_22, 2276);;
+let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc64" v map;;
+let v = (parser_28, 2272);;
 let map = StringMap.add "2.6.23.14-135.fc8.ppc64" v map;;
 let map = StringMap.add "2.6.23.14-135.fc8.ppc64" v map;;
-let v = (parser_5, 2112);;
-let map = StringMap.add "2.6.20-1.2933.fc6.ppc64" v map;;
-let v = (parser_11, 1936);;
-let map = StringMap.add "2.6.24-9.fc9.ppc" v map;;
-let v = (parser_27, 1548);;
-let map = StringMap.add "2.6.23.14-78.fc7.i586" v map;;
+let v = (parser_30, 2492);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc64" v map;;
+let v = (parser_30, 2492);;
+let map = StringMap.add "2.6.24-7.fc9.ppc64" v map;;
+let v = (parser_30, 2492);;
+let map = StringMap.add "2.6.24-9.fc9.ppc64" v map;;
+let v = (parser_10, 1592);;
+let map = StringMap.add "2.6.18-1.2798.fc6.ppc" v map;;
+let v = (parser_10, 1608);;
+let map = StringMap.add "2.6.20-1.2933.fc6.ppc" v map;;
+let v = (parser_10, 1620);;
+let map = StringMap.add "2.6.21-1.3128.fc7.ppc" v map;;
+let v = (parser_10, 1620);;
+let map = StringMap.add "2.6.21-1.3132.fc7.ppc" v map;;
+let v = (parser_10, 1620);;
+let map = StringMap.add "2.6.21-1.3141.fc7.ppc" v map;;
+let v = (parser_10, 1620);;
+let map = StringMap.add "2.6.21-1.3144.fc7.ppc" v map;;
+let v = (parser_10, 1608);;
+let map = StringMap.add "2.6.21-1.3145.fc7.ppc" v map;;
+let v = (parser_10, 1628);;
+let map = StringMap.add "2.6.21-1.3209.fc8.ppc" v map;;
+let v = (parser_10, 1628);;
+let map = StringMap.add "2.6.21-1.3218.fc8.ppc" v map;;
+let v = (parser_10, 1628);;
+let map = StringMap.add "2.6.21-1.3221.fc8.ppc" v map;;
+let v = (parser_10, 1584);;
+let map = StringMap.add "2.6.21-1.3228.fc7.ppc" v map;;
+let v = (parser_15, 1796);;
+let map = StringMap.add "2.6.21-1.3234.fc8.ppc" v map;;
+let v = (parser_18, 1796);;
+let map = StringMap.add "2.6.21-1.3236.fc8.ppc" v map;;
+let v = (parser_21, 1772);;
+let map = StringMap.add "2.6.21-1.3238.fc8.ppc" v map;;
+let v = (parser_21, 1772);;
+let map = StringMap.add "2.6.21-1.3242.fc8.ppc" v map;;
 let v = (parser_24, 1772);;
 let v = (parser_24, 1772);;
+let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc" v map;;
+let v = (parser_21, 1772);;
 let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc" v map;;
 let map = StringMap.add "2.6.22-0.rc7.2.fc8.ppc" v map;;
-let v = (parser_31, 2872);;
-let map = StringMap.add "2.6.21-1.3242.fc8.i686" v map;;
-let v = (parser_5, 2132);;
-let map = StringMap.add "2.6.21-1.3128.fc7.ppc64" v map;;
-let v = (parser_11, 1948);;
+let v = (parser_27, 1760);;
+let map = StringMap.add "2.6.23.14-135.fc8.ppc" v map;;
+let v = (parser_27, 1760);;
+let map = StringMap.add "2.6.23.14-78.fc7.ppc" v map;;
+let v = (parser_29, 1948);;
+let map = StringMap.add "2.6.24-0.167.rc8.git4.fc9.ppc" v map;;
+let v = (parser_29, 1948);;
 let map = StringMap.add "2.6.24-7.fc9.ppc" v map;;
 let map = StringMap.add "2.6.24-7.fc9.ppc" v map;;
-let v = (parser_10, 2116);;
-let map = StringMap.add "2.6.21-1.3209.fc8.ppc64" v map;;
-let v = (parser_16, 1592);;
-let map = StringMap.add "2.6.18-1.2798.fc6.ppc" v map;;
-let v = (parser_25, 2856);;
-let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.i686" v map;;
-let v = (parser_27, 1548);;
-let map = StringMap.add "2.6.23.14-135.fc8.i586" v map;;
-let v = (parser_1, 2704);;
+let v = (parser_29, 1948);;
+let map = StringMap.add "2.6.24-9.fc9.ppc" v map;;
+let v = (parser_1, 1384);;
+let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;;
+let v = (parser_12, 1928);;
+let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
+let v = (parser_1, 1400);;
 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
-let v = (parser_10, 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;;
-let v = (parser_16, 1608);;
-let map = StringMap.add "2.6.21-1.3145.fc7.ppc" v map;;
-let v = (parser_1, 2712);;
-let map = StringMap.add "2.6.21-1.3221.fc8.i586" v map;;
+let v = (parser_8, 1920);;
+let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
 type kernel_version = string;;
 let task_struct_known version = StringMap.mem version map;;
 let task_struct_size version =
 type kernel_version = string;;
 let task_struct_known version = StringMap.mem version map;;
 let task_struct_size version =
index 8cbdae4..68c9d84 100644 (file)
@@ -7,6 +7,7 @@ type t =
     task_struct_tasks'next : Virt_mem_mmap.addr;
     task_struct_tasks'prev : Virt_mem_mmap.addr
   };;
     task_struct_tasks'next : Virt_mem_mmap.addr;
     task_struct_tasks'prev : Virt_mem_mmap.addr
   };;
+val struct_name : string;;
 type kernel_version = string;;
 val task_struct_known : kernel_version -> bool;;
 val task_struct_size : kernel_version -> int;;
 type kernel_version = string;;
 val task_struct_known : kernel_version -> bool;;
 val task_struct_size : kernel_version -> int;;