2 "This code is automatically generated from the kernel database by kerneldb-to-parser program. Any edits you make will be lost.";;
4 exception ParseError of string * string * string;;
6 { task_struct_active_mm : Virt_mem_mmap.addr; task_struct_comm : string;
7 task_struct_mm : Virt_mem_mmap.addr; task_struct_normal_prio : int64;
8 task_struct_pid : int64; task_struct_prio : int64;
9 task_struct_state : int64; task_struct_static_prio : int64;
10 task_struct_tasks'next : Virt_mem_mmap.addr;
11 task_struct_tasks'prev : Virt_mem_mmap.addr
13 let parser_1 bits = bitmatch bits with
14 | { task_struct_state : zero+32 : offset(0), littleendian;
15 task_struct_prio : zero+32 : offset(192), littleendian;
16 task_struct_static_prio : zero+32 : offset(224), littleendian;
17 task_struct_normal_prio : zero+32 : offset(256), littleendian;
18 task_struct_tasks'next : zero+32 : offset(992), littleendian;
19 task_struct_tasks'prev : zero+32 : offset(1024), littleendian;
20 task_struct_mm : zero+32 : offset(1056), littleendian;
21 task_struct_active_mm : zero+32 : offset(1088), littleendian;
22 task_struct_pid : zero+32 : offset(1344), littleendian;
23 task_struct_comm : 128 : offset(3232), string } -> { task_struct_state = task_struct_state;
24 task_struct_prio = task_struct_prio;
25 task_struct_static_prio = task_struct_static_prio;
26 task_struct_normal_prio = task_struct_normal_prio;
27 task_struct_tasks'next = Int64.sub task_struct_tasks'next 124L;
28 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 128L;
29 task_struct_mm = task_struct_mm;
30 task_struct_active_mm = task_struct_active_mm;
31 task_struct_pid = task_struct_pid;
32 task_struct_comm = task_struct_comm }
33 | { _ } -> raise (ParseError ("task_struct", "parser_1", "failed to match kernel structure"));;
34 let parser_2 bits = bitmatch bits with
35 | { task_struct_state : zero+32 : offset(0), bigendian;
36 task_struct_prio : zero+32 : offset(160), bigendian;
37 task_struct_static_prio : zero+32 : offset(192), bigendian;
38 task_struct_normal_prio : zero+32 : offset(224), bigendian;
39 task_struct_tasks'next : zero+32 : offset(2176), bigendian;
40 task_struct_tasks'prev : zero+32 : offset(2208), bigendian;
41 task_struct_mm : zero+32 : offset(2240), bigendian;
42 task_struct_active_mm : zero+32 : offset(2272), bigendian;
43 task_struct_pid : zero+32 : offset(2528), bigendian;
44 task_struct_comm : 128 : offset(4416), string } -> { task_struct_state = task_struct_state;
45 task_struct_prio = task_struct_prio;
46 task_struct_static_prio = task_struct_static_prio;
47 task_struct_normal_prio = task_struct_normal_prio;
48 task_struct_tasks'next = Int64.sub task_struct_tasks'next 272L;
49 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 276L;
50 task_struct_mm = task_struct_mm;
51 task_struct_active_mm = task_struct_active_mm;
52 task_struct_pid = task_struct_pid;
53 task_struct_comm = task_struct_comm }
54 | { _ } -> raise (ParseError ("task_struct", "parser_2", "failed to match kernel structure"));;
55 let parser_3 bits = bitmatch bits with
56 | { task_struct_state : zero+32 : offset(0), bigendian;
57 task_struct_prio : zero+32 : offset(192), bigendian;
58 task_struct_static_prio : zero+32 : offset(224), bigendian;
59 task_struct_normal_prio : zero+32 : offset(256), bigendian;
60 task_struct_tasks'next : zero+32 : offset(2304), bigendian;
61 task_struct_tasks'prev : zero+32 : offset(2336), bigendian;
62 task_struct_mm : zero+32 : offset(2496), bigendian;
63 task_struct_active_mm : zero+32 : offset(2528), bigendian;
64 task_struct_pid : zero+32 : offset(2784), bigendian;
65 task_struct_comm : 128 : offset(4736), string } -> { task_struct_state = task_struct_state;
66 task_struct_prio = task_struct_prio;
67 task_struct_static_prio = task_struct_static_prio;
68 task_struct_normal_prio = task_struct_normal_prio;
69 task_struct_tasks'next = Int64.sub task_struct_tasks'next 288L;
70 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 292L;
71 task_struct_mm = task_struct_mm;
72 task_struct_active_mm = task_struct_active_mm;
73 task_struct_pid = task_struct_pid;
74 task_struct_comm = task_struct_comm }
75 | { _ } -> raise (ParseError ("task_struct", "parser_3", "failed to match kernel structure"));;
76 let parser_4 bits = bitmatch bits with
77 | { task_struct_state : zero+64 : offset(0), littleendian;
78 task_struct_prio : zero+32 : offset(320), littleendian;
79 task_struct_static_prio : zero+32 : offset(352), littleendian;
80 task_struct_normal_prio : zero+32 : offset(384), littleendian;
81 task_struct_tasks'next : zero+64 : offset(1536), littleendian;
82 task_struct_tasks'prev : zero+64 : offset(1600), littleendian;
83 task_struct_mm : zero+64 : offset(1664), littleendian;
84 task_struct_active_mm : zero+64 : offset(1728), littleendian;
85 task_struct_pid : zero+32 : offset(2144), littleendian;
86 task_struct_comm : 128 : offset(5376), string } -> { task_struct_state = task_struct_state;
87 task_struct_prio = task_struct_prio;
88 task_struct_static_prio = task_struct_static_prio;
89 task_struct_normal_prio = task_struct_normal_prio;
90 task_struct_tasks'next = Int64.sub task_struct_tasks'next 192L;
91 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 200L;
92 task_struct_mm = task_struct_mm;
93 task_struct_active_mm = task_struct_active_mm;
94 task_struct_pid = task_struct_pid;
95 task_struct_comm = task_struct_comm }
96 | { _ } -> raise (ParseError ("task_struct", "parser_4", "failed to match kernel structure"));;
97 let parser_5 bits = bitmatch bits with
98 | { task_struct_state : zero+64 : offset(0), littleendian;
99 task_struct_prio : zero+32 : offset(256), littleendian;
100 task_struct_static_prio : zero+32 : offset(288), littleendian;
101 task_struct_normal_prio : zero+32 : offset(320), littleendian;
102 task_struct_tasks'next : zero+64 : offset(2816), littleendian;
103 task_struct_tasks'prev : zero+64 : offset(2880), littleendian;
104 task_struct_mm : zero+64 : offset(3200), littleendian;
105 task_struct_active_mm : zero+64 : offset(3264), littleendian;
106 task_struct_pid : zero+32 : offset(3584), littleendian;
107 task_struct_comm : 128 : offset(6912), string } -> { task_struct_state = task_struct_state;
108 task_struct_prio = task_struct_prio;
109 task_struct_static_prio = task_struct_static_prio;
110 task_struct_normal_prio = task_struct_normal_prio;
111 task_struct_tasks'next = Int64.sub task_struct_tasks'next 352L;
112 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 360L;
113 task_struct_mm = task_struct_mm;
114 task_struct_active_mm = task_struct_active_mm;
115 task_struct_pid = task_struct_pid;
116 task_struct_comm = task_struct_comm }
117 | { _ } -> raise (ParseError ("task_struct", "parser_5", "failed to match kernel structure"));;
118 let parser_6 bits = bitmatch bits with
119 | { task_struct_state : zero+64 : offset(0), bigendian;
120 task_struct_prio : zero+32 : offset(256), bigendian;
121 task_struct_static_prio : zero+32 : offset(288), bigendian;
122 task_struct_normal_prio : zero+32 : offset(320), bigendian;
123 task_struct_tasks'next : zero+64 : offset(1472), bigendian;
124 task_struct_tasks'prev : zero+64 : offset(1536), bigendian;
125 task_struct_mm : zero+64 : offset(1600), bigendian;
126 task_struct_active_mm : zero+64 : offset(1664), bigendian;
127 task_struct_pid : zero+32 : offset(1984), bigendian;
128 task_struct_comm : 128 : offset(5184), string } -> { task_struct_state = task_struct_state;
129 task_struct_prio = task_struct_prio;
130 task_struct_static_prio = task_struct_static_prio;
131 task_struct_normal_prio = task_struct_normal_prio;
132 task_struct_tasks'next = Int64.sub task_struct_tasks'next 184L;
133 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 192L;
134 task_struct_mm = task_struct_mm;
135 task_struct_active_mm = task_struct_active_mm;
136 task_struct_pid = task_struct_pid;
137 task_struct_comm = task_struct_comm }
138 | { _ } -> raise (ParseError ("task_struct", "parser_6", "failed to match kernel structure"));;
139 let parser_7 bits = bitmatch bits with
140 | { task_struct_state : zero+64 : offset(0), bigendian;
141 task_struct_prio : zero+32 : offset(320), bigendian;
142 task_struct_static_prio : zero+32 : offset(352), bigendian;
143 task_struct_normal_prio : zero+32 : offset(384), bigendian;
144 task_struct_tasks'next : zero+64 : offset(1600), bigendian;
145 task_struct_tasks'prev : zero+64 : offset(1664), bigendian;
146 task_struct_mm : zero+64 : offset(1728), bigendian;
147 task_struct_active_mm : zero+64 : offset(1792), bigendian;
148 task_struct_pid : zero+32 : offset(2208), bigendian;
149 task_struct_comm : 128 : offset(5440), string } -> { task_struct_state = task_struct_state;
150 task_struct_prio = task_struct_prio;
151 task_struct_static_prio = task_struct_static_prio;
152 task_struct_normal_prio = task_struct_normal_prio;
153 task_struct_tasks'next = Int64.sub task_struct_tasks'next 200L;
154 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 208L;
155 task_struct_mm = task_struct_mm;
156 task_struct_active_mm = task_struct_active_mm;
157 task_struct_pid = task_struct_pid;
158 task_struct_comm = task_struct_comm }
159 | { _ } -> raise (ParseError ("task_struct", "parser_7", "failed to match kernel structure"));;
160 let parser_8 bits = bitmatch bits with
161 | { task_struct_state : zero+64 : offset(0), littleendian;
162 task_struct_prio : zero+32 : offset(320), littleendian;
163 task_struct_static_prio : zero+32 : offset(352), littleendian;
164 task_struct_normal_prio : zero+32 : offset(384), littleendian;
165 task_struct_tasks'next : zero+64 : offset(1536), littleendian;
166 task_struct_tasks'prev : zero+64 : offset(1600), littleendian;
167 task_struct_mm : zero+64 : offset(1664), littleendian;
168 task_struct_active_mm : zero+64 : offset(1728), littleendian;
169 task_struct_pid : zero+32 : offset(2144), littleendian;
170 task_struct_comm : 128 : offset(5440), string } -> { task_struct_state = task_struct_state;
171 task_struct_prio = task_struct_prio;
172 task_struct_static_prio = task_struct_static_prio;
173 task_struct_normal_prio = task_struct_normal_prio;
174 task_struct_tasks'next = Int64.sub task_struct_tasks'next 192L;
175 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 200L;
176 task_struct_mm = task_struct_mm;
177 task_struct_active_mm = task_struct_active_mm;
178 task_struct_pid = task_struct_pid;
179 task_struct_comm = task_struct_comm }
180 | { _ } -> raise (ParseError ("task_struct", "parser_8", "failed to match kernel structure"));;
181 let parser_9 bits = bitmatch bits with
182 | { task_struct_state : zero+64 : offset(0), littleendian;
183 task_struct_prio : zero+32 : offset(224), littleendian;
184 task_struct_static_prio : zero+32 : offset(256), littleendian;
185 task_struct_normal_prio : zero+32 : offset(288), littleendian;
186 task_struct_tasks'next : zero+64 : offset(2816), littleendian;
187 task_struct_tasks'prev : zero+64 : offset(2880), littleendian;
188 task_struct_mm : zero+64 : offset(2944), littleendian;
189 task_struct_active_mm : zero+64 : offset(3008), littleendian;
190 task_struct_pid : zero+32 : offset(3328), littleendian;
191 task_struct_comm : 128 : offset(6592), string } -> { task_struct_state = task_struct_state;
192 task_struct_prio = task_struct_prio;
193 task_struct_static_prio = task_struct_static_prio;
194 task_struct_normal_prio = task_struct_normal_prio;
195 task_struct_tasks'next = Int64.sub task_struct_tasks'next 352L;
196 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 360L;
197 task_struct_mm = task_struct_mm;
198 task_struct_active_mm = task_struct_active_mm;
199 task_struct_pid = task_struct_pid;
200 task_struct_comm = task_struct_comm }
201 | { _ } -> raise (ParseError ("task_struct", "parser_9", "failed to match kernel structure"));;
202 let parser_10 bits = bitmatch bits with
203 | { task_struct_state : zero+32 : offset(0), bigendian;
204 task_struct_prio : zero+32 : offset(192), bigendian;
205 task_struct_static_prio : zero+32 : offset(224), bigendian;
206 task_struct_normal_prio : zero+32 : offset(256), bigendian;
207 task_struct_tasks'next : zero+32 : offset(1024), bigendian;
208 task_struct_tasks'prev : zero+32 : offset(1056), bigendian;
209 task_struct_mm : zero+32 : offset(1088), bigendian;
210 task_struct_active_mm : zero+32 : offset(1120), bigendian;
211 task_struct_pid : zero+32 : offset(1376), bigendian;
212 task_struct_comm : 128 : offset(3264), string } -> { task_struct_state = task_struct_state;
213 task_struct_prio = task_struct_prio;
214 task_struct_static_prio = task_struct_static_prio;
215 task_struct_normal_prio = task_struct_normal_prio;
216 task_struct_tasks'next = Int64.sub task_struct_tasks'next 128L;
217 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 132L;
218 task_struct_mm = task_struct_mm;
219 task_struct_active_mm = task_struct_active_mm;
220 task_struct_pid = task_struct_pid;
221 task_struct_comm = task_struct_comm }
222 | { _ } -> raise (ParseError ("task_struct", "parser_10", "failed to match kernel structure"));;
223 let parser_11 bits = bitmatch bits with
224 | { task_struct_state : zero+64 : offset(0), bigendian;
225 task_struct_prio : zero+32 : offset(224), bigendian;
226 task_struct_static_prio : zero+32 : offset(256), bigendian;
227 task_struct_normal_prio : zero+32 : offset(288), bigendian;
228 task_struct_tasks'next : zero+64 : offset(2880), bigendian;
229 task_struct_tasks'prev : zero+64 : offset(2944), bigendian;
230 task_struct_mm : zero+64 : offset(3008), bigendian;
231 task_struct_active_mm : zero+64 : offset(3072), bigendian;
232 task_struct_pid : zero+32 : offset(3392), bigendian;
233 task_struct_comm : 128 : offset(6592), string } -> { task_struct_state = task_struct_state;
234 task_struct_prio = task_struct_prio;
235 task_struct_static_prio = task_struct_static_prio;
236 task_struct_normal_prio = task_struct_normal_prio;
237 task_struct_tasks'next = Int64.sub task_struct_tasks'next 360L;
238 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 368L;
239 task_struct_mm = task_struct_mm;
240 task_struct_active_mm = task_struct_active_mm;
241 task_struct_pid = task_struct_pid;
242 task_struct_comm = task_struct_comm }
243 | { _ } -> raise (ParseError ("task_struct", "parser_11", "failed to match kernel structure"));;
244 let parser_12 bits = bitmatch bits with
245 | { task_struct_state : zero+32 : offset(0), littleendian;
246 task_struct_prio : zero+32 : offset(192), littleendian;
247 task_struct_static_prio : zero+32 : offset(224), littleendian;
248 task_struct_normal_prio : zero+32 : offset(256), littleendian;
249 task_struct_tasks'next : zero+32 : offset(2208), littleendian;
250 task_struct_tasks'prev : zero+32 : offset(2240), littleendian;
251 task_struct_mm : zero+32 : offset(2400), littleendian;
252 task_struct_active_mm : zero+32 : offset(2432), littleendian;
253 task_struct_pid : zero+32 : offset(2688), littleendian;
254 task_struct_comm : 128 : offset(4608), string } -> { task_struct_state = task_struct_state;
255 task_struct_prio = task_struct_prio;
256 task_struct_static_prio = task_struct_static_prio;
257 task_struct_normal_prio = task_struct_normal_prio;
258 task_struct_tasks'next = Int64.sub task_struct_tasks'next 276L;
259 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 280L;
260 task_struct_mm = task_struct_mm;
261 task_struct_active_mm = task_struct_active_mm;
262 task_struct_pid = task_struct_pid;
263 task_struct_comm = task_struct_comm }
264 | { _ } -> raise (ParseError ("task_struct", "parser_12", "failed to match kernel structure"));;
265 let parser_13 bits = bitmatch bits with
266 | { task_struct_state : zero+64 : offset(0), littleendian;
267 task_struct_prio : zero+32 : offset(224), littleendian;
268 task_struct_static_prio : zero+32 : offset(256), littleendian;
269 task_struct_normal_prio : zero+32 : offset(288), littleendian;
270 task_struct_tasks'next : zero+64 : offset(3648), littleendian;
271 task_struct_tasks'prev : zero+64 : offset(3712), littleendian;
272 task_struct_mm : zero+64 : offset(3776), littleendian;
273 task_struct_active_mm : zero+64 : offset(3840), littleendian;
274 task_struct_pid : zero+32 : offset(4160), littleendian;
275 task_struct_comm : 128 : offset(7816), string } -> { task_struct_state = task_struct_state;
276 task_struct_prio = task_struct_prio;
277 task_struct_static_prio = task_struct_static_prio;
278 task_struct_normal_prio = task_struct_normal_prio;
279 task_struct_tasks'next = Int64.sub task_struct_tasks'next 456L;
280 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 464L;
281 task_struct_mm = task_struct_mm;
282 task_struct_active_mm = task_struct_active_mm;
283 task_struct_pid = task_struct_pid;
284 task_struct_comm = task_struct_comm }
285 | { _ } -> raise (ParseError ("task_struct", "parser_13", "failed to match kernel structure"));;
286 let parser_14 bits = bitmatch bits with
287 | { task_struct_state : zero+64 : offset(0), bigendian;
288 task_struct_prio : zero+32 : offset(256), bigendian;
289 task_struct_static_prio : zero+32 : offset(288), bigendian;
290 task_struct_normal_prio : zero+32 : offset(320), bigendian;
291 task_struct_tasks'next : zero+64 : offset(2688), bigendian;
292 task_struct_tasks'prev : zero+64 : offset(2752), bigendian;
293 task_struct_mm : zero+64 : offset(3072), bigendian;
294 task_struct_active_mm : zero+64 : offset(3136), bigendian;
295 task_struct_pid : zero+32 : offset(3456), bigendian;
296 task_struct_comm : 128 : offset(6720), string } -> { task_struct_state = task_struct_state;
297 task_struct_prio = task_struct_prio;
298 task_struct_static_prio = task_struct_static_prio;
299 task_struct_normal_prio = task_struct_normal_prio;
300 task_struct_tasks'next = Int64.sub task_struct_tasks'next 336L;
301 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 344L;
302 task_struct_mm = task_struct_mm;
303 task_struct_active_mm = task_struct_active_mm;
304 task_struct_pid = task_struct_pid;
305 task_struct_comm = task_struct_comm }
306 | { _ } -> raise (ParseError ("task_struct", "parser_14", "failed to match kernel structure"));;
307 let parser_15 bits = bitmatch bits with
308 | { task_struct_state : zero+64 : offset(0), littleendian;
309 task_struct_prio : zero+32 : offset(224), littleendian;
310 task_struct_static_prio : zero+32 : offset(256), littleendian;
311 task_struct_normal_prio : zero+32 : offset(288), littleendian;
312 task_struct_tasks'next : zero+64 : offset(3840), littleendian;
313 task_struct_tasks'prev : zero+64 : offset(3904), littleendian;
314 task_struct_mm : zero+64 : offset(3968), littleendian;
315 task_struct_active_mm : zero+64 : offset(4032), littleendian;
316 task_struct_pid : zero+32 : offset(4352), littleendian;
317 task_struct_comm : 128 : offset(8392), string } -> { task_struct_state = task_struct_state;
318 task_struct_prio = task_struct_prio;
319 task_struct_static_prio = task_struct_static_prio;
320 task_struct_normal_prio = task_struct_normal_prio;
321 task_struct_tasks'next = Int64.sub task_struct_tasks'next 480L;
322 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 488L;
323 task_struct_mm = task_struct_mm;
324 task_struct_active_mm = task_struct_active_mm;
325 task_struct_pid = task_struct_pid;
326 task_struct_comm = task_struct_comm }
327 | { _ } -> raise (ParseError ("task_struct", "parser_15", "failed to match kernel structure"));;
328 let parser_16 bits = bitmatch bits with
329 | { task_struct_state : zero+32 : offset(0), littleendian;
330 task_struct_prio : zero+32 : offset(160), littleendian;
331 task_struct_static_prio : zero+32 : offset(192), littleendian;
332 task_struct_normal_prio : zero+32 : offset(224), littleendian;
333 task_struct_tasks'next : zero+32 : offset(3008), littleendian;
334 task_struct_tasks'prev : zero+32 : offset(3040), littleendian;
335 task_struct_mm : zero+32 : offset(3072), littleendian;
336 task_struct_active_mm : zero+32 : offset(3104), littleendian;
337 task_struct_pid : zero+32 : offset(3360), littleendian;
338 task_struct_comm : 128 : offset(5416), string } -> { task_struct_state = task_struct_state;
339 task_struct_prio = task_struct_prio;
340 task_struct_static_prio = task_struct_static_prio;
341 task_struct_normal_prio = task_struct_normal_prio;
342 task_struct_tasks'next = Int64.sub task_struct_tasks'next 376L;
343 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 380L;
344 task_struct_mm = task_struct_mm;
345 task_struct_active_mm = task_struct_active_mm;
346 task_struct_pid = task_struct_pid;
347 task_struct_comm = task_struct_comm }
348 | { _ } -> raise (ParseError ("task_struct", "parser_16", "failed to match kernel structure"));;
349 let parser_17 bits = bitmatch bits with
350 | { task_struct_state : zero+64 : offset(0), bigendian;
351 task_struct_prio : zero+32 : offset(224), bigendian;
352 task_struct_static_prio : zero+32 : offset(256), bigendian;
353 task_struct_normal_prio : zero+32 : offset(288), bigendian;
354 task_struct_tasks'next : zero+64 : offset(3648), bigendian;
355 task_struct_tasks'prev : zero+64 : offset(3712), bigendian;
356 task_struct_mm : zero+64 : offset(3776), bigendian;
357 task_struct_active_mm : zero+64 : offset(3840), bigendian;
358 task_struct_pid : zero+32 : offset(4160), bigendian;
359 task_struct_comm : 128 : offset(7752), string } -> { task_struct_state = task_struct_state;
360 task_struct_prio = task_struct_prio;
361 task_struct_static_prio = task_struct_static_prio;
362 task_struct_normal_prio = task_struct_normal_prio;
363 task_struct_tasks'next = Int64.sub task_struct_tasks'next 456L;
364 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 464L;
365 task_struct_mm = task_struct_mm;
366 task_struct_active_mm = task_struct_active_mm;
367 task_struct_pid = task_struct_pid;
368 task_struct_comm = task_struct_comm }
369 | { _ } -> raise (ParseError ("task_struct", "parser_17", "failed to match kernel structure"));;
370 let parser_18 bits = bitmatch bits with
371 | { task_struct_state : zero+32 : offset(0), littleendian;
372 task_struct_prio : zero+32 : offset(160), littleendian;
373 task_struct_static_prio : zero+32 : offset(192), littleendian;
374 task_struct_normal_prio : zero+32 : offset(224), littleendian;
375 task_struct_tasks'next : zero+32 : offset(2144), littleendian;
376 task_struct_tasks'prev : zero+32 : offset(2176), littleendian;
377 task_struct_mm : zero+32 : offset(2208), littleendian;
378 task_struct_active_mm : zero+32 : offset(2240), littleendian;
379 task_struct_pid : zero+32 : offset(2496), littleendian;
380 task_struct_comm : 128 : offset(4384), string } -> { task_struct_state = task_struct_state;
381 task_struct_prio = task_struct_prio;
382 task_struct_static_prio = task_struct_static_prio;
383 task_struct_normal_prio = task_struct_normal_prio;
384 task_struct_tasks'next = Int64.sub task_struct_tasks'next 268L;
385 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 272L;
386 task_struct_mm = task_struct_mm;
387 task_struct_active_mm = task_struct_active_mm;
388 task_struct_pid = task_struct_pid;
389 task_struct_comm = task_struct_comm }
390 | { _ } -> raise (ParseError ("task_struct", "parser_18", "failed to match kernel structure"));;
391 let parser_19 bits = bitmatch bits with
392 | { task_struct_state : zero+64 : offset(0), bigendian;
393 task_struct_prio : zero+32 : offset(256), bigendian;
394 task_struct_static_prio : zero+32 : offset(288), bigendian;
395 task_struct_normal_prio : zero+32 : offset(320), bigendian;
396 task_struct_tasks'next : zero+64 : offset(2880), bigendian;
397 task_struct_tasks'prev : zero+64 : offset(2944), bigendian;
398 task_struct_mm : zero+64 : offset(3264), bigendian;
399 task_struct_active_mm : zero+64 : offset(3328), bigendian;
400 task_struct_pid : zero+32 : offset(3648), bigendian;
401 task_struct_comm : 128 : offset(6912), string } -> { task_struct_state = task_struct_state;
402 task_struct_prio = task_struct_prio;
403 task_struct_static_prio = task_struct_static_prio;
404 task_struct_normal_prio = task_struct_normal_prio;
405 task_struct_tasks'next = Int64.sub task_struct_tasks'next 360L;
406 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 368L;
407 task_struct_mm = task_struct_mm;
408 task_struct_active_mm = task_struct_active_mm;
409 task_struct_pid = task_struct_pid;
410 task_struct_comm = task_struct_comm }
411 | { _ } -> raise (ParseError ("task_struct", "parser_19", "failed to match kernel structure"));;
412 let parser_20 bits = bitmatch bits with
413 | { task_struct_state : zero+32 : offset(0), bigendian;
414 task_struct_prio : zero+32 : offset(160), bigendian;
415 task_struct_static_prio : zero+32 : offset(192), bigendian;
416 task_struct_normal_prio : zero+32 : offset(224), bigendian;
417 task_struct_tasks'next : zero+32 : offset(3136), bigendian;
418 task_struct_tasks'prev : zero+32 : offset(3168), bigendian;
419 task_struct_mm : zero+32 : offset(3200), bigendian;
420 task_struct_active_mm : zero+32 : offset(3232), bigendian;
421 task_struct_pid : zero+32 : offset(3488), bigendian;
422 task_struct_comm : 128 : offset(5576), string } -> { task_struct_state = task_struct_state;
423 task_struct_prio = task_struct_prio;
424 task_struct_static_prio = task_struct_static_prio;
425 task_struct_normal_prio = task_struct_normal_prio;
426 task_struct_tasks'next = Int64.sub task_struct_tasks'next 392L;
427 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 396L;
428 task_struct_mm = task_struct_mm;
429 task_struct_active_mm = task_struct_active_mm;
430 task_struct_pid = task_struct_pid;
431 task_struct_comm = task_struct_comm }
432 | { _ } -> raise (ParseError ("task_struct", "parser_20", "failed to match kernel structure"));;
433 let parser_21 bits = bitmatch bits with
434 | { task_struct_state : zero+32 : offset(0), littleendian;
435 task_struct_prio : zero+32 : offset(192), littleendian;
436 task_struct_static_prio : zero+32 : offset(224), littleendian;
437 task_struct_normal_prio : zero+32 : offset(256), littleendian;
438 task_struct_tasks'next : zero+32 : offset(2144), littleendian;
439 task_struct_tasks'prev : zero+32 : offset(2176), littleendian;
440 task_struct_mm : zero+32 : offset(2336), littleendian;
441 task_struct_active_mm : zero+32 : offset(2368), littleendian;
442 task_struct_pid : zero+32 : offset(2624), littleendian;
443 task_struct_comm : 128 : offset(4544), string } -> { task_struct_state = task_struct_state;
444 task_struct_prio = task_struct_prio;
445 task_struct_static_prio = task_struct_static_prio;
446 task_struct_normal_prio = task_struct_normal_prio;
447 task_struct_tasks'next = Int64.sub task_struct_tasks'next 268L;
448 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 272L;
449 task_struct_mm = task_struct_mm;
450 task_struct_active_mm = task_struct_active_mm;
451 task_struct_pid = task_struct_pid;
452 task_struct_comm = task_struct_comm }
453 | { _ } -> raise (ParseError ("task_struct", "parser_21", "failed to match kernel structure"));;
454 let parser_22 bits = bitmatch bits with
455 | { task_struct_state : zero+64 : offset(0), littleendian;
456 task_struct_prio : zero+32 : offset(320), littleendian;
457 task_struct_static_prio : zero+32 : offset(352), littleendian;
458 task_struct_normal_prio : zero+32 : offset(384), littleendian;
459 task_struct_tasks'next : zero+64 : offset(1728), littleendian;
460 task_struct_tasks'prev : zero+64 : offset(1792), littleendian;
461 task_struct_mm : zero+64 : offset(1856), littleendian;
462 task_struct_active_mm : zero+64 : offset(1920), littleendian;
463 task_struct_pid : zero+32 : offset(2336), littleendian;
464 task_struct_comm : 128 : offset(5568), string } -> { task_struct_state = task_struct_state;
465 task_struct_prio = task_struct_prio;
466 task_struct_static_prio = task_struct_static_prio;
467 task_struct_normal_prio = task_struct_normal_prio;
468 task_struct_tasks'next = Int64.sub task_struct_tasks'next 216L;
469 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 224L;
470 task_struct_mm = task_struct_mm;
471 task_struct_active_mm = task_struct_active_mm;
472 task_struct_pid = task_struct_pid;
473 task_struct_comm = task_struct_comm }
474 | { _ } -> raise (ParseError ("task_struct", "parser_22", "failed to match kernel structure"));;
475 let parser_23 bits = bitmatch bits with
476 | { task_struct_state : zero+64 : offset(0), littleendian;
477 task_struct_prio : zero+32 : offset(256), littleendian;
478 task_struct_static_prio : zero+32 : offset(288), littleendian;
479 task_struct_normal_prio : zero+32 : offset(320), littleendian;
480 task_struct_tasks'next : zero+64 : offset(1408), littleendian;
481 task_struct_tasks'prev : zero+64 : offset(1472), littleendian;
482 task_struct_mm : zero+64 : offset(1536), littleendian;
483 task_struct_active_mm : zero+64 : offset(1600), littleendian;
484 task_struct_pid : zero+32 : offset(1920), littleendian;
485 task_struct_comm : 128 : offset(5184), string } -> { task_struct_state = task_struct_state;
486 task_struct_prio = task_struct_prio;
487 task_struct_static_prio = task_struct_static_prio;
488 task_struct_normal_prio = task_struct_normal_prio;
489 task_struct_tasks'next = Int64.sub task_struct_tasks'next 176L;
490 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 184L;
491 task_struct_mm = task_struct_mm;
492 task_struct_active_mm = task_struct_active_mm;
493 task_struct_pid = task_struct_pid;
494 task_struct_comm = task_struct_comm }
495 | { _ } -> raise (ParseError ("task_struct", "parser_23", "failed to match kernel structure"));;
496 let parser_24 bits = bitmatch bits with
497 | { task_struct_state : zero+32 : offset(0), bigendian;
498 task_struct_prio : zero+32 : offset(192), bigendian;
499 task_struct_static_prio : zero+32 : offset(224), bigendian;
500 task_struct_normal_prio : zero+32 : offset(256), bigendian;
501 task_struct_tasks'next : zero+32 : offset(2240), bigendian;
502 task_struct_tasks'prev : zero+32 : offset(2272), bigendian;
503 task_struct_mm : zero+32 : offset(2432), bigendian;
504 task_struct_active_mm : zero+32 : offset(2464), bigendian;
505 task_struct_pid : zero+32 : offset(2720), bigendian;
506 task_struct_comm : 128 : offset(4672), string } -> { task_struct_state = task_struct_state;
507 task_struct_prio = task_struct_prio;
508 task_struct_static_prio = task_struct_static_prio;
509 task_struct_normal_prio = task_struct_normal_prio;
510 task_struct_tasks'next = Int64.sub task_struct_tasks'next 280L;
511 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 284L;
512 task_struct_mm = task_struct_mm;
513 task_struct_active_mm = task_struct_active_mm;
514 task_struct_pid = task_struct_pid;
515 task_struct_comm = task_struct_comm }
516 | { _ } -> raise (ParseError ("task_struct", "parser_24", "failed to match kernel structure"));;
517 let parser_25 bits = bitmatch bits with
518 | { task_struct_state : zero+32 : offset(0), littleendian;
519 task_struct_prio : zero+32 : offset(160), littleendian;
520 task_struct_static_prio : zero+32 : offset(192), littleendian;
521 task_struct_normal_prio : zero+32 : offset(224), littleendian;
522 task_struct_tasks'next : zero+32 : offset(3232), littleendian;
523 task_struct_tasks'prev : zero+32 : offset(3264), littleendian;
524 task_struct_mm : zero+32 : offset(3296), littleendian;
525 task_struct_active_mm : zero+32 : offset(3328), littleendian;
526 task_struct_pid : zero+32 : offset(3584), littleendian;
527 task_struct_comm : 128 : offset(5928), string } -> { task_struct_state = task_struct_state;
528 task_struct_prio = task_struct_prio;
529 task_struct_static_prio = task_struct_static_prio;
530 task_struct_normal_prio = task_struct_normal_prio;
531 task_struct_tasks'next = Int64.sub task_struct_tasks'next 404L;
532 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 408L;
533 task_struct_mm = task_struct_mm;
534 task_struct_active_mm = task_struct_active_mm;
535 task_struct_pid = task_struct_pid;
536 task_struct_comm = task_struct_comm }
537 | { _ } -> raise (ParseError ("task_struct", "parser_25", "failed to match kernel structure"));;
538 let parser_26 bits = bitmatch bits with
539 | { task_struct_state : zero+32 : offset(0), bigendian;
540 task_struct_prio : zero+32 : offset(160), bigendian;
541 task_struct_static_prio : zero+32 : offset(192), bigendian;
542 task_struct_normal_prio : zero+32 : offset(224), bigendian;
543 task_struct_tasks'next : zero+32 : offset(2240), bigendian;
544 task_struct_tasks'prev : zero+32 : offset(2272), bigendian;
545 task_struct_mm : zero+32 : offset(2304), bigendian;
546 task_struct_active_mm : zero+32 : offset(2336), bigendian;
547 task_struct_pid : zero+32 : offset(2592), bigendian;
548 task_struct_comm : 128 : offset(4480), string } -> { task_struct_state = task_struct_state;
549 task_struct_prio = task_struct_prio;
550 task_struct_static_prio = task_struct_static_prio;
551 task_struct_normal_prio = task_struct_normal_prio;
552 task_struct_tasks'next = Int64.sub task_struct_tasks'next 280L;
553 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 284L;
554 task_struct_mm = task_struct_mm;
555 task_struct_active_mm = task_struct_active_mm;
556 task_struct_pid = task_struct_pid;
557 task_struct_comm = task_struct_comm }
558 | { _ } -> raise (ParseError ("task_struct", "parser_26", "failed to match kernel structure"));;
559 let parser_27 bits = bitmatch bits with
560 | { task_struct_state : zero+64 : offset(0), littleendian;
561 task_struct_prio : zero+32 : offset(256), littleendian;
562 task_struct_static_prio : zero+32 : offset(288), littleendian;
563 task_struct_normal_prio : zero+32 : offset(320), littleendian;
564 task_struct_tasks'next : zero+64 : offset(2624), littleendian;
565 task_struct_tasks'prev : zero+64 : offset(2688), littleendian;
566 task_struct_mm : zero+64 : offset(3008), littleendian;
567 task_struct_active_mm : zero+64 : offset(3072), littleendian;
568 task_struct_pid : zero+32 : offset(3392), littleendian;
569 task_struct_comm : 128 : offset(6720), string } -> { task_struct_state = task_struct_state;
570 task_struct_prio = task_struct_prio;
571 task_struct_static_prio = task_struct_static_prio;
572 task_struct_normal_prio = task_struct_normal_prio;
573 task_struct_tasks'next = Int64.sub task_struct_tasks'next 328L;
574 task_struct_tasks'prev = Int64.sub task_struct_tasks'prev 336L;
575 task_struct_mm = task_struct_mm;
576 task_struct_active_mm = task_struct_active_mm;
577 task_struct_pid = task_struct_pid;
578 task_struct_comm = task_struct_comm }
579 | { _ } -> raise (ParseError ("task_struct", "parser_27", "failed to match kernel structure"));;
580 module StringMap = Map.Make(String);;
581 let map = StringMap.empty;;
582 let v = (parser_1, 2704);;
583 let map = StringMap.add "2.6.21-1.3128.fc7.i586" v map;;
584 let v = (parser_2, 1756);;
585 let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc" v map;;
586 let v = (parser_1, 2704);;
587 let map = StringMap.add "2.6.21-1.3128.fc7.i686" v map;;
588 let v = (parser_1, 2704);;
589 let map = StringMap.add "2.6.21-1.3132.fc7.i686" v map;;
590 let v = (parser_3, 1780);;
591 let map = StringMap.add "2.6.21-1.3236.fc8.ppc" v map;;
592 let v = (parser_1, 1376);;
593 let map = StringMap.add "2.6.21-1.3228.fc7.i586" v map;;
594 let v = (parser_4, 1856);;
595 let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
596 let v = (parser_5, 3948);;
597 let map = StringMap.add "2.6.21-1.3236.fc8.x86_64" v map;;
598 let v = (parser_6, 2116);;
599 let map = StringMap.add "2.6.21-1.3218.fc8.ppc64" v map;;
600 let v = (parser_7, 2072);;
601 let map = StringMap.add "2.6.21-1.3228.fc7.ppc64" v map;;
602 let v = (parser_8, 1832);;
603 let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
604 let v = (parser_1, 2712);;
605 let map = StringMap.add "2.6.21-1.3218.fc8.i586" v map;;
606 let v = (parser_9, 3932);;
607 let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.x86_64" v map;;
608 let v = (parser_7, 2132);;
609 let map = StringMap.add "2.6.21-1.3144.fc7.ppc64" v map;;
610 let v = (parser_10, 1612);;
611 let map = StringMap.add "2.6.21-1.3218.fc8.ppc" v map;;
612 let v = (parser_11, 2292);;
613 let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc64" v map;;
614 let v = (parser_12, 2880);;
615 let map = StringMap.add "2.6.21-1.3236.fc8.i686" v map;;
616 let v = (parser_7, 2132);;
617 let map = StringMap.add "2.6.21-1.3132.fc7.ppc64" v map;;
618 let v = (parser_1, 1376);;
619 let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
620 let v = (parser_13, 4684);;
621 let map = StringMap.add "2.6.24-9.fc9.x86_64" v map;;
622 let v = (parser_11, 2292);;
623 let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc64" v map;;
624 let v = (parser_7, 2132);;
625 let map = StringMap.add "2.6.21-1.3132.fc7.ppc64" v map;;
626 let v = (parser_13, 4684);;
627 let map = StringMap.add "2.6.24-7.fc9.x86_64" v map;;
628 let v = (parser_1, 1384);;
629 let map = StringMap.add "2.6.18-1.2798.fc6.i586" v map;;
630 let v = (parser_10, 1620);;
631 let map = StringMap.add "2.6.21-1.3132.fc7.ppc" v map;;
632 let v = (parser_14, 2292);;
633 let map = StringMap.add "2.6.21-1.3234.fc8.ppc64" v map;;
634 let v = (parser_1, 1384);;
635 let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;;
636 let v = (parser_15, 2496);;
637 let map = StringMap.add "2.6.25.11-97.fc9.x86_64" v map;;
638 let v = (parser_1, 1368);;
639 let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;;
640 let v = (parser_16, 3540);;
641 let map = StringMap.add "2.6.24-9.fc9.i686" v map;;
642 let v = (parser_17, 2492);;
643 let map = StringMap.add "2.6.24-7.fc9.ppc64" v map;;
644 let v = (parser_18, 2856);;
645 let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.i686" v map;;
646 let v = (parser_19, 2308);;
647 let map = StringMap.add "2.6.21-1.3236.fc8.ppc64" v map;;
648 let v = (parser_10, 1628);;
649 let map = StringMap.add "2.6.21-1.3209.fc8.ppc" v map;;
650 let v = (parser_19, 2308);;
651 let map = StringMap.add "2.6.21-1.3236.fc8.ppc64" v map;;
652 let v = (parser_7, 2072);;
653 let map = StringMap.add "2.6.21-1.3228.fc7.ppc64" v map;;
654 let v = (parser_7, 2132);;
655 let map = StringMap.add "2.6.21-1.3128.fc7.ppc64" v map;;
656 let v = (parser_1, 2712);;
657 let map = StringMap.add "2.6.21-1.3209.fc8.i686" v map;;
658 let v = (parser_8, 3772);;
659 let map = StringMap.add "2.6.21-1.3132.fc7.x86_64" v map;;
660 let v = (parser_17, 2492);;
661 let map = StringMap.add "2.6.24-7.fc9.ppc64" v map;;
662 let v = (parser_8, 3772);;
663 let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
664 let v = (parser_20, 1948);;
665 let map = StringMap.add "2.6.24-9.fc9.ppc" v map;;
666 let v = (parser_10, 1576);;
667 let map = StringMap.add "2.6.18-1.2798.fc6.ppc" v map;;
668 let v = (parser_10, 1620);;
669 let map = StringMap.add "2.6.21-1.3128.fc7.ppc" v map;;
670 let v = (parser_1, 2712);;
671 let map = StringMap.add "2.6.21-1.3209.fc8.i686" v map;;
672 let v = (parser_8, 3772);;
673 let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
674 let v = (parser_21, 2880);;
675 let map = StringMap.add "2.6.21-1.3234.fc8.i686" v map;;
676 let v = (parser_10, 1620);;
677 let map = StringMap.add "2.6.21-1.3144.fc7.ppc" v map;;
678 let v = (parser_7, 2132);;
679 let map = StringMap.add "2.6.21-1.3144.fc7.ppc64" v map;;
680 let v = (parser_17, 2492);;
681 let map = StringMap.add "2.6.24-9.fc9.ppc64" v map;;
682 let v = (parser_10, 1628);;
683 let map = StringMap.add "2.6.21-1.3218.fc8.ppc" v map;;
684 let v = (parser_10, 1604);;
685 let map = StringMap.add "2.6.21-1.3128.fc7.ppc" v map;;
686 let v = (parser_22, 1928);;
687 let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
688 let v = (parser_10, 1604);;
689 let map = StringMap.add "2.6.21-1.3132.fc7.ppc" v map;;
690 let v = (parser_10, 1584);;
691 let map = StringMap.add "2.6.21-1.3228.fc7.ppc" v map;;
692 let v = (parser_17, 2492);;
693 let map = StringMap.add "2.6.24-9.fc9.ppc64" v map;;
694 let v = (parser_6, 2116);;
695 let map = StringMap.add "2.6.21-1.3218.fc8.ppc64" v map;;
696 let v = (parser_7, 2104);;
697 let map = StringMap.add "2.6.18-1.2798.fc6.ppc64" v map;;
698 let v = (parser_8, 3780);;
699 let map = StringMap.add "2.6.21-1.3128.fc7.x86_64" v map;;
700 let v = (parser_1, 1400);;
701 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
702 let v = (parser_8, 3772);;
703 let map = StringMap.add "2.6.21-1.3144.fc7.x86_64" v map;;
704 let v = (parser_7, 2112);;
705 let map = StringMap.add "2.6.20-1.2933.fc6.ppc64" v map;;
706 let v = (parser_2, 1772);;
707 let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc" v map;;
708 let v = (parser_20, 1936);;
709 let map = StringMap.add "2.6.24-7.fc9.ppc" v map;;
710 let v = (parser_10, 1612);;
711 let map = StringMap.add "2.6.21-1.3209.fc8.ppc" v map;;
712 let v = (parser_8, 1920);;
713 let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
714 let v = (parser_1, 2704);;
715 let map = StringMap.add "2.6.21-1.3132.fc7.i586" v map;;
716 let v = (parser_1, 2704);;
717 let map = StringMap.add "2.6.21-1.3144.fc7.i586" v map;;
718 let v = (parser_8, 1880);;
719 let map = StringMap.add "2.6.21-1.3228.fc7.x86_64" v map;;
720 let v = (parser_7, 2088);;
721 let map = StringMap.add "2.6.18-1.2798.fc6.ppc64iseries" v map;;
722 let v = (parser_16, 3540);;
723 let map = StringMap.add "2.6.24-7.fc9.i586" v map;;
724 let v = (parser_10, 1592);;
725 let map = StringMap.add "2.6.20-1.2933.fc6.ppc" v map;;
726 let v = (parser_1, 2712);;
727 let map = StringMap.add "2.6.21-1.3218.fc8.i686" v map;;
728 let v = (parser_1, 2704);;
729 let map = StringMap.add "2.6.21-1.3144.fc7.i686" v map;;
730 let v = (parser_1, 1376);;
731 let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
732 let v = (parser_1, 2712);;
733 let map = StringMap.add "2.6.21-1.3209.fc8.i586" v map;;
734 let v = (parser_23, 3756);;
735 let map = StringMap.add "2.6.21-1.3218.fc8.x86_64" v map;;
736 let v = (parser_7, 2088);;
737 let map = StringMap.add "2.6.18-1.2798.fc6.ppc64iseries" v map;;
738 let v = (parser_1, 2704);;
739 let map = StringMap.add "2.6.21-1.3144.fc7.i686" v map;;
740 let v = (parser_8, 1880);;
741 let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
742 let v = (parser_24, 1796);;
743 let map = StringMap.add "2.6.21-1.3234.fc8.ppc" v map;;
744 let v = (parser_8, 1920);;
745 let map = StringMap.add "2.6.20-1.2933.fc6.x86_64" v map;;
746 let v = (parser_22, 1928);;
747 let map = StringMap.add "2.6.18-1.2798.fc6.x86_64" v map;;
748 let v = (parser_16, 3540);;
749 let map = StringMap.add "2.6.24-7.fc9.i686" v map;;
750 let v = (parser_8, 3780);;
751 let map = StringMap.add "2.6.21-1.3144.fc7.x86_64" v map;;
752 let v = (parser_10, 1608);;
753 let map = StringMap.add "2.6.20-1.2933.fc6.ppc" v map;;
754 let v = (parser_16, 3540);;
755 let map = StringMap.add "2.6.24-7.fc9.i686" v map;;
756 let v = (parser_16, 3540);;
757 let map = StringMap.add "2.6.24-9.fc9.i686" v map;;
758 let v = (parser_1, 2704);;
759 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
760 let v = (parser_25, 1832);;
761 let map = StringMap.add "2.6.25.11-97.fc9.i686" v map;;
762 let v = (parser_1, 2704);;
763 let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
764 let v = (parser_1, 2704);;
765 let map = StringMap.add "2.6.21-1.3228.fc7.i686" v map;;
766 let v = (parser_1, 2704);;
767 let map = StringMap.add "2.6.21-1.3128.fc7.i686" v map;;
768 let v = (parser_10, 1604);;
769 let map = StringMap.add "2.6.21-1.3144.fc7.ppc" v map;;
770 let v = (parser_1, 1400);;
771 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
772 let v = (parser_23, 3756);;
773 let map = StringMap.add "2.6.21-1.3209.fc8.x86_64" v map;;
774 let v = (parser_26, 1756);;
775 let map = StringMap.add "2.6.21-1.3238.fc8.ppc" v map;;
776 let v = (parser_27, 3932);;
777 let map = StringMap.add "2.6.21-1.3234.fc8.x86_64" v map;;
778 let v = (parser_24, 1780);;
779 let map = StringMap.add "2.6.21-1.3234.fc8.ppc" v map;;
780 let v = (parser_14, 2292);;
781 let map = StringMap.add "2.6.21-1.3234.fc8.ppc64" v map;;
782 let v = (parser_1, 1400);;
783 let map = StringMap.add "2.6.20-1.2933.fc6.i586" v map;;
784 let v = (parser_8, 3780);;
785 let map = StringMap.add "2.6.21-1.3132.fc7.x86_64" v map;;
786 let v = (parser_1, 1400);;
787 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
788 let v = (parser_7, 2104);;
789 let map = StringMap.add "2.6.18-1.2798.fc6.ppc64" v map;;
790 let v = (parser_1, 1384);;
791 let map = StringMap.add "2.6.18-1.2798.fc6.i686" v map;;
792 let v = (parser_10, 1560);;
793 let map = StringMap.add "2.6.21-1.3228.fc7.ppc" v map;;
794 let v = (parser_12, 2880);;
795 let map = StringMap.add "2.6.21-1.3236.fc8.i686" v map;;
796 let v = (parser_3, 1796);;
797 let map = StringMap.add "2.6.21-1.3236.fc8.ppc" v map;;
798 let v = (parser_1, 1384);;
799 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
800 let v = (parser_1, 2712);;
801 let map = StringMap.add "2.6.21-1.3218.fc8.i686" v map;;
802 let v = (parser_16, 3540);;
803 let map = StringMap.add "2.6.24-9.fc9.i586" v map;;
804 let v = (parser_8, 3772);;
805 let map = StringMap.add "2.6.21-1.3128.fc7.x86_64" v map;;
806 let v = (parser_21, 2880);;
807 let map = StringMap.add "2.6.21-1.3234.fc8.i686" v map;;
808 let v = (parser_7, 2112);;
809 let map = StringMap.add "2.6.20-1.2933.fc6.ppc64" v map;;
810 let v = (parser_20, 1936);;
811 let map = StringMap.add "2.6.24-9.fc9.ppc" v map;;
812 let v = (parser_7, 2132);;
813 let map = StringMap.add "2.6.21-1.3128.fc7.ppc64" v map;;
814 let v = (parser_20, 1948);;
815 let map = StringMap.add "2.6.24-7.fc9.ppc" v map;;
816 let v = (parser_6, 2116);;
817 let map = StringMap.add "2.6.21-1.3209.fc8.ppc64" v map;;
818 let v = (parser_10, 1592);;
819 let map = StringMap.add "2.6.18-1.2798.fc6.ppc" v map;;
820 let v = (parser_18, 2856);;
821 let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.i686" v map;;
822 let v = (parser_1, 2704);;
823 let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;;
824 let v = (parser_6, 2116);;
825 let map = StringMap.add "2.6.21-1.3209.fc8.ppc64" v map;;
826 let v = (parser_1, 2704);;
827 let map = StringMap.add "2.6.21-1.3132.fc7.i686" v map;;
828 type kernel_version = string;;
829 let task_struct_known version = StringMap.mem version map;;
830 let task_struct_size version =
831 let (_, size) = StringMap.find version map in size;;
832 let task_struct_of_bits version bits =
833 let (parsefn, _) = StringMap.find version map in parsefn bits;;
834 let get_task_struct version mem addr =
835 let (parsefn, size) = StringMap.find version map in
836 let bytes = Virt_mem_mmap.get_bytes mem addr size in
837 let bits = Bitstring.bitstring_of_string bytes in parsefn bits;;