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