1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 29 "include/asm-generic/int-ll64.h"
17typedef long long __s64;
18#line 30 "include/asm-generic/int-ll64.h"
19typedef unsigned long long __u64;
20#line 43 "include/asm-generic/int-ll64.h"
21typedef unsigned char u8;
22#line 46 "include/asm-generic/int-ll64.h"
23typedef unsigned short u16;
24#line 49 "include/asm-generic/int-ll64.h"
25typedef unsigned int u32;
26#line 51 "include/asm-generic/int-ll64.h"
27typedef long long s64;
28#line 52 "include/asm-generic/int-ll64.h"
29typedef unsigned long long u64;
30#line 11 "include/asm-generic/types.h"
31typedef unsigned short umode_t;
32#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
33typedef unsigned int __kernel_mode_t;
34#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
35typedef int __kernel_pid_t;
36#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
37typedef unsigned int __kernel_uid_t;
38#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
39typedef unsigned int __kernel_gid_t;
40#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
41typedef unsigned long __kernel_size_t;
42#line 19 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
43typedef long __kernel_ssize_t;
44#line 21 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
45typedef long __kernel_time_t;
46#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
47typedef long __kernel_clock_t;
48#line 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
49typedef int __kernel_timer_t;
50#line 25 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
51typedef int __kernel_clockid_t;
52#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
53typedef long long __kernel_loff_t;
54#line 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
55typedef __kernel_uid_t __kernel_uid32_t;
56#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
57typedef __kernel_gid_t __kernel_gid32_t;
58#line 21 "include/linux/types.h"
59typedef __u32 __kernel_dev_t;
60#line 24 "include/linux/types.h"
61typedef __kernel_dev_t dev_t;
62#line 26 "include/linux/types.h"
63typedef __kernel_mode_t mode_t;
64#line 29 "include/linux/types.h"
65typedef __kernel_pid_t pid_t;
66#line 34 "include/linux/types.h"
67typedef __kernel_clockid_t clockid_t;
68#line 37 "include/linux/types.h"
69typedef _Bool bool;
70#line 39 "include/linux/types.h"
71typedef __kernel_uid32_t uid_t;
72#line 40 "include/linux/types.h"
73typedef __kernel_gid32_t gid_t;
74#line 53 "include/linux/types.h"
75typedef __kernel_loff_t loff_t;
76#line 62 "include/linux/types.h"
77typedef __kernel_size_t size_t;
78#line 67 "include/linux/types.h"
79typedef __kernel_ssize_t ssize_t;
80#line 77 "include/linux/types.h"
81typedef __kernel_time_t time_t;
82#line 110 "include/linux/types.h"
83typedef __s32 int32_t;
84#line 116 "include/linux/types.h"
85typedef __u32 uint32_t;
86#line 141 "include/linux/types.h"
87typedef unsigned long sector_t;
88#line 142 "include/linux/types.h"
89typedef unsigned long blkcnt_t;
90#line 154 "include/linux/types.h"
91typedef u64 dma_addr_t;
92#line 177 "include/linux/types.h"
93typedef __u16 __le16;
94#line 201 "include/linux/types.h"
95typedef unsigned int gfp_t;
96#line 202 "include/linux/types.h"
97typedef unsigned int fmode_t;
98#line 212 "include/linux/types.h"
99struct __anonstruct_atomic_t_7 {
100 int counter ;
101};
102#line 212 "include/linux/types.h"
103typedef struct __anonstruct_atomic_t_7 atomic_t;
104#line 217 "include/linux/types.h"
105struct __anonstruct_atomic64_t_8 {
106 long counter ;
107};
108#line 217 "include/linux/types.h"
109typedef struct __anonstruct_atomic64_t_8 atomic64_t;
110#line 222 "include/linux/types.h"
111struct list_head {
112 struct list_head *next ;
113 struct list_head *prev ;
114};
115#line 226
116struct hlist_node;
117#line 226
118struct hlist_node;
119#line 226
120struct hlist_node;
121#line 226 "include/linux/types.h"
122struct hlist_head {
123 struct hlist_node *first ;
124};
125#line 230 "include/linux/types.h"
126struct hlist_node {
127 struct hlist_node *next ;
128 struct hlist_node **pprev ;
129};
130#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
131struct module;
132#line 59
133struct module;
134#line 59
135struct module;
136#line 59
137struct module;
138#line 145 "include/linux/init.h"
139typedef void (*ctor_fn_t)(void);
140#line 10 "include/asm-generic/bug.h"
141struct bug_entry {
142 int bug_addr_disp ;
143 int file_disp ;
144 unsigned short line ;
145 unsigned short flags ;
146};
147#line 113 "include/linux/kernel.h"
148struct completion;
149#line 113
150struct completion;
151#line 113
152struct completion;
153#line 113
154struct completion;
155#line 114
156struct pt_regs;
157#line 114
158struct pt_regs;
159#line 114
160struct pt_regs;
161#line 114
162struct pt_regs;
163#line 322
164struct pid;
165#line 322
166struct pid;
167#line 322
168struct pid;
169#line 322
170struct pid;
171#line 12 "include/linux/thread_info.h"
172struct timespec;
173#line 12
174struct timespec;
175#line 12
176struct timespec;
177#line 12
178struct timespec;
179#line 13
180struct compat_timespec;
181#line 13
182struct compat_timespec;
183#line 13
184struct compat_timespec;
185#line 13
186struct compat_timespec;
187#line 18 "include/linux/thread_info.h"
188struct __anonstruct_futex_11 {
189 u32 *uaddr ;
190 u32 val ;
191 u32 flags ;
192 u32 bitset ;
193 u64 time ;
194 u32 *uaddr2 ;
195};
196#line 18 "include/linux/thread_info.h"
197struct __anonstruct_nanosleep_12 {
198 clockid_t clockid ;
199 struct timespec *rmtp ;
200 struct compat_timespec *compat_rmtp ;
201 u64 expires ;
202};
203#line 18
204struct pollfd;
205#line 18
206struct pollfd;
207#line 18
208struct pollfd;
209#line 18 "include/linux/thread_info.h"
210struct __anonstruct_poll_13 {
211 struct pollfd *ufds ;
212 int nfds ;
213 int has_timeout ;
214 unsigned long tv_sec ;
215 unsigned long tv_nsec ;
216};
217#line 18 "include/linux/thread_info.h"
218union __anonunion____missing_field_name_10 {
219 struct __anonstruct_futex_11 futex ;
220 struct __anonstruct_nanosleep_12 nanosleep ;
221 struct __anonstruct_poll_13 poll ;
222};
223#line 18 "include/linux/thread_info.h"
224struct restart_block {
225 long (*fn)(struct restart_block * ) ;
226 union __anonunion____missing_field_name_10 __annonCompField4 ;
227};
228#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page.h"
229struct page;
230#line 18
231struct page;
232#line 18
233struct page;
234#line 18
235struct page;
236#line 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
237struct task_struct;
238#line 20
239struct task_struct;
240#line 20
241struct task_struct;
242#line 20
243struct task_struct;
244#line 21
245struct exec_domain;
246#line 21
247struct exec_domain;
248#line 21
249struct exec_domain;
250#line 21
251struct exec_domain;
252#line 7 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
253struct task_struct;
254#line 8
255struct mm_struct;
256#line 8
257struct mm_struct;
258#line 8
259struct mm_struct;
260#line 8
261struct mm_struct;
262#line 99 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
263struct pt_regs {
264 unsigned long r15 ;
265 unsigned long r14 ;
266 unsigned long r13 ;
267 unsigned long r12 ;
268 unsigned long bp ;
269 unsigned long bx ;
270 unsigned long r11 ;
271 unsigned long r10 ;
272 unsigned long r9 ;
273 unsigned long r8 ;
274 unsigned long ax ;
275 unsigned long cx ;
276 unsigned long dx ;
277 unsigned long si ;
278 unsigned long di ;
279 unsigned long orig_ax ;
280 unsigned long ip ;
281 unsigned long cs ;
282 unsigned long flags ;
283 unsigned long sp ;
284 unsigned long ss ;
285};
286#line 136
287struct task_struct;
288#line 141 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
289struct kernel_vm86_regs {
290 struct pt_regs pt ;
291 unsigned short es ;
292 unsigned short __esh ;
293 unsigned short ds ;
294 unsigned short __dsh ;
295 unsigned short fs ;
296 unsigned short __fsh ;
297 unsigned short gs ;
298 unsigned short __gsh ;
299};
300#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
301union __anonunion____missing_field_name_14 {
302 struct pt_regs *regs ;
303 struct kernel_vm86_regs *vm86 ;
304};
305#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
306struct math_emu_info {
307 long ___orig_eip ;
308 union __anonunion____missing_field_name_14 __annonCompField5 ;
309};
310#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
311struct task_struct;
312#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
313typedef unsigned long pgdval_t;
314#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
315typedef unsigned long pgprotval_t;
316#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
317struct pgprot {
318 pgprotval_t pgprot ;
319};
320#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
321typedef struct pgprot pgprot_t;
322#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
323struct __anonstruct_pgd_t_17 {
324 pgdval_t pgd ;
325};
326#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
327typedef struct __anonstruct_pgd_t_17 pgd_t;
328#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
329typedef struct page *pgtable_t;
330#line 293
331struct file;
332#line 293
333struct file;
334#line 293
335struct file;
336#line 293
337struct file;
338#line 311
339struct seq_file;
340#line 311
341struct seq_file;
342#line 311
343struct seq_file;
344#line 311
345struct seq_file;
346#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
347struct __anonstruct____missing_field_name_22 {
348 unsigned int a ;
349 unsigned int b ;
350};
351#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
352struct __anonstruct____missing_field_name_23 {
353 u16 limit0 ;
354 u16 base0 ;
355 unsigned int base1 : 8 ;
356 unsigned int type : 4 ;
357 unsigned int s : 1 ;
358 unsigned int dpl : 2 ;
359 unsigned int p : 1 ;
360 unsigned int limit : 4 ;
361 unsigned int avl : 1 ;
362 unsigned int l : 1 ;
363 unsigned int d : 1 ;
364 unsigned int g : 1 ;
365 unsigned int base2 : 8 ;
366};
367#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
368union __anonunion____missing_field_name_21 {
369 struct __anonstruct____missing_field_name_22 __annonCompField7 ;
370 struct __anonstruct____missing_field_name_23 __annonCompField8 ;
371};
372#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
373struct desc_struct {
374 union __anonunion____missing_field_name_21 __annonCompField9 ;
375} __attribute__((__packed__)) ;
376#line 45 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
377struct page;
378#line 46
379struct thread_struct;
380#line 46
381struct thread_struct;
382#line 46
383struct thread_struct;
384#line 46
385struct thread_struct;
386#line 49
387struct mm_struct;
388#line 50
389struct desc_struct;
390#line 51
391struct task_struct;
392#line 52
393struct cpumask;
394#line 52
395struct cpumask;
396#line 52
397struct cpumask;
398#line 52
399struct cpumask;
400#line 322
401struct arch_spinlock;
402#line 322
403struct arch_spinlock;
404#line 322
405struct arch_spinlock;
406#line 322
407struct arch_spinlock;
408#line 13 "include/linux/cpumask.h"
409struct cpumask {
410 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
411};
412#line 13 "include/linux/cpumask.h"
413typedef struct cpumask cpumask_t;
414#line 622 "include/linux/cpumask.h"
415typedef struct cpumask *cpumask_var_t;
416#line 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/system.h"
417struct task_struct;
418#line 10 "include/linux/personality.h"
419struct exec_domain;
420#line 11
421struct pt_regs;
422#line 91
423struct map_segment;
424#line 91
425struct map_segment;
426#line 91
427struct map_segment;
428#line 91 "include/linux/personality.h"
429struct exec_domain {
430 char const *name ;
431 void (*handler)(int , struct pt_regs * ) ;
432 unsigned char pers_low ;
433 unsigned char pers_high ;
434 unsigned long *signal_map ;
435 unsigned long *signal_invmap ;
436 struct map_segment *err_map ;
437 struct map_segment *socktype_map ;
438 struct map_segment *sockopt_map ;
439 struct map_segment *af_map ;
440 struct module *module ;
441 struct exec_domain *next ;
442};
443#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
444struct i387_fsave_struct {
445 u32 cwd ;
446 u32 swd ;
447 u32 twd ;
448 u32 fip ;
449 u32 fcs ;
450 u32 foo ;
451 u32 fos ;
452 u32 st_space[20] ;
453 u32 status ;
454};
455#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
456struct __anonstruct____missing_field_name_31 {
457 u64 rip ;
458 u64 rdp ;
459};
460#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
461struct __anonstruct____missing_field_name_32 {
462 u32 fip ;
463 u32 fcs ;
464 u32 foo ;
465 u32 fos ;
466};
467#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
468union __anonunion____missing_field_name_30 {
469 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
470 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
471};
472#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
473union __anonunion____missing_field_name_33 {
474 u32 padding1[12] ;
475 u32 sw_reserved[12] ;
476};
477#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
478struct i387_fxsave_struct {
479 u16 cwd ;
480 u16 swd ;
481 u16 twd ;
482 u16 fop ;
483 union __anonunion____missing_field_name_30 __annonCompField14 ;
484 u32 mxcsr ;
485 u32 mxcsr_mask ;
486 u32 st_space[32] ;
487 u32 xmm_space[64] ;
488 u32 padding[12] ;
489 union __anonunion____missing_field_name_33 __annonCompField15 ;
490} __attribute__((__aligned__(16))) ;
491#line 331 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
492struct i387_soft_struct {
493 u32 cwd ;
494 u32 swd ;
495 u32 twd ;
496 u32 fip ;
497 u32 fcs ;
498 u32 foo ;
499 u32 fos ;
500 u32 st_space[20] ;
501 u8 ftop ;
502 u8 changed ;
503 u8 lookahead ;
504 u8 no_update ;
505 u8 rm ;
506 u8 alimit ;
507 struct math_emu_info *info ;
508 u32 entry_eip ;
509};
510#line 351 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
511struct ymmh_struct {
512 u32 ymmh_space[64] ;
513};
514#line 356 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
515struct xsave_hdr_struct {
516 u64 xstate_bv ;
517 u64 reserved1[2] ;
518 u64 reserved2[5] ;
519} __attribute__((__packed__)) ;
520#line 362 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
521struct xsave_struct {
522 struct i387_fxsave_struct i387 ;
523 struct xsave_hdr_struct xsave_hdr ;
524 struct ymmh_struct ymmh ;
525} __attribute__((__packed__, __aligned__(64))) ;
526#line 369 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
527union thread_xstate {
528 struct i387_fsave_struct fsave ;
529 struct i387_fxsave_struct fxsave ;
530 struct i387_soft_struct soft ;
531 struct xsave_struct xsave ;
532};
533#line 376 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
534struct fpu {
535 union thread_xstate *state ;
536};
537#line 421
538struct kmem_cache;
539#line 421
540struct kmem_cache;
541#line 421
542struct kmem_cache;
543#line 423
544struct perf_event;
545#line 423
546struct perf_event;
547#line 423
548struct perf_event;
549#line 423
550struct perf_event;
551#line 425 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
552struct thread_struct {
553 struct desc_struct tls_array[3] ;
554 unsigned long sp0 ;
555 unsigned long sp ;
556 unsigned long usersp ;
557 unsigned short es ;
558 unsigned short ds ;
559 unsigned short fsindex ;
560 unsigned short gsindex ;
561 unsigned long fs ;
562 unsigned long gs ;
563 struct perf_event *ptrace_bps[4] ;
564 unsigned long debugreg6 ;
565 unsigned long ptrace_dr7 ;
566 unsigned long cr2 ;
567 unsigned long trap_no ;
568 unsigned long error_code ;
569 struct fpu fpu ;
570 unsigned long *io_bitmap_ptr ;
571 unsigned long iopl ;
572 unsigned int io_bitmap_max ;
573};
574#line 620 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
575struct __anonstruct_mm_segment_t_35 {
576 unsigned long seg ;
577};
578#line 620 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
579typedef struct __anonstruct_mm_segment_t_35 mm_segment_t;
580#line 23 "include/asm-generic/atomic-long.h"
581typedef atomic64_t atomic_long_t;
582#line 26 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
583struct thread_info {
584 struct task_struct *task ;
585 struct exec_domain *exec_domain ;
586 __u32 flags ;
587 __u32 status ;
588 __u32 cpu ;
589 int preempt_count ;
590 mm_segment_t addr_limit ;
591 struct restart_block restart_block ;
592 void *sysenter_return ;
593 int uaccess_err ;
594};
595#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
596struct arch_spinlock {
597 unsigned int slock ;
598};
599#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
600typedef struct arch_spinlock arch_spinlock_t;
601#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
602struct __anonstruct_arch_rwlock_t_36 {
603 unsigned int lock ;
604};
605#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
606typedef struct __anonstruct_arch_rwlock_t_36 arch_rwlock_t;
607#line 12 "include/linux/lockdep.h"
608struct task_struct;
609#line 13
610struct lockdep_map;
611#line 13
612struct lockdep_map;
613#line 13
614struct lockdep_map;
615#line 13
616struct lockdep_map;
617#line 8 "include/linux/debug_locks.h"
618struct task_struct;
619#line 48
620struct task_struct;
621#line 4 "include/linux/stacktrace.h"
622struct task_struct;
623#line 5
624struct pt_regs;
625#line 8
626struct task_struct;
627#line 10 "include/linux/stacktrace.h"
628struct stack_trace {
629 unsigned int nr_entries ;
630 unsigned int max_entries ;
631 unsigned long *entries ;
632 int skip ;
633};
634#line 50 "include/linux/lockdep.h"
635struct lockdep_subclass_key {
636 char __one_byte ;
637} __attribute__((__packed__)) ;
638#line 54 "include/linux/lockdep.h"
639struct lock_class_key {
640 struct lockdep_subclass_key subkeys[8UL] ;
641};
642#line 65 "include/linux/lockdep.h"
643struct lock_class {
644 struct list_head hash_entry ;
645 struct list_head lock_entry ;
646 struct lockdep_subclass_key *key ;
647 unsigned int subclass ;
648 unsigned int dep_gen_id ;
649 unsigned long usage_mask ;
650 struct stack_trace usage_traces[13] ;
651 struct list_head locks_after ;
652 struct list_head locks_before ;
653 unsigned int version ;
654 unsigned long ops ;
655 char const *name ;
656 int name_version ;
657 unsigned long contention_point[4] ;
658 unsigned long contending_point[4] ;
659};
660#line 150 "include/linux/lockdep.h"
661struct lockdep_map {
662 struct lock_class_key *key ;
663 struct lock_class *class_cache[2] ;
664 char const *name ;
665 int cpu ;
666 unsigned long ip ;
667};
668#line 196 "include/linux/lockdep.h"
669struct held_lock {
670 u64 prev_chain_key ;
671 unsigned long acquire_ip ;
672 struct lockdep_map *instance ;
673 struct lockdep_map *nest_lock ;
674 u64 waittime_stamp ;
675 u64 holdtime_stamp ;
676 unsigned int class_idx : 13 ;
677 unsigned int irq_context : 2 ;
678 unsigned int trylock : 1 ;
679 unsigned int read : 2 ;
680 unsigned int check : 2 ;
681 unsigned int hardirqs_off : 1 ;
682 unsigned int references : 11 ;
683};
684#line 20 "include/linux/spinlock_types.h"
685struct raw_spinlock {
686 arch_spinlock_t raw_lock ;
687 unsigned int magic ;
688 unsigned int owner_cpu ;
689 void *owner ;
690 struct lockdep_map dep_map ;
691};
692#line 20 "include/linux/spinlock_types.h"
693typedef struct raw_spinlock raw_spinlock_t;
694#line 64 "include/linux/spinlock_types.h"
695struct __anonstruct____missing_field_name_38 {
696 u8 __padding[(unsigned int )(& ((struct raw_spinlock *)0)->dep_map)] ;
697 struct lockdep_map dep_map ;
698};
699#line 64 "include/linux/spinlock_types.h"
700union __anonunion____missing_field_name_37 {
701 struct raw_spinlock rlock ;
702 struct __anonstruct____missing_field_name_38 __annonCompField17 ;
703};
704#line 64 "include/linux/spinlock_types.h"
705struct spinlock {
706 union __anonunion____missing_field_name_37 __annonCompField18 ;
707};
708#line 64 "include/linux/spinlock_types.h"
709typedef struct spinlock spinlock_t;
710#line 11 "include/linux/rwlock_types.h"
711struct __anonstruct_rwlock_t_39 {
712 arch_rwlock_t raw_lock ;
713 unsigned int magic ;
714 unsigned int owner_cpu ;
715 void *owner ;
716 struct lockdep_map dep_map ;
717};
718#line 11 "include/linux/rwlock_types.h"
719typedef struct __anonstruct_rwlock_t_39 rwlock_t;
720#line 119 "include/linux/seqlock.h"
721struct seqcount {
722 unsigned int sequence ;
723};
724#line 119 "include/linux/seqlock.h"
725typedef struct seqcount seqcount_t;
726#line 14 "include/linux/time.h"
727struct timespec {
728 __kernel_time_t tv_sec ;
729 long tv_nsec ;
730};
731#line 62 "include/linux/stat.h"
732struct kstat {
733 u64 ino ;
734 dev_t dev ;
735 umode_t mode ;
736 unsigned int nlink ;
737 uid_t uid ;
738 gid_t gid ;
739 dev_t rdev ;
740 loff_t size ;
741 struct timespec atime ;
742 struct timespec mtime ;
743 struct timespec ctime ;
744 unsigned long blksize ;
745 unsigned long long blocks ;
746};
747#line 28 "include/linux/wait.h"
748struct __wait_queue;
749#line 28
750struct __wait_queue;
751#line 28
752struct __wait_queue;
753#line 28 "include/linux/wait.h"
754typedef struct __wait_queue wait_queue_t;
755#line 32 "include/linux/wait.h"
756struct __wait_queue {
757 unsigned int flags ;
758 void *private ;
759 int (*func)(wait_queue_t *wait , unsigned int mode , int flags , void *key ) ;
760 struct list_head task_list ;
761};
762#line 50 "include/linux/wait.h"
763struct __wait_queue_head {
764 spinlock_t lock ;
765 struct list_head task_list ;
766};
767#line 54 "include/linux/wait.h"
768typedef struct __wait_queue_head wait_queue_head_t;
769#line 56
770struct task_struct;
771#line 96 "include/linux/nodemask.h"
772struct __anonstruct_nodemask_t_41 {
773 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
774};
775#line 96 "include/linux/nodemask.h"
776typedef struct __anonstruct_nodemask_t_41 nodemask_t;
777#line 60 "include/linux/pageblock-flags.h"
778struct page;
779#line 48 "include/linux/mutex.h"
780struct mutex {
781 atomic_t count ;
782 spinlock_t wait_lock ;
783 struct list_head wait_list ;
784 struct task_struct *owner ;
785 char const *name ;
786 void *magic ;
787 struct lockdep_map dep_map ;
788};
789#line 69 "include/linux/mutex.h"
790struct mutex_waiter {
791 struct list_head list ;
792 struct task_struct *task ;
793 void *magic ;
794};
795#line 20 "include/linux/rwsem.h"
796struct rw_semaphore;
797#line 20
798struct rw_semaphore;
799#line 20
800struct rw_semaphore;
801#line 20
802struct rw_semaphore;
803#line 26 "include/linux/rwsem.h"
804struct rw_semaphore {
805 long count ;
806 spinlock_t wait_lock ;
807 struct list_head wait_list ;
808 struct lockdep_map dep_map ;
809};
810#line 8 "include/linux/memory_hotplug.h"
811struct page;
812#line 177 "include/linux/ioport.h"
813struct device;
814#line 177
815struct device;
816#line 177
817struct device;
818#line 177
819struct device;
820#line 103 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mpspec.h"
821struct device;
822#line 46 "include/linux/ktime.h"
823union ktime {
824 s64 tv64 ;
825};
826#line 59 "include/linux/ktime.h"
827typedef union ktime ktime_t;
828#line 10 "include/linux/timer.h"
829struct tvec_base;
830#line 10
831struct tvec_base;
832#line 10
833struct tvec_base;
834#line 10
835struct tvec_base;
836#line 12 "include/linux/timer.h"
837struct timer_list {
838 struct list_head entry ;
839 unsigned long expires ;
840 struct tvec_base *base ;
841 void (*function)(unsigned long ) ;
842 unsigned long data ;
843 int slack ;
844 int start_pid ;
845 void *start_site ;
846 char start_comm[16] ;
847 struct lockdep_map lockdep_map ;
848};
849#line 289
850struct hrtimer;
851#line 289
852struct hrtimer;
853#line 289
854struct hrtimer;
855#line 289
856struct hrtimer;
857#line 290
858enum hrtimer_restart;
859#line 290
860enum hrtimer_restart;
861#line 290
862enum hrtimer_restart;
863#line 17 "include/linux/workqueue.h"
864struct work_struct;
865#line 17
866struct work_struct;
867#line 17
868struct work_struct;
869#line 17
870struct work_struct;
871#line 79 "include/linux/workqueue.h"
872struct work_struct {
873 atomic_long_t data ;
874 struct list_head entry ;
875 void (*func)(struct work_struct *work ) ;
876 struct lockdep_map lockdep_map ;
877};
878#line 92 "include/linux/workqueue.h"
879struct delayed_work {
880 struct work_struct work ;
881 struct timer_list timer ;
882};
883#line 25 "include/linux/completion.h"
884struct completion {
885 unsigned int done ;
886 wait_queue_head_t wait ;
887};
888#line 42 "include/linux/pm.h"
889struct device;
890#line 50 "include/linux/pm.h"
891struct pm_message {
892 int event ;
893};
894#line 50 "include/linux/pm.h"
895typedef struct pm_message pm_message_t;
896#line 204 "include/linux/pm.h"
897struct dev_pm_ops {
898 int (*prepare)(struct device *dev ) ;
899 void (*complete)(struct device *dev ) ;
900 int (*suspend)(struct device *dev ) ;
901 int (*resume)(struct device *dev ) ;
902 int (*freeze)(struct device *dev ) ;
903 int (*thaw)(struct device *dev ) ;
904 int (*poweroff)(struct device *dev ) ;
905 int (*restore)(struct device *dev ) ;
906 int (*suspend_noirq)(struct device *dev ) ;
907 int (*resume_noirq)(struct device *dev ) ;
908 int (*freeze_noirq)(struct device *dev ) ;
909 int (*thaw_noirq)(struct device *dev ) ;
910 int (*poweroff_noirq)(struct device *dev ) ;
911 int (*restore_noirq)(struct device *dev ) ;
912 int (*runtime_suspend)(struct device *dev ) ;
913 int (*runtime_resume)(struct device *dev ) ;
914 int (*runtime_idle)(struct device *dev ) ;
915};
916#line 392
917enum rpm_status {
918 RPM_ACTIVE = 0,
919 RPM_RESUMING = 1,
920 RPM_SUSPENDED = 2,
921 RPM_SUSPENDING = 3
922} ;
923#line 414
924enum rpm_request {
925 RPM_REQ_NONE = 0,
926 RPM_REQ_IDLE = 1,
927 RPM_REQ_SUSPEND = 2,
928 RPM_REQ_AUTOSUSPEND = 3,
929 RPM_REQ_RESUME = 4
930} ;
931#line 422
932struct wakeup_source;
933#line 422
934struct wakeup_source;
935#line 422
936struct wakeup_source;
937#line 422
938struct wakeup_source;
939#line 424 "include/linux/pm.h"
940struct dev_pm_info {
941 pm_message_t power_state ;
942 unsigned int can_wakeup : 1 ;
943 unsigned int async_suspend : 1 ;
944 bool is_prepared : 1 ;
945 bool is_suspended : 1 ;
946 spinlock_t lock ;
947 struct list_head entry ;
948 struct completion completion ;
949 struct wakeup_source *wakeup ;
950 struct timer_list suspend_timer ;
951 unsigned long timer_expires ;
952 struct work_struct work ;
953 wait_queue_head_t wait_queue ;
954 atomic_t usage_count ;
955 atomic_t child_count ;
956 unsigned int disable_depth : 3 ;
957 unsigned int ignore_children : 1 ;
958 unsigned int idle_notification : 1 ;
959 unsigned int request_pending : 1 ;
960 unsigned int deferred_resume : 1 ;
961 unsigned int run_wake : 1 ;
962 unsigned int runtime_auto : 1 ;
963 unsigned int no_callbacks : 1 ;
964 unsigned int irq_safe : 1 ;
965 unsigned int use_autosuspend : 1 ;
966 unsigned int timer_autosuspends : 1 ;
967 enum rpm_request request ;
968 enum rpm_status runtime_status ;
969 int runtime_error ;
970 int autosuspend_delay ;
971 unsigned long last_busy ;
972 unsigned long active_jiffies ;
973 unsigned long suspended_jiffies ;
974 unsigned long accounting_timestamp ;
975 void *subsys_data ;
976};
977#line 475 "include/linux/pm.h"
978struct dev_power_domain {
979 struct dev_pm_ops ops ;
980};
981#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
982struct __anonstruct_mm_context_t_111 {
983 void *ldt ;
984 int size ;
985 unsigned short ia32_compat ;
986 struct mutex lock ;
987 void *vdso ;
988};
989#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
990typedef struct __anonstruct_mm_context_t_111 mm_context_t;
991#line 8 "include/linux/vmalloc.h"
992struct vm_area_struct;
993#line 8
994struct vm_area_struct;
995#line 8
996struct vm_area_struct;
997#line 8
998struct vm_area_struct;
999#line 964 "include/linux/mmzone.h"
1000struct page;
1001#line 10 "include/linux/gfp.h"
1002struct vm_area_struct;
1003#line 29 "include/linux/sysctl.h"
1004struct completion;
1005#line 72 "include/linux/rcupdate.h"
1006struct rcu_head {
1007 struct rcu_head *next ;
1008 void (*func)(struct rcu_head *head ) ;
1009};
1010#line 937 "include/linux/sysctl.h"
1011struct nsproxy;
1012#line 937
1013struct nsproxy;
1014#line 937
1015struct nsproxy;
1016#line 937
1017struct nsproxy;
1018#line 48 "include/linux/kmod.h"
1019struct cred;
1020#line 48
1021struct cred;
1022#line 48
1023struct cred;
1024#line 48
1025struct cred;
1026#line 49
1027struct file;
1028#line 264 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/elf.h"
1029struct task_struct;
1030#line 10 "include/linux/elf.h"
1031struct file;
1032#line 27 "include/linux/elf.h"
1033typedef __u64 Elf64_Addr;
1034#line 28 "include/linux/elf.h"
1035typedef __u16 Elf64_Half;
1036#line 32 "include/linux/elf.h"
1037typedef __u32 Elf64_Word;
1038#line 33 "include/linux/elf.h"
1039typedef __u64 Elf64_Xword;
1040#line 203 "include/linux/elf.h"
1041struct elf64_sym {
1042 Elf64_Word st_name ;
1043 unsigned char st_info ;
1044 unsigned char st_other ;
1045 Elf64_Half st_shndx ;
1046 Elf64_Addr st_value ;
1047 Elf64_Xword st_size ;
1048};
1049#line 203 "include/linux/elf.h"
1050typedef struct elf64_sym Elf64_Sym;
1051#line 20 "include/linux/kobject_ns.h"
1052struct sock;
1053#line 20
1054struct sock;
1055#line 20
1056struct sock;
1057#line 20
1058struct sock;
1059#line 21
1060struct kobject;
1061#line 21
1062struct kobject;
1063#line 21
1064struct kobject;
1065#line 21
1066struct kobject;
1067#line 27
1068enum kobj_ns_type {
1069 KOBJ_NS_TYPE_NONE = 0,
1070 KOBJ_NS_TYPE_NET = 1,
1071 KOBJ_NS_TYPES = 2
1072} ;
1073#line 40 "include/linux/kobject_ns.h"
1074struct kobj_ns_type_operations {
1075 enum kobj_ns_type type ;
1076 void *(*grab_current_ns)(void) ;
1077 void const *(*netlink_ns)(struct sock *sk ) ;
1078 void const *(*initial_ns)(void) ;
1079 void (*drop_ns)(void * ) ;
1080};
1081#line 22 "include/linux/sysfs.h"
1082struct kobject;
1083#line 23
1084struct module;
1085#line 24
1086enum kobj_ns_type;
1087#line 26 "include/linux/sysfs.h"
1088struct attribute {
1089 char const *name ;
1090 mode_t mode ;
1091 struct lock_class_key *key ;
1092 struct lock_class_key skey ;
1093};
1094#line 56 "include/linux/sysfs.h"
1095struct attribute_group {
1096 char const *name ;
1097 mode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
1098 struct attribute **attrs ;
1099};
1100#line 85
1101struct file;
1102#line 86
1103struct vm_area_struct;
1104#line 88 "include/linux/sysfs.h"
1105struct bin_attribute {
1106 struct attribute attr ;
1107 size_t size ;
1108 void *private ;
1109 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1110 loff_t , size_t ) ;
1111 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1112 loff_t , size_t ) ;
1113 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
1114};
1115#line 112 "include/linux/sysfs.h"
1116struct sysfs_ops {
1117 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
1118 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
1119};
1120#line 117
1121struct sysfs_dirent;
1122#line 117
1123struct sysfs_dirent;
1124#line 117
1125struct sysfs_dirent;
1126#line 117
1127struct sysfs_dirent;
1128#line 20 "include/linux/kref.h"
1129struct kref {
1130 atomic_t refcount ;
1131};
1132#line 60 "include/linux/kobject.h"
1133struct kset;
1134#line 60
1135struct kset;
1136#line 60
1137struct kset;
1138#line 60
1139struct kobj_type;
1140#line 60
1141struct kobj_type;
1142#line 60
1143struct kobj_type;
1144#line 60 "include/linux/kobject.h"
1145struct kobject {
1146 char const *name ;
1147 struct list_head entry ;
1148 struct kobject *parent ;
1149 struct kset *kset ;
1150 struct kobj_type *ktype ;
1151 struct sysfs_dirent *sd ;
1152 struct kref kref ;
1153 unsigned int state_initialized : 1 ;
1154 unsigned int state_in_sysfs : 1 ;
1155 unsigned int state_add_uevent_sent : 1 ;
1156 unsigned int state_remove_uevent_sent : 1 ;
1157 unsigned int uevent_suppress : 1 ;
1158};
1159#line 110 "include/linux/kobject.h"
1160struct kobj_type {
1161 void (*release)(struct kobject *kobj ) ;
1162 struct sysfs_ops const *sysfs_ops ;
1163 struct attribute **default_attrs ;
1164 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
1165 void const *(*namespace)(struct kobject *kobj ) ;
1166};
1167#line 118 "include/linux/kobject.h"
1168struct kobj_uevent_env {
1169 char *envp[32] ;
1170 int envp_idx ;
1171 char buf[2048] ;
1172 int buflen ;
1173};
1174#line 125 "include/linux/kobject.h"
1175struct kset_uevent_ops {
1176 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
1177 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
1178 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
1179};
1180#line 142
1181struct sock;
1182#line 161 "include/linux/kobject.h"
1183struct kset {
1184 struct list_head list ;
1185 spinlock_t list_lock ;
1186 struct kobject kobj ;
1187 struct kset_uevent_ops const *uevent_ops ;
1188};
1189#line 34 "include/linux/moduleparam.h"
1190struct kernel_param;
1191#line 34
1192struct kernel_param;
1193#line 34
1194struct kernel_param;
1195#line 34
1196struct kernel_param;
1197#line 36 "include/linux/moduleparam.h"
1198struct kernel_param_ops {
1199 int (*set)(char const *val , struct kernel_param const *kp ) ;
1200 int (*get)(char *buffer , struct kernel_param const *kp ) ;
1201 void (*free)(void *arg ) ;
1202};
1203#line 48
1204struct kparam_string;
1205#line 48
1206struct kparam_string;
1207#line 48
1208struct kparam_string;
1209#line 48
1210struct kparam_array;
1211#line 48
1212struct kparam_array;
1213#line 48
1214struct kparam_array;
1215#line 48 "include/linux/moduleparam.h"
1216union __anonunion____missing_field_name_195 {
1217 void *arg ;
1218 struct kparam_string const *str ;
1219 struct kparam_array const *arr ;
1220};
1221#line 48 "include/linux/moduleparam.h"
1222struct kernel_param {
1223 char const *name ;
1224 struct kernel_param_ops const *ops ;
1225 u16 perm ;
1226 u16 flags ;
1227 union __anonunion____missing_field_name_195 __annonCompField31 ;
1228};
1229#line 61 "include/linux/moduleparam.h"
1230struct kparam_string {
1231 unsigned int maxlen ;
1232 char *string ;
1233};
1234#line 67 "include/linux/moduleparam.h"
1235struct kparam_array {
1236 unsigned int max ;
1237 unsigned int elemsize ;
1238 unsigned int *num ;
1239 struct kernel_param_ops const *ops ;
1240 void *elem ;
1241};
1242#line 391
1243struct module;
1244#line 26 "include/linux/jump_label.h"
1245struct module;
1246#line 61 "include/linux/jump_label.h"
1247struct jump_label_key {
1248 atomic_t enabled ;
1249};
1250#line 22 "include/linux/tracepoint.h"
1251struct module;
1252#line 23
1253struct tracepoint;
1254#line 23
1255struct tracepoint;
1256#line 23
1257struct tracepoint;
1258#line 23
1259struct tracepoint;
1260#line 25 "include/linux/tracepoint.h"
1261struct tracepoint_func {
1262 void *func ;
1263 void *data ;
1264};
1265#line 30 "include/linux/tracepoint.h"
1266struct tracepoint {
1267 char const *name ;
1268 struct jump_label_key key ;
1269 void (*regfunc)(void) ;
1270 void (*unregfunc)(void) ;
1271 struct tracepoint_func *funcs ;
1272};
1273#line 8 "include/asm-generic/module.h"
1274struct mod_arch_specific {
1275
1276};
1277#line 21 "include/trace/events/module.h"
1278struct module;
1279#line 37 "include/linux/module.h"
1280struct kernel_symbol {
1281 unsigned long value ;
1282 char const *name ;
1283};
1284#line 49
1285struct module;
1286#line 51 "include/linux/module.h"
1287struct module_attribute {
1288 struct attribute attr ;
1289 ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
1290 ssize_t (*store)(struct module_attribute * , struct module * , char const * ,
1291 size_t count ) ;
1292 void (*setup)(struct module * , char const * ) ;
1293 int (*test)(struct module * ) ;
1294 void (*free)(struct module * ) ;
1295};
1296#line 70
1297struct module_param_attrs;
1298#line 70
1299struct module_param_attrs;
1300#line 70
1301struct module_param_attrs;
1302#line 70 "include/linux/module.h"
1303struct module_kobject {
1304 struct kobject kobj ;
1305 struct module *mod ;
1306 struct kobject *drivers_dir ;
1307 struct module_param_attrs *mp ;
1308};
1309#line 83
1310struct exception_table_entry;
1311#line 83
1312struct exception_table_entry;
1313#line 83
1314struct exception_table_entry;
1315#line 83
1316struct exception_table_entry;
1317#line 265
1318enum module_state {
1319 MODULE_STATE_LIVE = 0,
1320 MODULE_STATE_COMING = 1,
1321 MODULE_STATE_GOING = 2
1322} ;
1323#line 272
1324struct module_sect_attrs;
1325#line 272
1326struct module_sect_attrs;
1327#line 272
1328struct module_sect_attrs;
1329#line 272
1330struct module_notes_attrs;
1331#line 272
1332struct module_notes_attrs;
1333#line 272
1334struct module_notes_attrs;
1335#line 272
1336struct ftrace_event_call;
1337#line 272
1338struct ftrace_event_call;
1339#line 272
1340struct ftrace_event_call;
1341#line 272 "include/linux/module.h"
1342struct module_ref {
1343 unsigned int incs ;
1344 unsigned int decs ;
1345};
1346#line 272 "include/linux/module.h"
1347struct module {
1348 enum module_state state ;
1349 struct list_head list ;
1350 char name[64UL - sizeof(unsigned long )] ;
1351 struct module_kobject mkobj ;
1352 struct module_attribute *modinfo_attrs ;
1353 char const *version ;
1354 char const *srcversion ;
1355 struct kobject *holders_dir ;
1356 struct kernel_symbol const *syms ;
1357 unsigned long const *crcs ;
1358 unsigned int num_syms ;
1359 struct kernel_param *kp ;
1360 unsigned int num_kp ;
1361 unsigned int num_gpl_syms ;
1362 struct kernel_symbol const *gpl_syms ;
1363 unsigned long const *gpl_crcs ;
1364 struct kernel_symbol const *unused_syms ;
1365 unsigned long const *unused_crcs ;
1366 unsigned int num_unused_syms ;
1367 unsigned int num_unused_gpl_syms ;
1368 struct kernel_symbol const *unused_gpl_syms ;
1369 unsigned long const *unused_gpl_crcs ;
1370 struct kernel_symbol const *gpl_future_syms ;
1371 unsigned long const *gpl_future_crcs ;
1372 unsigned int num_gpl_future_syms ;
1373 unsigned int num_exentries ;
1374 struct exception_table_entry *extable ;
1375 int (*init)(void) ;
1376 void *module_init ;
1377 void *module_core ;
1378 unsigned int init_size ;
1379 unsigned int core_size ;
1380 unsigned int init_text_size ;
1381 unsigned int core_text_size ;
1382 unsigned int init_ro_size ;
1383 unsigned int core_ro_size ;
1384 struct mod_arch_specific arch ;
1385 unsigned int taints ;
1386 unsigned int num_bugs ;
1387 struct list_head bug_list ;
1388 struct bug_entry *bug_table ;
1389 Elf64_Sym *symtab ;
1390 Elf64_Sym *core_symtab ;
1391 unsigned int num_symtab ;
1392 unsigned int core_num_syms ;
1393 char *strtab ;
1394 char *core_strtab ;
1395 struct module_sect_attrs *sect_attrs ;
1396 struct module_notes_attrs *notes_attrs ;
1397 char *args ;
1398 void *percpu ;
1399 unsigned int percpu_size ;
1400 unsigned int num_tracepoints ;
1401 struct tracepoint * const *tracepoints_ptrs ;
1402 unsigned int num_trace_bprintk_fmt ;
1403 char const **trace_bprintk_fmt_start ;
1404 struct ftrace_event_call **trace_events ;
1405 unsigned int num_trace_events ;
1406 unsigned int num_ftrace_callsites ;
1407 unsigned long *ftrace_callsites ;
1408 struct list_head source_list ;
1409 struct list_head target_list ;
1410 struct task_struct *waiter ;
1411 void (*exit)(void) ;
1412 struct module_ref *refptr ;
1413 ctor_fn_t *ctors ;
1414 unsigned int num_ctors ;
1415};
1416#line 12 "include/linux/mod_devicetable.h"
1417typedef unsigned long kernel_ulong_t;
1418#line 98 "include/linux/mod_devicetable.h"
1419struct usb_device_id {
1420 __u16 match_flags ;
1421 __u16 idVendor ;
1422 __u16 idProduct ;
1423 __u16 bcdDevice_lo ;
1424 __u16 bcdDevice_hi ;
1425 __u8 bDeviceClass ;
1426 __u8 bDeviceSubClass ;
1427 __u8 bDeviceProtocol ;
1428 __u8 bInterfaceClass ;
1429 __u8 bInterfaceSubClass ;
1430 __u8 bInterfaceProtocol ;
1431 kernel_ulong_t driver_info ;
1432};
1433#line 219 "include/linux/mod_devicetable.h"
1434struct of_device_id {
1435 char name[32] ;
1436 char type[32] ;
1437 char compatible[128] ;
1438 void *data ;
1439};
1440#line 244 "include/linux/usb/ch9.h"
1441struct usb_device_descriptor {
1442 __u8 bLength ;
1443 __u8 bDescriptorType ;
1444 __le16 bcdUSB ;
1445 __u8 bDeviceClass ;
1446 __u8 bDeviceSubClass ;
1447 __u8 bDeviceProtocol ;
1448 __u8 bMaxPacketSize0 ;
1449 __le16 idVendor ;
1450 __le16 idProduct ;
1451 __le16 bcdDevice ;
1452 __u8 iManufacturer ;
1453 __u8 iProduct ;
1454 __u8 iSerialNumber ;
1455 __u8 bNumConfigurations ;
1456} __attribute__((__packed__)) ;
1457#line 300 "include/linux/usb/ch9.h"
1458struct usb_config_descriptor {
1459 __u8 bLength ;
1460 __u8 bDescriptorType ;
1461 __le16 wTotalLength ;
1462 __u8 bNumInterfaces ;
1463 __u8 bConfigurationValue ;
1464 __u8 iConfiguration ;
1465 __u8 bmAttributes ;
1466 __u8 bMaxPower ;
1467} __attribute__((__packed__)) ;
1468#line 337 "include/linux/usb/ch9.h"
1469struct usb_interface_descriptor {
1470 __u8 bLength ;
1471 __u8 bDescriptorType ;
1472 __u8 bInterfaceNumber ;
1473 __u8 bAlternateSetting ;
1474 __u8 bNumEndpoints ;
1475 __u8 bInterfaceClass ;
1476 __u8 bInterfaceSubClass ;
1477 __u8 bInterfaceProtocol ;
1478 __u8 iInterface ;
1479} __attribute__((__packed__)) ;
1480#line 355 "include/linux/usb/ch9.h"
1481struct usb_endpoint_descriptor {
1482 __u8 bLength ;
1483 __u8 bDescriptorType ;
1484 __u8 bEndpointAddress ;
1485 __u8 bmAttributes ;
1486 __le16 wMaxPacketSize ;
1487 __u8 bInterval ;
1488 __u8 bRefresh ;
1489 __u8 bSynchAddress ;
1490} __attribute__((__packed__)) ;
1491#line 576 "include/linux/usb/ch9.h"
1492struct usb_ss_ep_comp_descriptor {
1493 __u8 bLength ;
1494 __u8 bDescriptorType ;
1495 __u8 bMaxBurst ;
1496 __u8 bmAttributes ;
1497 __le16 wBytesPerInterval ;
1498} __attribute__((__packed__)) ;
1499#line 637 "include/linux/usb/ch9.h"
1500struct usb_interface_assoc_descriptor {
1501 __u8 bLength ;
1502 __u8 bDescriptorType ;
1503 __u8 bFirstInterface ;
1504 __u8 bInterfaceCount ;
1505 __u8 bFunctionClass ;
1506 __u8 bFunctionSubClass ;
1507 __u8 bFunctionProtocol ;
1508 __u8 iFunction ;
1509} __attribute__((__packed__)) ;
1510#line 846
1511enum usb_device_speed {
1512 USB_SPEED_UNKNOWN = 0,
1513 USB_SPEED_LOW = 1,
1514 USB_SPEED_FULL = 2,
1515 USB_SPEED_HIGH = 3,
1516 USB_SPEED_WIRELESS = 4,
1517 USB_SPEED_SUPER = 5
1518} ;
1519#line 854
1520enum usb_device_state {
1521 USB_STATE_NOTATTACHED = 0,
1522 USB_STATE_ATTACHED = 1,
1523 USB_STATE_POWERED = 2,
1524 USB_STATE_RECONNECTING = 3,
1525 USB_STATE_UNAUTHENTICATED = 4,
1526 USB_STATE_DEFAULT = 5,
1527 USB_STATE_ADDRESS = 6,
1528 USB_STATE_CONFIGURED = 7,
1529 USB_STATE_SUSPENDED = 8
1530} ;
1531#line 10 "include/linux/irqreturn.h"
1532enum irqreturn {
1533 IRQ_NONE = 0,
1534 IRQ_HANDLED = 1,
1535 IRQ_WAKE_THREAD = 2
1536} ;
1537#line 16 "include/linux/irqreturn.h"
1538typedef enum irqreturn irqreturn_t;
1539#line 31 "include/linux/irq.h"
1540struct seq_file;
1541#line 12 "include/linux/irqdesc.h"
1542struct proc_dir_entry;
1543#line 12
1544struct proc_dir_entry;
1545#line 12
1546struct proc_dir_entry;
1547#line 12
1548struct proc_dir_entry;
1549#line 39
1550struct irqaction;
1551#line 39
1552struct irqaction;
1553#line 39
1554struct irqaction;
1555#line 16 "include/linux/profile.h"
1556struct proc_dir_entry;
1557#line 17
1558struct pt_regs;
1559#line 65
1560struct task_struct;
1561#line 66
1562struct mm_struct;
1563#line 88
1564struct pt_regs;
1565#line 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess.h"
1566struct exception_table_entry {
1567 unsigned long insn ;
1568 unsigned long fixup ;
1569};
1570#line 363 "include/linux/irq.h"
1571struct irqaction;
1572#line 132 "include/linux/hardirq.h"
1573struct task_struct;
1574#line 100 "include/linux/rbtree.h"
1575struct rb_node {
1576 unsigned long rb_parent_color ;
1577 struct rb_node *rb_right ;
1578 struct rb_node *rb_left ;
1579} __attribute__((__aligned__(sizeof(long )))) ;
1580#line 110 "include/linux/rbtree.h"
1581struct rb_root {
1582 struct rb_node *rb_node ;
1583};
1584#line 8 "include/linux/timerqueue.h"
1585struct timerqueue_node {
1586 struct rb_node node ;
1587 ktime_t expires ;
1588};
1589#line 13 "include/linux/timerqueue.h"
1590struct timerqueue_head {
1591 struct rb_root head ;
1592 struct timerqueue_node *next ;
1593};
1594#line 27 "include/linux/hrtimer.h"
1595struct hrtimer_clock_base;
1596#line 27
1597struct hrtimer_clock_base;
1598#line 27
1599struct hrtimer_clock_base;
1600#line 27
1601struct hrtimer_clock_base;
1602#line 28
1603struct hrtimer_cpu_base;
1604#line 28
1605struct hrtimer_cpu_base;
1606#line 28
1607struct hrtimer_cpu_base;
1608#line 28
1609struct hrtimer_cpu_base;
1610#line 44
1611enum hrtimer_restart {
1612 HRTIMER_NORESTART = 0,
1613 HRTIMER_RESTART = 1
1614} ;
1615#line 108 "include/linux/hrtimer.h"
1616struct hrtimer {
1617 struct timerqueue_node node ;
1618 ktime_t _softexpires ;
1619 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1620 struct hrtimer_clock_base *base ;
1621 unsigned long state ;
1622 int start_pid ;
1623 void *start_site ;
1624 char start_comm[16] ;
1625};
1626#line 145 "include/linux/hrtimer.h"
1627struct hrtimer_clock_base {
1628 struct hrtimer_cpu_base *cpu_base ;
1629 int index ;
1630 clockid_t clockid ;
1631 struct timerqueue_head active ;
1632 ktime_t resolution ;
1633 ktime_t (*get_time)(void) ;
1634 ktime_t softirq_time ;
1635 ktime_t offset ;
1636};
1637#line 178 "include/linux/hrtimer.h"
1638struct hrtimer_cpu_base {
1639 raw_spinlock_t lock ;
1640 unsigned long active_bases ;
1641 ktime_t expires_next ;
1642 int hres_active ;
1643 int hang_detected ;
1644 unsigned long nr_events ;
1645 unsigned long nr_retries ;
1646 unsigned long nr_hangs ;
1647 ktime_t max_hang_time ;
1648 struct hrtimer_clock_base clock_base[3] ;
1649};
1650#line 9 "include/trace/events/irq.h"
1651struct irqaction;
1652#line 106 "include/linux/interrupt.h"
1653struct irqaction {
1654 irqreturn_t (*handler)(int , void * ) ;
1655 unsigned long flags ;
1656 void *dev_id ;
1657 struct irqaction *next ;
1658 int irq ;
1659 irqreturn_t (*thread_fn)(int , void * ) ;
1660 struct task_struct *thread ;
1661 unsigned long thread_flags ;
1662 unsigned long thread_mask ;
1663 char const *name ;
1664 struct proc_dir_entry *dir ;
1665} __attribute__((__aligned__((1) << (12) ))) ;
1666#line 172
1667struct device;
1668#line 682
1669struct seq_file;
1670#line 19 "include/linux/klist.h"
1671struct klist_node;
1672#line 19
1673struct klist_node;
1674#line 19
1675struct klist_node;
1676#line 19
1677struct klist_node;
1678#line 39 "include/linux/klist.h"
1679struct klist_node {
1680 void *n_klist ;
1681 struct list_head n_node ;
1682 struct kref n_ref ;
1683};
1684#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
1685struct dma_map_ops;
1686#line 4
1687struct dma_map_ops;
1688#line 4
1689struct dma_map_ops;
1690#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
1691struct dev_archdata {
1692 void *acpi_handle ;
1693 struct dma_map_ops *dma_ops ;
1694 void *iommu ;
1695};
1696#line 28 "include/linux/device.h"
1697struct device;
1698#line 29
1699struct device_private;
1700#line 29
1701struct device_private;
1702#line 29
1703struct device_private;
1704#line 29
1705struct device_private;
1706#line 30
1707struct device_driver;
1708#line 30
1709struct device_driver;
1710#line 30
1711struct device_driver;
1712#line 30
1713struct device_driver;
1714#line 31
1715struct driver_private;
1716#line 31
1717struct driver_private;
1718#line 31
1719struct driver_private;
1720#line 31
1721struct driver_private;
1722#line 32
1723struct class;
1724#line 32
1725struct class;
1726#line 32
1727struct class;
1728#line 32
1729struct class;
1730#line 33
1731struct subsys_private;
1732#line 33
1733struct subsys_private;
1734#line 33
1735struct subsys_private;
1736#line 33
1737struct subsys_private;
1738#line 34
1739struct bus_type;
1740#line 34
1741struct bus_type;
1742#line 34
1743struct bus_type;
1744#line 34
1745struct bus_type;
1746#line 35
1747struct device_node;
1748#line 35
1749struct device_node;
1750#line 35
1751struct device_node;
1752#line 35
1753struct device_node;
1754#line 37 "include/linux/device.h"
1755struct bus_attribute {
1756 struct attribute attr ;
1757 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1758 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
1759};
1760#line 82
1761struct device_attribute;
1762#line 82
1763struct device_attribute;
1764#line 82
1765struct device_attribute;
1766#line 82
1767struct driver_attribute;
1768#line 82
1769struct driver_attribute;
1770#line 82
1771struct driver_attribute;
1772#line 82 "include/linux/device.h"
1773struct bus_type {
1774 char const *name ;
1775 struct bus_attribute *bus_attrs ;
1776 struct device_attribute *dev_attrs ;
1777 struct driver_attribute *drv_attrs ;
1778 int (*match)(struct device *dev , struct device_driver *drv ) ;
1779 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1780 int (*probe)(struct device *dev ) ;
1781 int (*remove)(struct device *dev ) ;
1782 void (*shutdown)(struct device *dev ) ;
1783 int (*suspend)(struct device *dev , pm_message_t state ) ;
1784 int (*resume)(struct device *dev ) ;
1785 struct dev_pm_ops const *pm ;
1786 struct subsys_private *p ;
1787};
1788#line 185 "include/linux/device.h"
1789struct device_driver {
1790 char const *name ;
1791 struct bus_type *bus ;
1792 struct module *owner ;
1793 char const *mod_name ;
1794 bool suppress_bind_attrs ;
1795 struct of_device_id const *of_match_table ;
1796 int (*probe)(struct device *dev ) ;
1797 int (*remove)(struct device *dev ) ;
1798 void (*shutdown)(struct device *dev ) ;
1799 int (*suspend)(struct device *dev , pm_message_t state ) ;
1800 int (*resume)(struct device *dev ) ;
1801 struct attribute_group const **groups ;
1802 struct dev_pm_ops const *pm ;
1803 struct driver_private *p ;
1804};
1805#line 222 "include/linux/device.h"
1806struct driver_attribute {
1807 struct attribute attr ;
1808 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1809 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
1810};
1811#line 280
1812struct class_attribute;
1813#line 280
1814struct class_attribute;
1815#line 280
1816struct class_attribute;
1817#line 280 "include/linux/device.h"
1818struct class {
1819 char const *name ;
1820 struct module *owner ;
1821 struct class_attribute *class_attrs ;
1822 struct device_attribute *dev_attrs ;
1823 struct bin_attribute *dev_bin_attrs ;
1824 struct kobject *dev_kobj ;
1825 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1826 char *(*devnode)(struct device *dev , mode_t *mode ) ;
1827 void (*class_release)(struct class *class ) ;
1828 void (*dev_release)(struct device *dev ) ;
1829 int (*suspend)(struct device *dev , pm_message_t state ) ;
1830 int (*resume)(struct device *dev ) ;
1831 struct kobj_ns_type_operations const *ns_type ;
1832 void const *(*namespace)(struct device *dev ) ;
1833 struct dev_pm_ops const *pm ;
1834 struct subsys_private *p ;
1835};
1836#line 306
1837struct device_type;
1838#line 306
1839struct device_type;
1840#line 306
1841struct device_type;
1842#line 347 "include/linux/device.h"
1843struct class_attribute {
1844 struct attribute attr ;
1845 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1846 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
1847 size_t count ) ;
1848};
1849#line 413 "include/linux/device.h"
1850struct device_type {
1851 char const *name ;
1852 struct attribute_group const **groups ;
1853 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1854 char *(*devnode)(struct device *dev , mode_t *mode ) ;
1855 void (*release)(struct device *dev ) ;
1856 struct dev_pm_ops const *pm ;
1857};
1858#line 424 "include/linux/device.h"
1859struct device_attribute {
1860 struct attribute attr ;
1861 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1862 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
1863 size_t count ) ;
1864};
1865#line 484 "include/linux/device.h"
1866struct device_dma_parameters {
1867 unsigned int max_segment_size ;
1868 unsigned long segment_boundary_mask ;
1869};
1870#line 551
1871struct dma_coherent_mem;
1872#line 551
1873struct dma_coherent_mem;
1874#line 551
1875struct dma_coherent_mem;
1876#line 551 "include/linux/device.h"
1877struct device {
1878 struct device *parent ;
1879 struct device_private *p ;
1880 struct kobject kobj ;
1881 char const *init_name ;
1882 struct device_type const *type ;
1883 struct mutex mutex ;
1884 struct bus_type *bus ;
1885 struct device_driver *driver ;
1886 void *platform_data ;
1887 struct dev_pm_info power ;
1888 struct dev_power_domain *pwr_domain ;
1889 int numa_node ;
1890 u64 *dma_mask ;
1891 u64 coherent_dma_mask ;
1892 struct device_dma_parameters *dma_parms ;
1893 struct list_head dma_pools ;
1894 struct dma_coherent_mem *dma_mem ;
1895 struct dev_archdata archdata ;
1896 struct device_node *of_node ;
1897 dev_t devt ;
1898 spinlock_t devres_lock ;
1899 struct list_head devres_head ;
1900 struct klist_node knode_class ;
1901 struct class *class ;
1902 struct attribute_group const **groups ;
1903 void (*release)(struct device *dev ) ;
1904};
1905#line 43 "include/linux/pm_wakeup.h"
1906struct wakeup_source {
1907 char *name ;
1908 struct list_head entry ;
1909 spinlock_t lock ;
1910 struct timer_list timer ;
1911 unsigned long timer_expires ;
1912 ktime_t total_time ;
1913 ktime_t max_time ;
1914 ktime_t last_time ;
1915 unsigned long event_count ;
1916 unsigned long active_count ;
1917 unsigned long relax_count ;
1918 unsigned long hit_count ;
1919 unsigned int active : 1 ;
1920};
1921#line 15 "include/linux/blk_types.h"
1922struct page;
1923#line 16
1924struct block_device;
1925#line 16
1926struct block_device;
1927#line 16
1928struct block_device;
1929#line 16
1930struct block_device;
1931#line 33 "include/linux/list_bl.h"
1932struct hlist_bl_node;
1933#line 33
1934struct hlist_bl_node;
1935#line 33
1936struct hlist_bl_node;
1937#line 33 "include/linux/list_bl.h"
1938struct hlist_bl_head {
1939 struct hlist_bl_node *first ;
1940};
1941#line 37 "include/linux/list_bl.h"
1942struct hlist_bl_node {
1943 struct hlist_bl_node *next ;
1944 struct hlist_bl_node **pprev ;
1945};
1946#line 13 "include/linux/dcache.h"
1947struct nameidata;
1948#line 13
1949struct nameidata;
1950#line 13
1951struct nameidata;
1952#line 13
1953struct nameidata;
1954#line 14
1955struct path;
1956#line 14
1957struct path;
1958#line 14
1959struct path;
1960#line 14
1961struct path;
1962#line 15
1963struct vfsmount;
1964#line 15
1965struct vfsmount;
1966#line 15
1967struct vfsmount;
1968#line 15
1969struct vfsmount;
1970#line 35 "include/linux/dcache.h"
1971struct qstr {
1972 unsigned int hash ;
1973 unsigned int len ;
1974 unsigned char const *name ;
1975};
1976#line 116
1977struct inode;
1978#line 116
1979struct inode;
1980#line 116
1981struct inode;
1982#line 116
1983struct dentry_operations;
1984#line 116
1985struct dentry_operations;
1986#line 116
1987struct dentry_operations;
1988#line 116
1989struct super_block;
1990#line 116
1991struct super_block;
1992#line 116
1993struct super_block;
1994#line 116 "include/linux/dcache.h"
1995union __anonunion_d_u_206 {
1996 struct list_head d_child ;
1997 struct rcu_head d_rcu ;
1998};
1999#line 116 "include/linux/dcache.h"
2000struct dentry {
2001 unsigned int d_flags ;
2002 seqcount_t d_seq ;
2003 struct hlist_bl_node d_hash ;
2004 struct dentry *d_parent ;
2005 struct qstr d_name ;
2006 struct inode *d_inode ;
2007 unsigned char d_iname[32] ;
2008 unsigned int d_count ;
2009 spinlock_t d_lock ;
2010 struct dentry_operations const *d_op ;
2011 struct super_block *d_sb ;
2012 unsigned long d_time ;
2013 void *d_fsdata ;
2014 struct list_head d_lru ;
2015 union __anonunion_d_u_206 d_u ;
2016 struct list_head d_subdirs ;
2017 struct list_head d_alias ;
2018};
2019#line 159 "include/linux/dcache.h"
2020struct dentry_operations {
2021 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2022 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
2023 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
2024 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
2025 int (*d_delete)(struct dentry const * ) ;
2026 void (*d_release)(struct dentry * ) ;
2027 void (*d_iput)(struct dentry * , struct inode * ) ;
2028 char *(*d_dname)(struct dentry * , char * , int ) ;
2029 struct vfsmount *(*d_automount)(struct path * ) ;
2030 int (*d_manage)(struct dentry * , bool ) ;
2031} __attribute__((__aligned__((1) << (6) ))) ;
2032#line 4 "include/linux/path.h"
2033struct dentry;
2034#line 5
2035struct vfsmount;
2036#line 7 "include/linux/path.h"
2037struct path {
2038 struct vfsmount *mnt ;
2039 struct dentry *dentry ;
2040};
2041#line 57 "include/linux/radix-tree.h"
2042struct radix_tree_node;
2043#line 57
2044struct radix_tree_node;
2045#line 57
2046struct radix_tree_node;
2047#line 57 "include/linux/radix-tree.h"
2048struct radix_tree_root {
2049 unsigned int height ;
2050 gfp_t gfp_mask ;
2051 struct radix_tree_node *rnode ;
2052};
2053#line 14 "include/linux/prio_tree.h"
2054struct prio_tree_node;
2055#line 14
2056struct prio_tree_node;
2057#line 14
2058struct prio_tree_node;
2059#line 14 "include/linux/prio_tree.h"
2060struct raw_prio_tree_node {
2061 struct prio_tree_node *left ;
2062 struct prio_tree_node *right ;
2063 struct prio_tree_node *parent ;
2064};
2065#line 20 "include/linux/prio_tree.h"
2066struct prio_tree_node {
2067 struct prio_tree_node *left ;
2068 struct prio_tree_node *right ;
2069 struct prio_tree_node *parent ;
2070 unsigned long start ;
2071 unsigned long last ;
2072};
2073#line 28 "include/linux/prio_tree.h"
2074struct prio_tree_root {
2075 struct prio_tree_node *prio_tree_node ;
2076 unsigned short index_bits ;
2077 unsigned short raw ;
2078};
2079#line 6 "include/linux/pid.h"
2080enum pid_type {
2081 PIDTYPE_PID = 0,
2082 PIDTYPE_PGID = 1,
2083 PIDTYPE_SID = 2,
2084 PIDTYPE_MAX = 3
2085} ;
2086#line 50
2087struct pid_namespace;
2088#line 50
2089struct pid_namespace;
2090#line 50
2091struct pid_namespace;
2092#line 50 "include/linux/pid.h"
2093struct upid {
2094 int nr ;
2095 struct pid_namespace *ns ;
2096 struct hlist_node pid_chain ;
2097};
2098#line 57 "include/linux/pid.h"
2099struct pid {
2100 atomic_t count ;
2101 unsigned int level ;
2102 struct hlist_head tasks[3] ;
2103 struct rcu_head rcu ;
2104 struct upid numbers[1] ;
2105};
2106#line 69 "include/linux/pid.h"
2107struct pid_link {
2108 struct hlist_node node ;
2109 struct pid *pid ;
2110};
2111#line 100
2112struct pid_namespace;
2113#line 18 "include/linux/capability.h"
2114struct task_struct;
2115#line 94 "include/linux/capability.h"
2116struct kernel_cap_struct {
2117 __u32 cap[2] ;
2118};
2119#line 94 "include/linux/capability.h"
2120typedef struct kernel_cap_struct kernel_cap_t;
2121#line 376
2122struct dentry;
2123#line 377
2124struct user_namespace;
2125#line 377
2126struct user_namespace;
2127#line 377
2128struct user_namespace;
2129#line 377
2130struct user_namespace;
2131#line 16 "include/linux/fiemap.h"
2132struct fiemap_extent {
2133 __u64 fe_logical ;
2134 __u64 fe_physical ;
2135 __u64 fe_length ;
2136 __u64 fe_reserved64[2] ;
2137 __u32 fe_flags ;
2138 __u32 fe_reserved[3] ;
2139};
2140#line 399 "include/linux/fs.h"
2141struct export_operations;
2142#line 399
2143struct export_operations;
2144#line 399
2145struct export_operations;
2146#line 399
2147struct export_operations;
2148#line 401
2149struct iovec;
2150#line 401
2151struct iovec;
2152#line 401
2153struct iovec;
2154#line 401
2155struct iovec;
2156#line 402
2157struct nameidata;
2158#line 403
2159struct kiocb;
2160#line 403
2161struct kiocb;
2162#line 403
2163struct kiocb;
2164#line 403
2165struct kiocb;
2166#line 404
2167struct kobject;
2168#line 405
2169struct pipe_inode_info;
2170#line 405
2171struct pipe_inode_info;
2172#line 405
2173struct pipe_inode_info;
2174#line 405
2175struct pipe_inode_info;
2176#line 406
2177struct poll_table_struct;
2178#line 406
2179struct poll_table_struct;
2180#line 406
2181struct poll_table_struct;
2182#line 406
2183struct poll_table_struct;
2184#line 407
2185struct kstatfs;
2186#line 407
2187struct kstatfs;
2188#line 407
2189struct kstatfs;
2190#line 407
2191struct kstatfs;
2192#line 408
2193struct vm_area_struct;
2194#line 409
2195struct vfsmount;
2196#line 410
2197struct cred;
2198#line 460 "include/linux/fs.h"
2199struct iattr {
2200 unsigned int ia_valid ;
2201 umode_t ia_mode ;
2202 uid_t ia_uid ;
2203 gid_t ia_gid ;
2204 loff_t ia_size ;
2205 struct timespec ia_atime ;
2206 struct timespec ia_mtime ;
2207 struct timespec ia_ctime ;
2208 struct file *ia_file ;
2209};
2210#line 129 "include/linux/quota.h"
2211struct if_dqinfo {
2212 __u64 dqi_bgrace ;
2213 __u64 dqi_igrace ;
2214 __u32 dqi_flags ;
2215 __u32 dqi_valid ;
2216};
2217#line 50 "include/linux/dqblk_xfs.h"
2218struct fs_disk_quota {
2219 __s8 d_version ;
2220 __s8 d_flags ;
2221 __u16 d_fieldmask ;
2222 __u32 d_id ;
2223 __u64 d_blk_hardlimit ;
2224 __u64 d_blk_softlimit ;
2225 __u64 d_ino_hardlimit ;
2226 __u64 d_ino_softlimit ;
2227 __u64 d_bcount ;
2228 __u64 d_icount ;
2229 __s32 d_itimer ;
2230 __s32 d_btimer ;
2231 __u16 d_iwarns ;
2232 __u16 d_bwarns ;
2233 __s32 d_padding2 ;
2234 __u64 d_rtb_hardlimit ;
2235 __u64 d_rtb_softlimit ;
2236 __u64 d_rtbcount ;
2237 __s32 d_rtbtimer ;
2238 __u16 d_rtbwarns ;
2239 __s16 d_padding3 ;
2240 char d_padding4[8] ;
2241};
2242#line 146 "include/linux/dqblk_xfs.h"
2243struct fs_qfilestat {
2244 __u64 qfs_ino ;
2245 __u64 qfs_nblks ;
2246 __u32 qfs_nextents ;
2247};
2248#line 146 "include/linux/dqblk_xfs.h"
2249typedef struct fs_qfilestat fs_qfilestat_t;
2250#line 152 "include/linux/dqblk_xfs.h"
2251struct fs_quota_stat {
2252 __s8 qs_version ;
2253 __u16 qs_flags ;
2254 __s8 qs_pad ;
2255 fs_qfilestat_t qs_uquota ;
2256 fs_qfilestat_t qs_gquota ;
2257 __u32 qs_incoredqs ;
2258 __s32 qs_btimelimit ;
2259 __s32 qs_itimelimit ;
2260 __s32 qs_rtbtimelimit ;
2261 __u16 qs_bwarnlimit ;
2262 __u16 qs_iwarnlimit ;
2263};
2264#line 17 "include/linux/dqblk_qtree.h"
2265struct dquot;
2266#line 17
2267struct dquot;
2268#line 17
2269struct dquot;
2270#line 17
2271struct dquot;
2272#line 185 "include/linux/quota.h"
2273typedef __kernel_uid32_t qid_t;
2274#line 186 "include/linux/quota.h"
2275typedef long long qsize_t;
2276#line 200 "include/linux/quota.h"
2277struct mem_dqblk {
2278 qsize_t dqb_bhardlimit ;
2279 qsize_t dqb_bsoftlimit ;
2280 qsize_t dqb_curspace ;
2281 qsize_t dqb_rsvspace ;
2282 qsize_t dqb_ihardlimit ;
2283 qsize_t dqb_isoftlimit ;
2284 qsize_t dqb_curinodes ;
2285 time_t dqb_btime ;
2286 time_t dqb_itime ;
2287};
2288#line 215
2289struct quota_format_type;
2290#line 215
2291struct quota_format_type;
2292#line 215
2293struct quota_format_type;
2294#line 215
2295struct quota_format_type;
2296#line 217 "include/linux/quota.h"
2297struct mem_dqinfo {
2298 struct quota_format_type *dqi_format ;
2299 int dqi_fmt_id ;
2300 struct list_head dqi_dirty_list ;
2301 unsigned long dqi_flags ;
2302 unsigned int dqi_bgrace ;
2303 unsigned int dqi_igrace ;
2304 qsize_t dqi_maxblimit ;
2305 qsize_t dqi_maxilimit ;
2306 void *dqi_priv ;
2307};
2308#line 230
2309struct super_block;
2310#line 284 "include/linux/quota.h"
2311struct dquot {
2312 struct hlist_node dq_hash ;
2313 struct list_head dq_inuse ;
2314 struct list_head dq_free ;
2315 struct list_head dq_dirty ;
2316 struct mutex dq_lock ;
2317 atomic_t dq_count ;
2318 wait_queue_head_t dq_wait_unused ;
2319 struct super_block *dq_sb ;
2320 unsigned int dq_id ;
2321 loff_t dq_off ;
2322 unsigned long dq_flags ;
2323 short dq_type ;
2324 struct mem_dqblk dq_dqb ;
2325};
2326#line 301 "include/linux/quota.h"
2327struct quota_format_ops {
2328 int (*check_quota_file)(struct super_block *sb , int type ) ;
2329 int (*read_file_info)(struct super_block *sb , int type ) ;
2330 int (*write_file_info)(struct super_block *sb , int type ) ;
2331 int (*free_file_info)(struct super_block *sb , int type ) ;
2332 int (*read_dqblk)(struct dquot *dquot ) ;
2333 int (*commit_dqblk)(struct dquot *dquot ) ;
2334 int (*release_dqblk)(struct dquot *dquot ) ;
2335};
2336#line 312 "include/linux/quota.h"
2337struct dquot_operations {
2338 int (*write_dquot)(struct dquot * ) ;
2339 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
2340 void (*destroy_dquot)(struct dquot * ) ;
2341 int (*acquire_dquot)(struct dquot * ) ;
2342 int (*release_dquot)(struct dquot * ) ;
2343 int (*mark_dirty)(struct dquot * ) ;
2344 int (*write_info)(struct super_block * , int ) ;
2345 qsize_t *(*get_reserved_space)(struct inode * ) ;
2346};
2347#line 325
2348struct path;
2349#line 328 "include/linux/quota.h"
2350struct quotactl_ops {
2351 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
2352 int (*quota_on_meta)(struct super_block * , int , int ) ;
2353 int (*quota_off)(struct super_block * , int ) ;
2354 int (*quota_sync)(struct super_block * , int , int ) ;
2355 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
2356 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
2357 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
2358 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
2359 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
2360 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
2361};
2362#line 341 "include/linux/quota.h"
2363struct quota_format_type {
2364 int qf_fmt_id ;
2365 struct quota_format_ops const *qf_ops ;
2366 struct module *qf_owner ;
2367 struct quota_format_type *qf_next ;
2368};
2369#line 395 "include/linux/quota.h"
2370struct quota_info {
2371 unsigned int flags ;
2372 struct mutex dqio_mutex ;
2373 struct mutex dqonoff_mutex ;
2374 struct rw_semaphore dqptr_sem ;
2375 struct inode *files[2] ;
2376 struct mem_dqinfo info[2] ;
2377 struct quota_format_ops const *ops[2] ;
2378};
2379#line 523 "include/linux/fs.h"
2380struct page;
2381#line 524
2382struct address_space;
2383#line 524
2384struct address_space;
2385#line 524
2386struct address_space;
2387#line 524
2388struct address_space;
2389#line 525
2390struct writeback_control;
2391#line 525
2392struct writeback_control;
2393#line 525
2394struct writeback_control;
2395#line 525
2396struct writeback_control;
2397#line 568 "include/linux/fs.h"
2398union __anonunion_arg_214 {
2399 char *buf ;
2400 void *data ;
2401};
2402#line 568 "include/linux/fs.h"
2403struct __anonstruct_read_descriptor_t_213 {
2404 size_t written ;
2405 size_t count ;
2406 union __anonunion_arg_214 arg ;
2407 int error ;
2408};
2409#line 568 "include/linux/fs.h"
2410typedef struct __anonstruct_read_descriptor_t_213 read_descriptor_t;
2411#line 581 "include/linux/fs.h"
2412struct address_space_operations {
2413 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
2414 int (*readpage)(struct file * , struct page * ) ;
2415 int (*writepages)(struct address_space * , struct writeback_control * ) ;
2416 int (*set_page_dirty)(struct page *page ) ;
2417 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
2418 unsigned int nr_pages ) ;
2419 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
2420 unsigned int len , unsigned int flags , struct page **pagep ,
2421 void **fsdata ) ;
2422 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
2423 unsigned int copied , struct page *page , void *fsdata ) ;
2424 sector_t (*bmap)(struct address_space * , sector_t ) ;
2425 void (*invalidatepage)(struct page * , unsigned long ) ;
2426 int (*releasepage)(struct page * , gfp_t ) ;
2427 void (*freepage)(struct page * ) ;
2428 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
2429 unsigned long nr_segs ) ;
2430 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
2431 int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
2432 int (*launder_page)(struct page * ) ;
2433 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
2434 int (*error_remove_page)(struct address_space * , struct page * ) ;
2435};
2436#line 633
2437struct backing_dev_info;
2438#line 633
2439struct backing_dev_info;
2440#line 633
2441struct backing_dev_info;
2442#line 633
2443struct backing_dev_info;
2444#line 634 "include/linux/fs.h"
2445struct address_space {
2446 struct inode *host ;
2447 struct radix_tree_root page_tree ;
2448 spinlock_t tree_lock ;
2449 unsigned int i_mmap_writable ;
2450 struct prio_tree_root i_mmap ;
2451 struct list_head i_mmap_nonlinear ;
2452 struct mutex i_mmap_mutex ;
2453 unsigned long nrpages ;
2454 unsigned long writeback_index ;
2455 struct address_space_operations const *a_ops ;
2456 unsigned long flags ;
2457 struct backing_dev_info *backing_dev_info ;
2458 spinlock_t private_lock ;
2459 struct list_head private_list ;
2460 struct address_space *assoc_mapping ;
2461} __attribute__((__aligned__(sizeof(long )))) ;
2462#line 658
2463struct hd_struct;
2464#line 658
2465struct hd_struct;
2466#line 658
2467struct hd_struct;
2468#line 658
2469struct gendisk;
2470#line 658
2471struct gendisk;
2472#line 658
2473struct gendisk;
2474#line 658 "include/linux/fs.h"
2475struct block_device {
2476 dev_t bd_dev ;
2477 int bd_openers ;
2478 struct inode *bd_inode ;
2479 struct super_block *bd_super ;
2480 struct mutex bd_mutex ;
2481 struct list_head bd_inodes ;
2482 void *bd_claiming ;
2483 void *bd_holder ;
2484 int bd_holders ;
2485 bool bd_write_holder ;
2486 struct list_head bd_holder_disks ;
2487 struct block_device *bd_contains ;
2488 unsigned int bd_block_size ;
2489 struct hd_struct *bd_part ;
2490 unsigned int bd_part_count ;
2491 int bd_invalidated ;
2492 struct gendisk *bd_disk ;
2493 struct list_head bd_list ;
2494 unsigned long bd_private ;
2495 int bd_fsfreeze_count ;
2496 struct mutex bd_fsfreeze_mutex ;
2497};
2498#line 735
2499struct posix_acl;
2500#line 735
2501struct posix_acl;
2502#line 735
2503struct posix_acl;
2504#line 735
2505struct posix_acl;
2506#line 738
2507struct inode_operations;
2508#line 738
2509struct inode_operations;
2510#line 738
2511struct inode_operations;
2512#line 738 "include/linux/fs.h"
2513union __anonunion____missing_field_name_215 {
2514 struct list_head i_dentry ;
2515 struct rcu_head i_rcu ;
2516};
2517#line 738
2518struct file_operations;
2519#line 738
2520struct file_operations;
2521#line 738
2522struct file_operations;
2523#line 738
2524struct file_lock;
2525#line 738
2526struct file_lock;
2527#line 738
2528struct file_lock;
2529#line 738
2530struct cdev;
2531#line 738
2532struct cdev;
2533#line 738
2534struct cdev;
2535#line 738 "include/linux/fs.h"
2536union __anonunion____missing_field_name_216 {
2537 struct pipe_inode_info *i_pipe ;
2538 struct block_device *i_bdev ;
2539 struct cdev *i_cdev ;
2540};
2541#line 738 "include/linux/fs.h"
2542struct inode {
2543 umode_t i_mode ;
2544 uid_t i_uid ;
2545 gid_t i_gid ;
2546 struct inode_operations const *i_op ;
2547 struct super_block *i_sb ;
2548 spinlock_t i_lock ;
2549 unsigned int i_flags ;
2550 unsigned long i_state ;
2551 void *i_security ;
2552 struct mutex i_mutex ;
2553 unsigned long dirtied_when ;
2554 struct hlist_node i_hash ;
2555 struct list_head i_wb_list ;
2556 struct list_head i_lru ;
2557 struct list_head i_sb_list ;
2558 union __anonunion____missing_field_name_215 __annonCompField32 ;
2559 unsigned long i_ino ;
2560 atomic_t i_count ;
2561 unsigned int i_nlink ;
2562 dev_t i_rdev ;
2563 unsigned int i_blkbits ;
2564 u64 i_version ;
2565 loff_t i_size ;
2566 struct timespec i_atime ;
2567 struct timespec i_mtime ;
2568 struct timespec i_ctime ;
2569 blkcnt_t i_blocks ;
2570 unsigned short i_bytes ;
2571 struct rw_semaphore i_alloc_sem ;
2572 struct file_operations const *i_fop ;
2573 struct file_lock *i_flock ;
2574 struct address_space *i_mapping ;
2575 struct address_space i_data ;
2576 struct dquot *i_dquot[2] ;
2577 struct list_head i_devices ;
2578 union __anonunion____missing_field_name_216 __annonCompField33 ;
2579 __u32 i_generation ;
2580 __u32 i_fsnotify_mask ;
2581 struct hlist_head i_fsnotify_marks ;
2582 atomic_t i_readcount ;
2583 atomic_t i_writecount ;
2584 struct posix_acl *i_acl ;
2585 struct posix_acl *i_default_acl ;
2586 void *i_private ;
2587};
2588#line 903 "include/linux/fs.h"
2589struct fown_struct {
2590 rwlock_t lock ;
2591 struct pid *pid ;
2592 enum pid_type pid_type ;
2593 uid_t uid ;
2594 uid_t euid ;
2595 int signum ;
2596};
2597#line 914 "include/linux/fs.h"
2598struct file_ra_state {
2599 unsigned long start ;
2600 unsigned int size ;
2601 unsigned int async_size ;
2602 unsigned int ra_pages ;
2603 unsigned int mmap_miss ;
2604 loff_t prev_pos ;
2605};
2606#line 937 "include/linux/fs.h"
2607union __anonunion_f_u_217 {
2608 struct list_head fu_list ;
2609 struct rcu_head fu_rcuhead ;
2610};
2611#line 937 "include/linux/fs.h"
2612struct file {
2613 union __anonunion_f_u_217 f_u ;
2614 struct path f_path ;
2615 struct file_operations const *f_op ;
2616 spinlock_t f_lock ;
2617 int f_sb_list_cpu ;
2618 atomic_long_t f_count ;
2619 unsigned int f_flags ;
2620 fmode_t f_mode ;
2621 loff_t f_pos ;
2622 struct fown_struct f_owner ;
2623 struct cred const *f_cred ;
2624 struct file_ra_state f_ra ;
2625 u64 f_version ;
2626 void *f_security ;
2627 void *private_data ;
2628 struct list_head f_ep_links ;
2629 struct address_space *f_mapping ;
2630 unsigned long f_mnt_write_state ;
2631};
2632#line 1064
2633struct files_struct;
2634#line 1064
2635struct files_struct;
2636#line 1064
2637struct files_struct;
2638#line 1064 "include/linux/fs.h"
2639typedef struct files_struct *fl_owner_t;
2640#line 1066 "include/linux/fs.h"
2641struct file_lock_operations {
2642 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
2643 void (*fl_release_private)(struct file_lock * ) ;
2644};
2645#line 1071 "include/linux/fs.h"
2646struct lock_manager_operations {
2647 int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
2648 void (*fl_notify)(struct file_lock * ) ;
2649 int (*fl_grant)(struct file_lock * , struct file_lock * , int ) ;
2650 void (*fl_release_private)(struct file_lock * ) ;
2651 void (*fl_break)(struct file_lock * ) ;
2652 int (*fl_change)(struct file_lock ** , int ) ;
2653};
2654#line 8 "include/linux/nfs_fs_i.h"
2655struct nlm_lockowner;
2656#line 8
2657struct nlm_lockowner;
2658#line 8
2659struct nlm_lockowner;
2660#line 8
2661struct nlm_lockowner;
2662#line 13 "include/linux/nfs_fs_i.h"
2663struct nfs_lock_info {
2664 u32 state ;
2665 struct nlm_lockowner *owner ;
2666 struct list_head list ;
2667};
2668#line 19
2669struct nfs4_lock_state;
2670#line 19
2671struct nfs4_lock_state;
2672#line 19
2673struct nfs4_lock_state;
2674#line 19
2675struct nfs4_lock_state;
2676#line 20 "include/linux/nfs_fs_i.h"
2677struct nfs4_lock_info {
2678 struct nfs4_lock_state *owner ;
2679};
2680#line 1091 "include/linux/fs.h"
2681struct fasync_struct;
2682#line 1091
2683struct fasync_struct;
2684#line 1091
2685struct fasync_struct;
2686#line 1091 "include/linux/fs.h"
2687struct __anonstruct_afs_219 {
2688 struct list_head link ;
2689 int state ;
2690};
2691#line 1091 "include/linux/fs.h"
2692union __anonunion_fl_u_218 {
2693 struct nfs_lock_info nfs_fl ;
2694 struct nfs4_lock_info nfs4_fl ;
2695 struct __anonstruct_afs_219 afs ;
2696};
2697#line 1091 "include/linux/fs.h"
2698struct file_lock {
2699 struct file_lock *fl_next ;
2700 struct list_head fl_link ;
2701 struct list_head fl_block ;
2702 fl_owner_t fl_owner ;
2703 unsigned char fl_flags ;
2704 unsigned char fl_type ;
2705 unsigned int fl_pid ;
2706 struct pid *fl_nspid ;
2707 wait_queue_head_t fl_wait ;
2708 struct file *fl_file ;
2709 loff_t fl_start ;
2710 loff_t fl_end ;
2711 struct fasync_struct *fl_fasync ;
2712 unsigned long fl_break_time ;
2713 struct file_lock_operations const *fl_ops ;
2714 struct lock_manager_operations const *fl_lmops ;
2715 union __anonunion_fl_u_218 fl_u ;
2716};
2717#line 1324 "include/linux/fs.h"
2718struct fasync_struct {
2719 spinlock_t fa_lock ;
2720 int magic ;
2721 int fa_fd ;
2722 struct fasync_struct *fa_next ;
2723 struct file *fa_file ;
2724 struct rcu_head fa_rcu ;
2725};
2726#line 1364
2727struct file_system_type;
2728#line 1364
2729struct file_system_type;
2730#line 1364
2731struct file_system_type;
2732#line 1364
2733struct super_operations;
2734#line 1364
2735struct super_operations;
2736#line 1364
2737struct super_operations;
2738#line 1364
2739struct xattr_handler;
2740#line 1364
2741struct xattr_handler;
2742#line 1364
2743struct xattr_handler;
2744#line 1364
2745struct mtd_info;
2746#line 1364
2747struct mtd_info;
2748#line 1364
2749struct mtd_info;
2750#line 1364 "include/linux/fs.h"
2751struct super_block {
2752 struct list_head s_list ;
2753 dev_t s_dev ;
2754 unsigned char s_dirt ;
2755 unsigned char s_blocksize_bits ;
2756 unsigned long s_blocksize ;
2757 loff_t s_maxbytes ;
2758 struct file_system_type *s_type ;
2759 struct super_operations const *s_op ;
2760 struct dquot_operations const *dq_op ;
2761 struct quotactl_ops const *s_qcop ;
2762 struct export_operations const *s_export_op ;
2763 unsigned long s_flags ;
2764 unsigned long s_magic ;
2765 struct dentry *s_root ;
2766 struct rw_semaphore s_umount ;
2767 struct mutex s_lock ;
2768 int s_count ;
2769 atomic_t s_active ;
2770 void *s_security ;
2771 struct xattr_handler const **s_xattr ;
2772 struct list_head s_inodes ;
2773 struct hlist_bl_head s_anon ;
2774 struct list_head *s_files ;
2775 struct list_head s_dentry_lru ;
2776 int s_nr_dentry_unused ;
2777 struct block_device *s_bdev ;
2778 struct backing_dev_info *s_bdi ;
2779 struct mtd_info *s_mtd ;
2780 struct list_head s_instances ;
2781 struct quota_info s_dquot ;
2782 int s_frozen ;
2783 wait_queue_head_t s_wait_unfrozen ;
2784 char s_id[32] ;
2785 u8 s_uuid[16] ;
2786 void *s_fs_info ;
2787 fmode_t s_mode ;
2788 u32 s_time_gran ;
2789 struct mutex s_vfs_rename_mutex ;
2790 char *s_subtype ;
2791 char *s_options ;
2792 struct dentry_operations const *s_d_op ;
2793 int cleancache_poolid ;
2794};
2795#line 1499 "include/linux/fs.h"
2796struct fiemap_extent_info {
2797 unsigned int fi_flags ;
2798 unsigned int fi_extents_mapped ;
2799 unsigned int fi_extents_max ;
2800 struct fiemap_extent *fi_extents_start ;
2801};
2802#line 1546 "include/linux/fs.h"
2803struct file_operations {
2804 struct module *owner ;
2805 loff_t (*llseek)(struct file * , loff_t , int ) ;
2806 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
2807 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
2808 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
2809 loff_t ) ;
2810 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
2811 loff_t ) ;
2812 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
2813 loff_t , u64 , unsigned int ) ) ;
2814 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
2815 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
2816 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
2817 int (*mmap)(struct file * , struct vm_area_struct * ) ;
2818 int (*open)(struct inode * , struct file * ) ;
2819 int (*flush)(struct file * , fl_owner_t id ) ;
2820 int (*release)(struct inode * , struct file * ) ;
2821 int (*fsync)(struct file * , int datasync ) ;
2822 int (*aio_fsync)(struct kiocb * , int datasync ) ;
2823 int (*fasync)(int , struct file * , int ) ;
2824 int (*lock)(struct file * , int , struct file_lock * ) ;
2825 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
2826 int ) ;
2827 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
2828 unsigned long , unsigned long ) ;
2829 int (*check_flags)(int ) ;
2830 int (*flock)(struct file * , int , struct file_lock * ) ;
2831 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
2832 unsigned int ) ;
2833 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
2834 unsigned int ) ;
2835 int (*setlease)(struct file * , long , struct file_lock ** ) ;
2836 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
2837};
2838#line 1578 "include/linux/fs.h"
2839struct inode_operations {
2840 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
2841 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
2842 int (*permission)(struct inode * , int , unsigned int ) ;
2843 int (*check_acl)(struct inode * , int , unsigned int ) ;
2844 int (*readlink)(struct dentry * , char * , int ) ;
2845 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
2846 int (*create)(struct inode * , struct dentry * , int , struct nameidata * ) ;
2847 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
2848 int (*unlink)(struct inode * , struct dentry * ) ;
2849 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
2850 int (*mkdir)(struct inode * , struct dentry * , int ) ;
2851 int (*rmdir)(struct inode * , struct dentry * ) ;
2852 int (*mknod)(struct inode * , struct dentry * , int , dev_t ) ;
2853 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
2854 void (*truncate)(struct inode * ) ;
2855 int (*setattr)(struct dentry * , struct iattr * ) ;
2856 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
2857 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
2858 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
2859 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
2860 int (*removexattr)(struct dentry * , char const * ) ;
2861 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
2862 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
2863} __attribute__((__aligned__((1) << (6) ))) ;
2864#line 1608
2865struct seq_file;
2866#line 1622 "include/linux/fs.h"
2867struct super_operations {
2868 struct inode *(*alloc_inode)(struct super_block *sb ) ;
2869 void (*destroy_inode)(struct inode * ) ;
2870 void (*dirty_inode)(struct inode * , int flags ) ;
2871 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
2872 int (*drop_inode)(struct inode * ) ;
2873 void (*evict_inode)(struct inode * ) ;
2874 void (*put_super)(struct super_block * ) ;
2875 void (*write_super)(struct super_block * ) ;
2876 int (*sync_fs)(struct super_block *sb , int wait ) ;
2877 int (*freeze_fs)(struct super_block * ) ;
2878 int (*unfreeze_fs)(struct super_block * ) ;
2879 int (*statfs)(struct dentry * , struct kstatfs * ) ;
2880 int (*remount_fs)(struct super_block * , int * , char * ) ;
2881 void (*umount_begin)(struct super_block * ) ;
2882 int (*show_options)(struct seq_file * , struct vfsmount * ) ;
2883 int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
2884 int (*show_path)(struct seq_file * , struct vfsmount * ) ;
2885 int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
2886 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
2887 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
2888 loff_t ) ;
2889 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
2890};
2891#line 1802 "include/linux/fs.h"
2892struct file_system_type {
2893 char const *name ;
2894 int fs_flags ;
2895 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
2896 void (*kill_sb)(struct super_block * ) ;
2897 struct module *owner ;
2898 struct file_system_type *next ;
2899 struct list_head fs_supers ;
2900 struct lock_class_key s_lock_key ;
2901 struct lock_class_key s_umount_key ;
2902 struct lock_class_key s_vfs_rename_key ;
2903 struct lock_class_key i_lock_key ;
2904 struct lock_class_key i_mutex_key ;
2905 struct lock_class_key i_mutex_dir_key ;
2906 struct lock_class_key i_alloc_sem_key ;
2907};
2908#line 23 "include/linux/mm_types.h"
2909struct address_space;
2910#line 34 "include/linux/mm_types.h"
2911struct __anonstruct____missing_field_name_223 {
2912 u16 inuse ;
2913 u16 objects ;
2914};
2915#line 34 "include/linux/mm_types.h"
2916union __anonunion____missing_field_name_222 {
2917 atomic_t _mapcount ;
2918 struct __anonstruct____missing_field_name_223 __annonCompField34 ;
2919};
2920#line 34 "include/linux/mm_types.h"
2921struct __anonstruct____missing_field_name_225 {
2922 unsigned long private ;
2923 struct address_space *mapping ;
2924};
2925#line 34 "include/linux/mm_types.h"
2926union __anonunion____missing_field_name_224 {
2927 struct __anonstruct____missing_field_name_225 __annonCompField36 ;
2928 struct kmem_cache *slab ;
2929 struct page *first_page ;
2930};
2931#line 34 "include/linux/mm_types.h"
2932union __anonunion____missing_field_name_226 {
2933 unsigned long index ;
2934 void *freelist ;
2935};
2936#line 34 "include/linux/mm_types.h"
2937struct page {
2938 unsigned long flags ;
2939 atomic_t _count ;
2940 union __anonunion____missing_field_name_222 __annonCompField35 ;
2941 union __anonunion____missing_field_name_224 __annonCompField37 ;
2942 union __anonunion____missing_field_name_226 __annonCompField38 ;
2943 struct list_head lru ;
2944};
2945#line 132 "include/linux/mm_types.h"
2946struct __anonstruct_vm_set_228 {
2947 struct list_head list ;
2948 void *parent ;
2949 struct vm_area_struct *head ;
2950};
2951#line 132 "include/linux/mm_types.h"
2952union __anonunion_shared_227 {
2953 struct __anonstruct_vm_set_228 vm_set ;
2954 struct raw_prio_tree_node prio_tree_node ;
2955};
2956#line 132
2957struct anon_vma;
2958#line 132
2959struct anon_vma;
2960#line 132
2961struct anon_vma;
2962#line 132
2963struct vm_operations_struct;
2964#line 132
2965struct vm_operations_struct;
2966#line 132
2967struct vm_operations_struct;
2968#line 132
2969struct mempolicy;
2970#line 132
2971struct mempolicy;
2972#line 132
2973struct mempolicy;
2974#line 132 "include/linux/mm_types.h"
2975struct vm_area_struct {
2976 struct mm_struct *vm_mm ;
2977 unsigned long vm_start ;
2978 unsigned long vm_end ;
2979 struct vm_area_struct *vm_next ;
2980 struct vm_area_struct *vm_prev ;
2981 pgprot_t vm_page_prot ;
2982 unsigned long vm_flags ;
2983 struct rb_node vm_rb ;
2984 union __anonunion_shared_227 shared ;
2985 struct list_head anon_vma_chain ;
2986 struct anon_vma *anon_vma ;
2987 struct vm_operations_struct const *vm_ops ;
2988 unsigned long vm_pgoff ;
2989 struct file *vm_file ;
2990 void *vm_private_data ;
2991 struct mempolicy *vm_policy ;
2992};
2993#line 189 "include/linux/mm_types.h"
2994struct core_thread {
2995 struct task_struct *task ;
2996 struct core_thread *next ;
2997};
2998#line 194 "include/linux/mm_types.h"
2999struct core_state {
3000 atomic_t nr_threads ;
3001 struct core_thread dumper ;
3002 struct completion startup ;
3003};
3004#line 216 "include/linux/mm_types.h"
3005struct mm_rss_stat {
3006 atomic_long_t count[3] ;
3007};
3008#line 220
3009struct linux_binfmt;
3010#line 220
3011struct linux_binfmt;
3012#line 220
3013struct linux_binfmt;
3014#line 220
3015struct mmu_notifier_mm;
3016#line 220
3017struct mmu_notifier_mm;
3018#line 220
3019struct mmu_notifier_mm;
3020#line 220 "include/linux/mm_types.h"
3021struct mm_struct {
3022 struct vm_area_struct *mmap ;
3023 struct rb_root mm_rb ;
3024 struct vm_area_struct *mmap_cache ;
3025 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
3026 unsigned long pgoff , unsigned long flags ) ;
3027 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
3028 unsigned long mmap_base ;
3029 unsigned long task_size ;
3030 unsigned long cached_hole_size ;
3031 unsigned long free_area_cache ;
3032 pgd_t *pgd ;
3033 atomic_t mm_users ;
3034 atomic_t mm_count ;
3035 int map_count ;
3036 spinlock_t page_table_lock ;
3037 struct rw_semaphore mmap_sem ;
3038 struct list_head mmlist ;
3039 unsigned long hiwater_rss ;
3040 unsigned long hiwater_vm ;
3041 unsigned long total_vm ;
3042 unsigned long locked_vm ;
3043 unsigned long shared_vm ;
3044 unsigned long exec_vm ;
3045 unsigned long stack_vm ;
3046 unsigned long reserved_vm ;
3047 unsigned long def_flags ;
3048 unsigned long nr_ptes ;
3049 unsigned long start_code ;
3050 unsigned long end_code ;
3051 unsigned long start_data ;
3052 unsigned long end_data ;
3053 unsigned long start_brk ;
3054 unsigned long brk ;
3055 unsigned long start_stack ;
3056 unsigned long arg_start ;
3057 unsigned long arg_end ;
3058 unsigned long env_start ;
3059 unsigned long env_end ;
3060 unsigned long saved_auxv[44] ;
3061 struct mm_rss_stat rss_stat ;
3062 struct linux_binfmt *binfmt ;
3063 cpumask_var_t cpu_vm_mask_var ;
3064 mm_context_t context ;
3065 unsigned int faultstamp ;
3066 unsigned int token_priority ;
3067 unsigned int last_interval ;
3068 atomic_t oom_disable_count ;
3069 unsigned long flags ;
3070 struct core_state *core_state ;
3071 spinlock_t ioctx_lock ;
3072 struct hlist_head ioctx_list ;
3073 struct task_struct *owner ;
3074 struct file *exe_file ;
3075 unsigned long num_exe_file_vmas ;
3076 struct mmu_notifier_mm *mmu_notifier_mm ;
3077 pgtable_t pmd_huge_pte ;
3078 struct cpumask cpumask_allocation ;
3079};
3080#line 7 "include/asm-generic/cputime.h"
3081typedef unsigned long cputime_t;
3082#line 84 "include/linux/sem.h"
3083struct task_struct;
3084#line 122
3085struct sem_undo_list;
3086#line 122
3087struct sem_undo_list;
3088#line 122
3089struct sem_undo_list;
3090#line 135 "include/linux/sem.h"
3091struct sem_undo_list {
3092 atomic_t refcnt ;
3093 spinlock_t lock ;
3094 struct list_head list_proc ;
3095};
3096#line 141 "include/linux/sem.h"
3097struct sysv_sem {
3098 struct sem_undo_list *undo_list ;
3099};
3100#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
3101struct siginfo;
3102#line 10
3103struct siginfo;
3104#line 10
3105struct siginfo;
3106#line 10
3107struct siginfo;
3108#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
3109struct __anonstruct_sigset_t_230 {
3110 unsigned long sig[1] ;
3111};
3112#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
3113typedef struct __anonstruct_sigset_t_230 sigset_t;
3114#line 17 "include/asm-generic/signal-defs.h"
3115typedef void __signalfn_t(int );
3116#line 18 "include/asm-generic/signal-defs.h"
3117typedef __signalfn_t *__sighandler_t;
3118#line 20 "include/asm-generic/signal-defs.h"
3119typedef void __restorefn_t(void);
3120#line 21 "include/asm-generic/signal-defs.h"
3121typedef __restorefn_t *__sigrestore_t;
3122#line 167 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
3123struct sigaction {
3124 __sighandler_t sa_handler ;
3125 unsigned long sa_flags ;
3126 __sigrestore_t sa_restorer ;
3127 sigset_t sa_mask ;
3128};
3129#line 174 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
3130struct k_sigaction {
3131 struct sigaction sa ;
3132};
3133#line 7 "include/asm-generic/siginfo.h"
3134union sigval {
3135 int sival_int ;
3136 void *sival_ptr ;
3137};
3138#line 7 "include/asm-generic/siginfo.h"
3139typedef union sigval sigval_t;
3140#line 40 "include/asm-generic/siginfo.h"
3141struct __anonstruct__kill_232 {
3142 __kernel_pid_t _pid ;
3143 __kernel_uid32_t _uid ;
3144};
3145#line 40 "include/asm-generic/siginfo.h"
3146struct __anonstruct__timer_233 {
3147 __kernel_timer_t _tid ;
3148 int _overrun ;
3149 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
3150 sigval_t _sigval ;
3151 int _sys_private ;
3152};
3153#line 40 "include/asm-generic/siginfo.h"
3154struct __anonstruct__rt_234 {
3155 __kernel_pid_t _pid ;
3156 __kernel_uid32_t _uid ;
3157 sigval_t _sigval ;
3158};
3159#line 40 "include/asm-generic/siginfo.h"
3160struct __anonstruct__sigchld_235 {
3161 __kernel_pid_t _pid ;
3162 __kernel_uid32_t _uid ;
3163 int _status ;
3164 __kernel_clock_t _utime ;
3165 __kernel_clock_t _stime ;
3166};
3167#line 40 "include/asm-generic/siginfo.h"
3168struct __anonstruct__sigfault_236 {
3169 void *_addr ;
3170 short _addr_lsb ;
3171};
3172#line 40 "include/asm-generic/siginfo.h"
3173struct __anonstruct__sigpoll_237 {
3174 long _band ;
3175 int _fd ;
3176};
3177#line 40 "include/asm-generic/siginfo.h"
3178union __anonunion__sifields_231 {
3179 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
3180 struct __anonstruct__kill_232 _kill ;
3181 struct __anonstruct__timer_233 _timer ;
3182 struct __anonstruct__rt_234 _rt ;
3183 struct __anonstruct__sigchld_235 _sigchld ;
3184 struct __anonstruct__sigfault_236 _sigfault ;
3185 struct __anonstruct__sigpoll_237 _sigpoll ;
3186};
3187#line 40 "include/asm-generic/siginfo.h"
3188struct siginfo {
3189 int si_signo ;
3190 int si_errno ;
3191 int si_code ;
3192 union __anonunion__sifields_231 _sifields ;
3193};
3194#line 40 "include/asm-generic/siginfo.h"
3195typedef struct siginfo siginfo_t;
3196#line 280
3197struct siginfo;
3198#line 10 "include/linux/signal.h"
3199struct task_struct;
3200#line 18
3201struct user_struct;
3202#line 18
3203struct user_struct;
3204#line 18
3205struct user_struct;
3206#line 28 "include/linux/signal.h"
3207struct sigpending {
3208 struct list_head list ;
3209 sigset_t signal ;
3210};
3211#line 239
3212struct timespec;
3213#line 240
3214struct pt_regs;
3215#line 97 "include/linux/proportions.h"
3216struct prop_local_single {
3217 unsigned long events ;
3218 unsigned long period ;
3219 int shift ;
3220 spinlock_t lock ;
3221};
3222#line 10 "include/linux/seccomp.h"
3223struct __anonstruct_seccomp_t_240 {
3224 int mode ;
3225};
3226#line 10 "include/linux/seccomp.h"
3227typedef struct __anonstruct_seccomp_t_240 seccomp_t;
3228#line 82 "include/linux/plist.h"
3229struct plist_head {
3230 struct list_head node_list ;
3231 raw_spinlock_t *rawlock ;
3232 spinlock_t *spinlock ;
3233};
3234#line 90 "include/linux/plist.h"
3235struct plist_node {
3236 int prio ;
3237 struct list_head prio_list ;
3238 struct list_head node_list ;
3239};
3240#line 40 "include/linux/rtmutex.h"
3241struct rt_mutex_waiter;
3242#line 40
3243struct rt_mutex_waiter;
3244#line 40
3245struct rt_mutex_waiter;
3246#line 40
3247struct rt_mutex_waiter;
3248#line 42 "include/linux/resource.h"
3249struct rlimit {
3250 unsigned long rlim_cur ;
3251 unsigned long rlim_max ;
3252};
3253#line 81
3254struct task_struct;
3255#line 11 "include/linux/task_io_accounting.h"
3256struct task_io_accounting {
3257 u64 rchar ;
3258 u64 wchar ;
3259 u64 syscr ;
3260 u64 syscw ;
3261 u64 read_bytes ;
3262 u64 write_bytes ;
3263 u64 cancelled_write_bytes ;
3264};
3265#line 18 "include/linux/latencytop.h"
3266struct latency_record {
3267 unsigned long backtrace[12] ;
3268 unsigned int count ;
3269 unsigned long time ;
3270 unsigned long max ;
3271};
3272#line 26
3273struct task_struct;
3274#line 29 "include/linux/key.h"
3275typedef int32_t key_serial_t;
3276#line 32 "include/linux/key.h"
3277typedef uint32_t key_perm_t;
3278#line 34
3279struct key;
3280#line 34
3281struct key;
3282#line 34
3283struct key;
3284#line 34
3285struct key;
3286#line 74
3287struct seq_file;
3288#line 75
3289struct user_struct;
3290#line 76
3291struct signal_struct;
3292#line 76
3293struct signal_struct;
3294#line 76
3295struct signal_struct;
3296#line 76
3297struct signal_struct;
3298#line 77
3299struct cred;
3300#line 79
3301struct key_type;
3302#line 79
3303struct key_type;
3304#line 79
3305struct key_type;
3306#line 79
3307struct key_type;
3308#line 81
3309struct keyring_list;
3310#line 81
3311struct keyring_list;
3312#line 81
3313struct keyring_list;
3314#line 81
3315struct keyring_list;
3316#line 124
3317struct key_user;
3318#line 124
3319struct key_user;
3320#line 124
3321struct key_user;
3322#line 124 "include/linux/key.h"
3323union __anonunion____missing_field_name_241 {
3324 time_t expiry ;
3325 time_t revoked_at ;
3326};
3327#line 124 "include/linux/key.h"
3328union __anonunion_type_data_242 {
3329 struct list_head link ;
3330 unsigned long x[2] ;
3331 void *p[2] ;
3332 int reject_error ;
3333};
3334#line 124 "include/linux/key.h"
3335union __anonunion_payload_243 {
3336 unsigned long value ;
3337 void *rcudata ;
3338 void *data ;
3339 struct keyring_list *subscriptions ;
3340};
3341#line 124 "include/linux/key.h"
3342struct key {
3343 atomic_t usage ;
3344 key_serial_t serial ;
3345 struct rb_node serial_node ;
3346 struct key_type *type ;
3347 struct rw_semaphore sem ;
3348 struct key_user *user ;
3349 void *security ;
3350 union __anonunion____missing_field_name_241 __annonCompField39 ;
3351 uid_t uid ;
3352 gid_t gid ;
3353 key_perm_t perm ;
3354 unsigned short quotalen ;
3355 unsigned short datalen ;
3356 unsigned long flags ;
3357 char *description ;
3358 union __anonunion_type_data_242 type_data ;
3359 union __anonunion_payload_243 payload ;
3360};
3361#line 18 "include/linux/selinux.h"
3362struct audit_context;
3363#line 18
3364struct audit_context;
3365#line 18
3366struct audit_context;
3367#line 18
3368struct audit_context;
3369#line 21 "include/linux/cred.h"
3370struct user_struct;
3371#line 22
3372struct cred;
3373#line 23
3374struct inode;
3375#line 31 "include/linux/cred.h"
3376struct group_info {
3377 atomic_t usage ;
3378 int ngroups ;
3379 int nblocks ;
3380 gid_t small_block[32] ;
3381 gid_t *blocks[0] ;
3382};
3383#line 83 "include/linux/cred.h"
3384struct thread_group_cred {
3385 atomic_t usage ;
3386 pid_t tgid ;
3387 spinlock_t lock ;
3388 struct key *session_keyring ;
3389 struct key *process_keyring ;
3390 struct rcu_head rcu ;
3391};
3392#line 116 "include/linux/cred.h"
3393struct cred {
3394 atomic_t usage ;
3395 atomic_t subscribers ;
3396 void *put_addr ;
3397 unsigned int magic ;
3398 uid_t uid ;
3399 gid_t gid ;
3400 uid_t suid ;
3401 gid_t sgid ;
3402 uid_t euid ;
3403 gid_t egid ;
3404 uid_t fsuid ;
3405 gid_t fsgid ;
3406 unsigned int securebits ;
3407 kernel_cap_t cap_inheritable ;
3408 kernel_cap_t cap_permitted ;
3409 kernel_cap_t cap_effective ;
3410 kernel_cap_t cap_bset ;
3411 unsigned char jit_keyring ;
3412 struct key *thread_keyring ;
3413 struct key *request_key_auth ;
3414 struct thread_group_cred *tgcred ;
3415 void *security ;
3416 struct user_struct *user ;
3417 struct user_namespace *user_ns ;
3418 struct group_info *group_info ;
3419 struct rcu_head rcu ;
3420};
3421#line 96 "include/linux/sched.h"
3422struct exec_domain;
3423#line 97
3424struct futex_pi_state;
3425#line 97
3426struct futex_pi_state;
3427#line 97
3428struct futex_pi_state;
3429#line 97
3430struct futex_pi_state;
3431#line 98
3432struct robust_list_head;
3433#line 98
3434struct robust_list_head;
3435#line 98
3436struct robust_list_head;
3437#line 98
3438struct robust_list_head;
3439#line 99
3440struct bio_list;
3441#line 99
3442struct bio_list;
3443#line 99
3444struct bio_list;
3445#line 99
3446struct bio_list;
3447#line 100
3448struct fs_struct;
3449#line 100
3450struct fs_struct;
3451#line 100
3452struct fs_struct;
3453#line 100
3454struct fs_struct;
3455#line 101
3456struct perf_event_context;
3457#line 101
3458struct perf_event_context;
3459#line 101
3460struct perf_event_context;
3461#line 101
3462struct perf_event_context;
3463#line 102
3464struct blk_plug;
3465#line 102
3466struct blk_plug;
3467#line 102
3468struct blk_plug;
3469#line 102
3470struct blk_plug;
3471#line 150
3472struct seq_file;
3473#line 151
3474struct cfs_rq;
3475#line 151
3476struct cfs_rq;
3477#line 151
3478struct cfs_rq;
3479#line 151
3480struct cfs_rq;
3481#line 259
3482struct task_struct;
3483#line 364
3484struct nsproxy;
3485#line 365
3486struct user_namespace;
3487#line 58 "include/linux/aio_abi.h"
3488struct io_event {
3489 __u64 data ;
3490 __u64 obj ;
3491 __s64 res ;
3492 __s64 res2 ;
3493};
3494#line 16 "include/linux/uio.h"
3495struct iovec {
3496 void *iov_base ;
3497 __kernel_size_t iov_len ;
3498};
3499#line 15 "include/linux/aio.h"
3500struct kioctx;
3501#line 15
3502struct kioctx;
3503#line 15
3504struct kioctx;
3505#line 15
3506struct kioctx;
3507#line 87 "include/linux/aio.h"
3508union __anonunion_ki_obj_245 {
3509 void *user ;
3510 struct task_struct *tsk ;
3511};
3512#line 87
3513struct eventfd_ctx;
3514#line 87
3515struct eventfd_ctx;
3516#line 87
3517struct eventfd_ctx;
3518#line 87 "include/linux/aio.h"
3519struct kiocb {
3520 struct list_head ki_run_list ;
3521 unsigned long ki_flags ;
3522 int ki_users ;
3523 unsigned int ki_key ;
3524 struct file *ki_filp ;
3525 struct kioctx *ki_ctx ;
3526 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
3527 ssize_t (*ki_retry)(struct kiocb * ) ;
3528 void (*ki_dtor)(struct kiocb * ) ;
3529 union __anonunion_ki_obj_245 ki_obj ;
3530 __u64 ki_user_data ;
3531 loff_t ki_pos ;
3532 void *private ;
3533 unsigned short ki_opcode ;
3534 size_t ki_nbytes ;
3535 char *ki_buf ;
3536 size_t ki_left ;
3537 struct iovec ki_inline_vec ;
3538 struct iovec *ki_iovec ;
3539 unsigned long ki_nr_segs ;
3540 unsigned long ki_cur_seg ;
3541 struct list_head ki_list ;
3542 struct eventfd_ctx *ki_eventfd ;
3543};
3544#line 165 "include/linux/aio.h"
3545struct aio_ring_info {
3546 unsigned long mmap_base ;
3547 unsigned long mmap_size ;
3548 struct page **ring_pages ;
3549 spinlock_t ring_lock ;
3550 long nr_pages ;
3551 unsigned int nr ;
3552 unsigned int tail ;
3553 struct page *internal_pages[8] ;
3554};
3555#line 178 "include/linux/aio.h"
3556struct kioctx {
3557 atomic_t users ;
3558 int dead ;
3559 struct mm_struct *mm ;
3560 unsigned long user_id ;
3561 struct hlist_node list ;
3562 wait_queue_head_t wait ;
3563 spinlock_t ctx_lock ;
3564 int reqs_active ;
3565 struct list_head active_reqs ;
3566 struct list_head run_list ;
3567 unsigned int max_reqs ;
3568 struct aio_ring_info ring_info ;
3569 struct delayed_work wq ;
3570 struct rcu_head rcu_head ;
3571};
3572#line 213
3573struct mm_struct;
3574#line 441 "include/linux/sched.h"
3575struct sighand_struct {
3576 atomic_t count ;
3577 struct k_sigaction action[64] ;
3578 spinlock_t siglock ;
3579 wait_queue_head_t signalfd_wqh ;
3580};
3581#line 448 "include/linux/sched.h"
3582struct pacct_struct {
3583 int ac_flag ;
3584 long ac_exitcode ;
3585 unsigned long ac_mem ;
3586 cputime_t ac_utime ;
3587 cputime_t ac_stime ;
3588 unsigned long ac_minflt ;
3589 unsigned long ac_majflt ;
3590};
3591#line 456 "include/linux/sched.h"
3592struct cpu_itimer {
3593 cputime_t expires ;
3594 cputime_t incr ;
3595 u32 error ;
3596 u32 incr_error ;
3597};
3598#line 474 "include/linux/sched.h"
3599struct task_cputime {
3600 cputime_t utime ;
3601 cputime_t stime ;
3602 unsigned long long sum_exec_runtime ;
3603};
3604#line 510 "include/linux/sched.h"
3605struct thread_group_cputimer {
3606 struct task_cputime cputime ;
3607 int running ;
3608 spinlock_t lock ;
3609};
3610#line 517
3611struct autogroup;
3612#line 517
3613struct autogroup;
3614#line 517
3615struct autogroup;
3616#line 517
3617struct autogroup;
3618#line 526
3619struct tty_struct;
3620#line 526
3621struct tty_struct;
3622#line 526
3623struct tty_struct;
3624#line 526
3625struct taskstats;
3626#line 526
3627struct taskstats;
3628#line 526
3629struct taskstats;
3630#line 526
3631struct tty_audit_buf;
3632#line 526
3633struct tty_audit_buf;
3634#line 526
3635struct tty_audit_buf;
3636#line 526 "include/linux/sched.h"
3637struct signal_struct {
3638 atomic_t sigcnt ;
3639 atomic_t live ;
3640 int nr_threads ;
3641 wait_queue_head_t wait_chldexit ;
3642 struct task_struct *curr_target ;
3643 struct sigpending shared_pending ;
3644 int group_exit_code ;
3645 int notify_count ;
3646 struct task_struct *group_exit_task ;
3647 int group_stop_count ;
3648 unsigned int flags ;
3649 struct list_head posix_timers ;
3650 struct hrtimer real_timer ;
3651 struct pid *leader_pid ;
3652 ktime_t it_real_incr ;
3653 struct cpu_itimer it[2] ;
3654 struct thread_group_cputimer cputimer ;
3655 struct task_cputime cputime_expires ;
3656 struct list_head cpu_timers[3] ;
3657 struct pid *tty_old_pgrp ;
3658 int leader ;
3659 struct tty_struct *tty ;
3660 struct autogroup *autogroup ;
3661 cputime_t utime ;
3662 cputime_t stime ;
3663 cputime_t cutime ;
3664 cputime_t cstime ;
3665 cputime_t gtime ;
3666 cputime_t cgtime ;
3667 cputime_t prev_utime ;
3668 cputime_t prev_stime ;
3669 unsigned long nvcsw ;
3670 unsigned long nivcsw ;
3671 unsigned long cnvcsw ;
3672 unsigned long cnivcsw ;
3673 unsigned long min_flt ;
3674 unsigned long maj_flt ;
3675 unsigned long cmin_flt ;
3676 unsigned long cmaj_flt ;
3677 unsigned long inblock ;
3678 unsigned long oublock ;
3679 unsigned long cinblock ;
3680 unsigned long coublock ;
3681 unsigned long maxrss ;
3682 unsigned long cmaxrss ;
3683 struct task_io_accounting ioac ;
3684 unsigned long long sum_sched_runtime ;
3685 struct rlimit rlim[16] ;
3686 struct pacct_struct pacct ;
3687 struct taskstats *stats ;
3688 unsigned int audit_tty ;
3689 struct tty_audit_buf *tty_audit_buf ;
3690 struct rw_semaphore threadgroup_fork_lock ;
3691 int oom_adj ;
3692 int oom_score_adj ;
3693 int oom_score_adj_min ;
3694 struct mutex cred_guard_mutex ;
3695};
3696#line 687 "include/linux/sched.h"
3697struct user_struct {
3698 atomic_t __count ;
3699 atomic_t processes ;
3700 atomic_t files ;
3701 atomic_t sigpending ;
3702 atomic_t inotify_watches ;
3703 atomic_t inotify_devs ;
3704 atomic_t fanotify_listeners ;
3705 atomic_long_t epoll_watches ;
3706 unsigned long mq_bytes ;
3707 unsigned long locked_shm ;
3708 struct key *uid_keyring ;
3709 struct key *session_keyring ;
3710 struct hlist_node uidhash_node ;
3711 uid_t uid ;
3712 struct user_namespace *user_ns ;
3713 atomic_long_t locked_vm ;
3714};
3715#line 731
3716struct backing_dev_info;
3717#line 732
3718struct reclaim_state;
3719#line 732
3720struct reclaim_state;
3721#line 732
3722struct reclaim_state;
3723#line 732
3724struct reclaim_state;
3725#line 735 "include/linux/sched.h"
3726struct sched_info {
3727 unsigned long pcount ;
3728 unsigned long long run_delay ;
3729 unsigned long long last_arrival ;
3730 unsigned long long last_queued ;
3731};
3732#line 747 "include/linux/sched.h"
3733struct task_delay_info {
3734 spinlock_t lock ;
3735 unsigned int flags ;
3736 struct timespec blkio_start ;
3737 struct timespec blkio_end ;
3738 u64 blkio_delay ;
3739 u64 swapin_delay ;
3740 u32 blkio_count ;
3741 u32 swapin_count ;
3742 struct timespec freepages_start ;
3743 struct timespec freepages_end ;
3744 u64 freepages_delay ;
3745 u32 freepages_count ;
3746};
3747#line 1050
3748struct io_context;
3749#line 1050
3750struct io_context;
3751#line 1050
3752struct io_context;
3753#line 1050
3754struct io_context;
3755#line 1059
3756struct audit_context;
3757#line 1060
3758struct mempolicy;
3759#line 1061
3760struct pipe_inode_info;
3761#line 1064
3762struct rq;
3763#line 1064
3764struct rq;
3765#line 1064
3766struct rq;
3767#line 1064
3768struct rq;
3769#line 1084 "include/linux/sched.h"
3770struct sched_class {
3771 struct sched_class const *next ;
3772 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
3773 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
3774 void (*yield_task)(struct rq *rq ) ;
3775 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
3776 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
3777 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
3778 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
3779 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
3780 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
3781 void (*post_schedule)(struct rq *this_rq ) ;
3782 void (*task_waking)(struct task_struct *task ) ;
3783 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
3784 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
3785 void (*rq_online)(struct rq *rq ) ;
3786 void (*rq_offline)(struct rq *rq ) ;
3787 void (*set_curr_task)(struct rq *rq ) ;
3788 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
3789 void (*task_fork)(struct task_struct *p ) ;
3790 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
3791 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
3792 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
3793 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
3794 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
3795};
3796#line 1129 "include/linux/sched.h"
3797struct load_weight {
3798 unsigned long weight ;
3799 unsigned long inv_weight ;
3800};
3801#line 1134 "include/linux/sched.h"
3802struct sched_statistics {
3803 u64 wait_start ;
3804 u64 wait_max ;
3805 u64 wait_count ;
3806 u64 wait_sum ;
3807 u64 iowait_count ;
3808 u64 iowait_sum ;
3809 u64 sleep_start ;
3810 u64 sleep_max ;
3811 s64 sum_sleep_runtime ;
3812 u64 block_start ;
3813 u64 block_max ;
3814 u64 exec_max ;
3815 u64 slice_max ;
3816 u64 nr_migrations_cold ;
3817 u64 nr_failed_migrations_affine ;
3818 u64 nr_failed_migrations_running ;
3819 u64 nr_failed_migrations_hot ;
3820 u64 nr_forced_migrations ;
3821 u64 nr_wakeups ;
3822 u64 nr_wakeups_sync ;
3823 u64 nr_wakeups_migrate ;
3824 u64 nr_wakeups_local ;
3825 u64 nr_wakeups_remote ;
3826 u64 nr_wakeups_affine ;
3827 u64 nr_wakeups_affine_attempts ;
3828 u64 nr_wakeups_passive ;
3829 u64 nr_wakeups_idle ;
3830};
3831#line 1169 "include/linux/sched.h"
3832struct sched_entity {
3833 struct load_weight load ;
3834 struct rb_node run_node ;
3835 struct list_head group_node ;
3836 unsigned int on_rq ;
3837 u64 exec_start ;
3838 u64 sum_exec_runtime ;
3839 u64 vruntime ;
3840 u64 prev_sum_exec_runtime ;
3841 u64 nr_migrations ;
3842 struct sched_statistics statistics ;
3843 struct sched_entity *parent ;
3844 struct cfs_rq *cfs_rq ;
3845 struct cfs_rq *my_q ;
3846};
3847#line 1195
3848struct rt_rq;
3849#line 1195
3850struct rt_rq;
3851#line 1195
3852struct rt_rq;
3853#line 1195 "include/linux/sched.h"
3854struct sched_rt_entity {
3855 struct list_head run_list ;
3856 unsigned long timeout ;
3857 unsigned int time_slice ;
3858 int nr_cpus_allowed ;
3859 struct sched_rt_entity *back ;
3860 struct sched_rt_entity *parent ;
3861 struct rt_rq *rt_rq ;
3862 struct rt_rq *my_q ;
3863};
3864#line 1220
3865struct css_set;
3866#line 1220
3867struct css_set;
3868#line 1220
3869struct css_set;
3870#line 1220
3871struct compat_robust_list_head;
3872#line 1220
3873struct compat_robust_list_head;
3874#line 1220
3875struct compat_robust_list_head;
3876#line 1220
3877struct ftrace_ret_stack;
3878#line 1220
3879struct ftrace_ret_stack;
3880#line 1220
3881struct ftrace_ret_stack;
3882#line 1220
3883struct mem_cgroup;
3884#line 1220
3885struct mem_cgroup;
3886#line 1220
3887struct mem_cgroup;
3888#line 1220 "include/linux/sched.h"
3889struct memcg_batch_info {
3890 int do_batch ;
3891 struct mem_cgroup *memcg ;
3892 unsigned long nr_pages ;
3893 unsigned long memsw_nr_pages ;
3894};
3895#line 1220 "include/linux/sched.h"
3896struct task_struct {
3897 long volatile state ;
3898 void *stack ;
3899 atomic_t usage ;
3900 unsigned int flags ;
3901 unsigned int ptrace ;
3902 struct task_struct *wake_entry ;
3903 int on_cpu ;
3904 int on_rq ;
3905 int prio ;
3906 int static_prio ;
3907 int normal_prio ;
3908 unsigned int rt_priority ;
3909 struct sched_class const *sched_class ;
3910 struct sched_entity se ;
3911 struct sched_rt_entity rt ;
3912 struct hlist_head preempt_notifiers ;
3913 unsigned char fpu_counter ;
3914 unsigned int btrace_seq ;
3915 unsigned int policy ;
3916 cpumask_t cpus_allowed ;
3917 struct sched_info sched_info ;
3918 struct list_head tasks ;
3919 struct plist_node pushable_tasks ;
3920 struct mm_struct *mm ;
3921 struct mm_struct *active_mm ;
3922 unsigned int brk_randomized : 1 ;
3923 int exit_state ;
3924 int exit_code ;
3925 int exit_signal ;
3926 int pdeath_signal ;
3927 unsigned int group_stop ;
3928 unsigned int personality ;
3929 unsigned int did_exec : 1 ;
3930 unsigned int in_execve : 1 ;
3931 unsigned int in_iowait : 1 ;
3932 unsigned int sched_reset_on_fork : 1 ;
3933 unsigned int sched_contributes_to_load : 1 ;
3934 pid_t pid ;
3935 pid_t tgid ;
3936 unsigned long stack_canary ;
3937 struct task_struct *real_parent ;
3938 struct task_struct *parent ;
3939 struct list_head children ;
3940 struct list_head sibling ;
3941 struct task_struct *group_leader ;
3942 struct list_head ptraced ;
3943 struct list_head ptrace_entry ;
3944 struct pid_link pids[3] ;
3945 struct list_head thread_group ;
3946 struct completion *vfork_done ;
3947 int *set_child_tid ;
3948 int *clear_child_tid ;
3949 cputime_t utime ;
3950 cputime_t stime ;
3951 cputime_t utimescaled ;
3952 cputime_t stimescaled ;
3953 cputime_t gtime ;
3954 cputime_t prev_utime ;
3955 cputime_t prev_stime ;
3956 unsigned long nvcsw ;
3957 unsigned long nivcsw ;
3958 struct timespec start_time ;
3959 struct timespec real_start_time ;
3960 unsigned long min_flt ;
3961 unsigned long maj_flt ;
3962 struct task_cputime cputime_expires ;
3963 struct list_head cpu_timers[3] ;
3964 struct cred const *real_cred ;
3965 struct cred const *cred ;
3966 struct cred *replacement_session_keyring ;
3967 char comm[16] ;
3968 int link_count ;
3969 int total_link_count ;
3970 struct sysv_sem sysvsem ;
3971 unsigned long last_switch_count ;
3972 struct thread_struct thread ;
3973 struct fs_struct *fs ;
3974 struct files_struct *files ;
3975 struct nsproxy *nsproxy ;
3976 struct signal_struct *signal ;
3977 struct sighand_struct *sighand ;
3978 sigset_t blocked ;
3979 sigset_t real_blocked ;
3980 sigset_t saved_sigmask ;
3981 struct sigpending pending ;
3982 unsigned long sas_ss_sp ;
3983 size_t sas_ss_size ;
3984 int (*notifier)(void *priv ) ;
3985 void *notifier_data ;
3986 sigset_t *notifier_mask ;
3987 struct audit_context *audit_context ;
3988 uid_t loginuid ;
3989 unsigned int sessionid ;
3990 seccomp_t seccomp ;
3991 u32 parent_exec_id ;
3992 u32 self_exec_id ;
3993 spinlock_t alloc_lock ;
3994 struct irqaction *irqaction ;
3995 raw_spinlock_t pi_lock ;
3996 struct plist_head pi_waiters ;
3997 struct rt_mutex_waiter *pi_blocked_on ;
3998 struct mutex_waiter *blocked_on ;
3999 unsigned int irq_events ;
4000 unsigned long hardirq_enable_ip ;
4001 unsigned long hardirq_disable_ip ;
4002 unsigned int hardirq_enable_event ;
4003 unsigned int hardirq_disable_event ;
4004 int hardirqs_enabled ;
4005 int hardirq_context ;
4006 unsigned long softirq_disable_ip ;
4007 unsigned long softirq_enable_ip ;
4008 unsigned int softirq_disable_event ;
4009 unsigned int softirq_enable_event ;
4010 int softirqs_enabled ;
4011 int softirq_context ;
4012 u64 curr_chain_key ;
4013 int lockdep_depth ;
4014 unsigned int lockdep_recursion ;
4015 struct held_lock held_locks[48UL] ;
4016 gfp_t lockdep_reclaim_gfp ;
4017 void *journal_info ;
4018 struct bio_list *bio_list ;
4019 struct blk_plug *plug ;
4020 struct reclaim_state *reclaim_state ;
4021 struct backing_dev_info *backing_dev_info ;
4022 struct io_context *io_context ;
4023 unsigned long ptrace_message ;
4024 siginfo_t *last_siginfo ;
4025 struct task_io_accounting ioac ;
4026 u64 acct_rss_mem1 ;
4027 u64 acct_vm_mem1 ;
4028 cputime_t acct_timexpd ;
4029 nodemask_t mems_allowed ;
4030 int mems_allowed_change_disable ;
4031 int cpuset_mem_spread_rotor ;
4032 int cpuset_slab_spread_rotor ;
4033 struct css_set *cgroups ;
4034 struct list_head cg_list ;
4035 struct robust_list_head *robust_list ;
4036 struct compat_robust_list_head *compat_robust_list ;
4037 struct list_head pi_state_list ;
4038 struct futex_pi_state *pi_state_cache ;
4039 struct perf_event_context *perf_event_ctxp[2] ;
4040 struct mutex perf_event_mutex ;
4041 struct list_head perf_event_list ;
4042 struct mempolicy *mempolicy ;
4043 short il_next ;
4044 short pref_node_fork ;
4045 atomic_t fs_excl ;
4046 struct rcu_head rcu ;
4047 struct pipe_inode_info *splice_pipe ;
4048 struct task_delay_info *delays ;
4049 int make_it_fail ;
4050 struct prop_local_single dirties ;
4051 int latency_record_count ;
4052 struct latency_record latency_record[32] ;
4053 unsigned long timer_slack_ns ;
4054 unsigned long default_timer_slack_ns ;
4055 struct list_head *scm_work_list ;
4056 int curr_ret_stack ;
4057 struct ftrace_ret_stack *ret_stack ;
4058 unsigned long long ftrace_timestamp ;
4059 atomic_t trace_overrun ;
4060 atomic_t tracing_graph_pause ;
4061 unsigned long trace ;
4062 unsigned long trace_recursion ;
4063 struct memcg_batch_info memcg_batch ;
4064 atomic_t ptrace_bp_refcnt ;
4065};
4066#line 1634
4067struct pid_namespace;
4068#line 25 "include/linux/usb.h"
4069struct usb_device;
4070#line 25
4071struct usb_device;
4072#line 25
4073struct usb_device;
4074#line 25
4075struct usb_device;
4076#line 26
4077struct usb_driver;
4078#line 26
4079struct usb_driver;
4080#line 26
4081struct usb_driver;
4082#line 26
4083struct usb_driver;
4084#line 27
4085struct wusb_dev;
4086#line 27
4087struct wusb_dev;
4088#line 27
4089struct wusb_dev;
4090#line 27
4091struct wusb_dev;
4092#line 47
4093struct ep_device;
4094#line 47
4095struct ep_device;
4096#line 47
4097struct ep_device;
4098#line 47
4099struct ep_device;
4100#line 64 "include/linux/usb.h"
4101struct usb_host_endpoint {
4102 struct usb_endpoint_descriptor desc ;
4103 struct usb_ss_ep_comp_descriptor ss_ep_comp ;
4104 struct list_head urb_list ;
4105 void *hcpriv ;
4106 struct ep_device *ep_dev ;
4107 unsigned char *extra ;
4108 int extralen ;
4109 int enabled ;
4110};
4111#line 77 "include/linux/usb.h"
4112struct usb_host_interface {
4113 struct usb_interface_descriptor desc ;
4114 struct usb_host_endpoint *endpoint ;
4115 char *string ;
4116 unsigned char *extra ;
4117 int extralen ;
4118};
4119#line 90
4120enum usb_interface_condition {
4121 USB_INTERFACE_UNBOUND = 0,
4122 USB_INTERFACE_BINDING = 1,
4123 USB_INTERFACE_BOUND = 2,
4124 USB_INTERFACE_UNBINDING = 3
4125} ;
4126#line 159 "include/linux/usb.h"
4127struct usb_interface {
4128 struct usb_host_interface *altsetting ;
4129 struct usb_host_interface *cur_altsetting ;
4130 unsigned int num_altsetting ;
4131 struct usb_interface_assoc_descriptor *intf_assoc ;
4132 int minor ;
4133 enum usb_interface_condition condition ;
4134 unsigned int sysfs_files_created : 1 ;
4135 unsigned int ep_devs_created : 1 ;
4136 unsigned int unregistering : 1 ;
4137 unsigned int needs_remote_wakeup : 1 ;
4138 unsigned int needs_altsetting0 : 1 ;
4139 unsigned int needs_binding : 1 ;
4140 unsigned int reset_running : 1 ;
4141 unsigned int resetting_device : 1 ;
4142 struct device dev ;
4143 struct device *usb_dev ;
4144 atomic_t pm_usage_cnt ;
4145 struct work_struct reset_ws ;
4146};
4147#line 222 "include/linux/usb.h"
4148struct usb_interface_cache {
4149 unsigned int num_altsetting ;
4150 struct kref ref ;
4151 struct usb_host_interface altsetting[0] ;
4152};
4153#line 274 "include/linux/usb.h"
4154struct usb_host_config {
4155 struct usb_config_descriptor desc ;
4156 char *string ;
4157 struct usb_interface_assoc_descriptor *intf_assoc[16] ;
4158 struct usb_interface *interface[32] ;
4159 struct usb_interface_cache *intf_cache[32] ;
4160 unsigned char *extra ;
4161 int extralen ;
4162};
4163#line 305 "include/linux/usb.h"
4164struct usb_devmap {
4165 unsigned long devicemap[128UL / (8UL * sizeof(unsigned long ))] ;
4166};
4167#line 312
4168struct mon_bus;
4169#line 312
4170struct mon_bus;
4171#line 312
4172struct mon_bus;
4173#line 312 "include/linux/usb.h"
4174struct usb_bus {
4175 struct device *controller ;
4176 int busnum ;
4177 char const *bus_name ;
4178 u8 uses_dma ;
4179 u8 uses_pio_for_control ;
4180 u8 otg_port ;
4181 unsigned int is_b_host : 1 ;
4182 unsigned int b_hnp_enable : 1 ;
4183 unsigned int sg_tablesize ;
4184 int devnum_next ;
4185 struct usb_devmap devmap ;
4186 struct usb_device *root_hub ;
4187 struct usb_bus *hs_companion ;
4188 struct list_head bus_list ;
4189 int bandwidth_allocated ;
4190 int bandwidth_int_reqs ;
4191 int bandwidth_isoc_reqs ;
4192 struct dentry *usbfs_dentry ;
4193 struct mon_bus *mon_bus ;
4194 int monitored ;
4195};
4196#line 367
4197struct usb_tt;
4198#line 367
4199struct usb_tt;
4200#line 367
4201struct usb_tt;
4202#line 367
4203struct usb_tt;
4204#line 426 "include/linux/usb.h"
4205struct usb_device {
4206 int devnum ;
4207 char devpath[16] ;
4208 u32 route ;
4209 enum usb_device_state state ;
4210 enum usb_device_speed speed ;
4211 struct usb_tt *tt ;
4212 int ttport ;
4213 unsigned int toggle[2] ;
4214 struct usb_device *parent ;
4215 struct usb_bus *bus ;
4216 struct usb_host_endpoint ep0 ;
4217 struct device dev ;
4218 struct usb_device_descriptor descriptor ;
4219 struct usb_host_config *config ;
4220 struct usb_host_config *actconfig ;
4221 struct usb_host_endpoint *ep_in[16] ;
4222 struct usb_host_endpoint *ep_out[16] ;
4223 char **rawdescriptors ;
4224 unsigned short bus_mA ;
4225 u8 portnum ;
4226 u8 level ;
4227 unsigned int can_submit : 1 ;
4228 unsigned int persist_enabled : 1 ;
4229 unsigned int have_langid : 1 ;
4230 unsigned int authorized : 1 ;
4231 unsigned int authenticated : 1 ;
4232 unsigned int wusb : 1 ;
4233 int string_langid ;
4234 char *product ;
4235 char *manufacturer ;
4236 char *serial ;
4237 struct list_head filelist ;
4238 struct device *usb_classdev ;
4239 struct dentry *usbfs_dentry ;
4240 int maxchild ;
4241 struct usb_device *children[31] ;
4242 u32 quirks ;
4243 atomic_t urbnum ;
4244 unsigned long active_duration ;
4245 unsigned long connect_time ;
4246 unsigned int do_remote_wakeup : 1 ;
4247 unsigned int reset_resume : 1 ;
4248 struct wusb_dev *wusb_dev ;
4249 int slot_id ;
4250};
4251#line 763 "include/linux/usb.h"
4252struct usb_dynids {
4253 spinlock_t lock ;
4254 struct list_head list ;
4255};
4256#line 782 "include/linux/usb.h"
4257struct usbdrv_wrap {
4258 struct device_driver driver ;
4259 int for_devices ;
4260};
4261#line 843 "include/linux/usb.h"
4262struct usb_driver {
4263 char const *name ;
4264 int (*probe)(struct usb_interface *intf , struct usb_device_id const *id ) ;
4265 void (*disconnect)(struct usb_interface *intf ) ;
4266 int (*unlocked_ioctl)(struct usb_interface *intf , unsigned int code , void *buf ) ;
4267 int (*suspend)(struct usb_interface *intf , pm_message_t message ) ;
4268 int (*resume)(struct usb_interface *intf ) ;
4269 int (*reset_resume)(struct usb_interface *intf ) ;
4270 int (*pre_reset)(struct usb_interface *intf ) ;
4271 int (*post_reset)(struct usb_interface *intf ) ;
4272 struct usb_device_id const *id_table ;
4273 struct usb_dynids dynids ;
4274 struct usbdrv_wrap drvwrap ;
4275 unsigned int no_dynamic_id : 1 ;
4276 unsigned int supports_autosuspend : 1 ;
4277 unsigned int soft_unbind : 1 ;
4278};
4279#line 918 "include/linux/usb.h"
4280struct usb_class_driver {
4281 char *name ;
4282 char *(*devnode)(struct device *dev , mode_t *mode ) ;
4283 struct file_operations const *fops ;
4284 int minor_base ;
4285};
4286#line 983 "include/linux/usb.h"
4287struct usb_iso_packet_descriptor {
4288 unsigned int offset ;
4289 unsigned int length ;
4290 unsigned int actual_length ;
4291 int status ;
4292};
4293#line 990
4294struct urb;
4295#line 990
4296struct urb;
4297#line 990
4298struct urb;
4299#line 990
4300struct urb;
4301#line 992 "include/linux/usb.h"
4302struct usb_anchor {
4303 struct list_head urb_list ;
4304 wait_queue_head_t wait ;
4305 spinlock_t lock ;
4306 unsigned int poisoned : 1 ;
4307};
4308#line 1183
4309struct scatterlist;
4310#line 1183
4311struct scatterlist;
4312#line 1183
4313struct scatterlist;
4314#line 1183 "include/linux/usb.h"
4315struct urb {
4316 struct kref kref ;
4317 void *hcpriv ;
4318 atomic_t use_count ;
4319 atomic_t reject ;
4320 int unlinked ;
4321 struct list_head urb_list ;
4322 struct list_head anchor_list ;
4323 struct usb_anchor *anchor ;
4324 struct usb_device *dev ;
4325 struct usb_host_endpoint *ep ;
4326 unsigned int pipe ;
4327 unsigned int stream_id ;
4328 int status ;
4329 unsigned int transfer_flags ;
4330 void *transfer_buffer ;
4331 dma_addr_t transfer_dma ;
4332 struct scatterlist *sg ;
4333 int num_sgs ;
4334 u32 transfer_buffer_length ;
4335 u32 actual_length ;
4336 unsigned char *setup_packet ;
4337 dma_addr_t setup_dma ;
4338 int start_frame ;
4339 int number_of_packets ;
4340 int interval ;
4341 int error_count ;
4342 void *context ;
4343 void (*complete)(struct urb * ) ;
4344 struct usb_iso_packet_descriptor iso_frame_desc[0] ;
4345};
4346#line 1388
4347struct scatterlist;
4348#line 38 "include/linux/slub_def.h"
4349struct kmem_cache_cpu {
4350 void **freelist ;
4351 unsigned long tid ;
4352 struct page *page ;
4353 int node ;
4354 unsigned int stat[19] ;
4355};
4356#line 48 "include/linux/slub_def.h"
4357struct kmem_cache_node {
4358 spinlock_t list_lock ;
4359 unsigned long nr_partial ;
4360 struct list_head partial ;
4361 atomic_long_t nr_slabs ;
4362 atomic_long_t total_objects ;
4363 struct list_head full ;
4364};
4365#line 64 "include/linux/slub_def.h"
4366struct kmem_cache_order_objects {
4367 unsigned long x ;
4368};
4369#line 71 "include/linux/slub_def.h"
4370struct kmem_cache {
4371 struct kmem_cache_cpu *cpu_slab ;
4372 unsigned long flags ;
4373 unsigned long min_partial ;
4374 int size ;
4375 int objsize ;
4376 int offset ;
4377 struct kmem_cache_order_objects oo ;
4378 struct kmem_cache_order_objects max ;
4379 struct kmem_cache_order_objects min ;
4380 gfp_t allocflags ;
4381 int refcount ;
4382 void (*ctor)(void * ) ;
4383 int inuse ;
4384 int align ;
4385 int reserved ;
4386 char const *name ;
4387 struct list_head list ;
4388 struct kobject kobj ;
4389 int remote_node_defrag_ratio ;
4390 struct kmem_cache_node *node[1 << 10] ;
4391};
4392#line 31 "include/asm-generic/poll.h"
4393struct pollfd {
4394 int fd ;
4395 short events ;
4396 short revents ;
4397};
4398#line 28 "include/linux/poll.h"
4399struct poll_table_struct;
4400#line 35 "include/linux/poll.h"
4401struct poll_table_struct {
4402 void (*qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ;
4403 unsigned long key ;
4404};
4405#line 35 "include/linux/poll.h"
4406typedef struct poll_table_struct poll_table;
4407#line 16 "include/linux/usb/iowarrior.h"
4408struct iowarrior_info {
4409 __u32 vendor ;
4410 __u32 product ;
4411 __u8 serial[9] ;
4412 __u32 revision ;
4413 __u32 speed ;
4414 __u32 power ;
4415 __u32 if_num ;
4416 __u32 report_size ;
4417};
4418#line 78 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
4419struct iowarrior {
4420 struct mutex mutex ;
4421 struct usb_device *udev ;
4422 struct usb_interface *interface ;
4423 unsigned char minor ;
4424 struct usb_endpoint_descriptor *int_out_endpoint ;
4425 struct usb_endpoint_descriptor *int_in_endpoint ;
4426 struct urb *int_in_urb ;
4427 unsigned char *int_in_buffer ;
4428 unsigned char serial_number ;
4429 unsigned char *read_queue ;
4430 wait_queue_head_t read_wait ;
4431 wait_queue_head_t write_wait ;
4432 atomic_t write_busy ;
4433 atomic_t read_idx ;
4434 atomic_t intr_idx ;
4435 spinlock_t intr_idx_lock ;
4436 atomic_t overflow_flag ;
4437 int present ;
4438 int opened ;
4439 char chip_serial[9] ;
4440 int report_size ;
4441 u16 product_id ;
4442};
4443#line 1 "<compiler builtins>"
4444void *__builtin_memcpy(void * , void const * , unsigned long ) ;
4445#line 1
4446unsigned long __builtin_object_size(void * , int ) ;
4447#line 1
4448long __builtin_expect(long , long ) ;
4449#line 315 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4450__inline static int variable_test_bit(int nr , unsigned long const volatile *addr )
4451{ int oldbit ;
4452 unsigned long *__cil_tmp4 ;
4453
4454 {
4455#line 319
4456 __cil_tmp4 = (unsigned long *)addr;
4457#line 319
4458 __asm__ volatile ("bt %2,%1\n\t"
4459 "sbb %0,%0": "=r" (oldbit): "m" (*__cil_tmp4), "Ir" (nr));
4460#line 324
4461 return (oldbit);
4462}
4463}
4464#line 100 "include/linux/printk.h"
4465extern int printk(char const *fmt , ...) ;
4466#line 64 "include/asm-generic/bug.h"
4467extern void warn_slowpath_fmt(char const *file , int line , char const *fmt , ...) ;
4468#line 170 "include/linux/kernel.h"
4469extern void might_fault(void) ;
4470#line 303
4471extern char *kasprintf(gfp_t gfp , char const *fmt , ...) ;
4472#line 88 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/percpu.h"
4473extern void __bad_percpu_size(void) ;
4474#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
4475extern struct task_struct *current_task __attribute__((__section__(".data..percpu"))) ;
4476#line 12 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
4477__inline static struct task_struct *( __attribute__((__always_inline__)) get_current)(void)
4478{ struct task_struct *pfo_ret__ ;
4479 int __cil_tmp2 ;
4480 int __cil_tmp3 ;
4481 int __cil_tmp4 ;
4482 int __cil_tmp5 ;
4483
4484 {
4485 {
4486#line 14
4487 __cil_tmp2 = (int )8UL;
4488#line 14
4489 if (__cil_tmp2 == 1) {
4490#line 14
4491 goto case_1;
4492 } else {
4493 {
4494#line 14
4495 __cil_tmp3 = (int )8UL;
4496#line 14
4497 if (__cil_tmp3 == 2) {
4498#line 14
4499 goto case_2;
4500 } else {
4501 {
4502#line 14
4503 __cil_tmp4 = (int )8UL;
4504#line 14
4505 if (__cil_tmp4 == 4) {
4506#line 14
4507 goto case_4;
4508 } else {
4509 {
4510#line 14
4511 __cil_tmp5 = (int )8UL;
4512#line 14
4513 if (__cil_tmp5 == 8) {
4514#line 14
4515 goto case_8;
4516 } else {
4517#line 14
4518 goto switch_default;
4519#line 14
4520 if (0) {
4521 case_1:
4522#line 14
4523
4524
4525
4526
4527
4528
4529
4530
4531#line 14
4532 goto switch_break;
4533 case_2:
4534#line 14
4535 __asm__ ("mov"
4536 "w "
4537 "%%"
4538 "gs"
4539 ":"
4540 "%P"
4541 "1"
4542 ",%0": "=r" (pfo_ret__): "p" (& current_task));
4543#line 14
4544 goto switch_break;
4545 case_4:
4546#line 14
4547
4548
4549
4550
4551
4552
4553
4554
4555#line 14
4556 goto switch_break;
4557 case_8:
4558#line 14
4559 __asm__ ("mov"
4560 "q "
4561 "%%"
4562 "gs"
4563 ":"
4564 "%P"
4565 "1"
4566 ",%0": "=r" (pfo_ret__): "p" (& current_task));
4567#line 14
4568 goto switch_break;
4569 switch_default:
4570 {
4571#line 14
4572 __bad_percpu_size();
4573 }
4574 } else {
4575 switch_break: ;
4576 }
4577 }
4578 }
4579 }
4580 }
4581 }
4582 }
4583 }
4584 }
4585#line 14
4586 return (pfo_ret__);
4587}
4588}
4589#line 34 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
4590extern void *__memcpy(void *to , void const *from , size_t len ) ;
4591#line 55
4592extern void *memset(void *s , int c , size_t n ) ;
4593#line 60
4594extern int memcmp(void const *cs , void const *ct , unsigned long count ) ;
4595#line 61
4596extern unsigned long strlen(char const *s ) ;
4597#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
4598__inline static int atomic_read(atomic_t const *v )
4599{ int const *__cil_tmp2 ;
4600 int volatile *__cil_tmp3 ;
4601 int volatile __cil_tmp4 ;
4602
4603 {
4604 {
4605#line 25
4606 __cil_tmp2 = & v->counter;
4607#line 25
4608 __cil_tmp3 = (int volatile *)__cil_tmp2;
4609#line 25
4610 __cil_tmp4 = *__cil_tmp3;
4611#line 25
4612 return ((int )__cil_tmp4);
4613 }
4614}
4615}
4616#line 35 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
4617__inline static void atomic_set(atomic_t *v , int i )
4618{
4619
4620 {
4621#line 37
4622 v->counter = i;
4623#line 38
4624 return;
4625}
4626}
4627#line 93 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
4628__inline static void atomic_inc(atomic_t *v )
4629{
4630
4631 {
4632#line 95
4633 __asm__ volatile (".section .smp_locks,\"a\"\n"
4634 ".balign 4\n"
4635 ".long 671f - .\n"
4636 ".previous\n"
4637 "671:"
4638 "\n\tlock; "
4639 "incl %0": "+m" (v->counter));
4640#line 97
4641 return;
4642}
4643}
4644#line 105 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
4645__inline static void atomic_dec(atomic_t *v )
4646{
4647
4648 {
4649#line 107
4650 __asm__ volatile (".section .smp_locks,\"a\"\n"
4651 ".balign 4\n"
4652 ".long 671f - .\n"
4653 ".previous\n"
4654 "671:"
4655 "\n\tlock; "
4656 "decl %0": "+m" (v->counter));
4657#line 109
4658 return;
4659}
4660}
4661#line 82 "include/linux/thread_info.h"
4662__inline static int test_ti_thread_flag(struct thread_info *ti , int flag )
4663{ int tmp___0 ;
4664 __u32 *__cil_tmp4 ;
4665 unsigned long *__cil_tmp5 ;
4666 unsigned long const volatile *__cil_tmp6 ;
4667
4668 {
4669 {
4670#line 84
4671 __cil_tmp4 = & ti->flags;
4672#line 84
4673 __cil_tmp5 = (unsigned long *)__cil_tmp4;
4674#line 84
4675 __cil_tmp6 = (unsigned long const volatile *)__cil_tmp5;
4676#line 84
4677 tmp___0 = variable_test_bit(flag, __cil_tmp6);
4678 }
4679#line 84
4680 return (tmp___0);
4681}
4682}
4683#line 93 "include/linux/spinlock.h"
4684extern void __raw_spin_lock_init(raw_spinlock_t *lock , char const *name , struct lock_class_key *key ) ;
4685#line 22 "include/linux/spinlock_api_smp.h"
4686extern void _raw_spin_lock(raw_spinlock_t *lock ) __attribute__((__section__(".spinlock.text"))) ;
4687#line 39
4688extern void _raw_spin_unlock(raw_spinlock_t *lock ) __attribute__((__section__(".spinlock.text"))) ;
4689#line 272 "include/linux/spinlock.h"
4690__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock )
4691{
4692
4693 {
4694#line 274
4695 return (& lock->__annonCompField18.rlock);
4696}
4697}
4698#line 283 "include/linux/spinlock.h"
4699__inline static void spin_lock(spinlock_t *lock )
4700{ struct raw_spinlock *__cil_tmp2 ;
4701
4702 {
4703 {
4704#line 285
4705 __cil_tmp2 = & lock->__annonCompField18.rlock;
4706#line 285
4707 _raw_spin_lock(__cil_tmp2);
4708 }
4709#line 286
4710 return;
4711}
4712}
4713#line 323 "include/linux/spinlock.h"
4714__inline static void spin_unlock(spinlock_t *lock )
4715{ struct raw_spinlock *__cil_tmp2 ;
4716
4717 {
4718 {
4719#line 325
4720 __cil_tmp2 = & lock->__annonCompField18.rlock;
4721#line 325
4722 _raw_spin_unlock(__cil_tmp2);
4723 }
4724#line 326
4725 return;
4726}
4727}
4728#line 80 "include/linux/wait.h"
4729extern void __init_waitqueue_head(wait_queue_head_t *q , struct lock_class_key * ) ;
4730#line 156
4731extern void __wake_up(wait_queue_head_t *q , unsigned int mode , int nr , void *key ) ;
4732#line 584
4733extern void prepare_to_wait(wait_queue_head_t *q , wait_queue_t *wait , int state ) ;
4734#line 586
4735extern void finish_wait(wait_queue_head_t *q , wait_queue_t *wait ) ;
4736#line 589
4737extern int autoremove_wake_function(wait_queue_t *wait , unsigned int mode , int sync ,
4738 void *key ) ;
4739#line 115 "include/linux/mutex.h"
4740extern void __mutex_init(struct mutex *lock , char const *name , struct lock_class_key *key ) ;
4741#line 134
4742extern void mutex_lock_nested(struct mutex *lock , unsigned int subclass ) ;
4743#line 169
4744extern void mutex_unlock(struct mutex *lock ) ;
4745#line 830 "include/linux/rcupdate.h"
4746extern void kfree(void const * ) ;
4747#line 80 "include/linux/kobject.h"
4748__inline static char const *kobject_name(struct kobject const *kobj )
4749{ char const *__cil_tmp2 ;
4750
4751 {
4752 {
4753#line 82
4754 __cil_tmp2 = kobj->name;
4755#line 82
4756 return ((char const *)__cil_tmp2);
4757 }
4758}
4759}
4760#line 329 "include/linux/moduleparam.h"
4761extern struct kernel_param_ops param_ops_bool ;
4762#line 79 "include/linux/module.h"
4763int init_module(void) ;
4764#line 80
4765void cleanup_module(void) ;
4766#line 99
4767extern struct module __this_module ;
4768#line 424 "include/linux/usb/ch9.h"
4769__inline static int usb_endpoint_dir_in(struct usb_endpoint_descriptor const *epd )
4770{ __u8 __cil_tmp2 ;
4771 int __cil_tmp3 ;
4772 int __cil_tmp4 ;
4773
4774 {
4775 {
4776#line 426
4777 __cil_tmp2 = epd->bEndpointAddress;
4778#line 426
4779 __cil_tmp3 = (int const )__cil_tmp2;
4780#line 426
4781 __cil_tmp4 = __cil_tmp3 & 128;
4782#line 426
4783 return (__cil_tmp4 == 128);
4784 }
4785}
4786}
4787#line 435 "include/linux/usb/ch9.h"
4788__inline static int usb_endpoint_dir_out(struct usb_endpoint_descriptor const *epd )
4789{ __u8 __cil_tmp2 ;
4790 int __cil_tmp3 ;
4791 int __cil_tmp4 ;
4792
4793 {
4794 {
4795#line 438
4796 __cil_tmp2 = epd->bEndpointAddress;
4797#line 438
4798 __cil_tmp3 = (int const )__cil_tmp2;
4799#line 438
4800 __cil_tmp4 = __cil_tmp3 & 128;
4801#line 438
4802 return (__cil_tmp4 == 0);
4803 }
4804}
4805}
4806#line 474 "include/linux/usb/ch9.h"
4807__inline static int usb_endpoint_xfer_int(struct usb_endpoint_descriptor const *epd )
4808{ __u8 __cil_tmp2 ;
4809 int __cil_tmp3 ;
4810 int __cil_tmp4 ;
4811
4812 {
4813 {
4814#line 477
4815 __cil_tmp2 = epd->bmAttributes;
4816#line 477
4817 __cil_tmp3 = (int const )__cil_tmp2;
4818#line 477
4819 __cil_tmp4 = __cil_tmp3 & 3;
4820#line 477
4821 return (__cil_tmp4 == 3);
4822 }
4823}
4824}
4825#line 528 "include/linux/usb/ch9.h"
4826__inline static int usb_endpoint_is_int_in(struct usb_endpoint_descriptor const *epd )
4827{ int tmp ;
4828 int tmp___0 ;
4829 int tmp___1 ;
4830
4831 {
4832 {
4833#line 531
4834 tmp = usb_endpoint_xfer_int(epd);
4835 }
4836#line 531
4837 if (tmp) {
4838 {
4839#line 531
4840 tmp___0 = usb_endpoint_dir_in(epd);
4841 }
4842#line 531
4843 if (tmp___0) {
4844#line 531
4845 tmp___1 = 1;
4846 } else {
4847#line 531
4848 tmp___1 = 0;
4849 }
4850 } else {
4851#line 531
4852 tmp___1 = 0;
4853 }
4854#line 531
4855 return (tmp___1);
4856}
4857}
4858#line 541 "include/linux/usb/ch9.h"
4859__inline static int usb_endpoint_is_int_out(struct usb_endpoint_descriptor const *epd )
4860{ int tmp ;
4861 int tmp___0 ;
4862 int tmp___1 ;
4863
4864 {
4865 {
4866#line 544
4867 tmp = usb_endpoint_xfer_int(epd);
4868 }
4869#line 544
4870 if (tmp) {
4871 {
4872#line 544
4873 tmp___0 = usb_endpoint_dir_out(epd);
4874 }
4875#line 544
4876 if (tmp___0) {
4877#line 544
4878 tmp___1 = 1;
4879 } else {
4880#line 544
4881 tmp___1 = 0;
4882 }
4883 } else {
4884#line 544
4885 tmp___1 = 0;
4886 }
4887#line 544
4888 return (tmp___1);
4889}
4890}
4891#line 39 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
4892extern unsigned long __attribute__((__warn_unused_result__)) _copy_to_user(void *to ,
4893 void const *from ,
4894 unsigned int len ) ;
4895#line 41
4896extern unsigned long __attribute__((__warn_unused_result__)) _copy_from_user(void *to ,
4897 void const *from ,
4898 unsigned int len ) ;
4899#line 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
4900__inline static unsigned long __attribute__((__warn_unused_result__)) copy_from_user(void *to ,
4901 void const *from ,
4902 unsigned long n )
4903{ int sz ;
4904 unsigned long tmp ;
4905 int __ret_warn_on ;
4906 long tmp___0 ;
4907 int tmp___1 ;
4908 long tmp___2 ;
4909 unsigned long tmp___3 ;
4910 unsigned long tmp___4 ;
4911 unsigned long __cil_tmp12 ;
4912 long __cil_tmp13 ;
4913 unsigned int __cil_tmp14 ;
4914 int __cil_tmp15 ;
4915 int __cil_tmp16 ;
4916 long __cil_tmp17 ;
4917 int __cil_tmp18 ;
4918 int __cil_tmp19 ;
4919 int __cil_tmp20 ;
4920 int __cil_tmp21 ;
4921 long __cil_tmp22 ;
4922
4923 {
4924 {
4925#line 50
4926 tmp = __builtin_object_size(to, 0);
4927#line 50
4928 sz = (int )tmp;
4929#line 52
4930 might_fault();
4931 }
4932#line 53
4933 if (sz == -1) {
4934#line 53
4935 tmp___1 = 1;
4936 } else {
4937 {
4938#line 53
4939 __cil_tmp12 = (unsigned long )sz;
4940#line 53
4941 if (__cil_tmp12 >= n) {
4942#line 53
4943 tmp___1 = 1;
4944 } else {
4945#line 53
4946 tmp___1 = 0;
4947 }
4948 }
4949 }
4950 {
4951#line 53
4952 __cil_tmp13 = (long )tmp___1;
4953#line 53
4954 tmp___2 = __builtin_expect(__cil_tmp13, 1L);
4955 }
4956#line 53
4957 if (tmp___2) {
4958 {
4959#line 54
4960 __cil_tmp14 = (unsigned int )n;
4961#line 54
4962 tmp___4 = (unsigned long )_copy_from_user(to, from, __cil_tmp14);
4963#line 54
4964 tmp___3 = tmp___4;
4965#line 54
4966 n = tmp___3;
4967 }
4968 } else {
4969 {
4970#line 57
4971 __ret_warn_on = 1;
4972#line 57
4973 __cil_tmp15 = ! __ret_warn_on;
4974#line 57
4975 __cil_tmp16 = ! __cil_tmp15;
4976#line 57
4977 __cil_tmp17 = (long )__cil_tmp16;
4978#line 57
4979 tmp___0 = __builtin_expect(__cil_tmp17, 0L);
4980 }
4981#line 57
4982 if (tmp___0) {
4983 {
4984#line 57
4985 __cil_tmp18 = (int const )57;
4986#line 57
4987 __cil_tmp19 = (int )__cil_tmp18;
4988#line 57
4989 warn_slowpath_fmt("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h",
4990 __cil_tmp19, "Buffer overflow detected!\n");
4991 }
4992 } else {
4993
4994 }
4995 {
4996#line 57
4997 __cil_tmp20 = ! __ret_warn_on;
4998#line 57
4999 __cil_tmp21 = ! __cil_tmp20;
5000#line 57
5001 __cil_tmp22 = (long )__cil_tmp21;
5002#line 57
5003 __builtin_expect(__cil_tmp22, 0L);
5004 }
5005 }
5006#line 59
5007 return (n);
5008}
5009}
5010#line 62 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
5011__inline static int __attribute__((__warn_unused_result__)) ( __attribute__((__always_inline__)) copy_to_user)(void *dst ,
5012 void const *src ,
5013 unsigned int size )
5014{ unsigned long tmp ;
5015 unsigned long tmp___0 ;
5016 unsigned long tmp___1 ;
5017
5018 {
5019 {
5020#line 65
5021 might_fault();
5022#line 67
5023 tmp___1 = (unsigned long )_copy_to_user(dst, src, size);
5024#line 67
5025 tmp___0 = tmp___1;
5026#line 67
5027 tmp = tmp___0;
5028 }
5029#line 67
5030 return ((int )tmp);
5031}
5032}
5033#line 608 "include/linux/device.h"
5034__inline static char const *dev_name(struct device const *dev )
5035{ char const *tmp ;
5036 char const *__cil_tmp3 ;
5037 struct kobject const *__cil_tmp4 ;
5038
5039 {
5040#line 611
5041 if (dev->init_name) {
5042 {
5043#line 612
5044 __cil_tmp3 = dev->init_name;
5045#line 612
5046 return ((char const *)__cil_tmp3);
5047 }
5048 } else {
5049
5050 }
5051 {
5052#line 614
5053 __cil_tmp4 = & dev->kobj;
5054#line 614
5055 tmp = kobject_name(__cil_tmp4);
5056 }
5057#line 614
5058 return (tmp);
5059}
5060}
5061#line 705
5062extern void *dev_get_drvdata(struct device const *dev ) __attribute__((__ldv_model__)) ;
5063#line 706
5064extern int dev_set_drvdata(struct device *dev , void *data ) ;
5065#line 797
5066extern int dev_err(struct device const *dev , char const *fmt , ...) ;
5067#line 803
5068extern int _dev_info(struct device const *dev , char const *fmt , ...) ;
5069#line 891 "include/linux/fs.h"
5070__inline static unsigned int iminor(struct inode const *inode )
5071{ unsigned int __cil_tmp2 ;
5072 unsigned int __cil_tmp3 ;
5073 unsigned int __cil_tmp4 ;
5074 dev_t __cil_tmp5 ;
5075 unsigned int __cil_tmp6 ;
5076
5077 {
5078 {
5079#line 893
5080 __cil_tmp2 = 1U << 20;
5081#line 893
5082 __cil_tmp3 = __cil_tmp2 - 1U;
5083#line 893
5084 __cil_tmp4 = (unsigned int const )__cil_tmp3;
5085#line 893
5086 __cil_tmp5 = inode->i_rdev;
5087#line 893
5088 __cil_tmp6 = __cil_tmp5 & __cil_tmp4;
5089#line 893
5090 return ((unsigned int )__cil_tmp6);
5091 }
5092}
5093}
5094#line 2336
5095extern loff_t noop_llseek(struct file *file , loff_t offset , int origin ) ;
5096#line 361 "include/linux/sched.h"
5097extern void schedule(void) ;
5098#line 2441 "include/linux/sched.h"
5099__inline static int test_tsk_thread_flag(struct task_struct *tsk , int flag )
5100{ int tmp___7 ;
5101 void *__cil_tmp4 ;
5102 struct thread_info *__cil_tmp5 ;
5103
5104 {
5105 {
5106#line 2443
5107 __cil_tmp4 = tsk->stack;
5108#line 2443
5109 __cil_tmp5 = (struct thread_info *)__cil_tmp4;
5110#line 2443
5111 tmp___7 = test_ti_thread_flag(__cil_tmp5, flag);
5112 }
5113#line 2443
5114 return (tmp___7);
5115}
5116}
5117#line 2467 "include/linux/sched.h"
5118__inline static int signal_pending(struct task_struct *p )
5119{ int tmp___7 ;
5120 int tmp___8 ;
5121 long tmp___9 ;
5122 long __cil_tmp5 ;
5123
5124 {
5125 {
5126#line 2469
5127 tmp___7 = test_tsk_thread_flag(p, 2);
5128 }
5129#line 2469
5130 if (tmp___7) {
5131#line 2469
5132 tmp___8 = 1;
5133 } else {
5134#line 2469
5135 tmp___8 = 0;
5136 }
5137 {
5138#line 2469
5139 __cil_tmp5 = (long )tmp___8;
5140#line 2469
5141 tmp___9 = __builtin_expect(__cil_tmp5, 0L);
5142 }
5143#line 2469
5144 return ((int )tmp___9);
5145}
5146}
5147#line 191 "include/linux/usb.h"
5148__inline static void *usb_get_intfdata(struct usb_interface *intf ) __attribute__((__ldv_model__)) ;
5149#line 191
5150__inline static void *usb_get_intfdata(struct usb_interface *intf ) __attribute__((__ldv_model__)) ;
5151#line 191 "include/linux/usb.h"
5152__inline static void *usb_get_intfdata(struct usb_interface *intf )
5153{ void *tmp___7 ;
5154 struct device *__cil_tmp3 ;
5155 struct device const *__cil_tmp4 ;
5156
5157 {
5158 {
5159#line 193
5160 __cil_tmp3 = & intf->dev;
5161#line 193
5162 __cil_tmp4 = (struct device const *)__cil_tmp3;
5163#line 193
5164 tmp___7 = dev_get_drvdata(__cil_tmp4);
5165 }
5166#line 193
5167 return (tmp___7);
5168}
5169}
5170#line 196
5171__inline static void usb_set_intfdata(struct usb_interface *intf , void *data ) __attribute__((__ldv_model__)) ;
5172#line 196
5173__inline static void usb_set_intfdata(struct usb_interface *intf , void *data ) __attribute__((__ldv_model__)) ;
5174#line 196 "include/linux/usb.h"
5175__inline static void usb_set_intfdata(struct usb_interface *intf , void *data )
5176{ struct device *__cil_tmp3 ;
5177
5178 {
5179 {
5180#line 198
5181 __cil_tmp3 = & intf->dev;
5182#line 198
5183 dev_set_drvdata(__cil_tmp3, data);
5184 }
5185#line 199
5186 return;
5187}
5188}
5189#line 497 "include/linux/usb.h"
5190__inline static struct usb_device *interface_to_usbdev(struct usb_interface *intf )
5191{ struct device const *__mptr ;
5192 struct device *__cil_tmp3 ;
5193 struct usb_device *__cil_tmp4 ;
5194 struct device *__cil_tmp5 ;
5195 unsigned int __cil_tmp6 ;
5196 char *__cil_tmp7 ;
5197 char *__cil_tmp8 ;
5198
5199 {
5200#line 499
5201 __cil_tmp3 = intf->dev.parent;
5202#line 499
5203 __mptr = (struct device const *)__cil_tmp3;
5204 {
5205#line 499
5206 __cil_tmp4 = (struct usb_device *)0;
5207#line 499
5208 __cil_tmp5 = & __cil_tmp4->dev;
5209#line 499
5210 __cil_tmp6 = (unsigned int )__cil_tmp5;
5211#line 499
5212 __cil_tmp7 = (char *)__mptr;
5213#line 499
5214 __cil_tmp8 = __cil_tmp7 - __cil_tmp6;
5215#line 499
5216 return ((struct usb_device *)__cil_tmp8);
5217 }
5218}
5219}
5220#line 601
5221extern struct usb_interface *usb_find_interface(struct usb_driver *drv , int minor ) ;
5222#line 929
5223extern int usb_register_driver(struct usb_driver * , struct module * , char const * ) ;
5224#line 931 "include/linux/usb.h"
5225__inline static int usb_register(struct usb_driver *driver )
5226{ int tmp___7 ;
5227
5228 {
5229 {
5230#line 933
5231 tmp___7 = usb_register_driver(driver, & __this_module, "iowarrior");
5232 }
5233#line 933
5234 return (tmp___7);
5235}
5236}
5237#line 935
5238extern void usb_deregister(struct usb_driver * ) ;
5239#line 941
5240extern int usb_register_dev(struct usb_interface *intf , struct usb_class_driver *class_driver ) ;
5241#line 943
5242extern void usb_deregister_dev(struct usb_interface *intf , struct usb_class_driver *class_driver ) ;
5243#line 1309 "include/linux/usb.h"
5244__inline static void usb_fill_int_urb(struct urb *urb , struct usb_device *dev , unsigned int pipe ,
5245 void *transfer_buffer , int buffer_length ,
5246 void (*complete_fn)(struct urb * ) , void *context ,
5247 int interval )
5248{ enum usb_device_speed __cil_tmp9 ;
5249 unsigned int __cil_tmp10 ;
5250 int __cil_tmp11 ;
5251 enum usb_device_speed __cil_tmp12 ;
5252 unsigned int __cil_tmp13 ;
5253 int __cil_tmp14 ;
5254
5255 {
5256#line 1318
5257 urb->dev = dev;
5258#line 1319
5259 urb->pipe = pipe;
5260#line 1320
5261 urb->transfer_buffer = transfer_buffer;
5262#line 1321
5263 urb->transfer_buffer_length = (u32 )buffer_length;
5264#line 1322
5265 urb->complete = complete_fn;
5266#line 1323
5267 urb->context = context;
5268 {
5269#line 1324
5270 __cil_tmp9 = dev->speed;
5271#line 1324
5272 __cil_tmp10 = (unsigned int )__cil_tmp9;
5273#line 1324
5274 if (__cil_tmp10 == 3U) {
5275#line 1325
5276 __cil_tmp11 = interval - 1;
5277#line 1325
5278 urb->interval = 1 << __cil_tmp11;
5279 } else {
5280 {
5281#line 1324
5282 __cil_tmp12 = dev->speed;
5283#line 1324
5284 __cil_tmp13 = (unsigned int )__cil_tmp12;
5285#line 1324
5286 if (__cil_tmp13 == 5U) {
5287#line 1325
5288 __cil_tmp14 = interval - 1;
5289#line 1325
5290 urb->interval = 1 << __cil_tmp14;
5291 } else {
5292#line 1327
5293 urb->interval = interval;
5294 }
5295 }
5296 }
5297 }
5298#line 1328
5299 urb->start_frame = -1;
5300#line 1329
5301 return;
5302}
5303}
5304#line 1332
5305struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) __attribute__((__ldv_model__)) ;
5306#line 1333
5307void usb_free_urb(struct urb *urb ) __attribute__((__ldv_model__)) ;
5308#line 1336
5309extern int usb_submit_urb(struct urb *urb , gfp_t mem_flags ) ;
5310#line 1338
5311extern void usb_kill_urb(struct urb *urb ) ;
5312#line 1377
5313void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
5314 dma_addr_t *dma ) __attribute__((__ldv_model__)) ;
5315#line 1379
5316void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) __attribute__((__ldv_model__)) ;
5317#line 1402
5318extern int usb_control_msg(struct usb_device *dev , unsigned int pipe , __u8 request ,
5319 __u8 requesttype , __u16 value , __u16 index , void *data ,
5320 __u16 size , int timeout ) ;
5321#line 1416
5322extern int usb_string(struct usb_device *dev , int index , char *buf , size_t size ) ;
5323#line 1526 "include/linux/usb.h"
5324__inline static unsigned int __create_pipe(struct usb_device *dev , unsigned int endpoint )
5325{ unsigned int __cil_tmp3 ;
5326 int __cil_tmp4 ;
5327 int __cil_tmp5 ;
5328 unsigned int __cil_tmp6 ;
5329
5330 {
5331 {
5332#line 1529
5333 __cil_tmp3 = endpoint << 15;
5334#line 1529
5335 __cil_tmp4 = dev->devnum;
5336#line 1529
5337 __cil_tmp5 = __cil_tmp4 << 8;
5338#line 1529
5339 __cil_tmp6 = (unsigned int )__cil_tmp5;
5340#line 1529
5341 return (__cil_tmp6 | __cil_tmp3);
5342 }
5343}
5344}
5345#line 221 "include/linux/slub_def.h"
5346extern void *__kmalloc(size_t size , gfp_t flags ) ;
5347#line 255 "include/linux/slub_def.h"
5348__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
5349 gfp_t flags )
5350{ void *tmp___10 ;
5351
5352 {
5353 {
5354#line 270
5355 tmp___10 = __kmalloc(size, flags);
5356 }
5357#line 270
5358 return (tmp___10);
5359}
5360}
5361#line 318 "include/linux/slab.h"
5362__inline static void *kzalloc(size_t size , gfp_t flags )
5363{ void *tmp___7 ;
5364 unsigned int __cil_tmp4 ;
5365
5366 {
5367 {
5368#line 320
5369 __cil_tmp4 = flags | 32768U;
5370#line 320
5371 tmp___7 = kmalloc(size, __cil_tmp4);
5372 }
5373#line 320
5374 return (tmp___7);
5375}
5376}
5377#line 40 "include/linux/poll.h"
5378__inline static void poll_wait(struct file *filp , wait_queue_head_t *wait_address ,
5379 poll_table *p )
5380{ void (*__cil_tmp4)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ;
5381
5382 {
5383#line 42
5384 if (p) {
5385#line 42
5386 if (wait_address) {
5387 {
5388#line 43
5389 __cil_tmp4 = p->qproc;
5390#line 43
5391 (*__cil_tmp4)(filp, wait_address, p);
5392 }
5393 } else {
5394
5395 }
5396 } else {
5397
5398 }
5399#line 44
5400 return;
5401}
5402}
5403#line 60 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5404static char const __mod_author60[45] __attribute__((__used__, __unused__, __section__(".modinfo"),
5405__aligned__(1))) =
5406#line 60 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5407 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
5408 (char const )'o', (char const )'r', (char const )'=', (char const )'C',
5409 (char const )'h', (char const )'r', (char const )'i', (char const )'s',
5410 (char const )'t', (char const )'i', (char const )'a', (char const )'n',
5411 (char const )' ', (char const )'L', (char const )'u', (char const )'c',
5412 (char const )'h', (char const )'t', (char const )' ', (char const )'<',
5413 (char const )'l', (char const )'u', (char const )'c', (char const )'h',
5414 (char const )'t', (char const )'@', (char const )'c', (char const )'o',
5415 (char const )'d', (char const )'e', (char const )'m', (char const )'e',
5416 (char const )'r', (char const )'c', (char const )'s', (char const )'.',
5417 (char const )'c', (char const )'o', (char const )'m', (char const )'>',
5418 (char const )'\000'};
5419#line 61 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5420static char const __mod_description61[48] __attribute__((__used__, __unused__,
5421__section__(".modinfo"), __aligned__(1))) =
5422#line 61
5423 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
5424 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
5425 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
5426 (char const )'U', (char const )'S', (char const )'B', (char const )' ',
5427 (char const )'I', (char const )'O', (char const )'-', (char const )'W',
5428 (char const )'a', (char const )'r', (char const )'r', (char const )'i',
5429 (char const )'o', (char const )'r', (char const )' ', (char const )'d',
5430 (char const )'r', (char const )'i', (char const )'v', (char const )'e',
5431 (char const )'r', (char const )' ', (char const )'(', (char const )'L',
5432 (char const )'i', (char const )'n', (char const )'u', (char const )'x',
5433 (char const )' ', (char const )'2', (char const )'.', (char const )'6',
5434 (char const )'.', (char const )'x', (char const )')', (char const )'\000'};
5435#line 62 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5436static char const __mod_license62[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
5437__aligned__(1))) =
5438#line 62
5439 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
5440 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
5441 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
5442#line 65 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5443static struct mutex iowarrior_mutex = {{1}, {{{{0U}, 3735899821U, 4294967295U, (void *)-1L, {(struct lock_class_key *)0,
5444 {(struct lock_class *)0,
5445 (struct lock_class *)0},
5446 "iowarrior_mutex.wait_lock",
5447 0, 0UL}}}}, {& iowarrior_mutex.wait_list,
5448 & iowarrior_mutex.wait_list},
5449 (struct task_struct *)0, (char const *)0, (void *)(& iowarrior_mutex), {(struct lock_class_key *)0,
5450 {(struct lock_class *)0,
5451 (struct lock_class *)0},
5452 "iowarrior_mutex",
5453 0, 0UL}};
5454#line 66 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5455static int debug = 0;
5456#line 67 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5457static char const __param_str_debug[6] = { (char const )'d', (char const )'e', (char const )'b', (char const )'u',
5458 (char const )'g', (char const )'\000'};
5459#line 67 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5460static struct kernel_param const __param_debug __attribute__((__used__, __unused__,
5461__section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_debug, (struct kernel_param_ops const *)(& param_ops_bool), (u16 )420,
5462 (u16 )0, {(void *)(& debug)}};
5463#line 67 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5464static char const __mod_debugtype67[20] __attribute__((__used__, __unused__, __section__(".modinfo"),
5465__aligned__(1))) =
5466#line 67
5467 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
5468 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
5469 (char const )'=', (char const )'d', (char const )'e', (char const )'b',
5470 (char const )'u', (char const )'g', (char const )':', (char const )'b',
5471 (char const )'o', (char const )'o', (char const )'l', (char const )'\000'};
5472#line 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5473static char const __mod_debug68[46] __attribute__((__used__, __unused__, __section__(".modinfo"),
5474__aligned__(1))) =
5475#line 68
5476 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
5477 (char const )'=', (char const )'d', (char const )'e', (char const )'b',
5478 (char const )'u', (char const )'g', (char const )':', (char const )'d',
5479 (char const )'e', (char const )'b', (char const )'u', (char const )'g',
5480 (char const )'=', (char const )'1', (char const )' ', (char const )'e',
5481 (char const )'n', (char const )'a', (char const )'b', (char const )'l',
5482 (char const )'e', (char const )'s', (char const )' ', (char const )'d',
5483 (char const )'e', (char const )'b', (char const )'u', (char const )'g',
5484 (char const )'g', (char const )'i', (char const )'n', (char const )'g',
5485 (char const )' ', (char const )'m', (char const )'e', (char const )'s',
5486 (char const )'s', (char const )'a', (char const )'g', (char const )'e',
5487 (char const )'s', (char const )'\000'};
5488#line 70
5489static struct usb_driver iowarrior_driver ;
5490#line 71 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5491static struct mutex iowarrior_open_disc_lock = {{1}, {{{{0U}, 3735899821U, 4294967295U, (void *)-1L, {(struct lock_class_key *)0,
5492 {(struct lock_class *)0,
5493 (struct lock_class *)0},
5494 "iowarrior_open_disc_lock.wait_lock",
5495 0, 0UL}}}}, {& iowarrior_open_disc_lock.wait_list,
5496 & iowarrior_open_disc_lock.wait_list},
5497 (struct task_struct *)0, (char const *)0, (void *)(& iowarrior_open_disc_lock),
5498 {(struct lock_class_key *)0, {(struct lock_class *)0, (struct lock_class *)0},
5499 "iowarrior_open_disc_lock", 0, 0UL}};
5500#line 113 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5501static int usb_get_report(struct usb_device *dev , struct usb_host_interface *inter ,
5502 unsigned char type , unsigned char id , void *buf , int size )
5503{ unsigned int tmp___7 ;
5504 int tmp___8 ;
5505 int __cil_tmp9 ;
5506 unsigned int __cil_tmp10 ;
5507 unsigned int __cil_tmp11 ;
5508 unsigned int __cil_tmp12 ;
5509 __u8 __cil_tmp13 ;
5510 int __cil_tmp14 ;
5511 int __cil_tmp15 ;
5512 int __cil_tmp16 ;
5513 __u8 __cil_tmp17 ;
5514 int __cil_tmp18 ;
5515 int __cil_tmp19 ;
5516 int __cil_tmp20 ;
5517 int __cil_tmp21 ;
5518 __u16 __cil_tmp22 ;
5519 __u8 __cil_tmp23 ;
5520 __u16 __cil_tmp24 ;
5521 __u16 __cil_tmp25 ;
5522
5523 {
5524 {
5525#line 117
5526 tmp___7 = __create_pipe(dev, 0U);
5527#line 117
5528 __cil_tmp9 = 2 << 30;
5529#line 117
5530 __cil_tmp10 = (unsigned int )__cil_tmp9;
5531#line 117
5532 __cil_tmp11 = __cil_tmp10 | tmp___7;
5533#line 117
5534 __cil_tmp12 = __cil_tmp11 | 128U;
5535#line 117
5536 __cil_tmp13 = (__u8 )1;
5537#line 117
5538 __cil_tmp14 = 1 << 5;
5539#line 117
5540 __cil_tmp15 = 128 | __cil_tmp14;
5541#line 117
5542 __cil_tmp16 = __cil_tmp15 | 1;
5543#line 117
5544 __cil_tmp17 = (__u8 )__cil_tmp16;
5545#line 117
5546 __cil_tmp18 = (int )id;
5547#line 117
5548 __cil_tmp19 = (int )type;
5549#line 117
5550 __cil_tmp20 = __cil_tmp19 << 8;
5551#line 117
5552 __cil_tmp21 = __cil_tmp20 + __cil_tmp18;
5553#line 117
5554 __cil_tmp22 = (__u16 )__cil_tmp21;
5555#line 117
5556 __cil_tmp23 = inter->desc.bInterfaceNumber;
5557#line 117
5558 __cil_tmp24 = (__u16 )__cil_tmp23;
5559#line 117
5560 __cil_tmp25 = (__u16 )size;
5561#line 117
5562 tmp___8 = usb_control_msg(dev, __cil_tmp12, __cil_tmp13, __cil_tmp17, __cil_tmp22,
5563 __cil_tmp24, buf, __cil_tmp25, 1250);
5564 }
5565#line 117
5566 return (tmp___8);
5567}
5568}
5569#line 128 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5570static int usb_set_report(struct usb_interface *intf , unsigned char type , unsigned char id ,
5571 void *buf , int size )
5572{ struct usb_device *tmp___7 ;
5573 unsigned int tmp___8 ;
5574 struct usb_device *tmp___9 ;
5575 int tmp___10 ;
5576 int __cil_tmp10 ;
5577 unsigned int __cil_tmp11 ;
5578 unsigned int __cil_tmp12 ;
5579 __u8 __cil_tmp13 ;
5580 int __cil_tmp14 ;
5581 int __cil_tmp15 ;
5582 __u8 __cil_tmp16 ;
5583 int __cil_tmp17 ;
5584 int __cil_tmp18 ;
5585 int __cil_tmp19 ;
5586 int __cil_tmp20 ;
5587 __u16 __cil_tmp21 ;
5588 struct usb_host_interface *__cil_tmp22 ;
5589 __u8 __cil_tmp23 ;
5590 __u16 __cil_tmp24 ;
5591 __u16 __cil_tmp25 ;
5592
5593 {
5594 {
5595#line 131
5596 tmp___7 = interface_to_usbdev(intf);
5597#line 131
5598 tmp___8 = __create_pipe(tmp___7, 0U);
5599#line 131
5600 tmp___9 = interface_to_usbdev(intf);
5601#line 131
5602 __cil_tmp10 = 2 << 30;
5603#line 131
5604 __cil_tmp11 = (unsigned int )__cil_tmp10;
5605#line 131
5606 __cil_tmp12 = __cil_tmp11 | tmp___8;
5607#line 131
5608 __cil_tmp13 = (__u8 )9;
5609#line 131
5610 __cil_tmp14 = 1 << 5;
5611#line 131
5612 __cil_tmp15 = __cil_tmp14 | 1;
5613#line 131
5614 __cil_tmp16 = (__u8 )__cil_tmp15;
5615#line 131
5616 __cil_tmp17 = (int )id;
5617#line 131
5618 __cil_tmp18 = (int )type;
5619#line 131
5620 __cil_tmp19 = __cil_tmp18 << 8;
5621#line 131
5622 __cil_tmp20 = __cil_tmp19 + __cil_tmp17;
5623#line 131
5624 __cil_tmp21 = (__u16 )__cil_tmp20;
5625#line 131
5626 __cil_tmp22 = intf->cur_altsetting;
5627#line 131
5628 __cil_tmp23 = __cil_tmp22->desc.bInterfaceNumber;
5629#line 131
5630 __cil_tmp24 = (__u16 )__cil_tmp23;
5631#line 131
5632 __cil_tmp25 = (__u16 )size;
5633#line 131
5634 tmp___10 = usb_control_msg(tmp___9, __cil_tmp12, __cil_tmp13, __cil_tmp16, __cil_tmp21,
5635 __cil_tmp24, buf, __cil_tmp25, 250);
5636 }
5637#line 131
5638 return (tmp___10);
5639}
5640}
5641#line 144 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5642static struct usb_device_id const iowarrior_ids[5] = { {(__u16 )3, (__u16 )1984, (__u16 )5376, (unsigned short)0, (unsigned short)0,
5643 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5644 (unsigned char)0, 0UL},
5645 {(__u16 )3, (__u16 )1984, (__u16 )5377, (unsigned short)0, (unsigned short)0,
5646 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5647 (unsigned char)0, 0UL},
5648 {(__u16 )3, (__u16 )1984, (__u16 )5393, (unsigned short)0, (unsigned short)0,
5649 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5650 (unsigned char)0, 0UL},
5651 {(__u16 )3, (__u16 )1984, (__u16 )5394, (unsigned short)0, (unsigned short)0,
5652 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5653 (unsigned char)0, 0UL},
5654 {(__u16 )3, (__u16 )1984, (__u16 )5379, (unsigned short)0, (unsigned short)0,
5655 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5656 (unsigned char)0, 0UL}};
5657#line 152
5658extern struct usb_device_id const __mod_usb_device_table __attribute__((__unused__,
5659__alias__("iowarrior_ids"))) ;
5660#line 157 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5661static void iowarrior_callback(struct urb *urb )
5662{ struct iowarrior *dev ;
5663 int intr_idx ;
5664 int read_idx ;
5665 int aux_idx ;
5666 int offset ;
5667 int status ;
5668 int retval ;
5669 int tmp___7 ;
5670 size_t __len ;
5671 void *__ret ;
5672 unsigned char tmp___8 ;
5673 void *__cil_tmp13 ;
5674 spinlock_t *__cil_tmp14 ;
5675 atomic_t *__cil_tmp15 ;
5676 atomic_t const *__cil_tmp16 ;
5677 atomic_t *__cil_tmp17 ;
5678 atomic_t const *__cil_tmp18 ;
5679 struct usb_interface *__cil_tmp19 ;
5680 struct usb_host_interface *__cil_tmp20 ;
5681 __u8 __cil_tmp21 ;
5682 int __cil_tmp22 ;
5683 int __cil_tmp23 ;
5684 int __cil_tmp24 ;
5685 unsigned char *__cil_tmp25 ;
5686 unsigned char *__cil_tmp26 ;
5687 void const *__cil_tmp27 ;
5688 void *__cil_tmp28 ;
5689 void const *__cil_tmp29 ;
5690 int __cil_tmp30 ;
5691 unsigned long __cil_tmp31 ;
5692 spinlock_t *__cil_tmp32 ;
5693 atomic_t *__cil_tmp33 ;
5694 atomic_t *__cil_tmp34 ;
5695 int __cil_tmp35 ;
5696 int __cil_tmp36 ;
5697 int __cil_tmp37 ;
5698 unsigned char *__cil_tmp38 ;
5699 unsigned char *__cil_tmp39 ;
5700 void *__cil_tmp40 ;
5701 void *__cil_tmp41 ;
5702 void const *__cil_tmp42 ;
5703 unsigned char __cil_tmp43 ;
5704 int __cil_tmp44 ;
5705 int __cil_tmp45 ;
5706 int __cil_tmp46 ;
5707 unsigned char *__cil_tmp47 ;
5708 unsigned char *__cil_tmp48 ;
5709 unsigned char *__cil_tmp49 ;
5710 atomic_t *__cil_tmp50 ;
5711 spinlock_t *__cil_tmp51 ;
5712 wait_queue_head_t *__cil_tmp52 ;
5713 void *__cil_tmp53 ;
5714 struct usb_interface *__cil_tmp54 ;
5715 struct device *__cil_tmp55 ;
5716 struct device const *__cil_tmp56 ;
5717
5718 {
5719#line 159
5720 __cil_tmp13 = urb->context;
5721#line 159
5722 dev = (struct iowarrior *)__cil_tmp13;
5723#line 164
5724 status = urb->status;
5725#line 168
5726 if (status == 0) {
5727#line 168
5728 goto case_0;
5729 } else
5730#line 171
5731 if (status == -104) {
5732#line 171
5733 goto case_neg_104;
5734 } else
5735#line 172
5736 if (status == -2) {
5737#line 172
5738 goto case_neg_104;
5739 } else
5740#line 173
5741 if (status == -108) {
5742#line 173
5743 goto case_neg_104;
5744 } else {
5745#line 175
5746 goto switch_default;
5747#line 167
5748 if (0) {
5749 case_0:
5750#line 170
5751 goto switch_break;
5752 case_neg_104:
5753#line 174
5754 return;
5755 switch_default:
5756#line 176
5757 goto exit;
5758 } else {
5759 switch_break: ;
5760 }
5761 }
5762 {
5763#line 179
5764 __cil_tmp14 = & dev->intr_idx_lock;
5765#line 179
5766 spin_lock(__cil_tmp14);
5767#line 180
5768 __cil_tmp15 = & dev->intr_idx;
5769#line 180
5770 __cil_tmp16 = (atomic_t const *)__cil_tmp15;
5771#line 180
5772 intr_idx = atomic_read(__cil_tmp16);
5773 }
5774#line 182
5775 if (intr_idx == 0) {
5776#line 182
5777 aux_idx = 15;
5778 } else {
5779#line 182
5780 aux_idx = intr_idx - 1;
5781 }
5782 {
5783#line 183
5784 __cil_tmp17 = & dev->read_idx;
5785#line 183
5786 __cil_tmp18 = (atomic_t const *)__cil_tmp17;
5787#line 183
5788 read_idx = atomic_read(__cil_tmp18);
5789 }
5790#line 186
5791 if (intr_idx != read_idx) {
5792 {
5793#line 186
5794 __cil_tmp19 = dev->interface;
5795#line 186
5796 __cil_tmp20 = __cil_tmp19->cur_altsetting;
5797#line 186
5798 __cil_tmp21 = __cil_tmp20->desc.bInterfaceNumber;
5799#line 186
5800 __cil_tmp22 = (int )__cil_tmp21;
5801#line 186
5802 if (__cil_tmp22 == 0) {
5803 {
5804#line 189
5805 __cil_tmp23 = dev->report_size;
5806#line 189
5807 __cil_tmp24 = __cil_tmp23 + 1;
5808#line 189
5809 offset = aux_idx * __cil_tmp24;
5810#line 190
5811 __cil_tmp25 = dev->read_queue;
5812#line 190
5813 __cil_tmp26 = __cil_tmp25 + offset;
5814#line 190
5815 __cil_tmp27 = (void const *)__cil_tmp26;
5816#line 190
5817 __cil_tmp28 = urb->transfer_buffer;
5818#line 190
5819 __cil_tmp29 = (void const *)__cil_tmp28;
5820#line 190
5821 __cil_tmp30 = dev->report_size;
5822#line 190
5823 __cil_tmp31 = (unsigned long )__cil_tmp30;
5824#line 190
5825 tmp___7 = memcmp(__cil_tmp27, __cil_tmp29, __cil_tmp31);
5826 }
5827#line 190
5828 if (tmp___7) {
5829
5830 } else {
5831 {
5832#line 194
5833 __cil_tmp32 = & dev->intr_idx_lock;
5834#line 194
5835 spin_unlock(__cil_tmp32);
5836 }
5837#line 195
5838 goto exit;
5839 }
5840 } else {
5841
5842 }
5843 }
5844 } else {
5845
5846 }
5847#line 200
5848 if (intr_idx == 15) {
5849#line 200
5850 aux_idx = 0;
5851 } else {
5852#line 200
5853 aux_idx = intr_idx + 1;
5854 }
5855#line 201
5856 if (read_idx == aux_idx) {
5857#line 203
5858 read_idx = read_idx + 1;
5859#line 203
5860 if (read_idx == 16) {
5861#line 203
5862 read_idx = 0;
5863 } else {
5864#line 203
5865 read_idx = read_idx;
5866 }
5867 {
5868#line 204
5869 __cil_tmp33 = & dev->read_idx;
5870#line 204
5871 atomic_set(__cil_tmp33, read_idx);
5872#line 205
5873 __cil_tmp34 = & dev->overflow_flag;
5874#line 205
5875 atomic_set(__cil_tmp34, 1);
5876 }
5877 } else {
5878
5879 }
5880 {
5881#line 209
5882 __cil_tmp35 = dev->report_size;
5883#line 209
5884 __cil_tmp36 = __cil_tmp35 + 1;
5885#line 209
5886 offset = intr_idx * __cil_tmp36;
5887#line 210
5888 __cil_tmp37 = dev->report_size;
5889#line 210
5890 __len = (size_t )__cil_tmp37;
5891#line 210
5892 __cil_tmp38 = dev->read_queue;
5893#line 210
5894 __cil_tmp39 = __cil_tmp38 + offset;
5895#line 210
5896 __cil_tmp40 = (void *)__cil_tmp39;
5897#line 210
5898 __cil_tmp41 = urb->transfer_buffer;
5899#line 210
5900 __cil_tmp42 = (void const *)__cil_tmp41;
5901#line 210
5902 __ret = __builtin_memcpy(__cil_tmp40, __cil_tmp42, __len);
5903#line 212
5904 tmp___8 = dev->serial_number;
5905#line 212
5906 __cil_tmp43 = dev->serial_number;
5907#line 212
5908 __cil_tmp44 = (int )__cil_tmp43;
5909#line 212
5910 __cil_tmp45 = __cil_tmp44 + 1;
5911#line 212
5912 dev->serial_number = (unsigned char )__cil_tmp45;
5913#line 212
5914 __cil_tmp46 = dev->report_size;
5915#line 212
5916 __cil_tmp47 = dev->read_queue;
5917#line 212
5918 __cil_tmp48 = __cil_tmp47 + offset;
5919#line 212
5920 __cil_tmp49 = __cil_tmp48 + __cil_tmp46;
5921#line 212
5922 *__cil_tmp49 = tmp___8;
5923#line 214
5924 __cil_tmp50 = & dev->intr_idx;
5925#line 214
5926 atomic_set(__cil_tmp50, aux_idx);
5927#line 215
5928 __cil_tmp51 = & dev->intr_idx_lock;
5929#line 215
5930 spin_unlock(__cil_tmp51);
5931#line 217
5932 __cil_tmp52 = & dev->read_wait;
5933#line 217
5934 __cil_tmp53 = (void *)0;
5935#line 217
5936 __wake_up(__cil_tmp52, 1U, 1, __cil_tmp53);
5937 }
5938 exit:
5939 {
5940#line 220
5941 retval = usb_submit_urb(urb, 32U);
5942 }
5943#line 221
5944 if (retval) {
5945 {
5946#line 222
5947 __cil_tmp54 = dev->interface;
5948#line 222
5949 __cil_tmp55 = & __cil_tmp54->dev;
5950#line 222
5951 __cil_tmp56 = (struct device const *)__cil_tmp55;
5952#line 222
5953 dev_err(__cil_tmp56, "%s - usb_submit_urb failed with result %d\n", "iowarrior_callback",
5954 retval);
5955 }
5956 } else {
5957
5958 }
5959#line 225
5960 return;
5961}
5962}
5963#line 230 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
5964static void iowarrior_write_callback(struct urb *urb )
5965{ struct iowarrior *dev ;
5966 int status ;
5967 void *__cil_tmp4 ;
5968 struct usb_device *__cil_tmp5 ;
5969 u32 __cil_tmp6 ;
5970 size_t __cil_tmp7 ;
5971 void *__cil_tmp8 ;
5972 dma_addr_t __cil_tmp9 ;
5973 atomic_t *__cil_tmp10 ;
5974 wait_queue_head_t *__cil_tmp11 ;
5975 void *__cil_tmp12 ;
5976
5977 {
5978#line 233
5979 status = urb->status;
5980#line 235
5981 __cil_tmp4 = urb->context;
5982#line 235
5983 dev = (struct iowarrior *)__cil_tmp4;
5984#line 237
5985 if (status) {
5986#line 237
5987 if (status == -2) {
5988
5989 } else
5990#line 237
5991 if (status == -104) {
5992
5993 } else
5994#line 237
5995 if (status == -108) {
5996
5997 } else {
5998 {
5999#line 240
6000 while (1) {
6001 while_continue: ;
6002
6003#line 240
6004 if (debug) {
6005 {
6006#line 240
6007 printk("<7>/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c: %s - nonzero write bulk status received: %d\n",
6008 "iowarrior_write_callback", status);
6009 }
6010 } else {
6011
6012 }
6013#line 240
6014 goto while_break;
6015 }
6016 while_break___0: ;
6017 }
6018
6019 while_break: ;
6020 }
6021 } else {
6022
6023 }
6024 {
6025#line 244
6026 __cil_tmp5 = urb->dev;
6027#line 244
6028 __cil_tmp6 = urb->transfer_buffer_length;
6029#line 244
6030 __cil_tmp7 = (size_t )__cil_tmp6;
6031#line 244
6032 __cil_tmp8 = urb->transfer_buffer;
6033#line 244
6034 __cil_tmp9 = urb->transfer_dma;
6035#line 244
6036 usb_free_coherent(__cil_tmp5, __cil_tmp7, __cil_tmp8, __cil_tmp9);
6037#line 247
6038 __cil_tmp10 = & dev->write_busy;
6039#line 247
6040 atomic_dec(__cil_tmp10);
6041#line 248
6042 __cil_tmp11 = & dev->write_wait;
6043#line 248
6044 __cil_tmp12 = (void *)0;
6045#line 248
6046 __wake_up(__cil_tmp11, 1U, 1, __cil_tmp12);
6047 }
6048#line 249
6049 return;
6050}
6051}
6052#line 254 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
6053__inline static void iowarrior_delete(struct iowarrior *dev )
6054{ unsigned char __cil_tmp2 ;
6055 int __cil_tmp3 ;
6056 unsigned char *__cil_tmp4 ;
6057 void const *__cil_tmp5 ;
6058 struct urb *__cil_tmp6 ;
6059 unsigned char *__cil_tmp7 ;
6060 void const *__cil_tmp8 ;
6061 void const *__cil_tmp9 ;
6062
6063 {
6064 {
6065#line 256
6066 while (1) {
6067 while_continue: ;
6068
6069#line 256
6070 if (debug) {
6071 {
6072#line 256
6073 __cil_tmp2 = dev->minor;
6074#line 256
6075 __cil_tmp3 = (int )__cil_tmp2;
6076#line 256
6077 printk("<7>/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c: %s - minor %d\n",
6078 "iowarrior_delete", __cil_tmp3);
6079 }
6080 } else {
6081
6082 }
6083#line 256
6084 goto while_break;
6085 }
6086 while_break___0: ;
6087 }
6088
6089 while_break:
6090 {
6091#line 257
6092 __cil_tmp4 = dev->int_in_buffer;
6093#line 257
6094 __cil_tmp5 = (void const *)__cil_tmp4;
6095#line 257
6096 kfree(__cil_tmp5);
6097#line 258
6098 __cil_tmp6 = dev->int_in_urb;
6099#line 258
6100 usb_free_urb(__cil_tmp6);
6101#line 259
6102 __cil_tmp7 = dev->read_queue;
6103#line 259
6104 __cil_tmp8 = (void const *)__cil_tmp7;
6105#line 259
6106 kfree(__cil_tmp8);
6107#line 260
6108 __cil_tmp9 = (void const *)dev;
6109#line 260
6110 kfree(__cil_tmp9);
6111 }
6112#line 261
6113 return;
6114}
6115}
6116#line 267 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
6117static int read_index(struct iowarrior *dev )
6118{ int intr_idx ;
6119 int read_idx ;
6120 int tmp___7 ;
6121 atomic_t *__cil_tmp5 ;
6122 atomic_t const *__cil_tmp6 ;
6123 atomic_t *__cil_tmp7 ;
6124 atomic_t const *__cil_tmp8 ;
6125
6126 {
6127 {
6128#line 271
6129 __cil_tmp5 = & dev->read_idx;
6130#line 271
6131 __cil_tmp6 = (atomic_t const *)__cil_tmp5;
6132#line 271
6133 read_idx = atomic_read(__cil_tmp6);
6134#line 272
6135 __cil_tmp7 = & dev->intr_idx;
6136#line 272
6137 __cil_tmp8 = (atomic_t const *)__cil_tmp7;
6138#line 272
6139 intr_idx = atomic_read(__cil_tmp8);
6140 }
6141#line 274
6142 if (read_idx == intr_idx) {
6143#line 274
6144 tmp___7 = -1;
6145 } else {
6146#line 274
6147 tmp___7 = read_idx;
6148 }
6149#line 274
6150 return (tmp___7);
6151}
6152}
6153#line 280 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
6154static ssize_t iowarrior_read(struct file *file , char *buffer , size_t count , loff_t *ppos )
6155{ struct iowarrior *dev ;
6156 int read_idx ;
6157 int offset ;
6158 int r ;
6159 int __ret ;
6160 wait_queue_t __wait ;
6161 struct task_struct *tmp___7 ;
6162 struct task_struct *tmp___8 ;
6163 int tmp___9 ;
6164 int tmp___10 ;
6165 int tmp___11 ;
6166 int tmp ;
6167 int tmp___12 ;
6168 void *__cil_tmp18 ;
6169 void *__cil_tmp19 ;
6170 unsigned long __cil_tmp20 ;
6171 unsigned long __cil_tmp21 ;
6172 int __cil_tmp22 ;
6173 unsigned char __cil_tmp23 ;
6174 int __cil_tmp24 ;
6175 int __cil_tmp25 ;
6176 size_t __cil_tmp26 ;
6177 int __cil_tmp27 ;
6178 int __cil_tmp28 ;
6179 size_t __cil_tmp29 ;
6180 atomic_t *__cil_tmp30 ;
6181 unsigned int __cil_tmp31 ;
6182 int __cil_tmp32 ;
6183 wait_queue_head_t *__cil_tmp33 ;
6184 int __cil_tmp34 ;
6185 wait_queue_head_t *__cil_tmp35 ;
6186 int __cil_tmp36 ;
6187 int __cil_tmp37 ;
6188 int __cil_tmp38 ;
6189 void *__cil_tmp39 ;
6190 unsigned char *__cil_tmp40 ;
6191 unsigned char *__cil_tmp41 ;
6192 void const *__cil_tmp42 ;
6193 unsigned int __cil_tmp43 ;
6194 atomic_t *__cil_tmp44 ;
6195 atomic_t const *__cil_tmp45 ;
6196 atomic_t *__cil_tmp46 ;
6197
6198 {
6199#line 287
6200 __cil_tmp18 = file->private_data;
6201#line 287
6202 dev = (struct iowarrior *)__cil_tmp18;
6203 {
6204#line 290
6205 __cil_tmp19 = (void *)0;
6206#line 290
6207 __cil_tmp20 = (unsigned long )__cil_tmp19;
6208#line 290
6209 __cil_tmp21 = (unsigned long )dev;
6210#line 290
6211 if (__cil_tmp21 == __cil_tmp20) {
6212#line 291
6213 return ((ssize_t )-19);
6214 } else {
6215 {
6216#line 290
6217 __cil_tmp22 = dev->present;
6218#line 290
6219 if (! __cil_tmp22) {
6220#line 291
6221 return ((ssize_t )-19);
6222 } else {
6223
6224 }
6225 }
6226 }
6227 }
6228 {
6229#line 293
6230 while (1) {
6231 while_continue: ;
6232
6233#line 293
6234 if (debug) {
6235 {
6236#line 293
6237 __cil_tmp23 = dev->minor;
6238#line 293
6239 __cil_tmp24 = (int )__cil_tmp23;
6240#line 293
6241 printk("<7>/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c: %s - minor %d, count = %zd\n",
6242 "iowarrior_read", __cil_tmp24, count);
6243 }
6244 } else {
6245
6246 }
6247#line 293
6248 goto while_break;
6249 }
6250 while_break___3: ;
6251 }
6252
6253 while_break: ;
6254 {
6255#line 296
6256 __cil_tmp25 = dev->report_size;
6257#line 296
6258 __cil_tmp26 = (size_t )__cil_tmp25;
6259#line 296
6260 if (count != __cil_tmp26) {
6261 {
6262#line 296
6263 __cil_tmp27 = dev->report_size;
6264#line 296
6265 __cil_tmp28 = __cil_tmp27 + 1;
6266#line 296
6267 __cil_tmp29 = (size_t )__cil_tmp28;
6268#line 296
6269 if (count != __cil_tmp29) {
6270#line 298
6271 return ((ssize_t )-22);
6272 } else {
6273
6274 }
6275 }
6276 } else {
6277
6278 }
6279 }
6280 {
6281#line 301
6282 while (1) {
6283 while_continue___0: ;
6284 {
6285#line 302
6286 __cil_tmp30 = & dev->overflow_flag;
6287#line 302
6288 atomic_set(__cil_tmp30, 0);
6289#line 303
6290 read_idx = read_index(dev);
6291 }
6292#line 303
6293 if (read_idx == -1) {
6294 {
6295#line 305
6296 __cil_tmp31 = file->f_flags;
6297#line 305
6298 if (__cil_tmp31 & 2048U) {
6299#line 306
6300 return ((ssize_t )-11);
6301 } else {
6302#line 309
6303 __ret = 0;
6304 {
6305#line 309
6306 __cil_tmp32 = dev->present;
6307#line 309
6308 if (! __cil_tmp32) {
6309
6310 } else {
6311 {
6312#line 309
6313 read_idx = read_index(dev);
6314 }
6315#line 309
6316 if (read_idx != -1) {
6317
6318 } else {
6319 {
6320#line 309
6321 while (1) {
6322 while_continue___1: ;
6323 {
6324#line 309
6325 tmp___7 = get_current();
6326#line 309
6327 __wait.flags = 0U;
6328#line 309
6329 __wait.private = (void *)tmp___7;
6330#line 309
6331 __wait.func = & autoremove_wake_function;
6332#line 309
6333 __wait.task_list.next = & __wait.task_list;
6334#line 309
6335 __wait.task_list.prev = & __wait.task_list;
6336 }
6337 {
6338#line 309
6339 while (1) {
6340 while_continue___2: ;
6341 {
6342#line 309
6343 __cil_tmp33 = & dev->read_wait;
6344#line 309
6345 prepare_to_wait(__cil_tmp33, & __wait, 1);
6346 }
6347 {
6348#line 309
6349 __cil_tmp34 = dev->present;
6350#line 309
6351 if (! __cil_tmp34) {
6352#line 309
6353 goto while_break___2;
6354 } else {
6355 {
6356#line 309
6357 read_idx = read_index(dev);
6358 }
6359#line 309
6360 if (read_idx != -1) {
6361#line 309
6362 goto while_break___2;
6363 } else {
6364
6365 }
6366 }
6367 }
6368 {
6369#line 309
6370 tmp___8 = get_current();
6371#line 309
6372 tmp___9 = signal_pending(tmp___8);
6373 }
6374#line 309
6375 if (tmp___9) {
6376
6377 } else {
6378 {
6379#line 309
6380 schedule();
6381 }
6382#line 309
6383 goto __Cont;
6384 }
6385#line 309
6386 __ret = -512;
6387#line 309
6388 goto while_break___2;
6389 __Cont: ;
6390 }
6391 while_break___6: ;
6392 }
6393
6394 while_break___2:
6395 {
6396#line 309
6397 __cil_tmp35 = & dev->read_wait;
6398#line 309
6399 finish_wait(__cil_tmp35, & __wait);
6400 }
6401#line 309
6402 goto while_break___1;
6403 }
6404 while_break___5: ;
6405 }
6406
6407 while_break___1: ;
6408 }
6409 }
6410 }
6411#line 309
6412 r = __ret;
6413#line 315
6414 if (r) {
6415#line 317
6416 return ((ssize_t )-85);
6417 } else {
6418
6419 }
6420 {
6421#line 319
6422 __cil_tmp36 = dev->present;
6423#line 319
6424 if (! __cil_tmp36) {
6425#line 321
6426 return ((ssize_t )-19);
6427 } else {
6428
6429 }
6430 }
6431#line 323
6432 if (read_idx == -1) {
6433#line 325
6434 return ((ssize_t )0);
6435 } else {
6436
6437 }
6438 }
6439 }
6440 } else {
6441
6442 }
6443 {
6444#line 330
6445 __cil_tmp37 = dev->report_size;
6446#line 330
6447 __cil_tmp38 = __cil_tmp37 + 1;
6448#line 330
6449 offset = read_idx * __cil_tmp38;
6450#line 331
6451 __cil_tmp39 = (void *)buffer;
6452#line 331
6453 __cil_tmp40 = dev->read_queue;
6454#line 331
6455 __cil_tmp41 = __cil_tmp40 + offset;
6456#line 331
6457 __cil_tmp42 = (void const *)__cil_tmp41;
6458#line 331
6459 __cil_tmp43 = (unsigned int )count;
6460#line 331
6461 tmp___12 = (int )copy_to_user(__cil_tmp39, __cil_tmp42, __cil_tmp43);
6462#line 331
6463 tmp = tmp___12;
6464#line 331
6465 tmp___10 = tmp;
6466 }
6467#line 331
6468 if (tmp___10) {
6469#line 332
6470 return ((ssize_t )-14);
6471 } else {
6472
6473 }
6474 {
6475#line 301
6476 __cil_tmp44 = & dev->overflow_flag;
6477#line 301
6478 __cil_tmp45 = (atomic_t const *)__cil_tmp44;
6479#line 301
6480 tmp___11 = atomic_read(__cil_tmp45);
6481 }
6482#line 301
6483 if (tmp___11) {
6484
6485 } else {
6486#line 301
6487 goto while_break___0;
6488 }
6489 }
6490 while_break___4: ;
6491 }
6492
6493 while_break___0:
6494#line 336
6495 read_idx = read_idx + 1;
6496#line 336
6497 if (read_idx == 16) {
6498#line 336
6499 read_idx = 0;
6500 } else {
6501#line 336
6502 read_idx = read_idx;
6503 }
6504 {
6505#line 337
6506 __cil_tmp46 = & dev->read_idx;
6507#line 337
6508 atomic_set(__cil_tmp46, read_idx);
6509 }
6510#line 338
6511 return ((ssize_t )count);
6512}
6513}
6514#line 344 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
6515static ssize_t iowarrior_write(struct file *file , char const *user_buffer , size_t count ,
6516 loff_t *ppos )
6517{ struct iowarrior *dev ;
6518 int retval ;
6519 char *buf ;
6520 struct urb *int_out_urb ;
6521 void *tmp___7 ;
6522 unsigned long tmp___8 ;
6523 int __ret ;
6524 wait_queue_t __wait ;
6525 struct task_struct *tmp___9 ;
6526 int tmp___10 ;
6527 struct task_struct *tmp___11 ;
6528 int tmp___12 ;
6529 int tmp___13 ;
6530 int tmp___14 ;
6531 void *tmp___15 ;
6532 unsigned int tmp___16 ;
6533 unsigned long tmp___17 ;
6534 int tmp___18 ;
6535 unsigned long tmp ;
6536 unsigned long tmp___19 ;
6537 unsigned long tmp___20 ;
6538 unsigned long tmp___21 ;
6539 void *__cil_tmp27 ;
6540 void *__cil_tmp28 ;
6541 void *__cil_tmp29 ;
6542 struct mutex *__cil_tmp30 ;
6543 int __cil_tmp31 ;
6544 unsigned char __cil_tmp32 ;
6545 int __cil_tmp33 ;
6546 int __cil_tmp34 ;
6547 size_t __cil_tmp35 ;
6548 u16 __cil_tmp36 ;
6549 int __cil_tmp37 ;
6550 u16 __cil_tmp38 ;
6551 int __cil_tmp39 ;
6552 u16 __cil_tmp40 ;
6553 int __cil_tmp41 ;
6554 u16 __cil_tmp42 ;
6555 int __cil_tmp43 ;
6556 u16 __cil_tmp44 ;
6557 int __cil_tmp45 ;
6558 void *__cil_tmp46 ;
6559 void const *__cil_tmp47 ;
6560 void const *__cil_tmp48 ;
6561 struct usb_interface *__cil_tmp49 ;
6562 void *__cil_tmp50 ;
6563 int __cil_tmp51 ;
6564 void const *__cil_tmp52 ;
6565 atomic_t *__cil_tmp53 ;
6566 atomic_t const *__cil_tmp54 ;
6567 unsigned int __cil_tmp55 ;
6568 int __cil_tmp56 ;
6569 atomic_t *__cil_tmp57 ;
6570 atomic_t const *__cil_tmp58 ;
6571 wait_queue_head_t *__cil_tmp59 ;
6572 int __cil_tmp60 ;
6573 atomic_t *__cil_tmp61 ;
6574 atomic_t const *__cil_tmp62 ;
6575 wait_queue_head_t *__cil_tmp63 ;
6576 int __cil_tmp64 ;
6577 int __cil_tmp65 ;
6578 atomic_t *__cil_tmp66 ;
6579 struct usb_device *__cil_tmp67 ;
6580 int __cil_tmp68 ;
6581 size_t __cil_tmp69 ;
6582 dma_addr_t *__cil_tmp70 ;
6583 struct usb_device *__cil_tmp71 ;
6584 struct usb_endpoint_descriptor *__cil_tmp72 ;
6585 __u8 __cil_tmp73 ;
6586 unsigned int __cil_tmp74 ;
6587 struct usb_device *__cil_tmp75 ;
6588 int __cil_tmp76 ;
6589 unsigned int __cil_tmp77 ;
6590 unsigned int __cil_tmp78 ;
6591 void *__cil_tmp79 ;
6592 int __cil_tmp80 ;
6593 void *__cil_tmp81 ;
6594 struct usb_endpoint_descriptor *__cil_tmp82 ;
6595 __u8 __cil_tmp83 ;
6596 int __cil_tmp84 ;
6597 unsigned int __cil_tmp85 ;
6598 void *__cil_tmp86 ;
6599 void const *__cil_tmp87 ;
6600 atomic_t *__cil_tmp88 ;
6601 atomic_t const *__cil_tmp89 ;
6602 struct usb_interface *__cil_tmp90 ;
6603 struct device *__cil_tmp91 ;
6604 struct device const *__cil_tmp92 ;
6605 u16 __cil_tmp93 ;
6606 int __cil_tmp94 ;
6607 struct usb_device *__cil_tmp95 ;
6608 int __cil_tmp96 ;
6609 size_t __cil_tmp97 ;
6610 void *__cil_tmp98 ;
6611 dma_addr_t __cil_tmp99 ;
6612 atomic_t *__cil_tmp100 ;
6613 wait_queue_head_t *__cil_tmp101 ;
6614 void *__cil_tmp102 ;
6615 struct mutex *__cil_tmp103 ;
6616
6617 {
6618 {
6619#line 349
6620 retval = 0;
6621#line 350
6622 __cil_tmp27 = (void *)0;
6623#line 350
6624 buf = (char *)__cil_tmp27;
6625#line 351
6626 __cil_tmp28 = (void *)0;
6627#line 351
6628 int_out_urb = (struct urb *)__cil_tmp28;
6629#line 353
6630 __cil_tmp29 = file->private_data;
6631#line 353
6632 dev = (struct iowarrior *)__cil_tmp29;
6633#line 355
6634 __cil_tmp30 = & dev->mutex;
6635#line 355
6636 mutex_lock_nested(__cil_tmp30, 0U);
6637 }
6638 {
6639#line 357
6640 __cil_tmp31 = dev->present;
6641#line 357
6642 if (! __cil_tmp31) {
6643#line 358
6644 retval = -19;
6645#line 359
6646 goto exit;
6647 } else {
6648
6649 }
6650 }
6651 {
6652#line 361
6653 while (1) {
6654 while_continue: ;
6655
6656#line 361
6657 if (debug) {
6658 {
6659#line 361
6660 __cil_tmp32 = dev->minor;
6661#line 361
6662 __cil_tmp33 = (int )__cil_tmp32;
6663#line 361
6664 printk("<7>/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c: %s - minor %d, count = %zd\n",
6665 "iowarrior_write", __cil_tmp33, count);
6666 }
6667 } else {
6668
6669 }
6670#line 361
6671 goto while_break;
6672 }
6673 while_break___5: ;
6674 }
6675
6676 while_break: ;
6677#line 363
6678 if (count == 0UL) {
6679#line 364
6680 retval = 0;
6681#line 365
6682 goto exit;
6683 } else {
6684
6685 }
6686 {
6687#line 368
6688 __cil_tmp34 = dev->report_size;
6689#line 368
6690 __cil_tmp35 = (size_t )__cil_tmp34;
6691#line 368
6692 if (count != __cil_tmp35) {
6693#line 369
6694 retval = -22;
6695#line 370
6696 goto exit;
6697 } else {
6698
6699 }
6700 }
6701 {
6702#line 373
6703 __cil_tmp36 = dev->product_id;
6704#line 373
6705 __cil_tmp37 = (int )__cil_tmp36;
6706#line 373
6707 if (__cil_tmp37 == 5377) {
6708#line 373
6709 goto case_5377;
6710 } else {
6711 {
6712#line 374
6713 __cil_tmp38 = dev->product_id;
6714#line 374
6715 __cil_tmp39 = (int )__cil_tmp38;
6716#line 374
6717 if (__cil_tmp39 == 5393) {
6718#line 374
6719 goto case_5377;
6720 } else {
6721 {
6722#line 375
6723 __cil_tmp40 = dev->product_id;
6724#line 375
6725 __cil_tmp41 = (int )__cil_tmp40;
6726#line 375
6727 if (__cil_tmp41 == 5394) {
6728#line 375
6729 goto case_5377;
6730 } else {
6731 {
6732#line 376
6733 __cil_tmp42 = dev->product_id;
6734#line 376
6735 __cil_tmp43 = (int )__cil_tmp42;
6736#line 376
6737 if (__cil_tmp43 == 5376) {
6738#line 376
6739 goto case_5377;
6740 } else {
6741 {
6742#line 392
6743 __cil_tmp44 = dev->product_id;
6744#line 392
6745 __cil_tmp45 = (int )__cil_tmp44;
6746#line 392
6747 if (__cil_tmp45 == 5379) {
6748#line 392
6749 goto case_5379;
6750 } else {
6751#line 455
6752 goto switch_default;
6753#line 372
6754 if (0) {
6755 case_5377:
6756 {
6757#line 378
6758 tmp___7 = kmalloc(count, 208U);
6759#line 378
6760 buf = (char *)tmp___7;
6761 }
6762#line 379
6763 if (! buf) {
6764#line 380
6765 retval = -12;
6766#line 381
6767 goto exit;
6768 } else {
6769
6770 }
6771 {
6772#line 383
6773 __cil_tmp46 = (void *)buf;
6774#line 383
6775 __cil_tmp47 = (void const *)user_buffer;
6776#line 383
6777 tmp___20 = (unsigned long )copy_from_user(__cil_tmp46, __cil_tmp47,
6778 count);
6779#line 383
6780 tmp = tmp___20;
6781#line 383
6782 tmp___8 = tmp;
6783 }
6784#line 383
6785 if (tmp___8) {
6786 {
6787#line 384
6788 retval = -14;
6789#line 385
6790 __cil_tmp48 = (void const *)buf;
6791#line 385
6792 kfree(__cil_tmp48);
6793 }
6794#line 386
6795 goto exit;
6796 } else {
6797
6798 }
6799 {
6800#line 388
6801 __cil_tmp49 = dev->interface;
6802#line 388
6803 __cil_tmp50 = (void *)buf;
6804#line 388
6805 __cil_tmp51 = (int )count;
6806#line 388
6807 retval = usb_set_report(__cil_tmp49, (unsigned char)2, (unsigned char)0,
6808 __cil_tmp50, __cil_tmp51);
6809#line 389
6810 __cil_tmp52 = (void const *)buf;
6811#line 389
6812 kfree(__cil_tmp52);
6813 }
6814#line 390
6815 goto exit;
6816#line 391
6817 goto switch_break;
6818 case_5379:
6819 {
6820#line 394
6821 __cil_tmp53 = & dev->write_busy;
6822#line 394
6823 __cil_tmp54 = (atomic_t const *)__cil_tmp53;
6824#line 394
6825 tmp___14 = atomic_read(__cil_tmp54);
6826 }
6827#line 394
6828 if (tmp___14 == 4) {
6829 {
6830#line 396
6831 __cil_tmp55 = file->f_flags;
6832#line 396
6833 if (__cil_tmp55 & 2048U) {
6834#line 397
6835 retval = -11;
6836#line 398
6837 goto exit;
6838 } else {
6839#line 400
6840 __ret = 0;
6841 {
6842#line 400
6843 __cil_tmp56 = dev->present;
6844#line 400
6845 if (! __cil_tmp56) {
6846
6847 } else {
6848 {
6849#line 400
6850 __cil_tmp57 = & dev->write_busy;
6851#line 400
6852 __cil_tmp58 = (atomic_t const *)__cil_tmp57;
6853#line 400
6854 tmp___13 = atomic_read(__cil_tmp58);
6855 }
6856#line 400
6857 if (tmp___13 < 4) {
6858
6859 } else {
6860 {
6861#line 400
6862 while (1) {
6863 while_continue___0: ;
6864 {
6865#line 400
6866 tmp___9 = get_current();
6867#line 400
6868 __wait.flags = 0U;
6869#line 400
6870 __wait.private = (void *)tmp___9;
6871#line 400
6872 __wait.func = & autoremove_wake_function;
6873#line 400
6874 __wait.task_list.next = & __wait.task_list;
6875#line 400
6876 __wait.task_list.prev = & __wait.task_list;
6877 }
6878 {
6879#line 400
6880 while (1) {
6881 while_continue___1: ;
6882 {
6883#line 400
6884 __cil_tmp59 = & dev->write_wait;
6885#line 400
6886 prepare_to_wait(__cil_tmp59, & __wait, 1);
6887 }
6888 {
6889#line 400
6890 __cil_tmp60 = dev->present;
6891#line 400
6892 if (! __cil_tmp60) {
6893#line 400
6894 goto while_break___1;
6895 } else {
6896 {
6897#line 400
6898 __cil_tmp61 = & dev->write_busy;
6899#line 400
6900 __cil_tmp62 = (atomic_t const *)__cil_tmp61;
6901#line 400
6902 tmp___10 = atomic_read(__cil_tmp62);
6903 }
6904#line 400
6905 if (tmp___10 < 4) {
6906#line 400
6907 goto while_break___1;
6908 } else {
6909
6910 }
6911 }
6912 }
6913 {
6914#line 400
6915 tmp___11 = get_current();
6916#line 400
6917 tmp___12 = signal_pending(tmp___11);
6918 }
6919#line 400
6920 if (tmp___12) {
6921
6922 } else {
6923 {
6924#line 400
6925 schedule();
6926 }
6927#line 400
6928 goto __Cont;
6929 }
6930#line 400
6931 __ret = -512;
6932#line 400
6933 goto while_break___1;
6934 __Cont: ;
6935 }
6936 while_break___7: ;
6937 }
6938
6939 while_break___1:
6940 {
6941#line 400
6942 __cil_tmp63 = & dev->write_wait;
6943#line 400
6944 finish_wait(__cil_tmp63, & __wait);
6945 }
6946#line 400
6947 goto while_break___0;
6948 }
6949 while_break___6: ;
6950 }
6951
6952 while_break___0: ;
6953 }
6954 }
6955 }
6956#line 400
6957 retval = __ret;
6958#line 402
6959 if (retval) {
6960#line 404
6961 retval = -85;
6962#line 405
6963 goto exit;
6964 } else {
6965
6966 }
6967 {
6968#line 407
6969 __cil_tmp64 = dev->present;
6970#line 407
6971 if (! __cil_tmp64) {
6972#line 409
6973 retval = -19;
6974#line 410
6975 goto exit;
6976 } else {
6977
6978 }
6979 }
6980 {
6981#line 412
6982 __cil_tmp65 = dev->opened;
6983#line 412
6984 if (! __cil_tmp65) {
6985#line 414
6986 retval = -19;
6987#line 415
6988 goto exit;
6989 } else {
6990
6991 }
6992 }
6993 }
6994 }
6995 } else {
6996
6997 }
6998 {
6999#line 419
7000 __cil_tmp66 = & dev->write_busy;
7001#line 419
7002 atomic_inc(__cil_tmp66);
7003#line 420
7004 int_out_urb = usb_alloc_urb(0, 208U);
7005 }
7006#line 421
7007 if (! int_out_urb) {
7008#line 422
7009 retval = -12;
7010 {
7011#line 423
7012 while (1) {
7013 while_continue___2: ;
7014
7015#line 423
7016 if (debug) {
7017 {
7018#line 423
7019 printk("<7>/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c: %s Unable to allocate urb \n",
7020 "iowarrior_write");
7021 }
7022 } else {
7023
7024 }
7025#line 423
7026 goto while_break___2;
7027 }
7028 while_break___8: ;
7029 }
7030
7031 while_break___2: ;
7032#line 424
7033 goto error_no_urb;
7034 } else {
7035
7036 }
7037 {
7038#line 426
7039 __cil_tmp67 = dev->udev;
7040#line 426
7041 __cil_tmp68 = dev->report_size;
7042#line 426
7043 __cil_tmp69 = (size_t )__cil_tmp68;
7044#line 426
7045 __cil_tmp70 = & int_out_urb->transfer_dma;
7046#line 426
7047 tmp___15 = usb_alloc_coherent(__cil_tmp67, __cil_tmp69, 208U, __cil_tmp70);
7048#line 426
7049 buf = (char *)tmp___15;
7050 }
7051#line 428
7052 if (! buf) {
7053#line 429
7054 retval = -12;
7055 {
7056#line 430
7057 while (1) {
7058 while_continue___3: ;
7059
7060#line 430
7061 if (debug) {
7062 {
7063#line 430
7064 printk("<7>/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c: %s Unable to allocate buffer \n",
7065 "iowarrior_write");
7066 }
7067 } else {
7068
7069 }
7070#line 430
7071 goto while_break___3;
7072 }
7073 while_break___9: ;
7074 }
7075
7076 while_break___3: ;
7077#line 431
7078 goto error_no_buffer;
7079 } else {
7080
7081 }
7082 {
7083#line 433
7084 __cil_tmp71 = dev->udev;
7085#line 433
7086 __cil_tmp72 = dev->int_out_endpoint;
7087#line 433
7088 __cil_tmp73 = __cil_tmp72->bEndpointAddress;
7089#line 433
7090 __cil_tmp74 = (unsigned int )__cil_tmp73;
7091#line 433
7092 tmp___16 = __create_pipe(__cil_tmp71, __cil_tmp74);
7093#line 433
7094 __cil_tmp75 = dev->udev;
7095#line 433
7096 __cil_tmp76 = 1 << 30;
7097#line 433
7098 __cil_tmp77 = (unsigned int )__cil_tmp76;
7099#line 433
7100 __cil_tmp78 = __cil_tmp77 | tmp___16;
7101#line 433
7102 __cil_tmp79 = (void *)buf;
7103#line 433
7104 __cil_tmp80 = dev->report_size;
7105#line 433
7106 __cil_tmp81 = (void *)dev;
7107#line 433
7108 __cil_tmp82 = dev->int_out_endpoint;
7109#line 433
7110 __cil_tmp83 = __cil_tmp82->bInterval;
7111#line 433
7112 __cil_tmp84 = (int )__cil_tmp83;
7113#line 433
7114 usb_fill_int_urb(int_out_urb, __cil_tmp75, __cil_tmp78, __cil_tmp79,
7115 __cil_tmp80, & iowarrior_write_callback, __cil_tmp81,
7116 __cil_tmp84);
7117#line 439
7118 __cil_tmp85 = int_out_urb->transfer_flags;
7119#line 439
7120 int_out_urb->transfer_flags = __cil_tmp85 | 4U;
7121#line 440
7122 __cil_tmp86 = (void *)buf;
7123#line 440
7124 __cil_tmp87 = (void const *)user_buffer;
7125#line 440
7126 tmp___21 = (unsigned long )copy_from_user(__cil_tmp86, __cil_tmp87,
7127 count);
7128#line 440
7129 tmp___19 = tmp___21;
7130#line 440
7131 tmp___17 = tmp___19;
7132 }
7133#line 440
7134 if (tmp___17) {
7135#line 441
7136 retval = -14;
7137#line 442
7138 goto error;
7139 } else {
7140
7141 }
7142 {
7143#line 444
7144 retval = usb_submit_urb(int_out_urb, 208U);
7145 }
7146#line 445
7147 if (retval) {
7148 {
7149#line 446
7150 while (1) {
7151 while_continue___4: ;
7152
7153#line 446
7154 if (debug) {
7155 {
7156#line 446
7157 __cil_tmp88 = & dev->write_busy;
7158#line 446
7159 __cil_tmp89 = (atomic_t const *)__cil_tmp88;
7160#line 446
7161 tmp___18 = atomic_read(__cil_tmp89);
7162#line 446
7163 printk("<7>/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c: %s submit error %d for urb nr.%d\n",
7164 "iowarrior_write", retval, tmp___18);
7165 }
7166 } else {
7167
7168 }
7169#line 446
7170 goto while_break___4;
7171 }
7172 while_break___10: ;
7173 }
7174
7175 while_break___4: ;
7176#line 448
7177 goto error;
7178 } else {
7179
7180 }
7181 {
7182#line 451
7183 retval = (int )count;
7184#line 452
7185 usb_free_urb(int_out_urb);
7186 }
7187#line 453
7188 goto exit;
7189#line 454
7190 goto switch_break;
7191 switch_default:
7192 {
7193#line 457
7194 __cil_tmp90 = dev->interface;
7195#line 457
7196 __cil_tmp91 = & __cil_tmp90->dev;
7197#line 457
7198 __cil_tmp92 = (struct device const *)__cil_tmp91;
7199#line 457
7200 __cil_tmp93 = dev->product_id;
7201#line 457
7202 __cil_tmp94 = (int )__cil_tmp93;
7203#line 457
7204 dev_err(__cil_tmp92, "%s - not supported for product=0x%x\n", "iowarrior_write",
7205 __cil_tmp94);
7206#line 459
7207 retval = -14;
7208 }
7209#line 460
7210 goto exit;
7211#line 461
7212 goto switch_break;
7213 } else {
7214 switch_break: ;
7215 }
7216 }
7217 }
7218 }
7219 }
7220 }
7221 }
7222 }
7223 }
7224 }
7225 }
7226 error:
7227 {
7228#line 464
7229 __cil_tmp95 = dev->udev;
7230#line 464
7231 __cil_tmp96 = dev->report_size;
7232#line 464
7233 __cil_tmp97 = (size_t )__cil_tmp96;
7234#line 464
7235 __cil_tmp98 = (void *)buf;
7236#line 464
7237 __cil_tmp99 = int_out_urb->transfer_dma;
7238#line 464
7239 usb_free_coherent(__cil_tmp95, __cil_tmp97, __cil_tmp98, __cil_tmp99);
7240 }
7241 error_no_buffer:
7242 {
7243#line 467
7244 usb_free_urb(int_out_urb);
7245 }
7246 error_no_urb:
7247 {
7248#line 469
7249 __cil_tmp100 = & dev->write_busy;
7250#line 469
7251 atomic_dec(__cil_tmp100);
7252#line 470
7253 __cil_tmp101 = & dev->write_wait;
7254#line 470
7255 __cil_tmp102 = (void *)0;
7256#line 470
7257 __wake_up(__cil_tmp101, 1U, 1, __cil_tmp102);
7258 }
7259 exit:
7260 {
7261#line 472
7262 __cil_tmp103 = & dev->mutex;
7263#line 472
7264 mutex_unlock(__cil_tmp103);
7265 }
7266#line 473
7267 return ((ssize_t )retval);
7268}
7269}
7270#line 479 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
7271static long iowarrior_ioctl(struct file *file , unsigned int cmd , unsigned long arg )
7272{ struct iowarrior *dev ;
7273 __u8 *buffer ;
7274 __u8 *user_buffer ;
7275 int retval ;
7276 int io_res ;
7277 void *tmp___7 ;
7278 unsigned long tmp___8 ;
7279 struct iowarrior_info info ;
7280 struct usb_config_descriptor *cfg_descriptor ;
7281 size_t __len ;
7282 void *__ret ;
7283 unsigned long tmp ;
7284 int tmp___9 ;
7285 int tmp___10 ;
7286 unsigned long tmp___11 ;
7287 int tmp___12 ;
7288 int tmp___13 ;
7289 void *__cil_tmp21 ;
7290 void *__cil_tmp22 ;
7291 void *__cil_tmp23 ;
7292 unsigned long __cil_tmp24 ;
7293 unsigned long __cil_tmp25 ;
7294 int __cil_tmp26 ;
7295 size_t __cil_tmp27 ;
7296 struct mutex *__cil_tmp28 ;
7297 int __cil_tmp29 ;
7298 unsigned char __cil_tmp30 ;
7299 int __cil_tmp31 ;
7300 unsigned long __cil_tmp32 ;
7301 int __cil_tmp33 ;
7302 unsigned int __cil_tmp34 ;
7303 unsigned int __cil_tmp35 ;
7304 unsigned int __cil_tmp36 ;
7305 unsigned int __cil_tmp37 ;
7306 unsigned long __cil_tmp38 ;
7307 unsigned long __cil_tmp39 ;
7308 int __cil_tmp40 ;
7309 unsigned long __cil_tmp41 ;
7310 unsigned long __cil_tmp42 ;
7311 int __cil_tmp43 ;
7312 unsigned int __cil_tmp44 ;
7313 unsigned int __cil_tmp45 ;
7314 unsigned int __cil_tmp46 ;
7315 unsigned int __cil_tmp47 ;
7316 unsigned long __cil_tmp48 ;
7317 unsigned long __cil_tmp49 ;
7318 int __cil_tmp50 ;
7319 unsigned long __cil_tmp51 ;
7320 unsigned long __cil_tmp52 ;
7321 int __cil_tmp53 ;
7322 unsigned int __cil_tmp54 ;
7323 unsigned int __cil_tmp55 ;
7324 unsigned int __cil_tmp56 ;
7325 unsigned int __cil_tmp57 ;
7326 unsigned long __cil_tmp58 ;
7327 unsigned long __cil_tmp59 ;
7328 int __cil_tmp60 ;
7329 unsigned long __cil_tmp61 ;
7330 u16 __cil_tmp62 ;
7331 int __cil_tmp63 ;
7332 u16 __cil_tmp64 ;
7333 int __cil_tmp65 ;
7334 u16 __cil_tmp66 ;
7335 int __cil_tmp67 ;
7336 u16 __cil_tmp68 ;
7337 int __cil_tmp69 ;
7338 void *__cil_tmp70 ;
7339 void const *__cil_tmp71 ;
7340 int __cil_tmp72 ;
7341 unsigned long __cil_tmp73 ;
7342 struct usb_interface *__cil_tmp74 ;
7343 void *__cil_tmp75 ;
7344 int __cil_tmp76 ;
7345 struct usb_interface *__cil_tmp77 ;
7346 struct device *__cil_tmp78 ;
7347 struct device const *__cil_tmp79 ;
7348 u16 __cil_tmp80 ;
7349 int __cil_tmp81 ;
7350 struct usb_device *__cil_tmp82 ;
7351 struct usb_interface *__cil_tmp83 ;
7352 struct usb_host_interface *__cil_tmp84 ;
7353 void *__cil_tmp85 ;
7354 int __cil_tmp86 ;
7355 void *__cil_tmp87 ;
7356 void const *__cil_tmp88 ;
7357 int __cil_tmp89 ;
7358 unsigned int __cil_tmp90 ;
7359 struct usb_device *__cil_tmp91 ;
7360 struct usb_host_config *__cil_tmp92 ;
7361 void *__cil_tmp93 ;
7362 struct usb_device *__cil_tmp94 ;
7363 __le16 __cil_tmp95 ;
7364 u16 __cil_tmp96 ;
7365 struct usb_device *__cil_tmp97 ;
7366 __le16 __cil_tmp98 ;
7367 struct usb_device *__cil_tmp99 ;
7368 enum usb_device_speed __cil_tmp100 ;
7369 __le16 __cil_tmp101 ;
7370 struct usb_interface *__cil_tmp102 ;
7371 struct usb_host_interface *__cil_tmp103 ;
7372 __u8 __cil_tmp104 ;
7373 int __cil_tmp105 ;
7374 __u8 *__cil_tmp106 ;
7375 void *__cil_tmp107 ;
7376 char *__cil_tmp108 ;
7377 void const *__cil_tmp109 ;
7378 __u8 *__cil_tmp110 ;
7379 void *__cil_tmp111 ;
7380 char *__cil_tmp112 ;
7381 void const *__cil_tmp113 ;
7382 void *__cil_tmp114 ;
7383 unsigned long __cil_tmp115 ;
7384 unsigned long __cil_tmp116 ;
7385 __u8 __cil_tmp117 ;
7386 int __cil_tmp118 ;
7387 int __cil_tmp119 ;
7388 struct iowarrior_info *__cil_tmp120 ;
7389 void *__cil_tmp121 ;
7390 void const *__cil_tmp122 ;
7391 unsigned int __cil_tmp123 ;
7392 struct mutex *__cil_tmp124 ;
7393 void const *__cil_tmp125 ;
7394
7395 {
7396#line 482
7397 __cil_tmp21 = (void *)0;
7398#line 482
7399 dev = (struct iowarrior *)__cil_tmp21;
7400#line 488
7401 __cil_tmp22 = file->private_data;
7402#line 488
7403 dev = (struct iowarrior *)__cil_tmp22;
7404 {
7405#line 489
7406 __cil_tmp23 = (void *)0;
7407#line 489
7408 __cil_tmp24 = (unsigned long )__cil_tmp23;
7409#line 489
7410 __cil_tmp25 = (unsigned long )dev;
7411#line 489
7412 if (__cil_tmp25 == __cil_tmp24) {
7413#line 490
7414 return (-19L);
7415 } else {
7416
7417 }
7418 }
7419 {
7420#line 493
7421 __cil_tmp26 = dev->report_size;
7422#line 493
7423 __cil_tmp27 = (size_t )__cil_tmp26;
7424#line 493
7425 tmp___7 = kzalloc(__cil_tmp27, 208U);
7426#line 493
7427 buffer = (__u8 *)tmp___7;
7428 }
7429#line 494
7430 if (! buffer) {
7431#line 495
7432 return (-12L);
7433 } else {
7434
7435 }
7436 {
7437#line 498
7438 mutex_lock_nested(& iowarrior_mutex, 0U);
7439#line 499
7440 __cil_tmp28 = & dev->mutex;
7441#line 499
7442 mutex_lock_nested(__cil_tmp28, 0U);
7443 }
7444 {
7445#line 502
7446 __cil_tmp29 = dev->present;
7447#line 502
7448 if (! __cil_tmp29) {
7449#line 503
7450 retval = -19;
7451#line 504
7452 goto error_out;
7453 } else {
7454
7455 }
7456 }
7457 {
7458#line 507
7459 while (1) {
7460 while_continue: ;
7461
7462#line 507
7463 if (debug) {
7464 {
7465#line 507
7466 __cil_tmp30 = dev->minor;
7467#line 507
7468 __cil_tmp31 = (int )__cil_tmp30;
7469#line 507
7470 printk("<7>/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c: %s - minor %d, cmd 0x%.4x, arg %ld\n",
7471 "iowarrior_ioctl", __cil_tmp31, cmd, arg);
7472 }
7473 } else {
7474
7475 }
7476#line 507
7477 goto while_break;
7478 }
7479 while_break___0: ;
7480 }
7481
7482 while_break:
7483#line 510
7484 retval = 0;
7485#line 511
7486 io_res = 0;
7487 {
7488#line 513
7489 __cil_tmp32 = 8UL << 16;
7490#line 513
7491 __cil_tmp33 = 192 << 8;
7492#line 513
7493 __cil_tmp34 = (unsigned int )__cil_tmp33;
7494#line 513
7495 __cil_tmp35 = 1U << 30;
7496#line 513
7497 __cil_tmp36 = __cil_tmp35 | __cil_tmp34;
7498#line 513
7499 __cil_tmp37 = __cil_tmp36 | 1U;
7500#line 513
7501 __cil_tmp38 = (unsigned long )__cil_tmp37;
7502#line 513
7503 __cil_tmp39 = __cil_tmp38 | __cil_tmp32;
7504#line 513
7505 __cil_tmp40 = (int )cmd;
7506#line 513
7507 __cil_tmp41 = (unsigned long )__cil_tmp40;
7508#line 513
7509 if (__cil_tmp41 == __cil_tmp39) {
7510#line 513
7511 goto case_exp;
7512 } else {
7513 {
7514#line 537
7515 __cil_tmp42 = 8UL << 16;
7516#line 537
7517 __cil_tmp43 = 192 << 8;
7518#line 537
7519 __cil_tmp44 = (unsigned int )__cil_tmp43;
7520#line 537
7521 __cil_tmp45 = 1U << 30;
7522#line 537
7523 __cil_tmp46 = __cil_tmp45 | __cil_tmp44;
7524#line 537
7525 __cil_tmp47 = __cil_tmp46 | 2U;
7526#line 537
7527 __cil_tmp48 = (unsigned long )__cil_tmp47;
7528#line 537
7529 __cil_tmp49 = __cil_tmp48 | __cil_tmp42;
7530#line 537
7531 __cil_tmp50 = (int )cmd;
7532#line 537
7533 __cil_tmp51 = (unsigned long )__cil_tmp50;
7534#line 537
7535 if (__cil_tmp51 == __cil_tmp49) {
7536#line 537
7537 goto case_exp___0;
7538 } else {
7539 {
7540#line 550
7541 __cil_tmp52 = 40UL << 16;
7542#line 550
7543 __cil_tmp53 = 192 << 8;
7544#line 550
7545 __cil_tmp54 = (unsigned int )__cil_tmp53;
7546#line 550
7547 __cil_tmp55 = 2U << 30;
7548#line 550
7549 __cil_tmp56 = __cil_tmp55 | __cil_tmp54;
7550#line 550
7551 __cil_tmp57 = __cil_tmp56 | 3U;
7552#line 550
7553 __cil_tmp58 = (unsigned long )__cil_tmp57;
7554#line 550
7555 __cil_tmp59 = __cil_tmp58 | __cil_tmp52;
7556#line 550
7557 __cil_tmp60 = (int )cmd;
7558#line 550
7559 __cil_tmp61 = (unsigned long )__cil_tmp60;
7560#line 550
7561 if (__cil_tmp61 == __cil_tmp59) {
7562#line 550
7563 goto case_exp___1;
7564 } else {
7565#line 583
7566 goto switch_default;
7567#line 512
7568 if (0) {
7569 case_exp:
7570 {
7571#line 514
7572 __cil_tmp62 = dev->product_id;
7573#line 514
7574 __cil_tmp63 = (int )__cil_tmp62;
7575#line 514
7576 if (__cil_tmp63 == 5377) {
7577#line 514
7578 goto _L;
7579 } else {
7580 {
7581#line 514
7582 __cil_tmp64 = dev->product_id;
7583#line 514
7584 __cil_tmp65 = (int )__cil_tmp64;
7585#line 514
7586 if (__cil_tmp65 == 5393) {
7587#line 514
7588 goto _L;
7589 } else {
7590 {
7591#line 514
7592 __cil_tmp66 = dev->product_id;
7593#line 514
7594 __cil_tmp67 = (int )__cil_tmp66;
7595#line 514
7596 if (__cil_tmp67 == 5394) {
7597#line 514
7598 goto _L;
7599 } else {
7600 {
7601#line 514
7602 __cil_tmp68 = dev->product_id;
7603#line 514
7604 __cil_tmp69 = (int )__cil_tmp68;
7605#line 514
7606 if (__cil_tmp69 == 5376) {
7607 _L:
7608 {
7609#line 518
7610 user_buffer = (__u8 *)arg;
7611#line 519
7612 __cil_tmp70 = (void *)buffer;
7613#line 519
7614 __cil_tmp71 = (void const *)user_buffer;
7615#line 519
7616 __cil_tmp72 = dev->report_size;
7617#line 519
7618 __cil_tmp73 = (unsigned long )__cil_tmp72;
7619#line 519
7620 tmp___11 = (unsigned long )copy_from_user(__cil_tmp70, __cil_tmp71,
7621 __cil_tmp73);
7622#line 519
7623 tmp = tmp___11;
7624#line 519
7625 tmp___8 = tmp;
7626#line 519
7627 io_res = (int )tmp___8;
7628 }
7629#line 521
7630 if (io_res) {
7631#line 522
7632 retval = -14;
7633 } else {
7634 {
7635#line 524
7636 __cil_tmp74 = dev->interface;
7637#line 524
7638 __cil_tmp75 = (void *)buffer;
7639#line 524
7640 __cil_tmp76 = dev->report_size;
7641#line 524
7642 io_res = usb_set_report(__cil_tmp74, (unsigned char)2, (unsigned char)0,
7643 __cil_tmp75, __cil_tmp76);
7644 }
7645#line 527
7646 if (io_res < 0) {
7647#line 528
7648 retval = io_res;
7649 } else {
7650
7651 }
7652 }
7653 } else {
7654 {
7655#line 531
7656 retval = -22;
7657#line 532
7658 __cil_tmp77 = dev->interface;
7659#line 532
7660 __cil_tmp78 = & __cil_tmp77->dev;
7661#line 532
7662 __cil_tmp79 = (struct device const *)__cil_tmp78;
7663#line 532
7664 __cil_tmp80 = dev->product_id;
7665#line 532
7666 __cil_tmp81 = (int )__cil_tmp80;
7667#line 532
7668 dev_err(__cil_tmp79, "ioctl \'IOW_WRITE\' is not supported for product=0x%x.\n",
7669 __cil_tmp81);
7670 }
7671 }
7672 }
7673 }
7674 }
7675 }
7676 }
7677 }
7678 }
7679#line 536
7680 goto switch_break;
7681 case_exp___0:
7682 {
7683#line 538
7684 user_buffer = (__u8 *)arg;
7685#line 539
7686 __cil_tmp82 = dev->udev;
7687#line 539
7688 __cil_tmp83 = dev->interface;
7689#line 539
7690 __cil_tmp84 = __cil_tmp83->cur_altsetting;
7691#line 539
7692 __cil_tmp85 = (void *)buffer;
7693#line 539
7694 __cil_tmp86 = dev->report_size;
7695#line 539
7696 io_res = usb_get_report(__cil_tmp82, __cil_tmp84, (unsigned char)1, (unsigned char)0,
7697 __cil_tmp85, __cil_tmp86);
7698 }
7699#line 542
7700 if (io_res < 0) {
7701#line 543
7702 retval = io_res;
7703 } else {
7704 {
7705#line 545
7706 __cil_tmp87 = (void *)user_buffer;
7707#line 545
7708 __cil_tmp88 = (void const *)buffer;
7709#line 545
7710 __cil_tmp89 = dev->report_size;
7711#line 545
7712 __cil_tmp90 = (unsigned int )__cil_tmp89;
7713#line 545
7714 tmp___12 = (int )copy_to_user(__cil_tmp87, __cil_tmp88, __cil_tmp90);
7715#line 545
7716 tmp___9 = tmp___12;
7717#line 545
7718 io_res = tmp___9;
7719 }
7720#line 546
7721 if (io_res) {
7722#line 547
7723 retval = -14;
7724 } else {
7725
7726 }
7727 }
7728#line 549
7729 goto switch_break;
7730 case_exp___1:
7731 {
7732#line 555
7733 __cil_tmp91 = dev->udev;
7734#line 555
7735 __cil_tmp92 = __cil_tmp91->actconfig;
7736#line 555
7737 cfg_descriptor = & __cil_tmp92->desc;
7738#line 557
7739 __cil_tmp93 = (void *)(& info);
7740#line 557
7741 memset(__cil_tmp93, 0, 40UL);
7742#line 559
7743 __cil_tmp94 = dev->udev;
7744#line 559
7745 __cil_tmp95 = __cil_tmp94->descriptor.idVendor;
7746#line 559
7747 info.vendor = (__u32 )__cil_tmp95;
7748#line 560
7749 __cil_tmp96 = dev->product_id;
7750#line 560
7751 info.product = (__u32 )__cil_tmp96;
7752#line 561
7753 __cil_tmp97 = dev->udev;
7754#line 561
7755 __cil_tmp98 = __cil_tmp97->descriptor.bcdDevice;
7756#line 561
7757 info.revision = (__u32 )__cil_tmp98;
7758#line 564
7759 __cil_tmp99 = dev->udev;
7760#line 564
7761 __cil_tmp100 = __cil_tmp99->speed;
7762#line 564
7763 __cil_tmp101 = (__le16 )__cil_tmp100;
7764#line 564
7765 info.speed = (__u32 )__cil_tmp101;
7766#line 565
7767 __cil_tmp102 = dev->interface;
7768#line 565
7769 __cil_tmp103 = __cil_tmp102->cur_altsetting;
7770#line 565
7771 __cil_tmp104 = __cil_tmp103->desc.bInterfaceNumber;
7772#line 565
7773 info.if_num = (__u32 )__cil_tmp104;
7774#line 566
7775 __cil_tmp105 = dev->report_size;
7776#line 566
7777 info.report_size = (__u32 )__cil_tmp105;
7778#line 569
7779 __len = 9UL;
7780 }
7781#line 569
7782 if (__len >= 64UL) {
7783 {
7784#line 569
7785 __cil_tmp106 = & info.serial[0];
7786#line 569
7787 __cil_tmp107 = (void *)__cil_tmp106;
7788#line 569
7789 __cil_tmp108 = & dev->chip_serial[0];
7790#line 569
7791 __cil_tmp109 = (void const *)__cil_tmp108;
7792#line 569
7793 __ret = __memcpy(__cil_tmp107, __cil_tmp109, __len);
7794 }
7795 } else {
7796 {
7797#line 569
7798 __cil_tmp110 = & info.serial[0];
7799#line 569
7800 __cil_tmp111 = (void *)__cil_tmp110;
7801#line 569
7802 __cil_tmp112 = & dev->chip_serial[0];
7803#line 569
7804 __cil_tmp113 = (void const *)__cil_tmp112;
7805#line 569
7806 __ret = __builtin_memcpy(__cil_tmp111, __cil_tmp113, __len);
7807 }
7808 }
7809 {
7810#line 571
7811 __cil_tmp114 = (void *)0;
7812#line 571
7813 __cil_tmp115 = (unsigned long )__cil_tmp114;
7814#line 571
7815 __cil_tmp116 = (unsigned long )cfg_descriptor;
7816#line 571
7817 if (__cil_tmp116 == __cil_tmp115) {
7818#line 572
7819 info.power = (__u32 )-1;
7820 } else {
7821#line 575
7822 __cil_tmp117 = cfg_descriptor->bMaxPower;
7823#line 575
7824 __cil_tmp118 = (int )__cil_tmp117;
7825#line 575
7826 __cil_tmp119 = __cil_tmp118 * 2;
7827#line 575
7828 info.power = (__u32 )__cil_tmp119;
7829 }
7830 }
7831 {
7832#line 577
7833 __cil_tmp120 = (struct iowarrior_info *)arg;
7834#line 577
7835 __cil_tmp121 = (void *)__cil_tmp120;
7836#line 577
7837 __cil_tmp122 = (void const *)(& info);
7838#line 577
7839 __cil_tmp123 = (unsigned int )40UL;
7840#line 577
7841 tmp___13 = (int )copy_to_user(__cil_tmp121, __cil_tmp122, __cil_tmp123);
7842#line 577
7843 tmp___10 = tmp___13;
7844#line 577
7845 io_res = tmp___10;
7846 }
7847#line 579
7848 if (io_res) {
7849#line 580
7850 retval = -14;
7851 } else {
7852
7853 }
7854#line 581
7855 goto switch_break;
7856 switch_default:
7857#line 585
7858 retval = -25;
7859#line 586
7860 goto switch_break;
7861 } else {
7862 switch_break: ;
7863 }
7864 }
7865 }
7866 }
7867 }
7868 }
7869 }
7870 error_out:
7871 {
7872#line 590
7873 __cil_tmp124 = & dev->mutex;
7874#line 590
7875 mutex_unlock(__cil_tmp124);
7876#line 591
7877 mutex_unlock(& iowarrior_mutex);
7878#line 592
7879 __cil_tmp125 = (void const *)buffer;
7880#line 592
7881 kfree(__cil_tmp125);
7882 }
7883#line 593
7884 return ((long )retval);
7885}
7886}
7887#line 599 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
7888static int iowarrior_open(struct inode *inode , struct file *file )
7889{ struct iowarrior *dev ;
7890 struct usb_interface *interface ;
7891 int subminor ;
7892 int retval ;
7893 unsigned int tmp___7 ;
7894 void *tmp___8 ;
7895 void *__cil_tmp9 ;
7896 struct inode const *__cil_tmp10 ;
7897 struct mutex *__cil_tmp11 ;
7898 struct urb *__cil_tmp12 ;
7899 struct device *__cil_tmp13 ;
7900 struct device const *__cil_tmp14 ;
7901 int __cil_tmp15 ;
7902 struct mutex *__cil_tmp16 ;
7903
7904 {
7905#line 601
7906 __cil_tmp9 = (void *)0;
7907#line 601
7908 dev = (struct iowarrior *)__cil_tmp9;
7909#line 604
7910 retval = 0;
7911 {
7912#line 606
7913 while (1) {
7914 while_continue: ;
7915
7916#line 606
7917 if (debug) {
7918 {
7919#line 606
7920 printk("<7>/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c: %s\n",
7921 "iowarrior_open");
7922 }
7923 } else {
7924
7925 }
7926#line 606
7927 goto while_break;
7928 }
7929 while_break___0: ;
7930 }
7931
7932 while_break:
7933 {
7934#line 608
7935 mutex_lock_nested(& iowarrior_mutex, 0U);
7936#line 609
7937 __cil_tmp10 = (struct inode const *)inode;
7938#line 609
7939 tmp___7 = iminor(__cil_tmp10);
7940#line 609
7941 subminor = (int )tmp___7;
7942#line 611
7943 interface = usb_find_interface(& iowarrior_driver, subminor);
7944 }
7945#line 612
7946 if (! interface) {
7947 {
7948#line 613
7949 mutex_unlock(& iowarrior_mutex);
7950#line 614
7951 printk("<3>iowarrior: %s - error, can\'t find device for minor %d\n", "iowarrior_open",
7952 subminor);
7953 }
7954#line 616
7955 return (-19);
7956 } else {
7957
7958 }
7959 {
7960#line 619
7961 mutex_lock_nested(& iowarrior_open_disc_lock, 0U);
7962#line 620
7963 tmp___8 = usb_get_intfdata(interface);
7964#line 620
7965 dev = (struct iowarrior *)tmp___8;
7966 }
7967#line 621
7968 if (! dev) {
7969 {
7970#line 622
7971 mutex_unlock(& iowarrior_open_disc_lock);
7972#line 623
7973 mutex_unlock(& iowarrior_mutex);
7974 }
7975#line 624
7976 return (-19);
7977 } else {
7978
7979 }
7980 {
7981#line 627
7982 __cil_tmp11 = & dev->mutex;
7983#line 627
7984 mutex_lock_nested(__cil_tmp11, 0U);
7985#line 628
7986 mutex_unlock(& iowarrior_open_disc_lock);
7987 }
7988#line 631
7989 if (dev->opened) {
7990#line 632
7991 retval = -16;
7992#line 633
7993 goto out;
7994 } else {
7995
7996 }
7997 {
7998#line 637
7999 __cil_tmp12 = dev->int_in_urb;
8000#line 637
8001 retval = usb_submit_urb(__cil_tmp12, 208U);
8002 }
8003#line 637
8004 if (retval < 0) {
8005 {
8006#line 638
8007 __cil_tmp13 = & interface->dev;
8008#line 638
8009 __cil_tmp14 = (struct device const *)__cil_tmp13;
8010#line 638
8011 dev_err(__cil_tmp14, "Error %d while submitting URB\n", retval);
8012#line 639
8013 retval = -14;
8014 }
8015#line 640
8016 goto out;
8017 } else {
8018
8019 }
8020#line 643
8021 __cil_tmp15 = dev->opened;
8022#line 643
8023 dev->opened = __cil_tmp15 + 1;
8024#line 645
8025 file->private_data = (void *)dev;
8026#line 646
8027 retval = 0;
8028 out:
8029 {
8030#line 649
8031 __cil_tmp16 = & dev->mutex;
8032#line 649
8033 mutex_unlock(__cil_tmp16);
8034#line 650
8035 mutex_unlock(& iowarrior_mutex);
8036 }
8037#line 651
8038 return (retval);
8039}
8040}
8041#line 657 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
8042static int iowarrior_release(struct inode *inode , struct file *file )
8043{ struct iowarrior *dev ;
8044 int retval ;
8045 void *__cil_tmp5 ;
8046 void *__cil_tmp6 ;
8047 unsigned long __cil_tmp7 ;
8048 unsigned long __cil_tmp8 ;
8049 unsigned char __cil_tmp9 ;
8050 int __cil_tmp10 ;
8051 struct mutex *__cil_tmp11 ;
8052 int __cil_tmp12 ;
8053 struct mutex *__cil_tmp13 ;
8054 struct urb *__cil_tmp14 ;
8055 wait_queue_head_t *__cil_tmp15 ;
8056 void *__cil_tmp16 ;
8057 wait_queue_head_t *__cil_tmp17 ;
8058 void *__cil_tmp18 ;
8059 struct mutex *__cil_tmp19 ;
8060 struct mutex *__cil_tmp20 ;
8061
8062 {
8063#line 660
8064 retval = 0;
8065#line 662
8066 __cil_tmp5 = file->private_data;
8067#line 662
8068 dev = (struct iowarrior *)__cil_tmp5;
8069 {
8070#line 663
8071 __cil_tmp6 = (void *)0;
8072#line 663
8073 __cil_tmp7 = (unsigned long )__cil_tmp6;
8074#line 663
8075 __cil_tmp8 = (unsigned long )dev;
8076#line 663
8077 if (__cil_tmp8 == __cil_tmp7) {
8078#line 664
8079 return (-19);
8080 } else {
8081
8082 }
8083 }
8084 {
8085#line 667
8086 while (1) {
8087 while_continue: ;
8088
8089#line 667
8090 if (debug) {
8091 {
8092#line 667
8093 __cil_tmp9 = dev->minor;
8094#line 667
8095 __cil_tmp10 = (int )__cil_tmp9;
8096#line 667
8097 printk("<7>/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c: %s - minor %d\n",
8098 "iowarrior_release", __cil_tmp10);
8099 }
8100 } else {
8101
8102 }
8103#line 667
8104 goto while_break;
8105 }
8106 while_break___0: ;
8107 }
8108
8109 while_break:
8110 {
8111#line 670
8112 __cil_tmp11 = & dev->mutex;
8113#line 670
8114 mutex_lock_nested(__cil_tmp11, 0U);
8115 }
8116 {
8117#line 672
8118 __cil_tmp12 = dev->opened;
8119#line 672
8120 if (__cil_tmp12 <= 0) {
8121 {
8122#line 673
8123 retval = -19;
8124#line 674
8125 __cil_tmp13 = & dev->mutex;
8126#line 674
8127 mutex_unlock(__cil_tmp13);
8128 }
8129 } else {
8130#line 676
8131 dev->opened = 0;
8132#line 677
8133 retval = 0;
8134#line 678
8135 if (dev->present) {
8136 {
8137#line 683
8138 __cil_tmp14 = dev->int_in_urb;
8139#line 683
8140 usb_kill_urb(__cil_tmp14);
8141#line 684
8142 __cil_tmp15 = & dev->read_wait;
8143#line 684
8144 __cil_tmp16 = (void *)0;
8145#line 684
8146 __wake_up(__cil_tmp15, 1U, 1, __cil_tmp16);
8147#line 685
8148 __cil_tmp17 = & dev->write_wait;
8149#line 685
8150 __cil_tmp18 = (void *)0;
8151#line 685
8152 __wake_up(__cil_tmp17, 1U, 1, __cil_tmp18);
8153#line 686
8154 __cil_tmp19 = & dev->mutex;
8155#line 686
8156 mutex_unlock(__cil_tmp19);
8157 }
8158 } else {
8159 {
8160#line 689
8161 __cil_tmp20 = & dev->mutex;
8162#line 689
8163 mutex_unlock(__cil_tmp20);
8164#line 690
8165 iowarrior_delete(dev);
8166 }
8167 }
8168 }
8169 }
8170#line 693
8171 return (retval);
8172}
8173}
8174#line 696 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
8175static unsigned int iowarrior_poll(struct file *file , poll_table *wait )
8176{ struct iowarrior *dev ;
8177 unsigned int mask ;
8178 int tmp___7 ;
8179 int tmp___8 ;
8180 void *__cil_tmp7 ;
8181 int __cil_tmp8 ;
8182 wait_queue_head_t *__cil_tmp9 ;
8183 wait_queue_head_t *__cil_tmp10 ;
8184 int __cil_tmp11 ;
8185 atomic_t *__cil_tmp12 ;
8186 atomic_t const *__cil_tmp13 ;
8187
8188 {
8189#line 698
8190 __cil_tmp7 = file->private_data;
8191#line 698
8192 dev = (struct iowarrior *)__cil_tmp7;
8193#line 699
8194 mask = 0U;
8195 {
8196#line 701
8197 __cil_tmp8 = dev->present;
8198#line 701
8199 if (! __cil_tmp8) {
8200#line 702
8201 return (24U);
8202 } else {
8203
8204 }
8205 }
8206 {
8207#line 704
8208 __cil_tmp9 = & dev->read_wait;
8209#line 704
8210 poll_wait(file, __cil_tmp9, wait);
8211#line 705
8212 __cil_tmp10 = & dev->write_wait;
8213#line 705
8214 poll_wait(file, __cil_tmp10, wait);
8215 }
8216 {
8217#line 707
8218 __cil_tmp11 = dev->present;
8219#line 707
8220 if (! __cil_tmp11) {
8221#line 708
8222 return (24U);
8223 } else {
8224
8225 }
8226 }
8227 {
8228#line 710
8229 tmp___7 = read_index(dev);
8230 }
8231#line 710
8232 if (tmp___7 != -1) {
8233#line 711
8234 mask = mask | 65U;
8235 } else {
8236
8237 }
8238 {
8239#line 713
8240 __cil_tmp12 = & dev->write_busy;
8241#line 713
8242 __cil_tmp13 = (atomic_t const *)__cil_tmp12;
8243#line 713
8244 tmp___8 = atomic_read(__cil_tmp13);
8245 }
8246#line 713
8247 if (tmp___8 < 4) {
8248#line 714
8249 mask = mask | 260U;
8250 } else {
8251
8252 }
8253#line 715
8254 return (mask);
8255}
8256}
8257#line 727 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
8258static struct file_operations const iowarrior_fops =
8259#line 727
8260 {& __this_module, & noop_llseek, & iowarrior_read, & iowarrior_write, (ssize_t (*)(struct kiocb * ,
8261 struct iovec const * ,
8262 unsigned long ,
8263 loff_t ))0,
8264 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
8265 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
8266 u64 , unsigned int ) ))0, & iowarrior_poll,
8267 & iowarrior_ioctl, (long (*)(struct file * , unsigned int , unsigned long ))0,
8268 (int (*)(struct file * , struct vm_area_struct * ))0, & iowarrior_open, (int (*)(struct file * ,
8269 fl_owner_t id ))0,
8270 & iowarrior_release, (int (*)(struct file * , int datasync ))0, (int (*)(struct kiocb * ,
8271 int datasync ))0,
8272 (int (*)(int , struct file * , int ))0, (int (*)(struct file * , int , struct file_lock * ))0,
8273 (ssize_t (*)(struct file * , struct page * , int , size_t , loff_t * , int ))0,
8274 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
8275 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
8276 int , struct file_lock * ))0,
8277 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
8278 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
8279 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file *file ,
8280 int mode ,
8281 loff_t offset ,
8282 loff_t len ))0};
8283#line 738 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
8284static char *iowarrior_devnode(struct device *dev , mode_t *mode )
8285{ char const *tmp___7 ;
8286 char *tmp___8 ;
8287 struct device const *__cil_tmp5 ;
8288
8289 {
8290 {
8291#line 740
8292 __cil_tmp5 = (struct device const *)dev;
8293#line 740
8294 tmp___7 = dev_name(__cil_tmp5);
8295#line 740
8296 tmp___8 = kasprintf(208U, "usb/%s", tmp___7);
8297 }
8298#line 740
8299 return (tmp___8);
8300}
8301}
8302#line 747 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
8303static struct usb_class_driver iowarrior_class = {(char *)"iowarrior%d", & iowarrior_devnode, & iowarrior_fops, 0};
8304#line 780 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
8305static struct lock_class_key __key___7 ;
8306#line 784 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
8307static struct lock_class_key __key___8 ;
8308#line 786 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
8309static struct lock_class_key __key___9 ;
8310#line 788 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
8311static struct lock_class_key __key___10 ;
8312#line 763 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
8313static int iowarrior_probe(struct usb_interface *interface , struct usb_device_id const *id )
8314{ struct usb_device *udev ;
8315 struct usb_device *tmp___7 ;
8316 struct iowarrior *dev ;
8317 struct usb_host_interface *iface_desc ;
8318 struct usb_endpoint_descriptor *endpoint ;
8319 int i ;
8320 int retval ;
8321 void *tmp___8 ;
8322 int tmp___9 ;
8323 int tmp___10 ;
8324 void *tmp___11 ;
8325 unsigned int tmp___12 ;
8326 void *tmp___13 ;
8327 unsigned long tmp___14 ;
8328 unsigned int tmp___15 ;
8329 void *__cil_tmp18 ;
8330 void *__cil_tmp19 ;
8331 unsigned long __cil_tmp20 ;
8332 unsigned long __cil_tmp21 ;
8333 struct device *__cil_tmp22 ;
8334 struct device const *__cil_tmp23 ;
8335 struct mutex *__cil_tmp24 ;
8336 atomic_t *__cil_tmp25 ;
8337 atomic_t *__cil_tmp26 ;
8338 spinlock_t *__cil_tmp27 ;
8339 struct raw_spinlock *__cil_tmp28 ;
8340 atomic_t *__cil_tmp29 ;
8341 wait_queue_head_t *__cil_tmp30 ;
8342 atomic_t *__cil_tmp31 ;
8343 wait_queue_head_t *__cil_tmp32 ;
8344 __u8 __cil_tmp33 ;
8345 int __cil_tmp34 ;
8346 struct usb_host_endpoint *__cil_tmp35 ;
8347 struct usb_host_endpoint *__cil_tmp36 ;
8348 struct usb_endpoint_descriptor const *__cil_tmp37 ;
8349 struct usb_endpoint_descriptor const *__cil_tmp38 ;
8350 struct usb_endpoint_descriptor *__cil_tmp39 ;
8351 __le16 __cil_tmp40 ;
8352 struct usb_interface *__cil_tmp41 ;
8353 struct usb_host_interface *__cil_tmp42 ;
8354 __u8 __cil_tmp43 ;
8355 int __cil_tmp44 ;
8356 u16 __cil_tmp45 ;
8357 int __cil_tmp46 ;
8358 struct urb *__cil_tmp47 ;
8359 struct device *__cil_tmp48 ;
8360 struct device const *__cil_tmp49 ;
8361 int __cil_tmp50 ;
8362 size_t __cil_tmp51 ;
8363 unsigned char *__cil_tmp52 ;
8364 struct device *__cil_tmp53 ;
8365 struct device const *__cil_tmp54 ;
8366 struct usb_device *__cil_tmp55 ;
8367 struct usb_endpoint_descriptor *__cil_tmp56 ;
8368 __u8 __cil_tmp57 ;
8369 unsigned int __cil_tmp58 ;
8370 struct urb *__cil_tmp59 ;
8371 struct usb_device *__cil_tmp60 ;
8372 int __cil_tmp61 ;
8373 unsigned int __cil_tmp62 ;
8374 unsigned int __cil_tmp63 ;
8375 unsigned int __cil_tmp64 ;
8376 unsigned char *__cil_tmp65 ;
8377 void *__cil_tmp66 ;
8378 int __cil_tmp67 ;
8379 void *__cil_tmp68 ;
8380 struct usb_endpoint_descriptor *__cil_tmp69 ;
8381 __u8 __cil_tmp70 ;
8382 int __cil_tmp71 ;
8383 int __cil_tmp72 ;
8384 int __cil_tmp73 ;
8385 int __cil_tmp74 ;
8386 size_t __cil_tmp75 ;
8387 unsigned char *__cil_tmp76 ;
8388 struct device *__cil_tmp77 ;
8389 struct device const *__cil_tmp78 ;
8390 char *__cil_tmp79 ;
8391 void *__cil_tmp80 ;
8392 __u8 __cil_tmp81 ;
8393 int __cil_tmp82 ;
8394 char *__cil_tmp83 ;
8395 char *__cil_tmp84 ;
8396 char const *__cil_tmp85 ;
8397 char *__cil_tmp86 ;
8398 void *__cil_tmp87 ;
8399 struct usb_interface *__cil_tmp88 ;
8400 struct usb_host_interface *__cil_tmp89 ;
8401 __u8 __cil_tmp90 ;
8402 int __cil_tmp91 ;
8403 int __cil_tmp92 ;
8404 unsigned int __cil_tmp93 ;
8405 unsigned int __cil_tmp94 ;
8406 __u8 __cil_tmp95 ;
8407 int __cil_tmp96 ;
8408 int __cil_tmp97 ;
8409 __u8 __cil_tmp98 ;
8410 __u16 __cil_tmp99 ;
8411 __u16 __cil_tmp100 ;
8412 void *__cil_tmp101 ;
8413 __u16 __cil_tmp102 ;
8414 void *__cil_tmp103 ;
8415 struct device *__cil_tmp104 ;
8416 struct device const *__cil_tmp105 ;
8417 void *__cil_tmp106 ;
8418 int __cil_tmp107 ;
8419 struct device *__cil_tmp108 ;
8420 struct device const *__cil_tmp109 ;
8421 u16 __cil_tmp110 ;
8422 int __cil_tmp111 ;
8423 char *__cil_tmp112 ;
8424 __u8 __cil_tmp113 ;
8425 int __cil_tmp114 ;
8426 unsigned char __cil_tmp115 ;
8427 int __cil_tmp116 ;
8428
8429 {
8430 {
8431#line 766
8432 tmp___7 = interface_to_usbdev(interface);
8433#line 766
8434 udev = tmp___7;
8435#line 767
8436 __cil_tmp18 = (void *)0;
8437#line 767
8438 dev = (struct iowarrior *)__cil_tmp18;
8439#line 771
8440 retval = -12;
8441#line 774
8442 tmp___8 = kzalloc(536UL, 208U);
8443#line 774
8444 dev = (struct iowarrior *)tmp___8;
8445 }
8446 {
8447#line 775
8448 __cil_tmp19 = (void *)0;
8449#line 775
8450 __cil_tmp20 = (unsigned long )__cil_tmp19;
8451#line 775
8452 __cil_tmp21 = (unsigned long )dev;
8453#line 775
8454 if (__cil_tmp21 == __cil_tmp20) {
8455 {
8456#line 776
8457 __cil_tmp22 = & interface->dev;
8458#line 776
8459 __cil_tmp23 = (struct device const *)__cil_tmp22;
8460#line 776
8461 dev_err(__cil_tmp23, "Out of memory\n");
8462 }
8463#line 777
8464 return (retval);
8465 } else {
8466
8467 }
8468 }
8469 {
8470#line 780
8471 while (1) {
8472 while_continue: ;
8473 {
8474#line 780
8475 __cil_tmp24 = & dev->mutex;
8476#line 780
8477 __mutex_init(__cil_tmp24, "&dev->mutex", & __key___7);
8478 }
8479#line 780
8480 goto while_break;
8481 }
8482 while_break___5: ;
8483 }
8484
8485 while_break:
8486 {
8487#line 782
8488 __cil_tmp25 = & dev->intr_idx;
8489#line 782
8490 atomic_set(__cil_tmp25, 0);
8491#line 783
8492 __cil_tmp26 = & dev->read_idx;
8493#line 783
8494 atomic_set(__cil_tmp26, 0);
8495 }
8496 {
8497#line 784
8498 while (1) {
8499 while_continue___0: ;
8500 {
8501#line 784
8502 __cil_tmp27 = & dev->intr_idx_lock;
8503#line 784
8504 spinlock_check(__cil_tmp27);
8505 }
8506 {
8507#line 784
8508 while (1) {
8509 while_continue___1: ;
8510 {
8511#line 784
8512 __cil_tmp28 = & dev->intr_idx_lock.__annonCompField18.rlock;
8513#line 784
8514 __raw_spin_lock_init(__cil_tmp28, "&(&dev->intr_idx_lock)->rlock", & __key___8);
8515 }
8516#line 784
8517 goto while_break___1;
8518 }
8519 while_break___7: ;
8520 }
8521
8522 while_break___1: ;
8523#line 784
8524 goto while_break___0;
8525 }
8526 while_break___6: ;
8527 }
8528
8529 while_break___0:
8530 {
8531#line 785
8532 __cil_tmp29 = & dev->overflow_flag;
8533#line 785
8534 atomic_set(__cil_tmp29, 0);
8535 }
8536 {
8537#line 786
8538 while (1) {
8539 while_continue___2: ;
8540 {
8541#line 786
8542 __cil_tmp30 = & dev->read_wait;
8543#line 786
8544 __init_waitqueue_head(__cil_tmp30, & __key___9);
8545 }
8546#line 786
8547 goto while_break___2;
8548 }
8549 while_break___8: ;
8550 }
8551
8552 while_break___2:
8553 {
8554#line 787
8555 __cil_tmp31 = & dev->write_busy;
8556#line 787
8557 atomic_set(__cil_tmp31, 0);
8558 }
8559 {
8560#line 788
8561 while (1) {
8562 while_continue___3: ;
8563 {
8564#line 788
8565 __cil_tmp32 = & dev->write_wait;
8566#line 788
8567 __init_waitqueue_head(__cil_tmp32, & __key___10);
8568 }
8569#line 788
8570 goto while_break___3;
8571 }
8572 while_break___9: ;
8573 }
8574
8575 while_break___3:
8576#line 790
8577 dev->udev = udev;
8578#line 791
8579 dev->interface = interface;
8580#line 793
8581 iface_desc = interface->cur_altsetting;
8582#line 794
8583 dev->product_id = udev->descriptor.idProduct;
8584#line 797
8585 i = 0;
8586 {
8587#line 797
8588 while (1) {
8589 while_continue___4: ;
8590
8591 {
8592#line 797
8593 __cil_tmp33 = iface_desc->desc.bNumEndpoints;
8594#line 797
8595 __cil_tmp34 = (int )__cil_tmp33;
8596#line 797
8597 if (i < __cil_tmp34) {
8598
8599 } else {
8600#line 797
8601 goto while_break___4;
8602 }
8603 }
8604 {
8605#line 798
8606 __cil_tmp35 = iface_desc->endpoint;
8607#line 798
8608 __cil_tmp36 = __cil_tmp35 + i;
8609#line 798
8610 endpoint = & __cil_tmp36->desc;
8611#line 800
8612 __cil_tmp37 = (struct usb_endpoint_descriptor const *)endpoint;
8613#line 800
8614 tmp___9 = usb_endpoint_is_int_in(__cil_tmp37);
8615 }
8616#line 800
8617 if (tmp___9) {
8618#line 801
8619 dev->int_in_endpoint = endpoint;
8620 } else {
8621
8622 }
8623 {
8624#line 802
8625 __cil_tmp38 = (struct usb_endpoint_descriptor const *)endpoint;
8626#line 802
8627 tmp___10 = usb_endpoint_is_int_out(__cil_tmp38);
8628 }
8629#line 802
8630 if (tmp___10) {
8631#line 804
8632 dev->int_out_endpoint = endpoint;
8633 } else {
8634
8635 }
8636#line 797
8637 i = i + 1;
8638 }
8639 while_break___10: ;
8640 }
8641
8642 while_break___4:
8643#line 807
8644 __cil_tmp39 = dev->int_in_endpoint;
8645#line 807
8646 __cil_tmp40 = __cil_tmp39->wMaxPacketSize;
8647#line 807
8648 dev->report_size = (int )__cil_tmp40;
8649 {
8650#line 808
8651 __cil_tmp41 = dev->interface;
8652#line 808
8653 __cil_tmp42 = __cil_tmp41->cur_altsetting;
8654#line 808
8655 __cil_tmp43 = __cil_tmp42->desc.bInterfaceNumber;
8656#line 808
8657 __cil_tmp44 = (int )__cil_tmp43;
8658#line 808
8659 if (__cil_tmp44 == 0) {
8660 {
8661#line 808
8662 __cil_tmp45 = dev->product_id;
8663#line 808
8664 __cil_tmp46 = (int )__cil_tmp45;
8665#line 808
8666 if (__cil_tmp46 == 5379) {
8667#line 811
8668 dev->report_size = 7;
8669 } else {
8670
8671 }
8672 }
8673 } else {
8674
8675 }
8676 }
8677 {
8678#line 814
8679 dev->int_in_urb = usb_alloc_urb(0, 208U);
8680 }
8681 {
8682#line 815
8683 __cil_tmp47 = dev->int_in_urb;
8684#line 815
8685 if (! __cil_tmp47) {
8686 {
8687#line 816
8688 __cil_tmp48 = & interface->dev;
8689#line 816
8690 __cil_tmp49 = (struct device const *)__cil_tmp48;
8691#line 816
8692 dev_err(__cil_tmp49, "Couldn\'t allocate interrupt_in_urb\n");
8693 }
8694#line 817
8695 goto error;
8696 } else {
8697
8698 }
8699 }
8700 {
8701#line 819
8702 __cil_tmp50 = dev->report_size;
8703#line 819
8704 __cil_tmp51 = (size_t )__cil_tmp50;
8705#line 819
8706 tmp___11 = kmalloc(__cil_tmp51, 208U);
8707#line 819
8708 dev->int_in_buffer = (unsigned char *)tmp___11;
8709 }
8710 {
8711#line 820
8712 __cil_tmp52 = dev->int_in_buffer;
8713#line 820
8714 if (! __cil_tmp52) {
8715 {
8716#line 821
8717 __cil_tmp53 = & interface->dev;
8718#line 821
8719 __cil_tmp54 = (struct device const *)__cil_tmp53;
8720#line 821
8721 dev_err(__cil_tmp54, "Couldn\'t allocate int_in_buffer\n");
8722 }
8723#line 822
8724 goto error;
8725 } else {
8726
8727 }
8728 }
8729 {
8730#line 824
8731 __cil_tmp55 = dev->udev;
8732#line 824
8733 __cil_tmp56 = dev->int_in_endpoint;
8734#line 824
8735 __cil_tmp57 = __cil_tmp56->bEndpointAddress;
8736#line 824
8737 __cil_tmp58 = (unsigned int )__cil_tmp57;
8738#line 824
8739 tmp___12 = __create_pipe(__cil_tmp55, __cil_tmp58);
8740#line 824
8741 __cil_tmp59 = dev->int_in_urb;
8742#line 824
8743 __cil_tmp60 = dev->udev;
8744#line 824
8745 __cil_tmp61 = 1 << 30;
8746#line 824
8747 __cil_tmp62 = (unsigned int )__cil_tmp61;
8748#line 824
8749 __cil_tmp63 = __cil_tmp62 | tmp___12;
8750#line 824
8751 __cil_tmp64 = __cil_tmp63 | 128U;
8752#line 824
8753 __cil_tmp65 = dev->int_in_buffer;
8754#line 824
8755 __cil_tmp66 = (void *)__cil_tmp65;
8756#line 824
8757 __cil_tmp67 = dev->report_size;
8758#line 824
8759 __cil_tmp68 = (void *)dev;
8760#line 824
8761 __cil_tmp69 = dev->int_in_endpoint;
8762#line 824
8763 __cil_tmp70 = __cil_tmp69->bInterval;
8764#line 824
8765 __cil_tmp71 = (int )__cil_tmp70;
8766#line 824
8767 usb_fill_int_urb(__cil_tmp59, __cil_tmp60, __cil_tmp64, __cil_tmp66, __cil_tmp67,
8768 & iowarrior_callback, __cil_tmp68, __cil_tmp71);
8769#line 831
8770 __cil_tmp72 = dev->report_size;
8771#line 831
8772 __cil_tmp73 = __cil_tmp72 + 1;
8773#line 831
8774 __cil_tmp74 = __cil_tmp73 * 16;
8775#line 831
8776 __cil_tmp75 = (size_t )__cil_tmp74;
8777#line 831
8778 tmp___13 = kmalloc(__cil_tmp75, 208U);
8779#line 831
8780 dev->read_queue = (unsigned char *)tmp___13;
8781 }
8782 {
8783#line 834
8784 __cil_tmp76 = dev->read_queue;
8785#line 834
8786 if (! __cil_tmp76) {
8787 {
8788#line 835
8789 __cil_tmp77 = & interface->dev;
8790#line 835
8791 __cil_tmp78 = (struct device const *)__cil_tmp77;
8792#line 835
8793 dev_err(__cil_tmp78, "Couldn\'t allocate read_queue\n");
8794 }
8795#line 836
8796 goto error;
8797 } else {
8798
8799 }
8800 }
8801 {
8802#line 839
8803 __cil_tmp79 = & dev->chip_serial[0];
8804#line 839
8805 __cil_tmp80 = (void *)__cil_tmp79;
8806#line 839
8807 memset(__cil_tmp80, 0, 9UL);
8808#line 840
8809 __cil_tmp81 = udev->descriptor.iSerialNumber;
8810#line 840
8811 __cil_tmp82 = (int )__cil_tmp81;
8812#line 840
8813 __cil_tmp83 = & dev->chip_serial[0];
8814#line 840
8815 usb_string(udev, __cil_tmp82, __cil_tmp83, 9UL);
8816#line 842
8817 __cil_tmp84 = & dev->chip_serial[0];
8818#line 842
8819 __cil_tmp85 = (char const *)__cil_tmp84;
8820#line 842
8821 tmp___14 = strlen(__cil_tmp85);
8822 }
8823#line 842
8824 if (tmp___14 != 8UL) {
8825 {
8826#line 843
8827 __cil_tmp86 = & dev->chip_serial[0];
8828#line 843
8829 __cil_tmp87 = (void *)__cil_tmp86;
8830#line 843
8831 memset(__cil_tmp87, 0, 9UL);
8832 }
8833 } else {
8834
8835 }
8836 {
8837#line 846
8838 __cil_tmp88 = dev->interface;
8839#line 846
8840 __cil_tmp89 = __cil_tmp88->cur_altsetting;
8841#line 846
8842 __cil_tmp90 = __cil_tmp89->desc.bInterfaceNumber;
8843#line 846
8844 __cil_tmp91 = (int )__cil_tmp90;
8845#line 846
8846 if (__cil_tmp91 == 0) {
8847 {
8848#line 847
8849 tmp___15 = __create_pipe(udev, 0U);
8850#line 847
8851 __cil_tmp92 = 2 << 30;
8852#line 847
8853 __cil_tmp93 = (unsigned int )__cil_tmp92;
8854#line 847
8855 __cil_tmp94 = __cil_tmp93 | tmp___15;
8856#line 847
8857 __cil_tmp95 = (__u8 )10;
8858#line 847
8859 __cil_tmp96 = 1 << 5;
8860#line 847
8861 __cil_tmp97 = __cil_tmp96 | 1;
8862#line 847
8863 __cil_tmp98 = (__u8 )__cil_tmp97;
8864#line 847
8865 __cil_tmp99 = (__u16 )0;
8866#line 847
8867 __cil_tmp100 = (__u16 )0;
8868#line 847
8869 __cil_tmp101 = (void *)0;
8870#line 847
8871 __cil_tmp102 = (__u16 )0;
8872#line 847
8873 usb_control_msg(udev, __cil_tmp94, __cil_tmp95, __cil_tmp98, __cil_tmp99, __cil_tmp100,
8874 __cil_tmp101, __cil_tmp102, 5000);
8875 }
8876 } else {
8877
8878 }
8879 }
8880 {
8881#line 853
8882 dev->present = 1;
8883#line 856
8884 __cil_tmp103 = (void *)dev;
8885#line 856
8886 usb_set_intfdata(interface, __cil_tmp103);
8887#line 858
8888 retval = usb_register_dev(interface, & iowarrior_class);
8889 }
8890#line 859
8891 if (retval) {
8892 {
8893#line 861
8894 __cil_tmp104 = & interface->dev;
8895#line 861
8896 __cil_tmp105 = (struct device const *)__cil_tmp104;
8897#line 861
8898 dev_err(__cil_tmp105, "Not able to get a minor for this device.\n");
8899#line 862
8900 __cil_tmp106 = (void *)0;
8901#line 862
8902 usb_set_intfdata(interface, __cil_tmp106);
8903 }
8904#line 863
8905 goto error;
8906 } else {
8907
8908 }
8909 {
8910#line 866
8911 __cil_tmp107 = interface->minor;
8912#line 866
8913 dev->minor = (unsigned char )__cil_tmp107;
8914#line 869
8915 __cil_tmp108 = & interface->dev;
8916#line 869
8917 __cil_tmp109 = (struct device const *)__cil_tmp108;
8918#line 869
8919 __cil_tmp110 = dev->product_id;
8920#line 869
8921 __cil_tmp111 = (int )__cil_tmp110;
8922#line 869
8923 __cil_tmp112 = & dev->chip_serial[0];
8924#line 869
8925 __cil_tmp113 = iface_desc->desc.bInterfaceNumber;
8926#line 869
8927 __cil_tmp114 = (int )__cil_tmp113;
8928#line 869
8929 __cil_tmp115 = dev->minor;
8930#line 869
8931 __cil_tmp116 = (int )__cil_tmp115;
8932#line 869
8933 _dev_info(__cil_tmp109, "IOWarrior product=0x%x, serial=%s interface=%d now attached to iowarrior%d\n",
8934 __cil_tmp111, __cil_tmp112, __cil_tmp114, __cil_tmp116);
8935 }
8936#line 872
8937 return (retval);
8938 error:
8939 {
8940#line 875
8941 iowarrior_delete(dev);
8942 }
8943#line 876
8944 return (retval);
8945}
8946}
8947#line 884 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
8948static void iowarrior_disconnect(struct usb_interface *interface )
8949{ struct iowarrior *dev ;
8950 int minor ;
8951 void *tmp___7 ;
8952 void *__cil_tmp5 ;
8953 unsigned char __cil_tmp6 ;
8954 struct mutex *__cil_tmp7 ;
8955 struct mutex *__cil_tmp8 ;
8956 struct urb *__cil_tmp9 ;
8957 wait_queue_head_t *__cil_tmp10 ;
8958 void *__cil_tmp11 ;
8959 wait_queue_head_t *__cil_tmp12 ;
8960 void *__cil_tmp13 ;
8961 struct device *__cil_tmp14 ;
8962 struct device const *__cil_tmp15 ;
8963
8964 {
8965 {
8966#line 889
8967 tmp___7 = usb_get_intfdata(interface);
8968#line 889
8969 dev = (struct iowarrior *)tmp___7;
8970#line 890
8971 mutex_lock_nested(& iowarrior_open_disc_lock, 0U);
8972#line 891
8973 __cil_tmp5 = (void *)0;
8974#line 891
8975 usb_set_intfdata(interface, __cil_tmp5);
8976#line 893
8977 __cil_tmp6 = dev->minor;
8978#line 893
8979 minor = (int )__cil_tmp6;
8980#line 896
8981 usb_deregister_dev(interface, & iowarrior_class);
8982#line 898
8983 __cil_tmp7 = & dev->mutex;
8984#line 898
8985 mutex_lock_nested(__cil_tmp7, 0U);
8986#line 901
8987 dev->present = 0;
8988#line 903
8989 __cil_tmp8 = & dev->mutex;
8990#line 903
8991 mutex_unlock(__cil_tmp8);
8992#line 904
8993 mutex_unlock(& iowarrior_open_disc_lock);
8994 }
8995#line 906
8996 if (dev->opened) {
8997 {
8998#line 911
8999 __cil_tmp9 = dev->int_in_urb;
9000#line 911
9001 usb_kill_urb(__cil_tmp9);
9002#line 912
9003 __cil_tmp10 = & dev->read_wait;
9004#line 912
9005 __cil_tmp11 = (void *)0;
9006#line 912
9007 __wake_up(__cil_tmp10, 1U, 1, __cil_tmp11);
9008#line 913
9009 __cil_tmp12 = & dev->write_wait;
9010#line 913
9011 __cil_tmp13 = (void *)0;
9012#line 913
9013 __wake_up(__cil_tmp12, 1U, 1, __cil_tmp13);
9014 }
9015 } else {
9016 {
9017#line 916
9018 iowarrior_delete(dev);
9019 }
9020 }
9021 {
9022#line 919
9023 __cil_tmp14 = & interface->dev;
9024#line 919
9025 __cil_tmp15 = (struct device const *)__cil_tmp14;
9026#line 919
9027 _dev_info(__cil_tmp15, "I/O-Warror #%d now disconnected\n", minor);
9028 }
9029#line 921
9030 return;
9031}
9032}
9033#line 924 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
9034static struct usb_driver iowarrior_driver =
9035#line 924
9036 {"iowarrior", & iowarrior_probe, & iowarrior_disconnect, (int (*)(struct usb_interface *intf ,
9037 unsigned int code ,
9038 void *buf ))0,
9039 (int (*)(struct usb_interface *intf , pm_message_t message ))0, (int (*)(struct usb_interface *intf ))0,
9040 (int (*)(struct usb_interface *intf ))0, (int (*)(struct usb_interface *intf ))0,
9041 (int (*)(struct usb_interface *intf ))0, iowarrior_ids, {{{{{0U}, 0U, 0U, (void *)0,
9042 {(struct lock_class_key *)0,
9043 {(struct lock_class *)0,
9044 (struct lock_class *)0},
9045 (char const *)0,
9046 0, 0UL}}}}, {(struct list_head *)0,
9047 (struct list_head *)0}},
9048 {{(char const *)0, (struct bus_type *)0, (struct module *)0, (char const *)0,
9049 (_Bool)0, (struct of_device_id const *)0, (int (*)(struct device *dev ))0,
9050 (int (*)(struct device *dev ))0, (void (*)(struct device *dev ))0, (int (*)(struct device *dev ,
9051 pm_message_t state ))0,
9052 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
9053 (struct driver_private *)0}, 0}, 0U, 0U, 0U};
9054#line 931
9055static int iowarrior_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
9056#line 931
9057static int iowarrior_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
9058#line 931 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
9059static int iowarrior_init(void)
9060{ int tmp___7 ;
9061
9062 {
9063 {
9064#line 933
9065 tmp___7 = usb_register(& iowarrior_driver);
9066 }
9067#line 933
9068 return (tmp___7);
9069}
9070}
9071#line 936
9072static void iowarrior_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
9073#line 936
9074static void iowarrior_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
9075#line 936 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
9076static void iowarrior_exit(void)
9077{
9078
9079 {
9080 {
9081#line 938
9082 usb_deregister(& iowarrior_driver);
9083 }
9084#line 939
9085 return;
9086}
9087}
9088#line 941 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
9089int init_module(void)
9090{ int tmp___7 ;
9091
9092 {
9093 {
9094#line 941
9095 tmp___7 = iowarrior_init();
9096 }
9097#line 941
9098 return (tmp___7);
9099}
9100}
9101#line 942 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
9102void cleanup_module(void)
9103{
9104
9105 {
9106 {
9107#line 942
9108 iowarrior_exit();
9109 }
9110#line 942
9111 return;
9112}
9113}
9114#line 960
9115void ldv_check_final_state(void) __attribute__((__ldv_model__)) ;
9116#line 963
9117extern void ldv_check_return_value(int res ) ;
9118#line 966
9119extern void ldv_initialize(void) ;
9120#line 969
9121extern int nondet_int(void) ;
9122#line 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
9123int LDV_IN_INTERRUPT ;
9124#line 1015 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
9125static ssize_t res_iowarrior_write_7 ;
9126#line 1047 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
9127static ssize_t res_iowarrior_read_6 ;
9128#line 1103 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
9129static int res_iowarrior_open_9 ;
9130#line 1215 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
9131static int res_iowarrior_probe_13 ;
9132#line 975 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/usb/misc/iowarrior.c.common.c"
9133void main(void)
9134{ struct file *var_group1 ;
9135 char const *var_iowarrior_write_7_p1 ;
9136 size_t var_iowarrior_write_7_p2 ;
9137 loff_t *var_iowarrior_write_7_p3 ;
9138 char *var_iowarrior_read_6_p1 ;
9139 size_t var_iowarrior_read_6_p2 ;
9140 loff_t *var_iowarrior_read_6_p3 ;
9141 unsigned int var_iowarrior_ioctl_8_p1 ;
9142 unsigned long var_iowarrior_ioctl_8_p2 ;
9143 struct inode *var_group2 ;
9144 poll_table *var_iowarrior_poll_11_p1 ;
9145 struct device *var_group3 ;
9146 mode_t *var_iowarrior_devnode_12_p1 ;
9147 struct usb_interface *var_group4 ;
9148 struct usb_device_id const *var_iowarrior_probe_13_p1 ;
9149 int tmp___7 ;
9150 int ldv_s_iowarrior_fops_file_operations ;
9151 int ldv_s_iowarrior_driver_usb_driver ;
9152 int tmp___8 ;
9153 int tmp___9 ;
9154 int __cil_tmp21 ;
9155 int __cil_tmp22 ;
9156 int __cil_tmp23 ;
9157 int __cil_tmp24 ;
9158
9159 {
9160 {
9161#line 1247
9162 LDV_IN_INTERRUPT = 1;
9163#line 1256
9164 ldv_initialize();
9165#line 1284
9166 tmp___7 = iowarrior_init();
9167 }
9168#line 1284
9169 if (tmp___7) {
9170#line 1285
9171 goto ldv_final;
9172 } else {
9173
9174 }
9175#line 1286
9176 ldv_s_iowarrior_fops_file_operations = 0;
9177#line 1291
9178 ldv_s_iowarrior_driver_usb_driver = 0;
9179 {
9180#line 1294
9181 while (1) {
9182 while_continue: ;
9183 {
9184#line 1294
9185 tmp___9 = nondet_int();
9186 }
9187#line 1294
9188 if (tmp___9) {
9189
9190 } else {
9191 {
9192#line 1294
9193 __cil_tmp21 = ldv_s_iowarrior_fops_file_operations == 0;
9194#line 1294
9195 if (! __cil_tmp21) {
9196
9197 } else {
9198 {
9199#line 1294
9200 __cil_tmp22 = ldv_s_iowarrior_driver_usb_driver == 0;
9201#line 1294
9202 if (! __cil_tmp22) {
9203
9204 } else {
9205#line 1294
9206 goto while_break;
9207 }
9208 }
9209 }
9210 }
9211 }
9212 {
9213#line 1299
9214 tmp___8 = nondet_int();
9215 }
9216#line 1301
9217 if (tmp___8 == 0) {
9218#line 1301
9219 goto case_0;
9220 } else
9221#line 1342
9222 if (tmp___8 == 1) {
9223#line 1342
9224 goto case_1;
9225 } else
9226#line 1383
9227 if (tmp___8 == 2) {
9228#line 1383
9229 goto case_2;
9230 } else
9231#line 1424
9232 if (tmp___8 == 3) {
9233#line 1424
9234 goto case_3;
9235 } else
9236#line 1462
9237 if (tmp___8 == 4) {
9238#line 1462
9239 goto case_4;
9240 } else
9241#line 1500
9242 if (tmp___8 == 5) {
9243#line 1500
9244 goto case_5;
9245 } else
9246#line 1538
9247 if (tmp___8 == 6) {
9248#line 1538
9249 goto case_6;
9250 } else
9251#line 1576
9252 if (tmp___8 == 7) {
9253#line 1576
9254 goto case_7;
9255 } else
9256#line 1617
9257 if (tmp___8 == 8) {
9258#line 1617
9259 goto case_8;
9260 } else {
9261#line 1655
9262 goto switch_default;
9263#line 1299
9264 if (0) {
9265 case_0:
9266#line 1304
9267 if (ldv_s_iowarrior_fops_file_operations == 0) {
9268 {
9269#line 1331
9270 res_iowarrior_open_9 = iowarrior_open(var_group2, var_group1);
9271#line 1332
9272 ldv_check_return_value(res_iowarrior_open_9);
9273 }
9274#line 1333
9275 if (res_iowarrior_open_9) {
9276#line 1334
9277 goto ldv_module_exit;
9278 } else {
9279
9280 }
9281#line 1335
9282 ldv_s_iowarrior_fops_file_operations = ldv_s_iowarrior_fops_file_operations + 1;
9283 } else {
9284
9285 }
9286#line 1341
9287 goto switch_break;
9288 case_1:
9289#line 1345
9290 if (ldv_s_iowarrior_fops_file_operations == 1) {
9291 {
9292#line 1372
9293 res_iowarrior_read_6 = iowarrior_read(var_group1, var_iowarrior_read_6_p1,
9294 var_iowarrior_read_6_p2, var_iowarrior_read_6_p3);
9295#line 1373
9296 __cil_tmp23 = (int )res_iowarrior_read_6;
9297#line 1373
9298 ldv_check_return_value(__cil_tmp23);
9299 }
9300#line 1374
9301 if (res_iowarrior_read_6 < 0L) {
9302#line 1375
9303 goto ldv_module_exit;
9304 } else {
9305
9306 }
9307#line 1376
9308 ldv_s_iowarrior_fops_file_operations = ldv_s_iowarrior_fops_file_operations + 1;
9309 } else {
9310
9311 }
9312#line 1382
9313 goto switch_break;
9314 case_2:
9315#line 1386
9316 if (ldv_s_iowarrior_fops_file_operations == 2) {
9317 {
9318#line 1413
9319 res_iowarrior_write_7 = iowarrior_write(var_group1, var_iowarrior_write_7_p1,
9320 var_iowarrior_write_7_p2, var_iowarrior_write_7_p3);
9321#line 1414
9322 __cil_tmp24 = (int )res_iowarrior_write_7;
9323#line 1414
9324 ldv_check_return_value(__cil_tmp24);
9325 }
9326#line 1415
9327 if (res_iowarrior_write_7 < 0L) {
9328#line 1416
9329 goto ldv_module_exit;
9330 } else {
9331
9332 }
9333#line 1417
9334 ldv_s_iowarrior_fops_file_operations = ldv_s_iowarrior_fops_file_operations + 1;
9335 } else {
9336
9337 }
9338#line 1423
9339 goto switch_break;
9340 case_3:
9341#line 1427
9342 if (ldv_s_iowarrior_fops_file_operations == 3) {
9343 {
9344#line 1454
9345 iowarrior_release(var_group2, var_group1);
9346#line 1455
9347 ldv_s_iowarrior_fops_file_operations = 0;
9348 }
9349 } else {
9350
9351 }
9352#line 1461
9353 goto switch_break;
9354 case_4:
9355 {
9356#line 1492
9357 iowarrior_ioctl(var_group1, var_iowarrior_ioctl_8_p1, var_iowarrior_ioctl_8_p2);
9358 }
9359#line 1499
9360 goto switch_break;
9361 case_5:
9362 {
9363#line 1530
9364 iowarrior_poll(var_group1, var_iowarrior_poll_11_p1);
9365 }
9366#line 1537
9367 goto switch_break;
9368 case_6:
9369 {
9370#line 1568
9371 iowarrior_devnode(var_group3, var_iowarrior_devnode_12_p1);
9372 }
9373#line 1575
9374 goto switch_break;
9375 case_7:
9376#line 1579
9377 if (ldv_s_iowarrior_driver_usb_driver == 0) {
9378 {
9379#line 1606
9380 res_iowarrior_probe_13 = iowarrior_probe(var_group4, var_iowarrior_probe_13_p1);
9381#line 1607
9382 ldv_check_return_value(res_iowarrior_probe_13);
9383 }
9384#line 1608
9385 if (res_iowarrior_probe_13) {
9386#line 1609
9387 goto ldv_module_exit;
9388 } else {
9389
9390 }
9391#line 1610
9392 ldv_s_iowarrior_driver_usb_driver = ldv_s_iowarrior_driver_usb_driver + 1;
9393 } else {
9394
9395 }
9396#line 1616
9397 goto switch_break;
9398 case_8:
9399#line 1620
9400 if (ldv_s_iowarrior_driver_usb_driver == 1) {
9401 {
9402#line 1647
9403 iowarrior_disconnect(var_group4);
9404#line 1648
9405 ldv_s_iowarrior_driver_usb_driver = 0;
9406 }
9407 } else {
9408
9409 }
9410#line 1654
9411 goto switch_break;
9412 switch_default:
9413#line 1655
9414 goto switch_break;
9415 } else {
9416 switch_break: ;
9417 }
9418 }
9419 }
9420 while_break___0: ;
9421 }
9422
9423 while_break: ;
9424 ldv_module_exit:
9425 {
9426#line 1689
9427 iowarrior_exit();
9428 }
9429 ldv_final:
9430 {
9431#line 1692
9432 ldv_check_final_state();
9433 }
9434#line 1695
9435 return;
9436}
9437}
9438#line 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast-assert.h"
9439void ldv_blast_assert(void)
9440{
9441
9442 {
9443 ERROR:
9444#line 6
9445 goto ERROR;
9446}
9447}
9448#line 7 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast.h"
9449extern void *ldv_undefined_pointer(void) ;
9450#line 10 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
9451void ldv_assume_stop(void) __attribute__((__ldv_model_inline__)) ;
9452#line 22
9453void ldv_assume_stop(void) __attribute__((__ldv_model_inline__)) ;
9454#line 22 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
9455void ldv_assume_stop(void)
9456{
9457
9458 {
9459 LDV_STOP:
9460#line 23
9461 goto LDV_STOP;
9462}
9463}
9464#line 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
9465int ldv_urb_state = 0;
9466#line 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
9467int ldv_coherent_state = 0;
9468#line 62
9469void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
9470 dma_addr_t *dma ) __attribute__((__ldv_model__)) ;
9471#line 62 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
9472void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
9473 dma_addr_t *dma )
9474{ void *arbitrary_memory ;
9475 void *tmp___7 ;
9476
9477 {
9478 {
9479#line 64
9480 while (1) {
9481 while_continue: ;
9482 {
9483#line 64
9484 tmp___7 = ldv_undefined_pointer();
9485#line 64
9486 arbitrary_memory = tmp___7;
9487 }
9488#line 64
9489 if (! arbitrary_memory) {
9490#line 64
9491 return ((void *)0);
9492 } else {
9493
9494 }
9495#line 64
9496 ldv_coherent_state = ldv_coherent_state + 1;
9497#line 64
9498 return (arbitrary_memory);
9499#line 64
9500 goto while_break;
9501 }
9502 while_break___0: ;
9503 }
9504
9505 while_break: ;
9506#line 65
9507 return ((void *)0);
9508}
9509}
9510#line 68
9511void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) __attribute__((__ldv_model__)) ;
9512#line 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
9513void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma )
9514{ void *__cil_tmp5 ;
9515 unsigned long __cil_tmp6 ;
9516 unsigned long __cil_tmp7 ;
9517 int __cil_tmp8 ;
9518
9519 {
9520 {
9521#line 70
9522 while (1) {
9523 while_continue: ;
9524
9525 {
9526#line 70
9527 __cil_tmp5 = (void *)0;
9528#line 70
9529 __cil_tmp6 = (unsigned long )__cil_tmp5;
9530#line 70
9531 __cil_tmp7 = (unsigned long )addr;
9532#line 70
9533 __cil_tmp8 = __cil_tmp7 != __cil_tmp6;
9534#line 70
9535 if (! __cil_tmp8) {
9536 {
9537#line 70
9538 ldv_assume_stop();
9539 }
9540 } else {
9541
9542 }
9543 }
9544#line 70
9545 if (addr) {
9546#line 70
9547 if (ldv_coherent_state >= 1) {
9548
9549 } else {
9550 {
9551#line 70
9552 ldv_blast_assert();
9553 }
9554 }
9555#line 70
9556 ldv_coherent_state = ldv_coherent_state - 1;
9557 } else {
9558
9559 }
9560#line 70
9561 goto while_break;
9562 }
9563 while_break___0: ;
9564 }
9565
9566 while_break: ;
9567#line 71
9568 return;
9569}
9570}
9571#line 74
9572struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) __attribute__((__ldv_model__)) ;
9573#line 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
9574struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags )
9575{ void *arbitrary_memory ;
9576 void *tmp___7 ;
9577 void *__cil_tmp5 ;
9578
9579 {
9580 {
9581#line 75
9582 while (1) {
9583 while_continue: ;
9584 {
9585#line 75
9586 tmp___7 = ldv_undefined_pointer();
9587#line 75
9588 arbitrary_memory = tmp___7;
9589 }
9590#line 75
9591 if (! arbitrary_memory) {
9592 {
9593#line 75
9594 __cil_tmp5 = (void *)0;
9595#line 75
9596 return ((struct urb *)__cil_tmp5);
9597 }
9598 } else {
9599
9600 }
9601#line 75
9602 ldv_urb_state = ldv_urb_state + 1;
9603#line 75
9604 return ((struct urb *)arbitrary_memory);
9605#line 75
9606 goto while_break;
9607 }
9608 while_break___0: ;
9609 }
9610
9611 while_break: ;
9612#line 76
9613 return ((struct urb *)0);
9614}
9615}
9616#line 79
9617void usb_free_urb(struct urb *urb ) __attribute__((__ldv_model__)) ;
9618#line 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
9619void usb_free_urb(struct urb *urb )
9620{ struct urb *__cil_tmp2 ;
9621 unsigned long __cil_tmp3 ;
9622 unsigned long __cil_tmp4 ;
9623 int __cil_tmp5 ;
9624
9625 {
9626 {
9627#line 80
9628 while (1) {
9629 while_continue: ;
9630
9631 {
9632#line 80
9633 __cil_tmp2 = (struct urb *)0;
9634#line 80
9635 __cil_tmp3 = (unsigned long )__cil_tmp2;
9636#line 80
9637 __cil_tmp4 = (unsigned long )urb;
9638#line 80
9639 __cil_tmp5 = __cil_tmp4 != __cil_tmp3;
9640#line 80
9641 if (! __cil_tmp5) {
9642 {
9643#line 80
9644 ldv_assume_stop();
9645 }
9646 } else {
9647
9648 }
9649 }
9650#line 80
9651 if (urb) {
9652#line 80
9653 if (ldv_urb_state >= 1) {
9654
9655 } else {
9656 {
9657#line 80
9658 ldv_blast_assert();
9659 }
9660 }
9661#line 80
9662 ldv_urb_state = ldv_urb_state - 1;
9663 } else {
9664
9665 }
9666#line 80
9667 goto while_break;
9668 }
9669 while_break___0: ;
9670 }
9671
9672 while_break: ;
9673#line 81
9674 return;
9675}
9676}
9677#line 84
9678void ldv_check_final_state(void) __attribute__((__ldv_model__)) ;
9679#line 84 "/anthill/stuff/tacas-comp/work/current--X--drivers/usb/misc/iowarrior.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
9680void ldv_check_final_state(void)
9681{
9682
9683 {
9684#line 86
9685 if (ldv_urb_state == 0) {
9686
9687 } else {
9688 {
9689#line 86
9690 ldv_blast_assert();
9691 }
9692 }
9693#line 88
9694 if (ldv_coherent_state == 0) {
9695
9696 } else {
9697 {
9698#line 88
9699 ldv_blast_assert();
9700 }
9701 }
9702#line 89
9703 return;
9704}
9705}