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 181 "include/linux/types.h"
97typedef __u32 __be32;
98#line 202 "include/linux/types.h"
99typedef unsigned int gfp_t;
100#line 203 "include/linux/types.h"
101typedef unsigned int fmode_t;
102#line 219 "include/linux/types.h"
103struct __anonstruct_atomic_t_7 {
104 int counter ;
105};
106#line 219 "include/linux/types.h"
107typedef struct __anonstruct_atomic_t_7 atomic_t;
108#line 224 "include/linux/types.h"
109struct __anonstruct_atomic64_t_8 {
110 long counter ;
111};
112#line 224 "include/linux/types.h"
113typedef struct __anonstruct_atomic64_t_8 atomic64_t;
114#line 229 "include/linux/types.h"
115struct list_head {
116 struct list_head *next ;
117 struct list_head *prev ;
118};
119#line 233
120struct hlist_node;
121#line 233 "include/linux/types.h"
122struct hlist_head {
123 struct hlist_node *first ;
124};
125#line 237 "include/linux/types.h"
126struct hlist_node {
127 struct hlist_node *next ;
128 struct hlist_node **pprev ;
129};
130#line 253 "include/linux/types.h"
131struct rcu_head {
132 struct rcu_head *next ;
133 void (*func)(struct rcu_head *head ) ;
134};
135#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
136struct module;
137#line 56
138struct module;
139#line 146 "include/linux/init.h"
140typedef void (*ctor_fn_t)(void);
141#line 47 "include/linux/dynamic_debug.h"
142struct device;
143#line 47
144struct device;
145#line 135 "include/linux/kernel.h"
146struct completion;
147#line 135
148struct completion;
149#line 136
150struct pt_regs;
151#line 136
152struct pt_regs;
153#line 349
154struct pid;
155#line 349
156struct pid;
157#line 12 "include/linux/thread_info.h"
158struct timespec;
159#line 12
160struct timespec;
161#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
162struct page;
163#line 18
164struct page;
165#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
166struct task_struct;
167#line 20
168struct task_struct;
169#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
170struct task_struct;
171#line 8
172struct mm_struct;
173#line 8
174struct mm_struct;
175#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
176struct pt_regs {
177 unsigned long r15 ;
178 unsigned long r14 ;
179 unsigned long r13 ;
180 unsigned long r12 ;
181 unsigned long bp ;
182 unsigned long bx ;
183 unsigned long r11 ;
184 unsigned long r10 ;
185 unsigned long r9 ;
186 unsigned long r8 ;
187 unsigned long ax ;
188 unsigned long cx ;
189 unsigned long dx ;
190 unsigned long si ;
191 unsigned long di ;
192 unsigned long orig_ax ;
193 unsigned long ip ;
194 unsigned long cs ;
195 unsigned long flags ;
196 unsigned long sp ;
197 unsigned long ss ;
198};
199#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
200struct __anonstruct____missing_field_name_15 {
201 unsigned int a ;
202 unsigned int b ;
203};
204#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
205struct __anonstruct____missing_field_name_16 {
206 u16 limit0 ;
207 u16 base0 ;
208 unsigned int base1 : 8 ;
209 unsigned int type : 4 ;
210 unsigned int s : 1 ;
211 unsigned int dpl : 2 ;
212 unsigned int p : 1 ;
213 unsigned int limit : 4 ;
214 unsigned int avl : 1 ;
215 unsigned int l : 1 ;
216 unsigned int d : 1 ;
217 unsigned int g : 1 ;
218 unsigned int base2 : 8 ;
219};
220#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
221union __anonunion____missing_field_name_14 {
222 struct __anonstruct____missing_field_name_15 __annonCompField5 ;
223 struct __anonstruct____missing_field_name_16 __annonCompField6 ;
224};
225#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
226struct desc_struct {
227 union __anonunion____missing_field_name_14 __annonCompField7 ;
228} __attribute__((__packed__)) ;
229#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
230typedef unsigned long pgdval_t;
231#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
232typedef unsigned long pgprotval_t;
233#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
234struct pgprot {
235 pgprotval_t pgprot ;
236};
237#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
238typedef struct pgprot pgprot_t;
239#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
240struct __anonstruct_pgd_t_20 {
241 pgdval_t pgd ;
242};
243#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
244typedef struct __anonstruct_pgd_t_20 pgd_t;
245#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
246typedef struct page *pgtable_t;
247#line 295
248struct file;
249#line 295
250struct file;
251#line 313
252struct seq_file;
253#line 313
254struct seq_file;
255#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
256struct page;
257#line 47
258struct thread_struct;
259#line 47
260struct thread_struct;
261#line 50
262struct mm_struct;
263#line 51
264struct desc_struct;
265#line 52
266struct task_struct;
267#line 53
268struct cpumask;
269#line 53
270struct cpumask;
271#line 329
272struct arch_spinlock;
273#line 329
274struct arch_spinlock;
275#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
276struct task_struct;
277#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
278struct kernel_vm86_regs {
279 struct pt_regs pt ;
280 unsigned short es ;
281 unsigned short __esh ;
282 unsigned short ds ;
283 unsigned short __dsh ;
284 unsigned short fs ;
285 unsigned short __fsh ;
286 unsigned short gs ;
287 unsigned short __gsh ;
288};
289#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
290union __anonunion____missing_field_name_24 {
291 struct pt_regs *regs ;
292 struct kernel_vm86_regs *vm86 ;
293};
294#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
295struct math_emu_info {
296 long ___orig_eip ;
297 union __anonunion____missing_field_name_24 __annonCompField8 ;
298};
299#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
300struct task_struct;
301#line 10 "include/asm-generic/bug.h"
302struct bug_entry {
303 int bug_addr_disp ;
304 int file_disp ;
305 unsigned short line ;
306 unsigned short flags ;
307};
308#line 12 "include/linux/bug.h"
309struct pt_regs;
310#line 14 "include/linux/cpumask.h"
311struct cpumask {
312 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
313};
314#line 14 "include/linux/cpumask.h"
315typedef struct cpumask cpumask_t;
316#line 637 "include/linux/cpumask.h"
317typedef struct cpumask *cpumask_var_t;
318#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
319struct static_key;
320#line 234
321struct static_key;
322#line 11 "include/linux/personality.h"
323struct pt_regs;
324#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
325struct i387_fsave_struct {
326 u32 cwd ;
327 u32 swd ;
328 u32 twd ;
329 u32 fip ;
330 u32 fcs ;
331 u32 foo ;
332 u32 fos ;
333 u32 st_space[20] ;
334 u32 status ;
335};
336#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
337struct __anonstruct____missing_field_name_31 {
338 u64 rip ;
339 u64 rdp ;
340};
341#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
342struct __anonstruct____missing_field_name_32 {
343 u32 fip ;
344 u32 fcs ;
345 u32 foo ;
346 u32 fos ;
347};
348#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
349union __anonunion____missing_field_name_30 {
350 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
351 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
352};
353#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
354union __anonunion____missing_field_name_33 {
355 u32 padding1[12] ;
356 u32 sw_reserved[12] ;
357};
358#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
359struct i387_fxsave_struct {
360 u16 cwd ;
361 u16 swd ;
362 u16 twd ;
363 u16 fop ;
364 union __anonunion____missing_field_name_30 __annonCompField14 ;
365 u32 mxcsr ;
366 u32 mxcsr_mask ;
367 u32 st_space[32] ;
368 u32 xmm_space[64] ;
369 u32 padding[12] ;
370 union __anonunion____missing_field_name_33 __annonCompField15 ;
371} __attribute__((__aligned__(16))) ;
372#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
373struct i387_soft_struct {
374 u32 cwd ;
375 u32 swd ;
376 u32 twd ;
377 u32 fip ;
378 u32 fcs ;
379 u32 foo ;
380 u32 fos ;
381 u32 st_space[20] ;
382 u8 ftop ;
383 u8 changed ;
384 u8 lookahead ;
385 u8 no_update ;
386 u8 rm ;
387 u8 alimit ;
388 struct math_emu_info *info ;
389 u32 entry_eip ;
390};
391#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
392struct ymmh_struct {
393 u32 ymmh_space[64] ;
394};
395#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
396struct xsave_hdr_struct {
397 u64 xstate_bv ;
398 u64 reserved1[2] ;
399 u64 reserved2[5] ;
400} __attribute__((__packed__)) ;
401#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
402struct xsave_struct {
403 struct i387_fxsave_struct i387 ;
404 struct xsave_hdr_struct xsave_hdr ;
405 struct ymmh_struct ymmh ;
406} __attribute__((__packed__, __aligned__(64))) ;
407#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
408union thread_xstate {
409 struct i387_fsave_struct fsave ;
410 struct i387_fxsave_struct fxsave ;
411 struct i387_soft_struct soft ;
412 struct xsave_struct xsave ;
413};
414#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
415struct fpu {
416 unsigned int last_cpu ;
417 unsigned int has_fpu ;
418 union thread_xstate *state ;
419};
420#line 433
421struct kmem_cache;
422#line 435
423struct perf_event;
424#line 435
425struct perf_event;
426#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
427struct thread_struct {
428 struct desc_struct tls_array[3] ;
429 unsigned long sp0 ;
430 unsigned long sp ;
431 unsigned long usersp ;
432 unsigned short es ;
433 unsigned short ds ;
434 unsigned short fsindex ;
435 unsigned short gsindex ;
436 unsigned long fs ;
437 unsigned long gs ;
438 struct perf_event *ptrace_bps[4] ;
439 unsigned long debugreg6 ;
440 unsigned long ptrace_dr7 ;
441 unsigned long cr2 ;
442 unsigned long trap_nr ;
443 unsigned long error_code ;
444 struct fpu fpu ;
445 unsigned long *io_bitmap_ptr ;
446 unsigned long iopl ;
447 unsigned int io_bitmap_max ;
448};
449#line 23 "include/asm-generic/atomic-long.h"
450typedef atomic64_t atomic_long_t;
451#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
452typedef u16 __ticket_t;
453#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
454typedef u32 __ticketpair_t;
455#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
456struct __raw_tickets {
457 __ticket_t head ;
458 __ticket_t tail ;
459};
460#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
461union __anonunion____missing_field_name_36 {
462 __ticketpair_t head_tail ;
463 struct __raw_tickets tickets ;
464};
465#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
466struct arch_spinlock {
467 union __anonunion____missing_field_name_36 __annonCompField17 ;
468};
469#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
470typedef struct arch_spinlock arch_spinlock_t;
471#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
472struct __anonstruct____missing_field_name_38 {
473 u32 read ;
474 s32 write ;
475};
476#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
477union __anonunion_arch_rwlock_t_37 {
478 s64 lock ;
479 struct __anonstruct____missing_field_name_38 __annonCompField18 ;
480};
481#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
482typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
483#line 12 "include/linux/lockdep.h"
484struct task_struct;
485#line 391 "include/linux/lockdep.h"
486struct lock_class_key {
487
488};
489#line 20 "include/linux/spinlock_types.h"
490struct raw_spinlock {
491 arch_spinlock_t raw_lock ;
492 unsigned int magic ;
493 unsigned int owner_cpu ;
494 void *owner ;
495};
496#line 20 "include/linux/spinlock_types.h"
497typedef struct raw_spinlock raw_spinlock_t;
498#line 64 "include/linux/spinlock_types.h"
499union __anonunion____missing_field_name_39 {
500 struct raw_spinlock rlock ;
501};
502#line 64 "include/linux/spinlock_types.h"
503struct spinlock {
504 union __anonunion____missing_field_name_39 __annonCompField19 ;
505};
506#line 64 "include/linux/spinlock_types.h"
507typedef struct spinlock spinlock_t;
508#line 11 "include/linux/rwlock_types.h"
509struct __anonstruct_rwlock_t_40 {
510 arch_rwlock_t raw_lock ;
511 unsigned int magic ;
512 unsigned int owner_cpu ;
513 void *owner ;
514};
515#line 11 "include/linux/rwlock_types.h"
516typedef struct __anonstruct_rwlock_t_40 rwlock_t;
517#line 119 "include/linux/seqlock.h"
518struct seqcount {
519 unsigned int sequence ;
520};
521#line 119 "include/linux/seqlock.h"
522typedef struct seqcount seqcount_t;
523#line 14 "include/linux/time.h"
524struct timespec {
525 __kernel_time_t tv_sec ;
526 long tv_nsec ;
527};
528#line 62 "include/linux/stat.h"
529struct kstat {
530 u64 ino ;
531 dev_t dev ;
532 umode_t mode ;
533 unsigned int nlink ;
534 uid_t uid ;
535 gid_t gid ;
536 dev_t rdev ;
537 loff_t size ;
538 struct timespec atime ;
539 struct timespec mtime ;
540 struct timespec ctime ;
541 unsigned long blksize ;
542 unsigned long long blocks ;
543};
544#line 49 "include/linux/wait.h"
545struct __wait_queue_head {
546 spinlock_t lock ;
547 struct list_head task_list ;
548};
549#line 53 "include/linux/wait.h"
550typedef struct __wait_queue_head wait_queue_head_t;
551#line 55
552struct task_struct;
553#line 98 "include/linux/nodemask.h"
554struct __anonstruct_nodemask_t_42 {
555 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
556};
557#line 98 "include/linux/nodemask.h"
558typedef struct __anonstruct_nodemask_t_42 nodemask_t;
559#line 60 "include/linux/pageblock-flags.h"
560struct page;
561#line 48 "include/linux/mutex.h"
562struct mutex {
563 atomic_t count ;
564 spinlock_t wait_lock ;
565 struct list_head wait_list ;
566 struct task_struct *owner ;
567 char const *name ;
568 void *magic ;
569};
570#line 69 "include/linux/mutex.h"
571struct mutex_waiter {
572 struct list_head list ;
573 struct task_struct *task ;
574 void *magic ;
575};
576#line 19 "include/linux/rwsem.h"
577struct rw_semaphore;
578#line 19
579struct rw_semaphore;
580#line 25 "include/linux/rwsem.h"
581struct rw_semaphore {
582 long count ;
583 raw_spinlock_t wait_lock ;
584 struct list_head wait_list ;
585};
586#line 25 "include/linux/completion.h"
587struct completion {
588 unsigned int done ;
589 wait_queue_head_t wait ;
590};
591#line 9 "include/linux/memory_hotplug.h"
592struct page;
593#line 202 "include/linux/ioport.h"
594struct device;
595#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
596struct device;
597#line 46 "include/linux/ktime.h"
598union ktime {
599 s64 tv64 ;
600};
601#line 59 "include/linux/ktime.h"
602typedef union ktime ktime_t;
603#line 10 "include/linux/timer.h"
604struct tvec_base;
605#line 10
606struct tvec_base;
607#line 12 "include/linux/timer.h"
608struct timer_list {
609 struct list_head entry ;
610 unsigned long expires ;
611 struct tvec_base *base ;
612 void (*function)(unsigned long ) ;
613 unsigned long data ;
614 int slack ;
615 int start_pid ;
616 void *start_site ;
617 char start_comm[16] ;
618};
619#line 289
620struct hrtimer;
621#line 289
622struct hrtimer;
623#line 290
624enum hrtimer_restart;
625#line 17 "include/linux/workqueue.h"
626struct work_struct;
627#line 17
628struct work_struct;
629#line 79 "include/linux/workqueue.h"
630struct work_struct {
631 atomic_long_t data ;
632 struct list_head entry ;
633 void (*func)(struct work_struct *work ) ;
634};
635#line 92 "include/linux/workqueue.h"
636struct delayed_work {
637 struct work_struct work ;
638 struct timer_list timer ;
639};
640#line 42 "include/linux/pm.h"
641struct device;
642#line 50 "include/linux/pm.h"
643struct pm_message {
644 int event ;
645};
646#line 50 "include/linux/pm.h"
647typedef struct pm_message pm_message_t;
648#line 264 "include/linux/pm.h"
649struct dev_pm_ops {
650 int (*prepare)(struct device *dev ) ;
651 void (*complete)(struct device *dev ) ;
652 int (*suspend)(struct device *dev ) ;
653 int (*resume)(struct device *dev ) ;
654 int (*freeze)(struct device *dev ) ;
655 int (*thaw)(struct device *dev ) ;
656 int (*poweroff)(struct device *dev ) ;
657 int (*restore)(struct device *dev ) ;
658 int (*suspend_late)(struct device *dev ) ;
659 int (*resume_early)(struct device *dev ) ;
660 int (*freeze_late)(struct device *dev ) ;
661 int (*thaw_early)(struct device *dev ) ;
662 int (*poweroff_late)(struct device *dev ) ;
663 int (*restore_early)(struct device *dev ) ;
664 int (*suspend_noirq)(struct device *dev ) ;
665 int (*resume_noirq)(struct device *dev ) ;
666 int (*freeze_noirq)(struct device *dev ) ;
667 int (*thaw_noirq)(struct device *dev ) ;
668 int (*poweroff_noirq)(struct device *dev ) ;
669 int (*restore_noirq)(struct device *dev ) ;
670 int (*runtime_suspend)(struct device *dev ) ;
671 int (*runtime_resume)(struct device *dev ) ;
672 int (*runtime_idle)(struct device *dev ) ;
673};
674#line 458
675enum rpm_status {
676 RPM_ACTIVE = 0,
677 RPM_RESUMING = 1,
678 RPM_SUSPENDED = 2,
679 RPM_SUSPENDING = 3
680} ;
681#line 480
682enum rpm_request {
683 RPM_REQ_NONE = 0,
684 RPM_REQ_IDLE = 1,
685 RPM_REQ_SUSPEND = 2,
686 RPM_REQ_AUTOSUSPEND = 3,
687 RPM_REQ_RESUME = 4
688} ;
689#line 488
690struct wakeup_source;
691#line 488
692struct wakeup_source;
693#line 495 "include/linux/pm.h"
694struct pm_subsys_data {
695 spinlock_t lock ;
696 unsigned int refcount ;
697};
698#line 506
699struct dev_pm_qos_request;
700#line 506
701struct pm_qos_constraints;
702#line 506 "include/linux/pm.h"
703struct dev_pm_info {
704 pm_message_t power_state ;
705 unsigned int can_wakeup : 1 ;
706 unsigned int async_suspend : 1 ;
707 bool is_prepared : 1 ;
708 bool is_suspended : 1 ;
709 bool ignore_children : 1 ;
710 spinlock_t lock ;
711 struct list_head entry ;
712 struct completion completion ;
713 struct wakeup_source *wakeup ;
714 bool wakeup_path : 1 ;
715 struct timer_list suspend_timer ;
716 unsigned long timer_expires ;
717 struct work_struct work ;
718 wait_queue_head_t wait_queue ;
719 atomic_t usage_count ;
720 atomic_t child_count ;
721 unsigned int disable_depth : 3 ;
722 unsigned int idle_notification : 1 ;
723 unsigned int request_pending : 1 ;
724 unsigned int deferred_resume : 1 ;
725 unsigned int run_wake : 1 ;
726 unsigned int runtime_auto : 1 ;
727 unsigned int no_callbacks : 1 ;
728 unsigned int irq_safe : 1 ;
729 unsigned int use_autosuspend : 1 ;
730 unsigned int timer_autosuspends : 1 ;
731 enum rpm_request request ;
732 enum rpm_status runtime_status ;
733 int runtime_error ;
734 int autosuspend_delay ;
735 unsigned long last_busy ;
736 unsigned long active_jiffies ;
737 unsigned long suspended_jiffies ;
738 unsigned long accounting_timestamp ;
739 ktime_t suspend_time ;
740 s64 max_time_suspended_ns ;
741 struct dev_pm_qos_request *pq_req ;
742 struct pm_subsys_data *subsys_data ;
743 struct pm_qos_constraints *constraints ;
744};
745#line 564 "include/linux/pm.h"
746struct dev_pm_domain {
747 struct dev_pm_ops ops ;
748};
749#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
750struct __anonstruct_mm_context_t_112 {
751 void *ldt ;
752 int size ;
753 unsigned short ia32_compat ;
754 struct mutex lock ;
755 void *vdso ;
756};
757#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
758typedef struct __anonstruct_mm_context_t_112 mm_context_t;
759#line 8 "include/linux/vmalloc.h"
760struct vm_area_struct;
761#line 8
762struct vm_area_struct;
763#line 336 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
764struct bio_vec;
765#line 336
766struct bio_vec;
767#line 994 "include/linux/mmzone.h"
768struct page;
769#line 18 "include/linux/smp.h"
770struct call_single_data {
771 struct list_head list ;
772 void (*func)(void *info ) ;
773 void *info ;
774 u16 flags ;
775 u16 priv ;
776};
777#line 10 "include/linux/gfp.h"
778struct vm_area_struct;
779#line 29 "include/linux/sysctl.h"
780struct completion;
781#line 100 "include/linux/rbtree.h"
782struct rb_node {
783 unsigned long rb_parent_color ;
784 struct rb_node *rb_right ;
785 struct rb_node *rb_left ;
786} __attribute__((__aligned__(sizeof(long )))) ;
787#line 110 "include/linux/rbtree.h"
788struct rb_root {
789 struct rb_node *rb_node ;
790};
791#line 939 "include/linux/sysctl.h"
792struct nsproxy;
793#line 939
794struct nsproxy;
795#line 48 "include/linux/kmod.h"
796struct cred;
797#line 48
798struct cred;
799#line 49
800struct file;
801#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
802struct task_struct;
803#line 18 "include/linux/elf.h"
804typedef __u64 Elf64_Addr;
805#line 19 "include/linux/elf.h"
806typedef __u16 Elf64_Half;
807#line 23 "include/linux/elf.h"
808typedef __u32 Elf64_Word;
809#line 24 "include/linux/elf.h"
810typedef __u64 Elf64_Xword;
811#line 194 "include/linux/elf.h"
812struct elf64_sym {
813 Elf64_Word st_name ;
814 unsigned char st_info ;
815 unsigned char st_other ;
816 Elf64_Half st_shndx ;
817 Elf64_Addr st_value ;
818 Elf64_Xword st_size ;
819};
820#line 194 "include/linux/elf.h"
821typedef struct elf64_sym Elf64_Sym;
822#line 438
823struct file;
824#line 20 "include/linux/kobject_ns.h"
825struct sock;
826#line 20
827struct sock;
828#line 21
829struct kobject;
830#line 21
831struct kobject;
832#line 27
833enum kobj_ns_type {
834 KOBJ_NS_TYPE_NONE = 0,
835 KOBJ_NS_TYPE_NET = 1,
836 KOBJ_NS_TYPES = 2
837} ;
838#line 40 "include/linux/kobject_ns.h"
839struct kobj_ns_type_operations {
840 enum kobj_ns_type type ;
841 void *(*grab_current_ns)(void) ;
842 void const *(*netlink_ns)(struct sock *sk ) ;
843 void const *(*initial_ns)(void) ;
844 void (*drop_ns)(void * ) ;
845};
846#line 22 "include/linux/sysfs.h"
847struct kobject;
848#line 23
849struct module;
850#line 24
851enum kobj_ns_type;
852#line 26 "include/linux/sysfs.h"
853struct attribute {
854 char const *name ;
855 umode_t mode ;
856};
857#line 56 "include/linux/sysfs.h"
858struct attribute_group {
859 char const *name ;
860 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
861 struct attribute **attrs ;
862};
863#line 85
864struct file;
865#line 86
866struct vm_area_struct;
867#line 88 "include/linux/sysfs.h"
868struct bin_attribute {
869 struct attribute attr ;
870 size_t size ;
871 void *private ;
872 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
873 loff_t , size_t ) ;
874 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
875 loff_t , size_t ) ;
876 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
877};
878#line 112 "include/linux/sysfs.h"
879struct sysfs_ops {
880 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
881 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
882 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
883};
884#line 118
885struct sysfs_dirent;
886#line 118
887struct sysfs_dirent;
888#line 22 "include/linux/kref.h"
889struct kref {
890 atomic_t refcount ;
891};
892#line 60 "include/linux/kobject.h"
893struct kset;
894#line 60
895struct kobj_type;
896#line 60 "include/linux/kobject.h"
897struct kobject {
898 char const *name ;
899 struct list_head entry ;
900 struct kobject *parent ;
901 struct kset *kset ;
902 struct kobj_type *ktype ;
903 struct sysfs_dirent *sd ;
904 struct kref kref ;
905 unsigned int state_initialized : 1 ;
906 unsigned int state_in_sysfs : 1 ;
907 unsigned int state_add_uevent_sent : 1 ;
908 unsigned int state_remove_uevent_sent : 1 ;
909 unsigned int uevent_suppress : 1 ;
910};
911#line 108 "include/linux/kobject.h"
912struct kobj_type {
913 void (*release)(struct kobject *kobj ) ;
914 struct sysfs_ops const *sysfs_ops ;
915 struct attribute **default_attrs ;
916 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
917 void const *(*namespace)(struct kobject *kobj ) ;
918};
919#line 116 "include/linux/kobject.h"
920struct kobj_uevent_env {
921 char *envp[32] ;
922 int envp_idx ;
923 char buf[2048] ;
924 int buflen ;
925};
926#line 123 "include/linux/kobject.h"
927struct kset_uevent_ops {
928 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
929 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
930 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
931};
932#line 140
933struct sock;
934#line 159 "include/linux/kobject.h"
935struct kset {
936 struct list_head list ;
937 spinlock_t list_lock ;
938 struct kobject kobj ;
939 struct kset_uevent_ops const *uevent_ops ;
940};
941#line 39 "include/linux/moduleparam.h"
942struct kernel_param;
943#line 39
944struct kernel_param;
945#line 41 "include/linux/moduleparam.h"
946struct kernel_param_ops {
947 int (*set)(char const *val , struct kernel_param const *kp ) ;
948 int (*get)(char *buffer , struct kernel_param const *kp ) ;
949 void (*free)(void *arg ) ;
950};
951#line 50
952struct kparam_string;
953#line 50
954struct kparam_array;
955#line 50 "include/linux/moduleparam.h"
956union __anonunion____missing_field_name_199 {
957 void *arg ;
958 struct kparam_string const *str ;
959 struct kparam_array const *arr ;
960};
961#line 50 "include/linux/moduleparam.h"
962struct kernel_param {
963 char const *name ;
964 struct kernel_param_ops const *ops ;
965 u16 perm ;
966 s16 level ;
967 union __anonunion____missing_field_name_199 __annonCompField32 ;
968};
969#line 63 "include/linux/moduleparam.h"
970struct kparam_string {
971 unsigned int maxlen ;
972 char *string ;
973};
974#line 69 "include/linux/moduleparam.h"
975struct kparam_array {
976 unsigned int max ;
977 unsigned int elemsize ;
978 unsigned int *num ;
979 struct kernel_param_ops const *ops ;
980 void *elem ;
981};
982#line 445
983struct module;
984#line 80 "include/linux/jump_label.h"
985struct module;
986#line 143 "include/linux/jump_label.h"
987struct static_key {
988 atomic_t enabled ;
989};
990#line 22 "include/linux/tracepoint.h"
991struct module;
992#line 23
993struct tracepoint;
994#line 23
995struct tracepoint;
996#line 25 "include/linux/tracepoint.h"
997struct tracepoint_func {
998 void *func ;
999 void *data ;
1000};
1001#line 30 "include/linux/tracepoint.h"
1002struct tracepoint {
1003 char const *name ;
1004 struct static_key key ;
1005 void (*regfunc)(void) ;
1006 void (*unregfunc)(void) ;
1007 struct tracepoint_func *funcs ;
1008};
1009#line 19 "include/linux/export.h"
1010struct kernel_symbol {
1011 unsigned long value ;
1012 char const *name ;
1013};
1014#line 8 "include/asm-generic/module.h"
1015struct mod_arch_specific {
1016
1017};
1018#line 35 "include/linux/module.h"
1019struct module;
1020#line 37
1021struct module_param_attrs;
1022#line 37 "include/linux/module.h"
1023struct module_kobject {
1024 struct kobject kobj ;
1025 struct module *mod ;
1026 struct kobject *drivers_dir ;
1027 struct module_param_attrs *mp ;
1028};
1029#line 44 "include/linux/module.h"
1030struct module_attribute {
1031 struct attribute attr ;
1032 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1033 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
1034 size_t count ) ;
1035 void (*setup)(struct module * , char const * ) ;
1036 int (*test)(struct module * ) ;
1037 void (*free)(struct module * ) ;
1038};
1039#line 71
1040struct exception_table_entry;
1041#line 71
1042struct exception_table_entry;
1043#line 199
1044enum module_state {
1045 MODULE_STATE_LIVE = 0,
1046 MODULE_STATE_COMING = 1,
1047 MODULE_STATE_GOING = 2
1048} ;
1049#line 215 "include/linux/module.h"
1050struct module_ref {
1051 unsigned long incs ;
1052 unsigned long decs ;
1053} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1054#line 220
1055struct module_sect_attrs;
1056#line 220
1057struct module_notes_attrs;
1058#line 220
1059struct ftrace_event_call;
1060#line 220 "include/linux/module.h"
1061struct module {
1062 enum module_state state ;
1063 struct list_head list ;
1064 char name[64UL - sizeof(unsigned long )] ;
1065 struct module_kobject mkobj ;
1066 struct module_attribute *modinfo_attrs ;
1067 char const *version ;
1068 char const *srcversion ;
1069 struct kobject *holders_dir ;
1070 struct kernel_symbol const *syms ;
1071 unsigned long const *crcs ;
1072 unsigned int num_syms ;
1073 struct kernel_param *kp ;
1074 unsigned int num_kp ;
1075 unsigned int num_gpl_syms ;
1076 struct kernel_symbol const *gpl_syms ;
1077 unsigned long const *gpl_crcs ;
1078 struct kernel_symbol const *unused_syms ;
1079 unsigned long const *unused_crcs ;
1080 unsigned int num_unused_syms ;
1081 unsigned int num_unused_gpl_syms ;
1082 struct kernel_symbol const *unused_gpl_syms ;
1083 unsigned long const *unused_gpl_crcs ;
1084 struct kernel_symbol const *gpl_future_syms ;
1085 unsigned long const *gpl_future_crcs ;
1086 unsigned int num_gpl_future_syms ;
1087 unsigned int num_exentries ;
1088 struct exception_table_entry *extable ;
1089 int (*init)(void) ;
1090 void *module_init ;
1091 void *module_core ;
1092 unsigned int init_size ;
1093 unsigned int core_size ;
1094 unsigned int init_text_size ;
1095 unsigned int core_text_size ;
1096 unsigned int init_ro_size ;
1097 unsigned int core_ro_size ;
1098 struct mod_arch_specific arch ;
1099 unsigned int taints ;
1100 unsigned int num_bugs ;
1101 struct list_head bug_list ;
1102 struct bug_entry *bug_table ;
1103 Elf64_Sym *symtab ;
1104 Elf64_Sym *core_symtab ;
1105 unsigned int num_symtab ;
1106 unsigned int core_num_syms ;
1107 char *strtab ;
1108 char *core_strtab ;
1109 struct module_sect_attrs *sect_attrs ;
1110 struct module_notes_attrs *notes_attrs ;
1111 char *args ;
1112 void *percpu ;
1113 unsigned int percpu_size ;
1114 unsigned int num_tracepoints ;
1115 struct tracepoint * const *tracepoints_ptrs ;
1116 unsigned int num_trace_bprintk_fmt ;
1117 char const **trace_bprintk_fmt_start ;
1118 struct ftrace_event_call **trace_events ;
1119 unsigned int num_trace_events ;
1120 struct list_head source_list ;
1121 struct list_head target_list ;
1122 struct task_struct *waiter ;
1123 void (*exit)(void) ;
1124 struct module_ref *refptr ;
1125 ctor_fn_t *ctors ;
1126 unsigned int num_ctors ;
1127};
1128#line 46 "include/linux/slub_def.h"
1129struct kmem_cache_cpu {
1130 void **freelist ;
1131 unsigned long tid ;
1132 struct page *page ;
1133 struct page *partial ;
1134 int node ;
1135 unsigned int stat[26] ;
1136};
1137#line 57 "include/linux/slub_def.h"
1138struct kmem_cache_node {
1139 spinlock_t list_lock ;
1140 unsigned long nr_partial ;
1141 struct list_head partial ;
1142 atomic_long_t nr_slabs ;
1143 atomic_long_t total_objects ;
1144 struct list_head full ;
1145};
1146#line 73 "include/linux/slub_def.h"
1147struct kmem_cache_order_objects {
1148 unsigned long x ;
1149};
1150#line 80 "include/linux/slub_def.h"
1151struct kmem_cache {
1152 struct kmem_cache_cpu *cpu_slab ;
1153 unsigned long flags ;
1154 unsigned long min_partial ;
1155 int size ;
1156 int objsize ;
1157 int offset ;
1158 int cpu_partial ;
1159 struct kmem_cache_order_objects oo ;
1160 struct kmem_cache_order_objects max ;
1161 struct kmem_cache_order_objects min ;
1162 gfp_t allocflags ;
1163 int refcount ;
1164 void (*ctor)(void * ) ;
1165 int inuse ;
1166 int align ;
1167 int reserved ;
1168 char const *name ;
1169 struct list_head list ;
1170 struct kobject kobj ;
1171 int remote_node_defrag_ratio ;
1172 struct kmem_cache_node *node[1 << 10] ;
1173};
1174#line 13 "include/linux/blk_types.h"
1175struct bio;
1176#line 13
1177struct bio;
1178#line 14
1179struct bio_integrity_payload;
1180#line 14
1181struct bio_integrity_payload;
1182#line 15
1183struct page;
1184#line 16
1185struct block_device;
1186#line 16
1187struct block_device;
1188#line 17 "include/linux/blk_types.h"
1189typedef void bio_end_io_t(struct bio * , int );
1190#line 18 "include/linux/blk_types.h"
1191typedef void bio_destructor_t(struct bio * );
1192#line 23 "include/linux/blk_types.h"
1193struct bio_vec {
1194 struct page *bv_page ;
1195 unsigned int bv_len ;
1196 unsigned int bv_offset ;
1197};
1198#line 33 "include/linux/blk_types.h"
1199struct bio {
1200 sector_t bi_sector ;
1201 struct bio *bi_next ;
1202 struct block_device *bi_bdev ;
1203 unsigned long bi_flags ;
1204 unsigned long bi_rw ;
1205 unsigned short bi_vcnt ;
1206 unsigned short bi_idx ;
1207 unsigned int bi_phys_segments ;
1208 unsigned int bi_size ;
1209 unsigned int bi_seg_front_size ;
1210 unsigned int bi_seg_back_size ;
1211 unsigned int bi_max_vecs ;
1212 atomic_t bi_cnt ;
1213 struct bio_vec *bi_io_vec ;
1214 bio_end_io_t *bi_end_io ;
1215 void *bi_private ;
1216 struct bio_integrity_payload *bi_integrity ;
1217 bio_destructor_t *bi_destructor ;
1218 struct bio_vec bi_inline_vecs[0] ;
1219};
1220#line 33 "include/linux/list_bl.h"
1221struct hlist_bl_node;
1222#line 33 "include/linux/list_bl.h"
1223struct hlist_bl_head {
1224 struct hlist_bl_node *first ;
1225};
1226#line 37 "include/linux/list_bl.h"
1227struct hlist_bl_node {
1228 struct hlist_bl_node *next ;
1229 struct hlist_bl_node **pprev ;
1230};
1231#line 13 "include/linux/dcache.h"
1232struct nameidata;
1233#line 13
1234struct nameidata;
1235#line 14
1236struct path;
1237#line 14
1238struct path;
1239#line 15
1240struct vfsmount;
1241#line 15
1242struct vfsmount;
1243#line 35 "include/linux/dcache.h"
1244struct qstr {
1245 unsigned int hash ;
1246 unsigned int len ;
1247 unsigned char const *name ;
1248};
1249#line 88
1250struct inode;
1251#line 88
1252struct dentry_operations;
1253#line 88
1254struct super_block;
1255#line 88 "include/linux/dcache.h"
1256union __anonunion_d_u_205 {
1257 struct list_head d_child ;
1258 struct rcu_head d_rcu ;
1259};
1260#line 88 "include/linux/dcache.h"
1261struct dentry {
1262 unsigned int d_flags ;
1263 seqcount_t d_seq ;
1264 struct hlist_bl_node d_hash ;
1265 struct dentry *d_parent ;
1266 struct qstr d_name ;
1267 struct inode *d_inode ;
1268 unsigned char d_iname[32] ;
1269 unsigned int d_count ;
1270 spinlock_t d_lock ;
1271 struct dentry_operations const *d_op ;
1272 struct super_block *d_sb ;
1273 unsigned long d_time ;
1274 void *d_fsdata ;
1275 struct list_head d_lru ;
1276 union __anonunion_d_u_205 d_u ;
1277 struct list_head d_subdirs ;
1278 struct list_head d_alias ;
1279};
1280#line 131 "include/linux/dcache.h"
1281struct dentry_operations {
1282 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1283 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1284 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1285 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1286 int (*d_delete)(struct dentry const * ) ;
1287 void (*d_release)(struct dentry * ) ;
1288 void (*d_prune)(struct dentry * ) ;
1289 void (*d_iput)(struct dentry * , struct inode * ) ;
1290 char *(*d_dname)(struct dentry * , char * , int ) ;
1291 struct vfsmount *(*d_automount)(struct path * ) ;
1292 int (*d_manage)(struct dentry * , bool ) ;
1293} __attribute__((__aligned__((1) << (6) ))) ;
1294#line 4 "include/linux/path.h"
1295struct dentry;
1296#line 5
1297struct vfsmount;
1298#line 7 "include/linux/path.h"
1299struct path {
1300 struct vfsmount *mnt ;
1301 struct dentry *dentry ;
1302};
1303#line 64 "include/linux/radix-tree.h"
1304struct radix_tree_node;
1305#line 64 "include/linux/radix-tree.h"
1306struct radix_tree_root {
1307 unsigned int height ;
1308 gfp_t gfp_mask ;
1309 struct radix_tree_node *rnode ;
1310};
1311#line 14 "include/linux/prio_tree.h"
1312struct prio_tree_node;
1313#line 14 "include/linux/prio_tree.h"
1314struct raw_prio_tree_node {
1315 struct prio_tree_node *left ;
1316 struct prio_tree_node *right ;
1317 struct prio_tree_node *parent ;
1318};
1319#line 20 "include/linux/prio_tree.h"
1320struct prio_tree_node {
1321 struct prio_tree_node *left ;
1322 struct prio_tree_node *right ;
1323 struct prio_tree_node *parent ;
1324 unsigned long start ;
1325 unsigned long last ;
1326};
1327#line 28 "include/linux/prio_tree.h"
1328struct prio_tree_root {
1329 struct prio_tree_node *prio_tree_node ;
1330 unsigned short index_bits ;
1331 unsigned short raw ;
1332};
1333#line 6 "include/linux/pid.h"
1334enum pid_type {
1335 PIDTYPE_PID = 0,
1336 PIDTYPE_PGID = 1,
1337 PIDTYPE_SID = 2,
1338 PIDTYPE_MAX = 3
1339} ;
1340#line 50
1341struct pid_namespace;
1342#line 50 "include/linux/pid.h"
1343struct upid {
1344 int nr ;
1345 struct pid_namespace *ns ;
1346 struct hlist_node pid_chain ;
1347};
1348#line 57 "include/linux/pid.h"
1349struct pid {
1350 atomic_t count ;
1351 unsigned int level ;
1352 struct hlist_head tasks[3] ;
1353 struct rcu_head rcu ;
1354 struct upid numbers[1] ;
1355};
1356#line 69 "include/linux/pid.h"
1357struct pid_link {
1358 struct hlist_node node ;
1359 struct pid *pid ;
1360};
1361#line 100
1362struct pid_namespace;
1363#line 18 "include/linux/capability.h"
1364struct task_struct;
1365#line 94 "include/linux/capability.h"
1366struct kernel_cap_struct {
1367 __u32 cap[2] ;
1368};
1369#line 94 "include/linux/capability.h"
1370typedef struct kernel_cap_struct kernel_cap_t;
1371#line 377
1372struct dentry;
1373#line 378
1374struct user_namespace;
1375#line 378
1376struct user_namespace;
1377#line 16 "include/linux/fiemap.h"
1378struct fiemap_extent {
1379 __u64 fe_logical ;
1380 __u64 fe_physical ;
1381 __u64 fe_length ;
1382 __u64 fe_reserved64[2] ;
1383 __u32 fe_flags ;
1384 __u32 fe_reserved[3] ;
1385};
1386#line 8 "include/linux/shrinker.h"
1387struct shrink_control {
1388 gfp_t gfp_mask ;
1389 unsigned long nr_to_scan ;
1390};
1391#line 31 "include/linux/shrinker.h"
1392struct shrinker {
1393 int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1394 int seeks ;
1395 long batch ;
1396 struct list_head list ;
1397 atomic_long_t nr_in_batch ;
1398};
1399#line 10 "include/linux/migrate_mode.h"
1400enum migrate_mode {
1401 MIGRATE_ASYNC = 0,
1402 MIGRATE_SYNC_LIGHT = 1,
1403 MIGRATE_SYNC = 2
1404} ;
1405#line 408 "include/linux/fs.h"
1406struct export_operations;
1407#line 408
1408struct export_operations;
1409#line 409
1410struct hd_geometry;
1411#line 409
1412struct hd_geometry;
1413#line 410
1414struct iovec;
1415#line 410
1416struct iovec;
1417#line 411
1418struct nameidata;
1419#line 412
1420struct kiocb;
1421#line 412
1422struct kiocb;
1423#line 413
1424struct kobject;
1425#line 414
1426struct pipe_inode_info;
1427#line 414
1428struct pipe_inode_info;
1429#line 415
1430struct poll_table_struct;
1431#line 415
1432struct poll_table_struct;
1433#line 416
1434struct kstatfs;
1435#line 416
1436struct kstatfs;
1437#line 417
1438struct vm_area_struct;
1439#line 418
1440struct vfsmount;
1441#line 419
1442struct cred;
1443#line 469 "include/linux/fs.h"
1444struct iattr {
1445 unsigned int ia_valid ;
1446 umode_t ia_mode ;
1447 uid_t ia_uid ;
1448 gid_t ia_gid ;
1449 loff_t ia_size ;
1450 struct timespec ia_atime ;
1451 struct timespec ia_mtime ;
1452 struct timespec ia_ctime ;
1453 struct file *ia_file ;
1454};
1455#line 129 "include/linux/quota.h"
1456struct if_dqinfo {
1457 __u64 dqi_bgrace ;
1458 __u64 dqi_igrace ;
1459 __u32 dqi_flags ;
1460 __u32 dqi_valid ;
1461};
1462#line 18 "include/linux/percpu_counter.h"
1463struct percpu_counter {
1464 raw_spinlock_t lock ;
1465 s64 count ;
1466 struct list_head list ;
1467 s32 *counters ;
1468};
1469#line 50 "include/linux/dqblk_xfs.h"
1470struct fs_disk_quota {
1471 __s8 d_version ;
1472 __s8 d_flags ;
1473 __u16 d_fieldmask ;
1474 __u32 d_id ;
1475 __u64 d_blk_hardlimit ;
1476 __u64 d_blk_softlimit ;
1477 __u64 d_ino_hardlimit ;
1478 __u64 d_ino_softlimit ;
1479 __u64 d_bcount ;
1480 __u64 d_icount ;
1481 __s32 d_itimer ;
1482 __s32 d_btimer ;
1483 __u16 d_iwarns ;
1484 __u16 d_bwarns ;
1485 __s32 d_padding2 ;
1486 __u64 d_rtb_hardlimit ;
1487 __u64 d_rtb_softlimit ;
1488 __u64 d_rtbcount ;
1489 __s32 d_rtbtimer ;
1490 __u16 d_rtbwarns ;
1491 __s16 d_padding3 ;
1492 char d_padding4[8] ;
1493};
1494#line 146 "include/linux/dqblk_xfs.h"
1495struct fs_qfilestat {
1496 __u64 qfs_ino ;
1497 __u64 qfs_nblks ;
1498 __u32 qfs_nextents ;
1499};
1500#line 146 "include/linux/dqblk_xfs.h"
1501typedef struct fs_qfilestat fs_qfilestat_t;
1502#line 152 "include/linux/dqblk_xfs.h"
1503struct fs_quota_stat {
1504 __s8 qs_version ;
1505 __u16 qs_flags ;
1506 __s8 qs_pad ;
1507 fs_qfilestat_t qs_uquota ;
1508 fs_qfilestat_t qs_gquota ;
1509 __u32 qs_incoredqs ;
1510 __s32 qs_btimelimit ;
1511 __s32 qs_itimelimit ;
1512 __s32 qs_rtbtimelimit ;
1513 __u16 qs_bwarnlimit ;
1514 __u16 qs_iwarnlimit ;
1515};
1516#line 17 "include/linux/dqblk_qtree.h"
1517struct dquot;
1518#line 17
1519struct dquot;
1520#line 185 "include/linux/quota.h"
1521typedef __kernel_uid32_t qid_t;
1522#line 186 "include/linux/quota.h"
1523typedef long long qsize_t;
1524#line 200 "include/linux/quota.h"
1525struct mem_dqblk {
1526 qsize_t dqb_bhardlimit ;
1527 qsize_t dqb_bsoftlimit ;
1528 qsize_t dqb_curspace ;
1529 qsize_t dqb_rsvspace ;
1530 qsize_t dqb_ihardlimit ;
1531 qsize_t dqb_isoftlimit ;
1532 qsize_t dqb_curinodes ;
1533 time_t dqb_btime ;
1534 time_t dqb_itime ;
1535};
1536#line 215
1537struct quota_format_type;
1538#line 215
1539struct quota_format_type;
1540#line 217 "include/linux/quota.h"
1541struct mem_dqinfo {
1542 struct quota_format_type *dqi_format ;
1543 int dqi_fmt_id ;
1544 struct list_head dqi_dirty_list ;
1545 unsigned long dqi_flags ;
1546 unsigned int dqi_bgrace ;
1547 unsigned int dqi_igrace ;
1548 qsize_t dqi_maxblimit ;
1549 qsize_t dqi_maxilimit ;
1550 void *dqi_priv ;
1551};
1552#line 230
1553struct super_block;
1554#line 288 "include/linux/quota.h"
1555struct dquot {
1556 struct hlist_node dq_hash ;
1557 struct list_head dq_inuse ;
1558 struct list_head dq_free ;
1559 struct list_head dq_dirty ;
1560 struct mutex dq_lock ;
1561 atomic_t dq_count ;
1562 wait_queue_head_t dq_wait_unused ;
1563 struct super_block *dq_sb ;
1564 unsigned int dq_id ;
1565 loff_t dq_off ;
1566 unsigned long dq_flags ;
1567 short dq_type ;
1568 struct mem_dqblk dq_dqb ;
1569};
1570#line 305 "include/linux/quota.h"
1571struct quota_format_ops {
1572 int (*check_quota_file)(struct super_block *sb , int type ) ;
1573 int (*read_file_info)(struct super_block *sb , int type ) ;
1574 int (*write_file_info)(struct super_block *sb , int type ) ;
1575 int (*free_file_info)(struct super_block *sb , int type ) ;
1576 int (*read_dqblk)(struct dquot *dquot ) ;
1577 int (*commit_dqblk)(struct dquot *dquot ) ;
1578 int (*release_dqblk)(struct dquot *dquot ) ;
1579};
1580#line 316 "include/linux/quota.h"
1581struct dquot_operations {
1582 int (*write_dquot)(struct dquot * ) ;
1583 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1584 void (*destroy_dquot)(struct dquot * ) ;
1585 int (*acquire_dquot)(struct dquot * ) ;
1586 int (*release_dquot)(struct dquot * ) ;
1587 int (*mark_dirty)(struct dquot * ) ;
1588 int (*write_info)(struct super_block * , int ) ;
1589 qsize_t *(*get_reserved_space)(struct inode * ) ;
1590};
1591#line 329
1592struct path;
1593#line 332 "include/linux/quota.h"
1594struct quotactl_ops {
1595 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1596 int (*quota_on_meta)(struct super_block * , int , int ) ;
1597 int (*quota_off)(struct super_block * , int ) ;
1598 int (*quota_sync)(struct super_block * , int , int ) ;
1599 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1600 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1601 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1602 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1603 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1604 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1605};
1606#line 345 "include/linux/quota.h"
1607struct quota_format_type {
1608 int qf_fmt_id ;
1609 struct quota_format_ops const *qf_ops ;
1610 struct module *qf_owner ;
1611 struct quota_format_type *qf_next ;
1612};
1613#line 399 "include/linux/quota.h"
1614struct quota_info {
1615 unsigned int flags ;
1616 struct mutex dqio_mutex ;
1617 struct mutex dqonoff_mutex ;
1618 struct rw_semaphore dqptr_sem ;
1619 struct inode *files[2] ;
1620 struct mem_dqinfo info[2] ;
1621 struct quota_format_ops const *ops[2] ;
1622};
1623#line 532 "include/linux/fs.h"
1624struct page;
1625#line 533
1626struct address_space;
1627#line 533
1628struct address_space;
1629#line 534
1630struct writeback_control;
1631#line 534
1632struct writeback_control;
1633#line 577 "include/linux/fs.h"
1634union __anonunion_arg_213 {
1635 char *buf ;
1636 void *data ;
1637};
1638#line 577 "include/linux/fs.h"
1639struct __anonstruct_read_descriptor_t_212 {
1640 size_t written ;
1641 size_t count ;
1642 union __anonunion_arg_213 arg ;
1643 int error ;
1644};
1645#line 577 "include/linux/fs.h"
1646typedef struct __anonstruct_read_descriptor_t_212 read_descriptor_t;
1647#line 590 "include/linux/fs.h"
1648struct address_space_operations {
1649 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
1650 int (*readpage)(struct file * , struct page * ) ;
1651 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1652 int (*set_page_dirty)(struct page *page ) ;
1653 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
1654 unsigned int nr_pages ) ;
1655 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
1656 unsigned int len , unsigned int flags , struct page **pagep ,
1657 void **fsdata ) ;
1658 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
1659 unsigned int copied , struct page *page , void *fsdata ) ;
1660 sector_t (*bmap)(struct address_space * , sector_t ) ;
1661 void (*invalidatepage)(struct page * , unsigned long ) ;
1662 int (*releasepage)(struct page * , gfp_t ) ;
1663 void (*freepage)(struct page * ) ;
1664 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
1665 unsigned long nr_segs ) ;
1666 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1667 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1668 int (*launder_page)(struct page * ) ;
1669 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1670 int (*error_remove_page)(struct address_space * , struct page * ) ;
1671};
1672#line 645
1673struct backing_dev_info;
1674#line 645
1675struct backing_dev_info;
1676#line 646 "include/linux/fs.h"
1677struct address_space {
1678 struct inode *host ;
1679 struct radix_tree_root page_tree ;
1680 spinlock_t tree_lock ;
1681 unsigned int i_mmap_writable ;
1682 struct prio_tree_root i_mmap ;
1683 struct list_head i_mmap_nonlinear ;
1684 struct mutex i_mmap_mutex ;
1685 unsigned long nrpages ;
1686 unsigned long writeback_index ;
1687 struct address_space_operations const *a_ops ;
1688 unsigned long flags ;
1689 struct backing_dev_info *backing_dev_info ;
1690 spinlock_t private_lock ;
1691 struct list_head private_list ;
1692 struct address_space *assoc_mapping ;
1693} __attribute__((__aligned__(sizeof(long )))) ;
1694#line 669
1695struct request_queue;
1696#line 669
1697struct request_queue;
1698#line 671
1699struct hd_struct;
1700#line 671
1701struct gendisk;
1702#line 671 "include/linux/fs.h"
1703struct block_device {
1704 dev_t bd_dev ;
1705 int bd_openers ;
1706 struct inode *bd_inode ;
1707 struct super_block *bd_super ;
1708 struct mutex bd_mutex ;
1709 struct list_head bd_inodes ;
1710 void *bd_claiming ;
1711 void *bd_holder ;
1712 int bd_holders ;
1713 bool bd_write_holder ;
1714 struct list_head bd_holder_disks ;
1715 struct block_device *bd_contains ;
1716 unsigned int bd_block_size ;
1717 struct hd_struct *bd_part ;
1718 unsigned int bd_part_count ;
1719 int bd_invalidated ;
1720 struct gendisk *bd_disk ;
1721 struct request_queue *bd_queue ;
1722 struct list_head bd_list ;
1723 unsigned long bd_private ;
1724 int bd_fsfreeze_count ;
1725 struct mutex bd_fsfreeze_mutex ;
1726};
1727#line 749
1728struct posix_acl;
1729#line 749
1730struct posix_acl;
1731#line 761
1732struct inode_operations;
1733#line 761 "include/linux/fs.h"
1734union __anonunion____missing_field_name_214 {
1735 unsigned int const i_nlink ;
1736 unsigned int __i_nlink ;
1737};
1738#line 761 "include/linux/fs.h"
1739union __anonunion____missing_field_name_215 {
1740 struct list_head i_dentry ;
1741 struct rcu_head i_rcu ;
1742};
1743#line 761
1744struct file_operations;
1745#line 761
1746struct file_lock;
1747#line 761
1748struct cdev;
1749#line 761 "include/linux/fs.h"
1750union __anonunion____missing_field_name_216 {
1751 struct pipe_inode_info *i_pipe ;
1752 struct block_device *i_bdev ;
1753 struct cdev *i_cdev ;
1754};
1755#line 761 "include/linux/fs.h"
1756struct inode {
1757 umode_t i_mode ;
1758 unsigned short i_opflags ;
1759 uid_t i_uid ;
1760 gid_t i_gid ;
1761 unsigned int i_flags ;
1762 struct posix_acl *i_acl ;
1763 struct posix_acl *i_default_acl ;
1764 struct inode_operations const *i_op ;
1765 struct super_block *i_sb ;
1766 struct address_space *i_mapping ;
1767 void *i_security ;
1768 unsigned long i_ino ;
1769 union __anonunion____missing_field_name_214 __annonCompField33 ;
1770 dev_t i_rdev ;
1771 struct timespec i_atime ;
1772 struct timespec i_mtime ;
1773 struct timespec i_ctime ;
1774 spinlock_t i_lock ;
1775 unsigned short i_bytes ;
1776 blkcnt_t i_blocks ;
1777 loff_t i_size ;
1778 unsigned long i_state ;
1779 struct mutex i_mutex ;
1780 unsigned long dirtied_when ;
1781 struct hlist_node i_hash ;
1782 struct list_head i_wb_list ;
1783 struct list_head i_lru ;
1784 struct list_head i_sb_list ;
1785 union __anonunion____missing_field_name_215 __annonCompField34 ;
1786 atomic_t i_count ;
1787 unsigned int i_blkbits ;
1788 u64 i_version ;
1789 atomic_t i_dio_count ;
1790 atomic_t i_writecount ;
1791 struct file_operations const *i_fop ;
1792 struct file_lock *i_flock ;
1793 struct address_space i_data ;
1794 struct dquot *i_dquot[2] ;
1795 struct list_head i_devices ;
1796 union __anonunion____missing_field_name_216 __annonCompField35 ;
1797 __u32 i_generation ;
1798 __u32 i_fsnotify_mask ;
1799 struct hlist_head i_fsnotify_marks ;
1800 atomic_t i_readcount ;
1801 void *i_private ;
1802};
1803#line 942 "include/linux/fs.h"
1804struct fown_struct {
1805 rwlock_t lock ;
1806 struct pid *pid ;
1807 enum pid_type pid_type ;
1808 uid_t uid ;
1809 uid_t euid ;
1810 int signum ;
1811};
1812#line 953 "include/linux/fs.h"
1813struct file_ra_state {
1814 unsigned long start ;
1815 unsigned int size ;
1816 unsigned int async_size ;
1817 unsigned int ra_pages ;
1818 unsigned int mmap_miss ;
1819 loff_t prev_pos ;
1820};
1821#line 976 "include/linux/fs.h"
1822union __anonunion_f_u_217 {
1823 struct list_head fu_list ;
1824 struct rcu_head fu_rcuhead ;
1825};
1826#line 976 "include/linux/fs.h"
1827struct file {
1828 union __anonunion_f_u_217 f_u ;
1829 struct path f_path ;
1830 struct file_operations const *f_op ;
1831 spinlock_t f_lock ;
1832 int f_sb_list_cpu ;
1833 atomic_long_t f_count ;
1834 unsigned int f_flags ;
1835 fmode_t f_mode ;
1836 loff_t f_pos ;
1837 struct fown_struct f_owner ;
1838 struct cred const *f_cred ;
1839 struct file_ra_state f_ra ;
1840 u64 f_version ;
1841 void *f_security ;
1842 void *private_data ;
1843 struct list_head f_ep_links ;
1844 struct list_head f_tfile_llink ;
1845 struct address_space *f_mapping ;
1846 unsigned long f_mnt_write_state ;
1847};
1848#line 1111
1849struct files_struct;
1850#line 1111 "include/linux/fs.h"
1851typedef struct files_struct *fl_owner_t;
1852#line 1113 "include/linux/fs.h"
1853struct file_lock_operations {
1854 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1855 void (*fl_release_private)(struct file_lock * ) ;
1856};
1857#line 1118 "include/linux/fs.h"
1858struct lock_manager_operations {
1859 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1860 void (*lm_notify)(struct file_lock * ) ;
1861 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1862 void (*lm_release_private)(struct file_lock * ) ;
1863 void (*lm_break)(struct file_lock * ) ;
1864 int (*lm_change)(struct file_lock ** , int ) ;
1865};
1866#line 4 "include/linux/nfs_fs_i.h"
1867struct nlm_lockowner;
1868#line 4
1869struct nlm_lockowner;
1870#line 9 "include/linux/nfs_fs_i.h"
1871struct nfs_lock_info {
1872 u32 state ;
1873 struct nlm_lockowner *owner ;
1874 struct list_head list ;
1875};
1876#line 15
1877struct nfs4_lock_state;
1878#line 15
1879struct nfs4_lock_state;
1880#line 16 "include/linux/nfs_fs_i.h"
1881struct nfs4_lock_info {
1882 struct nfs4_lock_state *owner ;
1883};
1884#line 1138 "include/linux/fs.h"
1885struct fasync_struct;
1886#line 1138 "include/linux/fs.h"
1887struct __anonstruct_afs_219 {
1888 struct list_head link ;
1889 int state ;
1890};
1891#line 1138 "include/linux/fs.h"
1892union __anonunion_fl_u_218 {
1893 struct nfs_lock_info nfs_fl ;
1894 struct nfs4_lock_info nfs4_fl ;
1895 struct __anonstruct_afs_219 afs ;
1896};
1897#line 1138 "include/linux/fs.h"
1898struct file_lock {
1899 struct file_lock *fl_next ;
1900 struct list_head fl_link ;
1901 struct list_head fl_block ;
1902 fl_owner_t fl_owner ;
1903 unsigned int fl_flags ;
1904 unsigned char fl_type ;
1905 unsigned int fl_pid ;
1906 struct pid *fl_nspid ;
1907 wait_queue_head_t fl_wait ;
1908 struct file *fl_file ;
1909 loff_t fl_start ;
1910 loff_t fl_end ;
1911 struct fasync_struct *fl_fasync ;
1912 unsigned long fl_break_time ;
1913 unsigned long fl_downgrade_time ;
1914 struct file_lock_operations const *fl_ops ;
1915 struct lock_manager_operations const *fl_lmops ;
1916 union __anonunion_fl_u_218 fl_u ;
1917};
1918#line 1378 "include/linux/fs.h"
1919struct fasync_struct {
1920 spinlock_t fa_lock ;
1921 int magic ;
1922 int fa_fd ;
1923 struct fasync_struct *fa_next ;
1924 struct file *fa_file ;
1925 struct rcu_head fa_rcu ;
1926};
1927#line 1418
1928struct file_system_type;
1929#line 1418
1930struct super_operations;
1931#line 1418
1932struct xattr_handler;
1933#line 1418
1934struct mtd_info;
1935#line 1418 "include/linux/fs.h"
1936struct super_block {
1937 struct list_head s_list ;
1938 dev_t s_dev ;
1939 unsigned char s_dirt ;
1940 unsigned char s_blocksize_bits ;
1941 unsigned long s_blocksize ;
1942 loff_t s_maxbytes ;
1943 struct file_system_type *s_type ;
1944 struct super_operations const *s_op ;
1945 struct dquot_operations const *dq_op ;
1946 struct quotactl_ops const *s_qcop ;
1947 struct export_operations const *s_export_op ;
1948 unsigned long s_flags ;
1949 unsigned long s_magic ;
1950 struct dentry *s_root ;
1951 struct rw_semaphore s_umount ;
1952 struct mutex s_lock ;
1953 int s_count ;
1954 atomic_t s_active ;
1955 void *s_security ;
1956 struct xattr_handler const **s_xattr ;
1957 struct list_head s_inodes ;
1958 struct hlist_bl_head s_anon ;
1959 struct list_head *s_files ;
1960 struct list_head s_mounts ;
1961 struct list_head s_dentry_lru ;
1962 int s_nr_dentry_unused ;
1963 spinlock_t s_inode_lru_lock __attribute__((__aligned__((1) << (6) ))) ;
1964 struct list_head s_inode_lru ;
1965 int s_nr_inodes_unused ;
1966 struct block_device *s_bdev ;
1967 struct backing_dev_info *s_bdi ;
1968 struct mtd_info *s_mtd ;
1969 struct hlist_node s_instances ;
1970 struct quota_info s_dquot ;
1971 int s_frozen ;
1972 wait_queue_head_t s_wait_unfrozen ;
1973 char s_id[32] ;
1974 u8 s_uuid[16] ;
1975 void *s_fs_info ;
1976 unsigned int s_max_links ;
1977 fmode_t s_mode ;
1978 u32 s_time_gran ;
1979 struct mutex s_vfs_rename_mutex ;
1980 char *s_subtype ;
1981 char *s_options ;
1982 struct dentry_operations const *s_d_op ;
1983 int cleancache_poolid ;
1984 struct shrinker s_shrink ;
1985 atomic_long_t s_remove_count ;
1986 int s_readonly_remount ;
1987};
1988#line 1567 "include/linux/fs.h"
1989struct fiemap_extent_info {
1990 unsigned int fi_flags ;
1991 unsigned int fi_extents_mapped ;
1992 unsigned int fi_extents_max ;
1993 struct fiemap_extent *fi_extents_start ;
1994};
1995#line 1601
1996struct block_device_operations;
1997#line 1601
1998struct block_device_operations;
1999#line 1609 "include/linux/fs.h"
2000struct file_operations {
2001 struct module *owner ;
2002 loff_t (*llseek)(struct file * , loff_t , int ) ;
2003 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
2004 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
2005 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
2006 loff_t ) ;
2007 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
2008 loff_t ) ;
2009 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
2010 loff_t , u64 , unsigned int ) ) ;
2011 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
2012 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
2013 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
2014 int (*mmap)(struct file * , struct vm_area_struct * ) ;
2015 int (*open)(struct inode * , struct file * ) ;
2016 int (*flush)(struct file * , fl_owner_t id ) ;
2017 int (*release)(struct inode * , struct file * ) ;
2018 int (*fsync)(struct file * , loff_t , loff_t , int datasync ) ;
2019 int (*aio_fsync)(struct kiocb * , int datasync ) ;
2020 int (*fasync)(int , struct file * , int ) ;
2021 int (*lock)(struct file * , int , struct file_lock * ) ;
2022 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
2023 int ) ;
2024 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
2025 unsigned long , unsigned long ) ;
2026 int (*check_flags)(int ) ;
2027 int (*flock)(struct file * , int , struct file_lock * ) ;
2028 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
2029 unsigned int ) ;
2030 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
2031 unsigned int ) ;
2032 int (*setlease)(struct file * , long , struct file_lock ** ) ;
2033 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
2034};
2035#line 1639 "include/linux/fs.h"
2036struct inode_operations {
2037 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
2038 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
2039 int (*permission)(struct inode * , int ) ;
2040 struct posix_acl *(*get_acl)(struct inode * , int ) ;
2041 int (*readlink)(struct dentry * , char * , int ) ;
2042 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
2043 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
2044 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
2045 int (*unlink)(struct inode * , struct dentry * ) ;
2046 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
2047 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
2048 int (*rmdir)(struct inode * , struct dentry * ) ;
2049 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
2050 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
2051 void (*truncate)(struct inode * ) ;
2052 int (*setattr)(struct dentry * , struct iattr * ) ;
2053 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
2054 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
2055 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
2056 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
2057 int (*removexattr)(struct dentry * , char const * ) ;
2058 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
2059 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
2060} __attribute__((__aligned__((1) << (6) ))) ;
2061#line 1669
2062struct seq_file;
2063#line 1684 "include/linux/fs.h"
2064struct super_operations {
2065 struct inode *(*alloc_inode)(struct super_block *sb ) ;
2066 void (*destroy_inode)(struct inode * ) ;
2067 void (*dirty_inode)(struct inode * , int flags ) ;
2068 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
2069 int (*drop_inode)(struct inode * ) ;
2070 void (*evict_inode)(struct inode * ) ;
2071 void (*put_super)(struct super_block * ) ;
2072 void (*write_super)(struct super_block * ) ;
2073 int (*sync_fs)(struct super_block *sb , int wait ) ;
2074 int (*freeze_fs)(struct super_block * ) ;
2075 int (*unfreeze_fs)(struct super_block * ) ;
2076 int (*statfs)(struct dentry * , struct kstatfs * ) ;
2077 int (*remount_fs)(struct super_block * , int * , char * ) ;
2078 void (*umount_begin)(struct super_block * ) ;
2079 int (*show_options)(struct seq_file * , struct dentry * ) ;
2080 int (*show_devname)(struct seq_file * , struct dentry * ) ;
2081 int (*show_path)(struct seq_file * , struct dentry * ) ;
2082 int (*show_stats)(struct seq_file * , struct dentry * ) ;
2083 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
2084 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
2085 loff_t ) ;
2086 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
2087 int (*nr_cached_objects)(struct super_block * ) ;
2088 void (*free_cached_objects)(struct super_block * , int ) ;
2089};
2090#line 1835 "include/linux/fs.h"
2091struct file_system_type {
2092 char const *name ;
2093 int fs_flags ;
2094 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
2095 void (*kill_sb)(struct super_block * ) ;
2096 struct module *owner ;
2097 struct file_system_type *next ;
2098 struct hlist_head fs_supers ;
2099 struct lock_class_key s_lock_key ;
2100 struct lock_class_key s_umount_key ;
2101 struct lock_class_key s_vfs_rename_key ;
2102 struct lock_class_key i_lock_key ;
2103 struct lock_class_key i_mutex_key ;
2104 struct lock_class_key i_mutex_dir_key ;
2105};
2106#line 8 "include/linux/debug_locks.h"
2107struct task_struct;
2108#line 48
2109struct task_struct;
2110#line 23 "include/linux/mm_types.h"
2111struct address_space;
2112#line 40 "include/linux/mm_types.h"
2113union __anonunion____missing_field_name_227 {
2114 unsigned long index ;
2115 void *freelist ;
2116};
2117#line 40 "include/linux/mm_types.h"
2118struct __anonstruct____missing_field_name_231 {
2119 unsigned int inuse : 16 ;
2120 unsigned int objects : 15 ;
2121 unsigned int frozen : 1 ;
2122};
2123#line 40 "include/linux/mm_types.h"
2124union __anonunion____missing_field_name_230 {
2125 atomic_t _mapcount ;
2126 struct __anonstruct____missing_field_name_231 __annonCompField37 ;
2127};
2128#line 40 "include/linux/mm_types.h"
2129struct __anonstruct____missing_field_name_229 {
2130 union __anonunion____missing_field_name_230 __annonCompField38 ;
2131 atomic_t _count ;
2132};
2133#line 40 "include/linux/mm_types.h"
2134union __anonunion____missing_field_name_228 {
2135 unsigned long counters ;
2136 struct __anonstruct____missing_field_name_229 __annonCompField39 ;
2137};
2138#line 40 "include/linux/mm_types.h"
2139struct __anonstruct____missing_field_name_226 {
2140 union __anonunion____missing_field_name_227 __annonCompField36 ;
2141 union __anonunion____missing_field_name_228 __annonCompField40 ;
2142};
2143#line 40 "include/linux/mm_types.h"
2144struct __anonstruct____missing_field_name_233 {
2145 struct page *next ;
2146 int pages ;
2147 int pobjects ;
2148};
2149#line 40 "include/linux/mm_types.h"
2150union __anonunion____missing_field_name_232 {
2151 struct list_head lru ;
2152 struct __anonstruct____missing_field_name_233 __annonCompField42 ;
2153};
2154#line 40 "include/linux/mm_types.h"
2155union __anonunion____missing_field_name_234 {
2156 unsigned long private ;
2157 struct kmem_cache *slab ;
2158 struct page *first_page ;
2159};
2160#line 40 "include/linux/mm_types.h"
2161struct page {
2162 unsigned long flags ;
2163 struct address_space *mapping ;
2164 struct __anonstruct____missing_field_name_226 __annonCompField41 ;
2165 union __anonunion____missing_field_name_232 __annonCompField43 ;
2166 union __anonunion____missing_field_name_234 __annonCompField44 ;
2167 unsigned long debug_flags ;
2168} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
2169#line 200 "include/linux/mm_types.h"
2170struct __anonstruct_vm_set_236 {
2171 struct list_head list ;
2172 void *parent ;
2173 struct vm_area_struct *head ;
2174};
2175#line 200 "include/linux/mm_types.h"
2176union __anonunion_shared_235 {
2177 struct __anonstruct_vm_set_236 vm_set ;
2178 struct raw_prio_tree_node prio_tree_node ;
2179};
2180#line 200
2181struct anon_vma;
2182#line 200
2183struct vm_operations_struct;
2184#line 200
2185struct mempolicy;
2186#line 200 "include/linux/mm_types.h"
2187struct vm_area_struct {
2188 struct mm_struct *vm_mm ;
2189 unsigned long vm_start ;
2190 unsigned long vm_end ;
2191 struct vm_area_struct *vm_next ;
2192 struct vm_area_struct *vm_prev ;
2193 pgprot_t vm_page_prot ;
2194 unsigned long vm_flags ;
2195 struct rb_node vm_rb ;
2196 union __anonunion_shared_235 shared ;
2197 struct list_head anon_vma_chain ;
2198 struct anon_vma *anon_vma ;
2199 struct vm_operations_struct const *vm_ops ;
2200 unsigned long vm_pgoff ;
2201 struct file *vm_file ;
2202 void *vm_private_data ;
2203 struct mempolicy *vm_policy ;
2204};
2205#line 257 "include/linux/mm_types.h"
2206struct core_thread {
2207 struct task_struct *task ;
2208 struct core_thread *next ;
2209};
2210#line 262 "include/linux/mm_types.h"
2211struct core_state {
2212 atomic_t nr_threads ;
2213 struct core_thread dumper ;
2214 struct completion startup ;
2215};
2216#line 284 "include/linux/mm_types.h"
2217struct mm_rss_stat {
2218 atomic_long_t count[3] ;
2219};
2220#line 288
2221struct linux_binfmt;
2222#line 288
2223struct mmu_notifier_mm;
2224#line 288 "include/linux/mm_types.h"
2225struct mm_struct {
2226 struct vm_area_struct *mmap ;
2227 struct rb_root mm_rb ;
2228 struct vm_area_struct *mmap_cache ;
2229 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
2230 unsigned long pgoff , unsigned long flags ) ;
2231 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
2232 unsigned long mmap_base ;
2233 unsigned long task_size ;
2234 unsigned long cached_hole_size ;
2235 unsigned long free_area_cache ;
2236 pgd_t *pgd ;
2237 atomic_t mm_users ;
2238 atomic_t mm_count ;
2239 int map_count ;
2240 spinlock_t page_table_lock ;
2241 struct rw_semaphore mmap_sem ;
2242 struct list_head mmlist ;
2243 unsigned long hiwater_rss ;
2244 unsigned long hiwater_vm ;
2245 unsigned long total_vm ;
2246 unsigned long locked_vm ;
2247 unsigned long pinned_vm ;
2248 unsigned long shared_vm ;
2249 unsigned long exec_vm ;
2250 unsigned long stack_vm ;
2251 unsigned long reserved_vm ;
2252 unsigned long def_flags ;
2253 unsigned long nr_ptes ;
2254 unsigned long start_code ;
2255 unsigned long end_code ;
2256 unsigned long start_data ;
2257 unsigned long end_data ;
2258 unsigned long start_brk ;
2259 unsigned long brk ;
2260 unsigned long start_stack ;
2261 unsigned long arg_start ;
2262 unsigned long arg_end ;
2263 unsigned long env_start ;
2264 unsigned long env_end ;
2265 unsigned long saved_auxv[44] ;
2266 struct mm_rss_stat rss_stat ;
2267 struct linux_binfmt *binfmt ;
2268 cpumask_var_t cpu_vm_mask_var ;
2269 mm_context_t context ;
2270 unsigned int faultstamp ;
2271 unsigned int token_priority ;
2272 unsigned int last_interval ;
2273 unsigned long flags ;
2274 struct core_state *core_state ;
2275 spinlock_t ioctx_lock ;
2276 struct hlist_head ioctx_list ;
2277 struct task_struct *owner ;
2278 struct file *exe_file ;
2279 unsigned long num_exe_file_vmas ;
2280 struct mmu_notifier_mm *mmu_notifier_mm ;
2281 pgtable_t pmd_huge_pte ;
2282 struct cpumask cpumask_allocation ;
2283};
2284#line 22 "include/linux/mm.h"
2285struct mempolicy;
2286#line 23
2287struct anon_vma;
2288#line 24
2289struct file_ra_state;
2290#line 25
2291struct user_struct;
2292#line 25
2293struct user_struct;
2294#line 26
2295struct writeback_control;
2296#line 41 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
2297struct mm_struct;
2298#line 656 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable.h"
2299struct vm_area_struct;
2300#line 188 "include/linux/mm.h"
2301struct vm_fault {
2302 unsigned int flags ;
2303 unsigned long pgoff ;
2304 void *virtual_address ;
2305 struct page *page ;
2306};
2307#line 205 "include/linux/mm.h"
2308struct vm_operations_struct {
2309 void (*open)(struct vm_area_struct *area ) ;
2310 void (*close)(struct vm_area_struct *area ) ;
2311 int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
2312 int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
2313 int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
2314 int write ) ;
2315 int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
2316 struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
2317 int (*migrate)(struct vm_area_struct *vma , nodemask_t const *from , nodemask_t const *to ,
2318 unsigned long flags ) ;
2319};
2320#line 247
2321struct inode;
2322#line 195 "include/linux/page-flags.h"
2323struct page;
2324#line 6 "include/asm-generic/scatterlist.h"
2325struct scatterlist {
2326 unsigned long sg_magic ;
2327 unsigned long page_link ;
2328 unsigned int offset ;
2329 unsigned int length ;
2330 dma_addr_t dma_address ;
2331 unsigned int dma_length ;
2332};
2333#line 12 "include/linux/scatterlist.h"
2334struct sg_table {
2335 struct scatterlist *sgl ;
2336 unsigned int nents ;
2337 unsigned int orig_nents ;
2338};
2339#line 14 "include/scsi/scsi.h"
2340struct scsi_cmnd;
2341#line 14
2342struct scsi_cmnd;
2343#line 19 "include/linux/klist.h"
2344struct klist_node;
2345#line 19
2346struct klist_node;
2347#line 39 "include/linux/klist.h"
2348struct klist_node {
2349 void *n_klist ;
2350 struct list_head n_node ;
2351 struct kref n_ref ;
2352};
2353#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2354struct dma_map_ops;
2355#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2356struct dev_archdata {
2357 void *acpi_handle ;
2358 struct dma_map_ops *dma_ops ;
2359 void *iommu ;
2360};
2361#line 28 "include/linux/device.h"
2362struct device;
2363#line 29
2364struct device_private;
2365#line 29
2366struct device_private;
2367#line 30
2368struct device_driver;
2369#line 30
2370struct device_driver;
2371#line 31
2372struct driver_private;
2373#line 31
2374struct driver_private;
2375#line 32
2376struct module;
2377#line 33
2378struct class;
2379#line 33
2380struct class;
2381#line 34
2382struct subsys_private;
2383#line 34
2384struct subsys_private;
2385#line 35
2386struct bus_type;
2387#line 35
2388struct bus_type;
2389#line 36
2390struct device_node;
2391#line 36
2392struct device_node;
2393#line 37
2394struct iommu_ops;
2395#line 37
2396struct iommu_ops;
2397#line 39 "include/linux/device.h"
2398struct bus_attribute {
2399 struct attribute attr ;
2400 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
2401 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
2402};
2403#line 89
2404struct device_attribute;
2405#line 89
2406struct driver_attribute;
2407#line 89 "include/linux/device.h"
2408struct bus_type {
2409 char const *name ;
2410 char const *dev_name ;
2411 struct device *dev_root ;
2412 struct bus_attribute *bus_attrs ;
2413 struct device_attribute *dev_attrs ;
2414 struct driver_attribute *drv_attrs ;
2415 int (*match)(struct device *dev , struct device_driver *drv ) ;
2416 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2417 int (*probe)(struct device *dev ) ;
2418 int (*remove)(struct device *dev ) ;
2419 void (*shutdown)(struct device *dev ) ;
2420 int (*suspend)(struct device *dev , pm_message_t state ) ;
2421 int (*resume)(struct device *dev ) ;
2422 struct dev_pm_ops const *pm ;
2423 struct iommu_ops *iommu_ops ;
2424 struct subsys_private *p ;
2425};
2426#line 127
2427struct device_type;
2428#line 214
2429struct of_device_id;
2430#line 214 "include/linux/device.h"
2431struct device_driver {
2432 char const *name ;
2433 struct bus_type *bus ;
2434 struct module *owner ;
2435 char const *mod_name ;
2436 bool suppress_bind_attrs ;
2437 struct of_device_id const *of_match_table ;
2438 int (*probe)(struct device *dev ) ;
2439 int (*remove)(struct device *dev ) ;
2440 void (*shutdown)(struct device *dev ) ;
2441 int (*suspend)(struct device *dev , pm_message_t state ) ;
2442 int (*resume)(struct device *dev ) ;
2443 struct attribute_group const **groups ;
2444 struct dev_pm_ops const *pm ;
2445 struct driver_private *p ;
2446};
2447#line 249 "include/linux/device.h"
2448struct driver_attribute {
2449 struct attribute attr ;
2450 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
2451 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
2452};
2453#line 330
2454struct class_attribute;
2455#line 330 "include/linux/device.h"
2456struct class {
2457 char const *name ;
2458 struct module *owner ;
2459 struct class_attribute *class_attrs ;
2460 struct device_attribute *dev_attrs ;
2461 struct bin_attribute *dev_bin_attrs ;
2462 struct kobject *dev_kobj ;
2463 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2464 char *(*devnode)(struct device *dev , umode_t *mode ) ;
2465 void (*class_release)(struct class *class ) ;
2466 void (*dev_release)(struct device *dev ) ;
2467 int (*suspend)(struct device *dev , pm_message_t state ) ;
2468 int (*resume)(struct device *dev ) ;
2469 struct kobj_ns_type_operations const *ns_type ;
2470 void const *(*namespace)(struct device *dev ) ;
2471 struct dev_pm_ops const *pm ;
2472 struct subsys_private *p ;
2473};
2474#line 397 "include/linux/device.h"
2475struct class_attribute {
2476 struct attribute attr ;
2477 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
2478 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
2479 size_t count ) ;
2480 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
2481};
2482#line 465 "include/linux/device.h"
2483struct device_type {
2484 char const *name ;
2485 struct attribute_group const **groups ;
2486 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2487 char *(*devnode)(struct device *dev , umode_t *mode ) ;
2488 void (*release)(struct device *dev ) ;
2489 struct dev_pm_ops const *pm ;
2490};
2491#line 476 "include/linux/device.h"
2492struct device_attribute {
2493 struct attribute attr ;
2494 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
2495 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
2496 size_t count ) ;
2497};
2498#line 559 "include/linux/device.h"
2499struct device_dma_parameters {
2500 unsigned int max_segment_size ;
2501 unsigned long segment_boundary_mask ;
2502};
2503#line 627
2504struct dma_coherent_mem;
2505#line 627 "include/linux/device.h"
2506struct device {
2507 struct device *parent ;
2508 struct device_private *p ;
2509 struct kobject kobj ;
2510 char const *init_name ;
2511 struct device_type const *type ;
2512 struct mutex mutex ;
2513 struct bus_type *bus ;
2514 struct device_driver *driver ;
2515 void *platform_data ;
2516 struct dev_pm_info power ;
2517 struct dev_pm_domain *pm_domain ;
2518 int numa_node ;
2519 u64 *dma_mask ;
2520 u64 coherent_dma_mask ;
2521 struct device_dma_parameters *dma_parms ;
2522 struct list_head dma_pools ;
2523 struct dma_coherent_mem *dma_mem ;
2524 struct dev_archdata archdata ;
2525 struct device_node *of_node ;
2526 dev_t devt ;
2527 u32 id ;
2528 spinlock_t devres_lock ;
2529 struct list_head devres_head ;
2530 struct klist_node knode_class ;
2531 struct class *class ;
2532 struct attribute_group const **groups ;
2533 void (*release)(struct device *dev ) ;
2534};
2535#line 43 "include/linux/pm_wakeup.h"
2536struct wakeup_source {
2537 char const *name ;
2538 struct list_head entry ;
2539 spinlock_t lock ;
2540 struct timer_list timer ;
2541 unsigned long timer_expires ;
2542 ktime_t total_time ;
2543 ktime_t max_time ;
2544 ktime_t last_time ;
2545 unsigned long event_count ;
2546 unsigned long active_count ;
2547 unsigned long relax_count ;
2548 unsigned long hit_count ;
2549 unsigned int active : 1 ;
2550};
2551#line 27 "include/linux/dma-attrs.h"
2552struct dma_attrs {
2553 unsigned long flags[((4UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2554};
2555#line 7 "include/linux/dma-direction.h"
2556enum dma_data_direction {
2557 DMA_BIDIRECTIONAL = 0,
2558 DMA_TO_DEVICE = 1,
2559 DMA_FROM_DEVICE = 2,
2560 DMA_NONE = 3
2561} ;
2562#line 11 "include/linux/dma-mapping.h"
2563struct dma_map_ops {
2564 void *(*alloc)(struct device *dev , size_t size , dma_addr_t *dma_handle , gfp_t gfp ,
2565 struct dma_attrs *attrs ) ;
2566 void (*free)(struct device *dev , size_t size , void *vaddr , dma_addr_t dma_handle ,
2567 struct dma_attrs *attrs ) ;
2568 int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t ,
2569 size_t , struct dma_attrs *attrs ) ;
2570 dma_addr_t (*map_page)(struct device *dev , struct page *page , unsigned long offset ,
2571 size_t size , enum dma_data_direction dir , struct dma_attrs *attrs ) ;
2572 void (*unmap_page)(struct device *dev , dma_addr_t dma_handle , size_t size , enum dma_data_direction dir ,
2573 struct dma_attrs *attrs ) ;
2574 int (*map_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
2575 struct dma_attrs *attrs ) ;
2576 void (*unmap_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
2577 struct dma_attrs *attrs ) ;
2578 void (*sync_single_for_cpu)(struct device *dev , dma_addr_t dma_handle , size_t size ,
2579 enum dma_data_direction dir ) ;
2580 void (*sync_single_for_device)(struct device *dev , dma_addr_t dma_handle , size_t size ,
2581 enum dma_data_direction dir ) ;
2582 void (*sync_sg_for_cpu)(struct device *dev , struct scatterlist *sg , int nents ,
2583 enum dma_data_direction dir ) ;
2584 void (*sync_sg_for_device)(struct device *dev , struct scatterlist *sg , int nents ,
2585 enum dma_data_direction dir ) ;
2586 int (*mapping_error)(struct device *dev , dma_addr_t dma_addr ) ;
2587 int (*dma_supported)(struct device *dev , u64 mask ) ;
2588 int (*set_dma_mask)(struct device *dev , u64 mask ) ;
2589 int is_phys ;
2590};
2591#line 25 "include/linux/dma-debug.h"
2592struct device;
2593#line 26
2594struct scatterlist;
2595#line 27
2596struct bus_type;
2597#line 6 "include/linux/swiotlb.h"
2598struct device;
2599#line 7
2600struct dma_attrs;
2601#line 8
2602struct scatterlist;
2603#line 7 "include/asm-generic/cputime.h"
2604typedef unsigned long cputime_t;
2605#line 84 "include/linux/sem.h"
2606struct task_struct;
2607#line 101
2608struct sem_undo_list;
2609#line 101 "include/linux/sem.h"
2610struct sysv_sem {
2611 struct sem_undo_list *undo_list ;
2612};
2613#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2614struct siginfo;
2615#line 10
2616struct siginfo;
2617#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2618struct __anonstruct_sigset_t_238 {
2619 unsigned long sig[1] ;
2620};
2621#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2622typedef struct __anonstruct_sigset_t_238 sigset_t;
2623#line 17 "include/asm-generic/signal-defs.h"
2624typedef void __signalfn_t(int );
2625#line 18 "include/asm-generic/signal-defs.h"
2626typedef __signalfn_t *__sighandler_t;
2627#line 20 "include/asm-generic/signal-defs.h"
2628typedef void __restorefn_t(void);
2629#line 21 "include/asm-generic/signal-defs.h"
2630typedef __restorefn_t *__sigrestore_t;
2631#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2632struct sigaction {
2633 __sighandler_t sa_handler ;
2634 unsigned long sa_flags ;
2635 __sigrestore_t sa_restorer ;
2636 sigset_t sa_mask ;
2637};
2638#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2639struct k_sigaction {
2640 struct sigaction sa ;
2641};
2642#line 7 "include/asm-generic/siginfo.h"
2643union sigval {
2644 int sival_int ;
2645 void *sival_ptr ;
2646};
2647#line 7 "include/asm-generic/siginfo.h"
2648typedef union sigval sigval_t;
2649#line 48 "include/asm-generic/siginfo.h"
2650struct __anonstruct__kill_240 {
2651 __kernel_pid_t _pid ;
2652 __kernel_uid32_t _uid ;
2653};
2654#line 48 "include/asm-generic/siginfo.h"
2655struct __anonstruct__timer_241 {
2656 __kernel_timer_t _tid ;
2657 int _overrun ;
2658 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
2659 sigval_t _sigval ;
2660 int _sys_private ;
2661};
2662#line 48 "include/asm-generic/siginfo.h"
2663struct __anonstruct__rt_242 {
2664 __kernel_pid_t _pid ;
2665 __kernel_uid32_t _uid ;
2666 sigval_t _sigval ;
2667};
2668#line 48 "include/asm-generic/siginfo.h"
2669struct __anonstruct__sigchld_243 {
2670 __kernel_pid_t _pid ;
2671 __kernel_uid32_t _uid ;
2672 int _status ;
2673 __kernel_clock_t _utime ;
2674 __kernel_clock_t _stime ;
2675};
2676#line 48 "include/asm-generic/siginfo.h"
2677struct __anonstruct__sigfault_244 {
2678 void *_addr ;
2679 short _addr_lsb ;
2680};
2681#line 48 "include/asm-generic/siginfo.h"
2682struct __anonstruct__sigpoll_245 {
2683 long _band ;
2684 int _fd ;
2685};
2686#line 48 "include/asm-generic/siginfo.h"
2687union __anonunion__sifields_239 {
2688 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
2689 struct __anonstruct__kill_240 _kill ;
2690 struct __anonstruct__timer_241 _timer ;
2691 struct __anonstruct__rt_242 _rt ;
2692 struct __anonstruct__sigchld_243 _sigchld ;
2693 struct __anonstruct__sigfault_244 _sigfault ;
2694 struct __anonstruct__sigpoll_245 _sigpoll ;
2695};
2696#line 48 "include/asm-generic/siginfo.h"
2697struct siginfo {
2698 int si_signo ;
2699 int si_errno ;
2700 int si_code ;
2701 union __anonunion__sifields_239 _sifields ;
2702};
2703#line 48 "include/asm-generic/siginfo.h"
2704typedef struct siginfo siginfo_t;
2705#line 288
2706struct siginfo;
2707#line 10 "include/linux/signal.h"
2708struct task_struct;
2709#line 28 "include/linux/signal.h"
2710struct sigpending {
2711 struct list_head list ;
2712 sigset_t signal ;
2713};
2714#line 239
2715struct timespec;
2716#line 240
2717struct pt_regs;
2718#line 50 "include/linux/proportions.h"
2719struct prop_local_percpu {
2720 struct percpu_counter events ;
2721 int shift ;
2722 unsigned long period ;
2723 raw_spinlock_t lock ;
2724};
2725#line 10 "include/linux/seccomp.h"
2726struct __anonstruct_seccomp_t_248 {
2727 int mode ;
2728};
2729#line 10 "include/linux/seccomp.h"
2730typedef struct __anonstruct_seccomp_t_248 seccomp_t;
2731#line 81 "include/linux/plist.h"
2732struct plist_head {
2733 struct list_head node_list ;
2734};
2735#line 85 "include/linux/plist.h"
2736struct plist_node {
2737 int prio ;
2738 struct list_head prio_list ;
2739 struct list_head node_list ;
2740};
2741#line 40 "include/linux/rtmutex.h"
2742struct rt_mutex_waiter;
2743#line 40
2744struct rt_mutex_waiter;
2745#line 42 "include/linux/resource.h"
2746struct rlimit {
2747 unsigned long rlim_cur ;
2748 unsigned long rlim_max ;
2749};
2750#line 81
2751struct task_struct;
2752#line 8 "include/linux/timerqueue.h"
2753struct timerqueue_node {
2754 struct rb_node node ;
2755 ktime_t expires ;
2756};
2757#line 13 "include/linux/timerqueue.h"
2758struct timerqueue_head {
2759 struct rb_root head ;
2760 struct timerqueue_node *next ;
2761};
2762#line 27 "include/linux/hrtimer.h"
2763struct hrtimer_clock_base;
2764#line 27
2765struct hrtimer_clock_base;
2766#line 28
2767struct hrtimer_cpu_base;
2768#line 28
2769struct hrtimer_cpu_base;
2770#line 44
2771enum hrtimer_restart {
2772 HRTIMER_NORESTART = 0,
2773 HRTIMER_RESTART = 1
2774} ;
2775#line 108 "include/linux/hrtimer.h"
2776struct hrtimer {
2777 struct timerqueue_node node ;
2778 ktime_t _softexpires ;
2779 enum hrtimer_restart (*function)(struct hrtimer * ) ;
2780 struct hrtimer_clock_base *base ;
2781 unsigned long state ;
2782 int start_pid ;
2783 void *start_site ;
2784 char start_comm[16] ;
2785};
2786#line 145 "include/linux/hrtimer.h"
2787struct hrtimer_clock_base {
2788 struct hrtimer_cpu_base *cpu_base ;
2789 int index ;
2790 clockid_t clockid ;
2791 struct timerqueue_head active ;
2792 ktime_t resolution ;
2793 ktime_t (*get_time)(void) ;
2794 ktime_t softirq_time ;
2795 ktime_t offset ;
2796};
2797#line 178 "include/linux/hrtimer.h"
2798struct hrtimer_cpu_base {
2799 raw_spinlock_t lock ;
2800 unsigned long active_bases ;
2801 ktime_t expires_next ;
2802 int hres_active ;
2803 int hang_detected ;
2804 unsigned long nr_events ;
2805 unsigned long nr_retries ;
2806 unsigned long nr_hangs ;
2807 ktime_t max_hang_time ;
2808 struct hrtimer_clock_base clock_base[3] ;
2809};
2810#line 11 "include/linux/task_io_accounting.h"
2811struct task_io_accounting {
2812 u64 rchar ;
2813 u64 wchar ;
2814 u64 syscr ;
2815 u64 syscw ;
2816 u64 read_bytes ;
2817 u64 write_bytes ;
2818 u64 cancelled_write_bytes ;
2819};
2820#line 13 "include/linux/latencytop.h"
2821struct task_struct;
2822#line 20 "include/linux/latencytop.h"
2823struct latency_record {
2824 unsigned long backtrace[12] ;
2825 unsigned int count ;
2826 unsigned long time ;
2827 unsigned long max ;
2828};
2829#line 29 "include/linux/key.h"
2830typedef int32_t key_serial_t;
2831#line 32 "include/linux/key.h"
2832typedef uint32_t key_perm_t;
2833#line 34
2834struct key;
2835#line 34
2836struct key;
2837#line 74
2838struct seq_file;
2839#line 75
2840struct user_struct;
2841#line 76
2842struct signal_struct;
2843#line 76
2844struct signal_struct;
2845#line 77
2846struct cred;
2847#line 79
2848struct key_type;
2849#line 79
2850struct key_type;
2851#line 81
2852struct keyring_list;
2853#line 81
2854struct keyring_list;
2855#line 124
2856struct key_user;
2857#line 124 "include/linux/key.h"
2858union __anonunion____missing_field_name_249 {
2859 time_t expiry ;
2860 time_t revoked_at ;
2861};
2862#line 124 "include/linux/key.h"
2863union __anonunion_type_data_250 {
2864 struct list_head link ;
2865 unsigned long x[2] ;
2866 void *p[2] ;
2867 int reject_error ;
2868};
2869#line 124 "include/linux/key.h"
2870union __anonunion_payload_251 {
2871 unsigned long value ;
2872 void *rcudata ;
2873 void *data ;
2874 struct keyring_list *subscriptions ;
2875};
2876#line 124 "include/linux/key.h"
2877struct key {
2878 atomic_t usage ;
2879 key_serial_t serial ;
2880 struct rb_node serial_node ;
2881 struct key_type *type ;
2882 struct rw_semaphore sem ;
2883 struct key_user *user ;
2884 void *security ;
2885 union __anonunion____missing_field_name_249 __annonCompField45 ;
2886 uid_t uid ;
2887 gid_t gid ;
2888 key_perm_t perm ;
2889 unsigned short quotalen ;
2890 unsigned short datalen ;
2891 unsigned long flags ;
2892 char *description ;
2893 union __anonunion_type_data_250 type_data ;
2894 union __anonunion_payload_251 payload ;
2895};
2896#line 18 "include/linux/selinux.h"
2897struct audit_context;
2898#line 18
2899struct audit_context;
2900#line 21 "include/linux/cred.h"
2901struct user_struct;
2902#line 22
2903struct cred;
2904#line 23
2905struct inode;
2906#line 31 "include/linux/cred.h"
2907struct group_info {
2908 atomic_t usage ;
2909 int ngroups ;
2910 int nblocks ;
2911 gid_t small_block[32] ;
2912 gid_t *blocks[0] ;
2913};
2914#line 83 "include/linux/cred.h"
2915struct thread_group_cred {
2916 atomic_t usage ;
2917 pid_t tgid ;
2918 spinlock_t lock ;
2919 struct key *session_keyring ;
2920 struct key *process_keyring ;
2921 struct rcu_head rcu ;
2922};
2923#line 116 "include/linux/cred.h"
2924struct cred {
2925 atomic_t usage ;
2926 atomic_t subscribers ;
2927 void *put_addr ;
2928 unsigned int magic ;
2929 uid_t uid ;
2930 gid_t gid ;
2931 uid_t suid ;
2932 gid_t sgid ;
2933 uid_t euid ;
2934 gid_t egid ;
2935 uid_t fsuid ;
2936 gid_t fsgid ;
2937 unsigned int securebits ;
2938 kernel_cap_t cap_inheritable ;
2939 kernel_cap_t cap_permitted ;
2940 kernel_cap_t cap_effective ;
2941 kernel_cap_t cap_bset ;
2942 unsigned char jit_keyring ;
2943 struct key *thread_keyring ;
2944 struct key *request_key_auth ;
2945 struct thread_group_cred *tgcred ;
2946 void *security ;
2947 struct user_struct *user ;
2948 struct user_namespace *user_ns ;
2949 struct group_info *group_info ;
2950 struct rcu_head rcu ;
2951};
2952#line 61 "include/linux/llist.h"
2953struct llist_node;
2954#line 65 "include/linux/llist.h"
2955struct llist_node {
2956 struct llist_node *next ;
2957};
2958#line 97 "include/linux/sched.h"
2959struct futex_pi_state;
2960#line 97
2961struct futex_pi_state;
2962#line 98
2963struct robust_list_head;
2964#line 98
2965struct robust_list_head;
2966#line 99
2967struct bio_list;
2968#line 99
2969struct bio_list;
2970#line 100
2971struct fs_struct;
2972#line 100
2973struct fs_struct;
2974#line 101
2975struct perf_event_context;
2976#line 101
2977struct perf_event_context;
2978#line 102
2979struct blk_plug;
2980#line 102
2981struct blk_plug;
2982#line 150
2983struct seq_file;
2984#line 151
2985struct cfs_rq;
2986#line 151
2987struct cfs_rq;
2988#line 259
2989struct task_struct;
2990#line 366
2991struct nsproxy;
2992#line 367
2993struct user_namespace;
2994#line 58 "include/linux/aio_abi.h"
2995struct io_event {
2996 __u64 data ;
2997 __u64 obj ;
2998 __s64 res ;
2999 __s64 res2 ;
3000};
3001#line 16 "include/linux/uio.h"
3002struct iovec {
3003 void *iov_base ;
3004 __kernel_size_t iov_len ;
3005};
3006#line 15 "include/linux/aio.h"
3007struct kioctx;
3008#line 15
3009struct kioctx;
3010#line 87 "include/linux/aio.h"
3011union __anonunion_ki_obj_253 {
3012 void *user ;
3013 struct task_struct *tsk ;
3014};
3015#line 87
3016struct eventfd_ctx;
3017#line 87 "include/linux/aio.h"
3018struct kiocb {
3019 struct list_head ki_run_list ;
3020 unsigned long ki_flags ;
3021 int ki_users ;
3022 unsigned int ki_key ;
3023 struct file *ki_filp ;
3024 struct kioctx *ki_ctx ;
3025 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
3026 ssize_t (*ki_retry)(struct kiocb * ) ;
3027 void (*ki_dtor)(struct kiocb * ) ;
3028 union __anonunion_ki_obj_253 ki_obj ;
3029 __u64 ki_user_data ;
3030 loff_t ki_pos ;
3031 void *private ;
3032 unsigned short ki_opcode ;
3033 size_t ki_nbytes ;
3034 char *ki_buf ;
3035 size_t ki_left ;
3036 struct iovec ki_inline_vec ;
3037 struct iovec *ki_iovec ;
3038 unsigned long ki_nr_segs ;
3039 unsigned long ki_cur_seg ;
3040 struct list_head ki_list ;
3041 struct list_head ki_batch ;
3042 struct eventfd_ctx *ki_eventfd ;
3043};
3044#line 166 "include/linux/aio.h"
3045struct aio_ring_info {
3046 unsigned long mmap_base ;
3047 unsigned long mmap_size ;
3048 struct page **ring_pages ;
3049 spinlock_t ring_lock ;
3050 long nr_pages ;
3051 unsigned int nr ;
3052 unsigned int tail ;
3053 struct page *internal_pages[8] ;
3054};
3055#line 179 "include/linux/aio.h"
3056struct kioctx {
3057 atomic_t users ;
3058 int dead ;
3059 struct mm_struct *mm ;
3060 unsigned long user_id ;
3061 struct hlist_node list ;
3062 wait_queue_head_t wait ;
3063 spinlock_t ctx_lock ;
3064 int reqs_active ;
3065 struct list_head active_reqs ;
3066 struct list_head run_list ;
3067 unsigned int max_reqs ;
3068 struct aio_ring_info ring_info ;
3069 struct delayed_work wq ;
3070 struct rcu_head rcu_head ;
3071};
3072#line 214
3073struct mm_struct;
3074#line 443 "include/linux/sched.h"
3075struct sighand_struct {
3076 atomic_t count ;
3077 struct k_sigaction action[64] ;
3078 spinlock_t siglock ;
3079 wait_queue_head_t signalfd_wqh ;
3080};
3081#line 450 "include/linux/sched.h"
3082struct pacct_struct {
3083 int ac_flag ;
3084 long ac_exitcode ;
3085 unsigned long ac_mem ;
3086 cputime_t ac_utime ;
3087 cputime_t ac_stime ;
3088 unsigned long ac_minflt ;
3089 unsigned long ac_majflt ;
3090};
3091#line 458 "include/linux/sched.h"
3092struct cpu_itimer {
3093 cputime_t expires ;
3094 cputime_t incr ;
3095 u32 error ;
3096 u32 incr_error ;
3097};
3098#line 476 "include/linux/sched.h"
3099struct task_cputime {
3100 cputime_t utime ;
3101 cputime_t stime ;
3102 unsigned long long sum_exec_runtime ;
3103};
3104#line 512 "include/linux/sched.h"
3105struct thread_group_cputimer {
3106 struct task_cputime cputime ;
3107 int running ;
3108 raw_spinlock_t lock ;
3109};
3110#line 519
3111struct autogroup;
3112#line 519
3113struct autogroup;
3114#line 528
3115struct tty_struct;
3116#line 528
3117struct taskstats;
3118#line 528
3119struct tty_audit_buf;
3120#line 528 "include/linux/sched.h"
3121struct signal_struct {
3122 atomic_t sigcnt ;
3123 atomic_t live ;
3124 int nr_threads ;
3125 wait_queue_head_t wait_chldexit ;
3126 struct task_struct *curr_target ;
3127 struct sigpending shared_pending ;
3128 int group_exit_code ;
3129 int notify_count ;
3130 struct task_struct *group_exit_task ;
3131 int group_stop_count ;
3132 unsigned int flags ;
3133 unsigned int is_child_subreaper : 1 ;
3134 unsigned int has_child_subreaper : 1 ;
3135 struct list_head posix_timers ;
3136 struct hrtimer real_timer ;
3137 struct pid *leader_pid ;
3138 ktime_t it_real_incr ;
3139 struct cpu_itimer it[2] ;
3140 struct thread_group_cputimer cputimer ;
3141 struct task_cputime cputime_expires ;
3142 struct list_head cpu_timers[3] ;
3143 struct pid *tty_old_pgrp ;
3144 int leader ;
3145 struct tty_struct *tty ;
3146 struct autogroup *autogroup ;
3147 cputime_t utime ;
3148 cputime_t stime ;
3149 cputime_t cutime ;
3150 cputime_t cstime ;
3151 cputime_t gtime ;
3152 cputime_t cgtime ;
3153 cputime_t prev_utime ;
3154 cputime_t prev_stime ;
3155 unsigned long nvcsw ;
3156 unsigned long nivcsw ;
3157 unsigned long cnvcsw ;
3158 unsigned long cnivcsw ;
3159 unsigned long min_flt ;
3160 unsigned long maj_flt ;
3161 unsigned long cmin_flt ;
3162 unsigned long cmaj_flt ;
3163 unsigned long inblock ;
3164 unsigned long oublock ;
3165 unsigned long cinblock ;
3166 unsigned long coublock ;
3167 unsigned long maxrss ;
3168 unsigned long cmaxrss ;
3169 struct task_io_accounting ioac ;
3170 unsigned long long sum_sched_runtime ;
3171 struct rlimit rlim[16] ;
3172 struct pacct_struct pacct ;
3173 struct taskstats *stats ;
3174 unsigned int audit_tty ;
3175 struct tty_audit_buf *tty_audit_buf ;
3176 struct rw_semaphore group_rwsem ;
3177 int oom_adj ;
3178 int oom_score_adj ;
3179 int oom_score_adj_min ;
3180 struct mutex cred_guard_mutex ;
3181};
3182#line 703 "include/linux/sched.h"
3183struct user_struct {
3184 atomic_t __count ;
3185 atomic_t processes ;
3186 atomic_t files ;
3187 atomic_t sigpending ;
3188 atomic_t inotify_watches ;
3189 atomic_t inotify_devs ;
3190 atomic_t fanotify_listeners ;
3191 atomic_long_t epoll_watches ;
3192 unsigned long mq_bytes ;
3193 unsigned long locked_shm ;
3194 struct key *uid_keyring ;
3195 struct key *session_keyring ;
3196 struct hlist_node uidhash_node ;
3197 uid_t uid ;
3198 struct user_namespace *user_ns ;
3199 atomic_long_t locked_vm ;
3200};
3201#line 747
3202struct backing_dev_info;
3203#line 748
3204struct reclaim_state;
3205#line 748
3206struct reclaim_state;
3207#line 751 "include/linux/sched.h"
3208struct sched_info {
3209 unsigned long pcount ;
3210 unsigned long long run_delay ;
3211 unsigned long long last_arrival ;
3212 unsigned long long last_queued ;
3213};
3214#line 763 "include/linux/sched.h"
3215struct task_delay_info {
3216 spinlock_t lock ;
3217 unsigned int flags ;
3218 struct timespec blkio_start ;
3219 struct timespec blkio_end ;
3220 u64 blkio_delay ;
3221 u64 swapin_delay ;
3222 u32 blkio_count ;
3223 u32 swapin_count ;
3224 struct timespec freepages_start ;
3225 struct timespec freepages_end ;
3226 u64 freepages_delay ;
3227 u32 freepages_count ;
3228};
3229#line 1088
3230struct io_context;
3231#line 1088
3232struct io_context;
3233#line 1097
3234struct audit_context;
3235#line 1098
3236struct mempolicy;
3237#line 1099
3238struct pipe_inode_info;
3239#line 1102
3240struct rq;
3241#line 1102
3242struct rq;
3243#line 1122 "include/linux/sched.h"
3244struct sched_class {
3245 struct sched_class const *next ;
3246 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
3247 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
3248 void (*yield_task)(struct rq *rq ) ;
3249 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
3250 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
3251 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
3252 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
3253 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
3254 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
3255 void (*post_schedule)(struct rq *this_rq ) ;
3256 void (*task_waking)(struct task_struct *task ) ;
3257 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
3258 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
3259 void (*rq_online)(struct rq *rq ) ;
3260 void (*rq_offline)(struct rq *rq ) ;
3261 void (*set_curr_task)(struct rq *rq ) ;
3262 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
3263 void (*task_fork)(struct task_struct *p ) ;
3264 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
3265 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
3266 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
3267 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
3268 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
3269};
3270#line 1167 "include/linux/sched.h"
3271struct load_weight {
3272 unsigned long weight ;
3273 unsigned long inv_weight ;
3274};
3275#line 1172 "include/linux/sched.h"
3276struct sched_statistics {
3277 u64 wait_start ;
3278 u64 wait_max ;
3279 u64 wait_count ;
3280 u64 wait_sum ;
3281 u64 iowait_count ;
3282 u64 iowait_sum ;
3283 u64 sleep_start ;
3284 u64 sleep_max ;
3285 s64 sum_sleep_runtime ;
3286 u64 block_start ;
3287 u64 block_max ;
3288 u64 exec_max ;
3289 u64 slice_max ;
3290 u64 nr_migrations_cold ;
3291 u64 nr_failed_migrations_affine ;
3292 u64 nr_failed_migrations_running ;
3293 u64 nr_failed_migrations_hot ;
3294 u64 nr_forced_migrations ;
3295 u64 nr_wakeups ;
3296 u64 nr_wakeups_sync ;
3297 u64 nr_wakeups_migrate ;
3298 u64 nr_wakeups_local ;
3299 u64 nr_wakeups_remote ;
3300 u64 nr_wakeups_affine ;
3301 u64 nr_wakeups_affine_attempts ;
3302 u64 nr_wakeups_passive ;
3303 u64 nr_wakeups_idle ;
3304};
3305#line 1207 "include/linux/sched.h"
3306struct sched_entity {
3307 struct load_weight load ;
3308 struct rb_node run_node ;
3309 struct list_head group_node ;
3310 unsigned int on_rq ;
3311 u64 exec_start ;
3312 u64 sum_exec_runtime ;
3313 u64 vruntime ;
3314 u64 prev_sum_exec_runtime ;
3315 u64 nr_migrations ;
3316 struct sched_statistics statistics ;
3317 struct sched_entity *parent ;
3318 struct cfs_rq *cfs_rq ;
3319 struct cfs_rq *my_q ;
3320};
3321#line 1233
3322struct rt_rq;
3323#line 1233 "include/linux/sched.h"
3324struct sched_rt_entity {
3325 struct list_head run_list ;
3326 unsigned long timeout ;
3327 unsigned int time_slice ;
3328 int nr_cpus_allowed ;
3329 struct sched_rt_entity *back ;
3330 struct sched_rt_entity *parent ;
3331 struct rt_rq *rt_rq ;
3332 struct rt_rq *my_q ;
3333};
3334#line 1264
3335struct css_set;
3336#line 1264
3337struct compat_robust_list_head;
3338#line 1264
3339struct mem_cgroup;
3340#line 1264 "include/linux/sched.h"
3341struct memcg_batch_info {
3342 int do_batch ;
3343 struct mem_cgroup *memcg ;
3344 unsigned long nr_pages ;
3345 unsigned long memsw_nr_pages ;
3346};
3347#line 1264 "include/linux/sched.h"
3348struct task_struct {
3349 long volatile state ;
3350 void *stack ;
3351 atomic_t usage ;
3352 unsigned int flags ;
3353 unsigned int ptrace ;
3354 struct llist_node wake_entry ;
3355 int on_cpu ;
3356 int on_rq ;
3357 int prio ;
3358 int static_prio ;
3359 int normal_prio ;
3360 unsigned int rt_priority ;
3361 struct sched_class const *sched_class ;
3362 struct sched_entity se ;
3363 struct sched_rt_entity rt ;
3364 struct hlist_head preempt_notifiers ;
3365 unsigned char fpu_counter ;
3366 unsigned int policy ;
3367 cpumask_t cpus_allowed ;
3368 struct sched_info sched_info ;
3369 struct list_head tasks ;
3370 struct plist_node pushable_tasks ;
3371 struct mm_struct *mm ;
3372 struct mm_struct *active_mm ;
3373 unsigned int brk_randomized : 1 ;
3374 int exit_state ;
3375 int exit_code ;
3376 int exit_signal ;
3377 int pdeath_signal ;
3378 unsigned int jobctl ;
3379 unsigned int personality ;
3380 unsigned int did_exec : 1 ;
3381 unsigned int in_execve : 1 ;
3382 unsigned int in_iowait : 1 ;
3383 unsigned int sched_reset_on_fork : 1 ;
3384 unsigned int sched_contributes_to_load : 1 ;
3385 unsigned int irq_thread : 1 ;
3386 pid_t pid ;
3387 pid_t tgid ;
3388 unsigned long stack_canary ;
3389 struct task_struct *real_parent ;
3390 struct task_struct *parent ;
3391 struct list_head children ;
3392 struct list_head sibling ;
3393 struct task_struct *group_leader ;
3394 struct list_head ptraced ;
3395 struct list_head ptrace_entry ;
3396 struct pid_link pids[3] ;
3397 struct list_head thread_group ;
3398 struct completion *vfork_done ;
3399 int *set_child_tid ;
3400 int *clear_child_tid ;
3401 cputime_t utime ;
3402 cputime_t stime ;
3403 cputime_t utimescaled ;
3404 cputime_t stimescaled ;
3405 cputime_t gtime ;
3406 cputime_t prev_utime ;
3407 cputime_t prev_stime ;
3408 unsigned long nvcsw ;
3409 unsigned long nivcsw ;
3410 struct timespec start_time ;
3411 struct timespec real_start_time ;
3412 unsigned long min_flt ;
3413 unsigned long maj_flt ;
3414 struct task_cputime cputime_expires ;
3415 struct list_head cpu_timers[3] ;
3416 struct cred const *real_cred ;
3417 struct cred const *cred ;
3418 struct cred *replacement_session_keyring ;
3419 char comm[16] ;
3420 int link_count ;
3421 int total_link_count ;
3422 struct sysv_sem sysvsem ;
3423 unsigned long last_switch_count ;
3424 struct thread_struct thread ;
3425 struct fs_struct *fs ;
3426 struct files_struct *files ;
3427 struct nsproxy *nsproxy ;
3428 struct signal_struct *signal ;
3429 struct sighand_struct *sighand ;
3430 sigset_t blocked ;
3431 sigset_t real_blocked ;
3432 sigset_t saved_sigmask ;
3433 struct sigpending pending ;
3434 unsigned long sas_ss_sp ;
3435 size_t sas_ss_size ;
3436 int (*notifier)(void *priv ) ;
3437 void *notifier_data ;
3438 sigset_t *notifier_mask ;
3439 struct audit_context *audit_context ;
3440 uid_t loginuid ;
3441 unsigned int sessionid ;
3442 seccomp_t seccomp ;
3443 u32 parent_exec_id ;
3444 u32 self_exec_id ;
3445 spinlock_t alloc_lock ;
3446 raw_spinlock_t pi_lock ;
3447 struct plist_head pi_waiters ;
3448 struct rt_mutex_waiter *pi_blocked_on ;
3449 struct mutex_waiter *blocked_on ;
3450 unsigned int irq_events ;
3451 unsigned long hardirq_enable_ip ;
3452 unsigned long hardirq_disable_ip ;
3453 unsigned int hardirq_enable_event ;
3454 unsigned int hardirq_disable_event ;
3455 int hardirqs_enabled ;
3456 int hardirq_context ;
3457 unsigned long softirq_disable_ip ;
3458 unsigned long softirq_enable_ip ;
3459 unsigned int softirq_disable_event ;
3460 unsigned int softirq_enable_event ;
3461 int softirqs_enabled ;
3462 int softirq_context ;
3463 void *journal_info ;
3464 struct bio_list *bio_list ;
3465 struct blk_plug *plug ;
3466 struct reclaim_state *reclaim_state ;
3467 struct backing_dev_info *backing_dev_info ;
3468 struct io_context *io_context ;
3469 unsigned long ptrace_message ;
3470 siginfo_t *last_siginfo ;
3471 struct task_io_accounting ioac ;
3472 u64 acct_rss_mem1 ;
3473 u64 acct_vm_mem1 ;
3474 cputime_t acct_timexpd ;
3475 nodemask_t mems_allowed ;
3476 seqcount_t mems_allowed_seq ;
3477 int cpuset_mem_spread_rotor ;
3478 int cpuset_slab_spread_rotor ;
3479 struct css_set *cgroups ;
3480 struct list_head cg_list ;
3481 struct robust_list_head *robust_list ;
3482 struct compat_robust_list_head *compat_robust_list ;
3483 struct list_head pi_state_list ;
3484 struct futex_pi_state *pi_state_cache ;
3485 struct perf_event_context *perf_event_ctxp[2] ;
3486 struct mutex perf_event_mutex ;
3487 struct list_head perf_event_list ;
3488 struct mempolicy *mempolicy ;
3489 short il_next ;
3490 short pref_node_fork ;
3491 struct rcu_head rcu ;
3492 struct pipe_inode_info *splice_pipe ;
3493 struct task_delay_info *delays ;
3494 int make_it_fail ;
3495 int nr_dirtied ;
3496 int nr_dirtied_pause ;
3497 unsigned long dirty_paused_when ;
3498 int latency_record_count ;
3499 struct latency_record latency_record[32] ;
3500 unsigned long timer_slack_ns ;
3501 unsigned long default_timer_slack_ns ;
3502 struct list_head *scm_work_list ;
3503 unsigned long trace ;
3504 unsigned long trace_recursion ;
3505 struct memcg_batch_info memcg_batch ;
3506 atomic_t ptrace_bp_refcnt ;
3507};
3508#line 1681
3509struct pid_namespace;
3510#line 82 "include/linux/genhd.h"
3511struct disk_stats {
3512 unsigned long sectors[2] ;
3513 unsigned long ios[2] ;
3514 unsigned long merges[2] ;
3515 unsigned long ticks[2] ;
3516 unsigned long io_ticks ;
3517 unsigned long time_in_queue ;
3518};
3519#line 94 "include/linux/genhd.h"
3520struct partition_meta_info {
3521 u8 uuid[16] ;
3522 u8 volname[64] ;
3523};
3524#line 99 "include/linux/genhd.h"
3525struct hd_struct {
3526 sector_t start_sect ;
3527 sector_t nr_sects ;
3528 sector_t alignment_offset ;
3529 unsigned int discard_alignment ;
3530 struct device __dev ;
3531 struct kobject *holder_dir ;
3532 int policy ;
3533 int partno ;
3534 struct partition_meta_info *info ;
3535 int make_it_fail ;
3536 unsigned long stamp ;
3537 atomic_t in_flight[2] ;
3538 struct disk_stats *dkstats ;
3539 atomic_t ref ;
3540 struct rcu_head rcu_head ;
3541};
3542#line 147 "include/linux/genhd.h"
3543struct disk_part_tbl {
3544 struct rcu_head rcu_head ;
3545 int len ;
3546 struct hd_struct *last_lookup ;
3547 struct hd_struct *part[] ;
3548};
3549#line 154
3550struct disk_events;
3551#line 154
3552struct disk_events;
3553#line 156
3554struct timer_rand_state;
3555#line 156
3556struct blk_integrity;
3557#line 156 "include/linux/genhd.h"
3558struct gendisk {
3559 int major ;
3560 int first_minor ;
3561 int minors ;
3562 char disk_name[32] ;
3563 char *(*devnode)(struct gendisk *gd , umode_t *mode ) ;
3564 unsigned int events ;
3565 unsigned int async_events ;
3566 struct disk_part_tbl *part_tbl ;
3567 struct hd_struct part0 ;
3568 struct block_device_operations const *fops ;
3569 struct request_queue *queue ;
3570 void *private_data ;
3571 int flags ;
3572 struct device *driverfs_dev ;
3573 struct kobject *slave_dir ;
3574 struct timer_rand_state *random ;
3575 atomic_t sync_io ;
3576 struct disk_events *ev ;
3577 struct blk_integrity *integrity ;
3578 int node_id ;
3579};
3580#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
3581struct exception_table_entry {
3582 unsigned long insn ;
3583 unsigned long fixup ;
3584};
3585#line 31 "include/linux/irq.h"
3586struct seq_file;
3587#line 32
3588struct module;
3589#line 13 "include/linux/irqdesc.h"
3590struct timer_rand_state;
3591#line 14
3592struct module;
3593#line 17 "include/linux/profile.h"
3594struct pt_regs;
3595#line 65
3596struct task_struct;
3597#line 66
3598struct mm_struct;
3599#line 88
3600struct pt_regs;
3601#line 132 "include/linux/hardirq.h"
3602struct task_struct;
3603#line 28 "include/linux/writeback.h"
3604struct backing_dev_info;
3605#line 33
3606enum writeback_sync_modes {
3607 WB_SYNC_NONE = 0,
3608 WB_SYNC_ALL = 1
3609} ;
3610#line 60 "include/linux/writeback.h"
3611struct writeback_control {
3612 enum writeback_sync_modes sync_mode ;
3613 long nr_to_write ;
3614 long pages_skipped ;
3615 loff_t range_start ;
3616 loff_t range_end ;
3617 unsigned int for_kupdate : 1 ;
3618 unsigned int for_background : 1 ;
3619 unsigned int tagged_writepages : 1 ;
3620 unsigned int for_reclaim : 1 ;
3621 unsigned int range_cyclic : 1 ;
3622};
3623#line 84
3624struct bdi_writeback;
3625#line 84
3626struct bdi_writeback;
3627#line 21 "include/linux/backing-dev.h"
3628struct page;
3629#line 22
3630struct device;
3631#line 23
3632struct dentry;
3633#line 38 "include/linux/backing-dev.h"
3634typedef int congested_fn(void * , int );
3635#line 50 "include/linux/backing-dev.h"
3636struct bdi_writeback {
3637 struct backing_dev_info *bdi ;
3638 unsigned int nr ;
3639 unsigned long last_old_flush ;
3640 unsigned long last_active ;
3641 struct task_struct *task ;
3642 struct timer_list wakeup_timer ;
3643 struct list_head b_dirty ;
3644 struct list_head b_io ;
3645 struct list_head b_more_io ;
3646 spinlock_t list_lock ;
3647};
3648#line 65 "include/linux/backing-dev.h"
3649struct backing_dev_info {
3650 struct list_head bdi_list ;
3651 unsigned long ra_pages ;
3652 unsigned long state ;
3653 unsigned int capabilities ;
3654 congested_fn *congested_fn ;
3655 void *congested_data ;
3656 char *name ;
3657 struct percpu_counter bdi_stat[4] ;
3658 unsigned long bw_time_stamp ;
3659 unsigned long dirtied_stamp ;
3660 unsigned long written_stamp ;
3661 unsigned long write_bandwidth ;
3662 unsigned long avg_write_bandwidth ;
3663 unsigned long dirty_ratelimit ;
3664 unsigned long balanced_dirty_ratelimit ;
3665 struct prop_local_percpu completions ;
3666 int dirty_exceeded ;
3667 unsigned int min_ratio ;
3668 unsigned int max_ratio ;
3669 unsigned int max_prop_frac ;
3670 struct bdi_writeback wb ;
3671 spinlock_t wb_lock ;
3672 struct list_head work_list ;
3673 struct device *dev ;
3674 struct timer_list laptop_mode_wb_timer ;
3675 struct dentry *debug_dir ;
3676 struct dentry *debug_stats ;
3677};
3678#line 9 "include/linux/mempool.h"
3679struct kmem_cache;
3680#line 11 "include/linux/mempool.h"
3681typedef void *mempool_alloc_t(gfp_t gfp_mask , void *pool_data );
3682#line 12 "include/linux/mempool.h"
3683typedef void mempool_free_t(void *element , void *pool_data );
3684#line 14 "include/linux/mempool.h"
3685struct mempool_s {
3686 spinlock_t lock ;
3687 int min_nr ;
3688 int curr_nr ;
3689 void **elements ;
3690 void *pool_data ;
3691 mempool_alloc_t *alloc ;
3692 mempool_free_t *free ;
3693 wait_queue_head_t wait ;
3694};
3695#line 14 "include/linux/mempool.h"
3696typedef struct mempool_s mempool_t;
3697#line 75 "include/linux/iocontext.h"
3698union __anonunion____missing_field_name_264 {
3699 struct list_head q_node ;
3700 struct kmem_cache *__rcu_icq_cache ;
3701};
3702#line 75 "include/linux/iocontext.h"
3703union __anonunion____missing_field_name_265 {
3704 struct hlist_node ioc_node ;
3705 struct rcu_head __rcu_head ;
3706};
3707#line 75 "include/linux/iocontext.h"
3708struct io_cq {
3709 struct request_queue *q ;
3710 struct io_context *ioc ;
3711 union __anonunion____missing_field_name_264 __annonCompField47 ;
3712 union __anonunion____missing_field_name_265 __annonCompField48 ;
3713 unsigned int flags ;
3714};
3715#line 101 "include/linux/iocontext.h"
3716struct io_context {
3717 atomic_long_t refcount ;
3718 atomic_t nr_tasks ;
3719 spinlock_t lock ;
3720 unsigned short ioprio ;
3721 int nr_batch_requests ;
3722 unsigned long last_waited ;
3723 struct radix_tree_root icq_tree ;
3724 struct io_cq *icq_hint ;
3725 struct hlist_head icq_list ;
3726 struct work_struct release_work ;
3727};
3728#line 137
3729struct task_struct;
3730#line 170 "include/linux/bio.h"
3731struct bio_integrity_payload {
3732 struct bio *bip_bio ;
3733 sector_t bip_sector ;
3734 void *bip_buf ;
3735 bio_end_io_t *bip_end_io ;
3736 unsigned int bip_size ;
3737 unsigned short bip_slab ;
3738 unsigned short bip_vcnt ;
3739 unsigned short bip_idx ;
3740 struct work_struct bip_work ;
3741 struct bio_vec bip_vec[0] ;
3742};
3743#line 222
3744struct request_queue;
3745#line 374 "include/linux/bio.h"
3746struct bio_list {
3747 struct bio *head ;
3748 struct bio *tail ;
3749};
3750#line 67 "include/linux/bsg.h"
3751struct bsg_class_device {
3752 struct device *class_dev ;
3753 struct device *parent ;
3754 int minor ;
3755 struct request_queue *queue ;
3756 struct kref ref ;
3757 void (*release)(struct device * ) ;
3758};
3759#line 25 "include/linux/blkdev.h"
3760struct module;
3761#line 28
3762struct request_queue;
3763#line 29
3764struct elevator_queue;
3765#line 29
3766struct elevator_queue;
3767#line 32
3768struct request;
3769#line 32
3770struct request;
3771#line 34
3772struct bsg_job;
3773#line 34
3774struct bsg_job;
3775#line 39
3776struct request;
3777#line 40 "include/linux/blkdev.h"
3778typedef void rq_end_io_fn(struct request * , int );
3779#line 42 "include/linux/blkdev.h"
3780struct request_list {
3781 int count[2] ;
3782 int starved[2] ;
3783 int elvpriv ;
3784 mempool_t *rq_pool ;
3785 wait_queue_head_t wait[2] ;
3786};
3787#line 57
3788enum rq_cmd_type_bits {
3789 REQ_TYPE_FS = 1,
3790 REQ_TYPE_BLOCK_PC = 2,
3791 REQ_TYPE_SENSE = 3,
3792 REQ_TYPE_PM_SUSPEND = 4,
3793 REQ_TYPE_PM_RESUME = 5,
3794 REQ_TYPE_PM_SHUTDOWN = 6,
3795 REQ_TYPE_SPECIAL = 7,
3796 REQ_TYPE_ATA_TASKFILE = 8,
3797 REQ_TYPE_ATA_PC = 9
3798} ;
3799#line 81 "include/linux/blkdev.h"
3800union __anonunion____missing_field_name_268 {
3801 struct rb_node rb_node ;
3802 void *completion_data ;
3803};
3804#line 81 "include/linux/blkdev.h"
3805struct __anonstruct_elv_270 {
3806 struct io_cq *icq ;
3807 void *priv[2] ;
3808};
3809#line 81 "include/linux/blkdev.h"
3810struct __anonstruct_flush_271 {
3811 unsigned int seq ;
3812 struct list_head list ;
3813 rq_end_io_fn *saved_end_io ;
3814};
3815#line 81 "include/linux/blkdev.h"
3816union __anonunion____missing_field_name_269 {
3817 struct __anonstruct_elv_270 elv ;
3818 struct __anonstruct_flush_271 flush ;
3819};
3820#line 81 "include/linux/blkdev.h"
3821struct request {
3822 struct list_head queuelist ;
3823 struct call_single_data csd ;
3824 struct request_queue *q ;
3825 unsigned int cmd_flags ;
3826 enum rq_cmd_type_bits cmd_type ;
3827 unsigned long atomic_flags ;
3828 int cpu ;
3829 unsigned int __data_len ;
3830 sector_t __sector ;
3831 struct bio *bio ;
3832 struct bio *biotail ;
3833 struct hlist_node hash ;
3834 union __anonunion____missing_field_name_268 __annonCompField49 ;
3835 union __anonunion____missing_field_name_269 __annonCompField50 ;
3836 struct gendisk *rq_disk ;
3837 struct hd_struct *part ;
3838 unsigned long start_time ;
3839 unsigned short nr_phys_segments ;
3840 unsigned short nr_integrity_segments ;
3841 unsigned short ioprio ;
3842 int ref_count ;
3843 void *special ;
3844 char *buffer ;
3845 int tag ;
3846 int errors ;
3847 unsigned char __cmd[16] ;
3848 unsigned char *cmd ;
3849 unsigned short cmd_len ;
3850 unsigned int extra_len ;
3851 unsigned int sense_len ;
3852 unsigned int resid_len ;
3853 void *sense ;
3854 unsigned long deadline ;
3855 struct list_head timeout_list ;
3856 unsigned int timeout ;
3857 int retries ;
3858 rq_end_io_fn *end_io ;
3859 void *end_io_data ;
3860 struct request *next_rq ;
3861};
3862#line 8 "include/linux/elevator.h"
3863struct io_cq;
3864#line 10 "include/linux/elevator.h"
3865typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
3866#line 13 "include/linux/elevator.h"
3867typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
3868#line 15 "include/linux/elevator.h"
3869typedef void elevator_merged_fn(struct request_queue * , struct request * , int );
3870#line 17 "include/linux/elevator.h"
3871typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
3872#line 19 "include/linux/elevator.h"
3873typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
3874#line 22 "include/linux/elevator.h"
3875typedef int elevator_dispatch_fn(struct request_queue * , int );
3876#line 24 "include/linux/elevator.h"
3877typedef void elevator_add_req_fn(struct request_queue * , struct request * );
3878#line 25 "include/linux/elevator.h"
3879typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
3880#line 26 "include/linux/elevator.h"
3881typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
3882#line 27 "include/linux/elevator.h"
3883typedef int elevator_may_queue_fn(struct request_queue * , int );
3884#line 29 "include/linux/elevator.h"
3885typedef void elevator_init_icq_fn(struct io_cq * );
3886#line 30 "include/linux/elevator.h"
3887typedef void elevator_exit_icq_fn(struct io_cq * );
3888#line 31 "include/linux/elevator.h"
3889typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t );
3890#line 32 "include/linux/elevator.h"
3891typedef void elevator_put_req_fn(struct request * );
3892#line 33 "include/linux/elevator.h"
3893typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
3894#line 34 "include/linux/elevator.h"
3895typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
3896#line 36 "include/linux/elevator.h"
3897typedef void *elevator_init_fn(struct request_queue * );
3898#line 37 "include/linux/elevator.h"
3899typedef void elevator_exit_fn(struct elevator_queue * );
3900#line 39 "include/linux/elevator.h"
3901struct elevator_ops {
3902 elevator_merge_fn *elevator_merge_fn ;
3903 elevator_merged_fn *elevator_merged_fn ;
3904 elevator_merge_req_fn *elevator_merge_req_fn ;
3905 elevator_allow_merge_fn *elevator_allow_merge_fn ;
3906 elevator_bio_merged_fn *elevator_bio_merged_fn ;
3907 elevator_dispatch_fn *elevator_dispatch_fn ;
3908 elevator_add_req_fn *elevator_add_req_fn ;
3909 elevator_activate_req_fn *elevator_activate_req_fn ;
3910 elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
3911 elevator_completed_req_fn *elevator_completed_req_fn ;
3912 elevator_request_list_fn *elevator_former_req_fn ;
3913 elevator_request_list_fn *elevator_latter_req_fn ;
3914 elevator_init_icq_fn *elevator_init_icq_fn ;
3915 elevator_exit_icq_fn *elevator_exit_icq_fn ;
3916 elevator_set_req_fn *elevator_set_req_fn ;
3917 elevator_put_req_fn *elevator_put_req_fn ;
3918 elevator_may_queue_fn *elevator_may_queue_fn ;
3919 elevator_init_fn *elevator_init_fn ;
3920 elevator_exit_fn *elevator_exit_fn ;
3921};
3922#line 71 "include/linux/elevator.h"
3923struct elv_fs_entry {
3924 struct attribute attr ;
3925 ssize_t (*show)(struct elevator_queue * , char * ) ;
3926 ssize_t (*store)(struct elevator_queue * , char const * , size_t ) ;
3927};
3928#line 80 "include/linux/elevator.h"
3929struct elevator_type {
3930 struct kmem_cache *icq_cache ;
3931 struct elevator_ops ops ;
3932 size_t icq_size ;
3933 size_t icq_align ;
3934 struct elv_fs_entry *elevator_attrs ;
3935 char elevator_name[16] ;
3936 struct module *elevator_owner ;
3937 char icq_cache_name[21] ;
3938 struct list_head list ;
3939};
3940#line 101 "include/linux/elevator.h"
3941struct elevator_queue {
3942 struct elevator_type *type ;
3943 void *elevator_data ;
3944 struct kobject kobj ;
3945 struct mutex sysfs_lock ;
3946 struct hlist_head *hash ;
3947 unsigned int registered : 1 ;
3948};
3949#line 202 "include/linux/blkdev.h"
3950typedef void request_fn_proc(struct request_queue *q );
3951#line 203 "include/linux/blkdev.h"
3952typedef void make_request_fn(struct request_queue *q , struct bio *bio );
3953#line 204 "include/linux/blkdev.h"
3954typedef int prep_rq_fn(struct request_queue * , struct request * );
3955#line 205 "include/linux/blkdev.h"
3956typedef void unprep_rq_fn(struct request_queue * , struct request * );
3957#line 207
3958struct bio_vec;
3959#line 208 "include/linux/blkdev.h"
3960struct bvec_merge_data {
3961 struct block_device *bi_bdev ;
3962 sector_t bi_sector ;
3963 unsigned int bi_size ;
3964 unsigned long bi_rw ;
3965};
3966#line 214 "include/linux/blkdev.h"
3967typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
3968#line 216 "include/linux/blkdev.h"
3969typedef void softirq_done_fn(struct request * );
3970#line 217 "include/linux/blkdev.h"
3971typedef int dma_drain_needed_fn(struct request * );
3972#line 218 "include/linux/blkdev.h"
3973typedef int lld_busy_fn(struct request_queue *q );
3974#line 219 "include/linux/blkdev.h"
3975typedef int bsg_job_fn(struct bsg_job * );
3976#line 221
3977enum blk_eh_timer_return {
3978 BLK_EH_NOT_HANDLED = 0,
3979 BLK_EH_HANDLED = 1,
3980 BLK_EH_RESET_TIMER = 2
3981} ;
3982#line 227 "include/linux/blkdev.h"
3983typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
3984#line 234 "include/linux/blkdev.h"
3985struct blk_queue_tag {
3986 struct request **tag_index ;
3987 unsigned long *tag_map ;
3988 int busy ;
3989 int max_depth ;
3990 int real_max_depth ;
3991 atomic_t refcnt ;
3992};
3993#line 246 "include/linux/blkdev.h"
3994struct queue_limits {
3995 unsigned long bounce_pfn ;
3996 unsigned long seg_boundary_mask ;
3997 unsigned int max_hw_sectors ;
3998 unsigned int max_sectors ;
3999 unsigned int max_segment_size ;
4000 unsigned int physical_block_size ;
4001 unsigned int alignment_offset ;
4002 unsigned int io_min ;
4003 unsigned int io_opt ;
4004 unsigned int max_discard_sectors ;
4005 unsigned int discard_granularity ;
4006 unsigned int discard_alignment ;
4007 unsigned short logical_block_size ;
4008 unsigned short max_segments ;
4009 unsigned short max_integrity_segments ;
4010 unsigned char misaligned ;
4011 unsigned char discard_misaligned ;
4012 unsigned char cluster ;
4013 unsigned char discard_zeroes_data ;
4014};
4015#line 271 "include/linux/blkdev.h"
4016struct request_queue {
4017 struct list_head queue_head ;
4018 struct request *last_merge ;
4019 struct elevator_queue *elevator ;
4020 struct request_list rq ;
4021 request_fn_proc *request_fn ;
4022 make_request_fn *make_request_fn ;
4023 prep_rq_fn *prep_rq_fn ;
4024 unprep_rq_fn *unprep_rq_fn ;
4025 merge_bvec_fn *merge_bvec_fn ;
4026 softirq_done_fn *softirq_done_fn ;
4027 rq_timed_out_fn *rq_timed_out_fn ;
4028 dma_drain_needed_fn *dma_drain_needed ;
4029 lld_busy_fn *lld_busy_fn ;
4030 sector_t end_sector ;
4031 struct request *boundary_rq ;
4032 struct delayed_work delay_work ;
4033 struct backing_dev_info backing_dev_info ;
4034 void *queuedata ;
4035 unsigned long queue_flags ;
4036 int id ;
4037 gfp_t bounce_gfp ;
4038 spinlock_t __queue_lock ;
4039 spinlock_t *queue_lock ;
4040 struct kobject kobj ;
4041 unsigned long nr_requests ;
4042 unsigned int nr_congestion_on ;
4043 unsigned int nr_congestion_off ;
4044 unsigned int nr_batching ;
4045 unsigned int dma_drain_size ;
4046 void *dma_drain_buffer ;
4047 unsigned int dma_pad_mask ;
4048 unsigned int dma_alignment ;
4049 struct blk_queue_tag *queue_tags ;
4050 struct list_head tag_busy_list ;
4051 unsigned int nr_sorted ;
4052 unsigned int in_flight[2] ;
4053 unsigned int rq_timeout ;
4054 struct timer_list timeout ;
4055 struct list_head timeout_list ;
4056 struct list_head icq_list ;
4057 struct queue_limits limits ;
4058 unsigned int sg_timeout ;
4059 unsigned int sg_reserved_size ;
4060 int node ;
4061 unsigned int flush_flags ;
4062 unsigned int flush_not_queueable : 1 ;
4063 unsigned int flush_queue_delayed : 1 ;
4064 unsigned int flush_pending_idx : 1 ;
4065 unsigned int flush_running_idx : 1 ;
4066 unsigned long flush_pending_since ;
4067 struct list_head flush_queue[2] ;
4068 struct list_head flush_data_in_flight ;
4069 struct request flush_rq ;
4070 struct mutex sysfs_lock ;
4071 bsg_job_fn *bsg_job_fn ;
4072 int bsg_job_size ;
4073 struct bsg_class_device bsg_dev ;
4074};
4075#line 889 "include/linux/blkdev.h"
4076struct blk_plug {
4077 unsigned long magic ;
4078 struct list_head list ;
4079 struct list_head cb_list ;
4080 unsigned int should_sort ;
4081};
4082#line 1165
4083struct work_struct;
4084#line 1220 "include/linux/blkdev.h"
4085struct blk_integrity_exchg {
4086 void *prot_buf ;
4087 void *data_buf ;
4088 sector_t sector ;
4089 unsigned int data_size ;
4090 unsigned short sector_size ;
4091 char const *disk_name ;
4092};
4093#line 1229 "include/linux/blkdev.h"
4094typedef void integrity_gen_fn(struct blk_integrity_exchg * );
4095#line 1230 "include/linux/blkdev.h"
4096typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
4097#line 1231 "include/linux/blkdev.h"
4098typedef void integrity_set_tag_fn(void * , void * , unsigned int );
4099#line 1232 "include/linux/blkdev.h"
4100typedef void integrity_get_tag_fn(void * , void * , unsigned int );
4101#line 1234 "include/linux/blkdev.h"
4102struct blk_integrity {
4103 integrity_gen_fn *generate_fn ;
4104 integrity_vrfy_fn *verify_fn ;
4105 integrity_set_tag_fn *set_tag_fn ;
4106 integrity_get_tag_fn *get_tag_fn ;
4107 unsigned short flags ;
4108 unsigned short tuple_size ;
4109 unsigned short sector_size ;
4110 unsigned short tag_size ;
4111 char const *name ;
4112 struct kobject kobj ;
4113};
4114#line 1362 "include/linux/blkdev.h"
4115struct block_device_operations {
4116 int (*open)(struct block_device * , fmode_t ) ;
4117 int (*release)(struct gendisk * , fmode_t ) ;
4118 int (*ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
4119 int (*compat_ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
4120 int (*direct_access)(struct block_device * , sector_t , void ** , unsigned long * ) ;
4121 unsigned int (*check_events)(struct gendisk *disk , unsigned int clearing ) ;
4122 int (*media_changed)(struct gendisk * ) ;
4123 void (*unlock_native_capacity)(struct gendisk * ) ;
4124 int (*revalidate_disk)(struct gendisk * ) ;
4125 int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
4126 void (*swap_slot_free_notify)(struct block_device * , unsigned long ) ;
4127 struct module *owner ;
4128};
4129#line 12 "include/scsi/scsi_cmnd.h"
4130struct scsi_device;
4131#line 12
4132struct scsi_device;
4133#line 32 "include/scsi/scsi_cmnd.h"
4134struct scsi_data_buffer {
4135 struct sg_table table ;
4136 unsigned int length ;
4137 int resid ;
4138};
4139#line 39 "include/scsi/scsi_cmnd.h"
4140struct scsi_pointer {
4141 char *ptr ;
4142 int this_residual ;
4143 struct scatterlist *buffer ;
4144 int buffers_residual ;
4145 dma_addr_t dma_handle ;
4146 int volatile Status ;
4147 int volatile Message ;
4148 int volatile have_data_in ;
4149 int volatile sent_command ;
4150 int volatile phase ;
4151};
4152#line 54 "include/scsi/scsi_cmnd.h"
4153struct scsi_cmnd {
4154 struct scsi_device *device ;
4155 struct list_head list ;
4156 struct list_head eh_entry ;
4157 int eh_eflags ;
4158 unsigned long serial_number ;
4159 unsigned long jiffies_at_alloc ;
4160 int retries ;
4161 int allowed ;
4162 unsigned char prot_op ;
4163 unsigned char prot_type ;
4164 unsigned short cmd_len ;
4165 enum dma_data_direction sc_data_direction ;
4166 unsigned char *cmnd ;
4167 struct scsi_data_buffer sdb ;
4168 struct scsi_data_buffer *prot_sdb ;
4169 unsigned int underflow ;
4170 unsigned int transfersize ;
4171 struct request *request ;
4172 unsigned char *sense_buffer ;
4173 void (*scsi_done)(struct scsi_cmnd * ) ;
4174 struct scsi_pointer SCp ;
4175 unsigned char *host_scribble ;
4176 int result ;
4177 unsigned char tag ;
4178};
4179#line 12 "include/linux/mod_devicetable.h"
4180typedef unsigned long kernel_ulong_t;
4181#line 98 "include/linux/mod_devicetable.h"
4182struct usb_device_id {
4183 __u16 match_flags ;
4184 __u16 idVendor ;
4185 __u16 idProduct ;
4186 __u16 bcdDevice_lo ;
4187 __u16 bcdDevice_hi ;
4188 __u8 bDeviceClass ;
4189 __u8 bDeviceSubClass ;
4190 __u8 bDeviceProtocol ;
4191 __u8 bInterfaceClass ;
4192 __u8 bInterfaceSubClass ;
4193 __u8 bInterfaceProtocol ;
4194 kernel_ulong_t driver_info ;
4195};
4196#line 219 "include/linux/mod_devicetable.h"
4197struct of_device_id {
4198 char name[32] ;
4199 char type[32] ;
4200 char compatible[128] ;
4201 void *data ;
4202};
4203#line 177 "include/linux/usb/ch9.h"
4204struct usb_ctrlrequest {
4205 __u8 bRequestType ;
4206 __u8 bRequest ;
4207 __le16 wValue ;
4208 __le16 wIndex ;
4209 __le16 wLength ;
4210} __attribute__((__packed__)) ;
4211#line 250 "include/linux/usb/ch9.h"
4212struct usb_device_descriptor {
4213 __u8 bLength ;
4214 __u8 bDescriptorType ;
4215 __le16 bcdUSB ;
4216 __u8 bDeviceClass ;
4217 __u8 bDeviceSubClass ;
4218 __u8 bDeviceProtocol ;
4219 __u8 bMaxPacketSize0 ;
4220 __le16 idVendor ;
4221 __le16 idProduct ;
4222 __le16 bcdDevice ;
4223 __u8 iManufacturer ;
4224 __u8 iProduct ;
4225 __u8 iSerialNumber ;
4226 __u8 bNumConfigurations ;
4227} __attribute__((__packed__)) ;
4228#line 306 "include/linux/usb/ch9.h"
4229struct usb_config_descriptor {
4230 __u8 bLength ;
4231 __u8 bDescriptorType ;
4232 __le16 wTotalLength ;
4233 __u8 bNumInterfaces ;
4234 __u8 bConfigurationValue ;
4235 __u8 iConfiguration ;
4236 __u8 bmAttributes ;
4237 __u8 bMaxPower ;
4238} __attribute__((__packed__)) ;
4239#line 343 "include/linux/usb/ch9.h"
4240struct usb_interface_descriptor {
4241 __u8 bLength ;
4242 __u8 bDescriptorType ;
4243 __u8 bInterfaceNumber ;
4244 __u8 bAlternateSetting ;
4245 __u8 bNumEndpoints ;
4246 __u8 bInterfaceClass ;
4247 __u8 bInterfaceSubClass ;
4248 __u8 bInterfaceProtocol ;
4249 __u8 iInterface ;
4250} __attribute__((__packed__)) ;
4251#line 361 "include/linux/usb/ch9.h"
4252struct usb_endpoint_descriptor {
4253 __u8 bLength ;
4254 __u8 bDescriptorType ;
4255 __u8 bEndpointAddress ;
4256 __u8 bmAttributes ;
4257 __le16 wMaxPacketSize ;
4258 __u8 bInterval ;
4259 __u8 bRefresh ;
4260 __u8 bSynchAddress ;
4261} __attribute__((__packed__)) ;
4262#line 598 "include/linux/usb/ch9.h"
4263struct usb_ss_ep_comp_descriptor {
4264 __u8 bLength ;
4265 __u8 bDescriptorType ;
4266 __u8 bMaxBurst ;
4267 __u8 bmAttributes ;
4268 __le16 wBytesPerInterval ;
4269} __attribute__((__packed__)) ;
4270#line 677 "include/linux/usb/ch9.h"
4271struct usb_interface_assoc_descriptor {
4272 __u8 bLength ;
4273 __u8 bDescriptorType ;
4274 __u8 bFirstInterface ;
4275 __u8 bInterfaceCount ;
4276 __u8 bFunctionClass ;
4277 __u8 bFunctionSubClass ;
4278 __u8 bFunctionProtocol ;
4279 __u8 iFunction ;
4280} __attribute__((__packed__)) ;
4281#line 737 "include/linux/usb/ch9.h"
4282struct usb_bos_descriptor {
4283 __u8 bLength ;
4284 __u8 bDescriptorType ;
4285 __le16 wTotalLength ;
4286 __u8 bNumDeviceCaps ;
4287} __attribute__((__packed__)) ;
4288#line 786 "include/linux/usb/ch9.h"
4289struct usb_ext_cap_descriptor {
4290 __u8 bLength ;
4291 __u8 bDescriptorType ;
4292 __u8 bDevCapabilityType ;
4293 __le32 bmAttributes ;
4294} __attribute__((__packed__)) ;
4295#line 806 "include/linux/usb/ch9.h"
4296struct usb_ss_cap_descriptor {
4297 __u8 bLength ;
4298 __u8 bDescriptorType ;
4299 __u8 bDevCapabilityType ;
4300 __u8 bmAttributes ;
4301 __le16 wSpeedSupported ;
4302 __u8 bFunctionalitySupport ;
4303 __u8 bU1devExitLat ;
4304 __le16 bU2DevExitLat ;
4305} __attribute__((__packed__)) ;
4306#line 829 "include/linux/usb/ch9.h"
4307struct usb_ss_container_id_descriptor {
4308 __u8 bLength ;
4309 __u8 bDescriptorType ;
4310 __u8 bDevCapabilityType ;
4311 __u8 bReserved ;
4312 __u8 ContainerID[16] ;
4313} __attribute__((__packed__)) ;
4314#line 891
4315enum usb_device_speed {
4316 USB_SPEED_UNKNOWN = 0,
4317 USB_SPEED_LOW = 1,
4318 USB_SPEED_FULL = 2,
4319 USB_SPEED_HIGH = 3,
4320 USB_SPEED_WIRELESS = 4,
4321 USB_SPEED_SUPER = 5
4322} ;
4323#line 911
4324enum usb_device_state {
4325 USB_STATE_NOTATTACHED = 0,
4326 USB_STATE_ATTACHED = 1,
4327 USB_STATE_POWERED = 2,
4328 USB_STATE_RECONNECTING = 3,
4329 USB_STATE_UNAUTHENTICATED = 4,
4330 USB_STATE_DEFAULT = 5,
4331 USB_STATE_ADDRESS = 6,
4332 USB_STATE_CONFIGURED = 7,
4333 USB_STATE_SUSPENDED = 8
4334} ;
4335#line 187 "include/linux/interrupt.h"
4336struct device;
4337#line 695
4338struct seq_file;
4339#line 25 "include/linux/usb.h"
4340struct usb_device;
4341#line 25
4342struct usb_device;
4343#line 26
4344struct usb_driver;
4345#line 26
4346struct usb_driver;
4347#line 27
4348struct wusb_dev;
4349#line 27
4350struct wusb_dev;
4351#line 47
4352struct ep_device;
4353#line 47
4354struct ep_device;
4355#line 64 "include/linux/usb.h"
4356struct usb_host_endpoint {
4357 struct usb_endpoint_descriptor desc ;
4358 struct usb_ss_ep_comp_descriptor ss_ep_comp ;
4359 struct list_head urb_list ;
4360 void *hcpriv ;
4361 struct ep_device *ep_dev ;
4362 unsigned char *extra ;
4363 int extralen ;
4364 int enabled ;
4365};
4366#line 77 "include/linux/usb.h"
4367struct usb_host_interface {
4368 struct usb_interface_descriptor desc ;
4369 struct usb_host_endpoint *endpoint ;
4370 char *string ;
4371 unsigned char *extra ;
4372 int extralen ;
4373};
4374#line 90
4375enum usb_interface_condition {
4376 USB_INTERFACE_UNBOUND = 0,
4377 USB_INTERFACE_BINDING = 1,
4378 USB_INTERFACE_BOUND = 2,
4379 USB_INTERFACE_UNBINDING = 3
4380} ;
4381#line 159 "include/linux/usb.h"
4382struct usb_interface {
4383 struct usb_host_interface *altsetting ;
4384 struct usb_host_interface *cur_altsetting ;
4385 unsigned int num_altsetting ;
4386 struct usb_interface_assoc_descriptor *intf_assoc ;
4387 int minor ;
4388 enum usb_interface_condition condition ;
4389 unsigned int sysfs_files_created : 1 ;
4390 unsigned int ep_devs_created : 1 ;
4391 unsigned int unregistering : 1 ;
4392 unsigned int needs_remote_wakeup : 1 ;
4393 unsigned int needs_altsetting0 : 1 ;
4394 unsigned int needs_binding : 1 ;
4395 unsigned int reset_running : 1 ;
4396 unsigned int resetting_device : 1 ;
4397 struct device dev ;
4398 struct device *usb_dev ;
4399 atomic_t pm_usage_cnt ;
4400 struct work_struct reset_ws ;
4401};
4402#line 222 "include/linux/usb.h"
4403struct usb_interface_cache {
4404 unsigned int num_altsetting ;
4405 struct kref ref ;
4406 struct usb_host_interface altsetting[0] ;
4407};
4408#line 274 "include/linux/usb.h"
4409struct usb_host_config {
4410 struct usb_config_descriptor desc ;
4411 char *string ;
4412 struct usb_interface_assoc_descriptor *intf_assoc[16] ;
4413 struct usb_interface *interface[32] ;
4414 struct usb_interface_cache *intf_cache[32] ;
4415 unsigned char *extra ;
4416 int extralen ;
4417};
4418#line 296 "include/linux/usb.h"
4419struct usb_host_bos {
4420 struct usb_bos_descriptor *desc ;
4421 struct usb_ext_cap_descriptor *ext_cap ;
4422 struct usb_ss_cap_descriptor *ss_cap ;
4423 struct usb_ss_container_id_descriptor *ss_id ;
4424};
4425#line 315 "include/linux/usb.h"
4426struct usb_devmap {
4427 unsigned long devicemap[128UL / (8UL * sizeof(unsigned long ))] ;
4428};
4429#line 322
4430struct mon_bus;
4431#line 322 "include/linux/usb.h"
4432struct usb_bus {
4433 struct device *controller ;
4434 int busnum ;
4435 char const *bus_name ;
4436 u8 uses_dma ;
4437 u8 uses_pio_for_control ;
4438 u8 otg_port ;
4439 unsigned int is_b_host : 1 ;
4440 unsigned int b_hnp_enable : 1 ;
4441 unsigned int sg_tablesize ;
4442 int devnum_next ;
4443 struct usb_devmap devmap ;
4444 struct usb_device *root_hub ;
4445 struct usb_bus *hs_companion ;
4446 struct list_head bus_list ;
4447 int bandwidth_allocated ;
4448 int bandwidth_int_reqs ;
4449 int bandwidth_isoc_reqs ;
4450 struct dentry *usbfs_dentry ;
4451 struct mon_bus *mon_bus ;
4452 int monitored ;
4453};
4454#line 377
4455struct usb_tt;
4456#line 377
4457struct usb_tt;
4458#line 379
4459enum usb_device_removable {
4460 USB_DEVICE_REMOVABLE_UNKNOWN = 0,
4461 USB_DEVICE_REMOVABLE = 1,
4462 USB_DEVICE_FIXED = 2
4463} ;
4464#line 447 "include/linux/usb.h"
4465struct usb_device {
4466 int devnum ;
4467 char devpath[16] ;
4468 u32 route ;
4469 enum usb_device_state state ;
4470 enum usb_device_speed speed ;
4471 struct usb_tt *tt ;
4472 int ttport ;
4473 unsigned int toggle[2] ;
4474 struct usb_device *parent ;
4475 struct usb_bus *bus ;
4476 struct usb_host_endpoint ep0 ;
4477 struct device dev ;
4478 struct usb_device_descriptor descriptor ;
4479 struct usb_host_bos *bos ;
4480 struct usb_host_config *config ;
4481 struct usb_host_config *actconfig ;
4482 struct usb_host_endpoint *ep_in[16] ;
4483 struct usb_host_endpoint *ep_out[16] ;
4484 char **rawdescriptors ;
4485 unsigned short bus_mA ;
4486 u8 portnum ;
4487 u8 level ;
4488 unsigned int can_submit : 1 ;
4489 unsigned int persist_enabled : 1 ;
4490 unsigned int have_langid : 1 ;
4491 unsigned int authorized : 1 ;
4492 unsigned int authenticated : 1 ;
4493 unsigned int wusb : 1 ;
4494 unsigned int lpm_capable : 1 ;
4495 unsigned int usb2_hw_lpm_capable : 1 ;
4496 unsigned int usb2_hw_lpm_enabled : 1 ;
4497 int string_langid ;
4498 char *product ;
4499 char *manufacturer ;
4500 char *serial ;
4501 struct list_head filelist ;
4502 struct device *usb_classdev ;
4503 struct dentry *usbfs_dentry ;
4504 int maxchild ;
4505 struct usb_device **children ;
4506 u32 quirks ;
4507 atomic_t urbnum ;
4508 unsigned long active_duration ;
4509 unsigned long connect_time ;
4510 unsigned int do_remote_wakeup : 1 ;
4511 unsigned int reset_resume : 1 ;
4512 struct wusb_dev *wusb_dev ;
4513 int slot_id ;
4514 enum usb_device_removable removable ;
4515};
4516#line 789 "include/linux/usb.h"
4517struct usb_dynids {
4518 spinlock_t lock ;
4519 struct list_head list ;
4520};
4521#line 808 "include/linux/usb.h"
4522struct usbdrv_wrap {
4523 struct device_driver driver ;
4524 int for_devices ;
4525};
4526#line 869 "include/linux/usb.h"
4527struct usb_driver {
4528 char const *name ;
4529 int (*probe)(struct usb_interface *intf , struct usb_device_id const *id ) ;
4530 void (*disconnect)(struct usb_interface *intf ) ;
4531 int (*unlocked_ioctl)(struct usb_interface *intf , unsigned int code , void *buf ) ;
4532 int (*suspend)(struct usb_interface *intf , pm_message_t message ) ;
4533 int (*resume)(struct usb_interface *intf ) ;
4534 int (*reset_resume)(struct usb_interface *intf ) ;
4535 int (*pre_reset)(struct usb_interface *intf ) ;
4536 int (*post_reset)(struct usb_interface *intf ) ;
4537 struct usb_device_id const *id_table ;
4538 struct usb_dynids dynids ;
4539 struct usbdrv_wrap drvwrap ;
4540 unsigned int no_dynamic_id : 1 ;
4541 unsigned int supports_autosuspend : 1 ;
4542 unsigned int soft_unbind : 1 ;
4543};
4544#line 1022 "include/linux/usb.h"
4545struct usb_iso_packet_descriptor {
4546 unsigned int offset ;
4547 unsigned int length ;
4548 unsigned int actual_length ;
4549 int status ;
4550};
4551#line 1029
4552struct urb;
4553#line 1029
4554struct urb;
4555#line 1031 "include/linux/usb.h"
4556struct usb_anchor {
4557 struct list_head urb_list ;
4558 wait_queue_head_t wait ;
4559 spinlock_t lock ;
4560 unsigned int poisoned : 1 ;
4561};
4562#line 1223 "include/linux/usb.h"
4563struct urb {
4564 struct kref kref ;
4565 void *hcpriv ;
4566 atomic_t use_count ;
4567 atomic_t reject ;
4568 int unlinked ;
4569 struct list_head urb_list ;
4570 struct list_head anchor_list ;
4571 struct usb_anchor *anchor ;
4572 struct usb_device *dev ;
4573 struct usb_host_endpoint *ep ;
4574 unsigned int pipe ;
4575 unsigned int stream_id ;
4576 int status ;
4577 unsigned int transfer_flags ;
4578 void *transfer_buffer ;
4579 dma_addr_t transfer_dma ;
4580 struct scatterlist *sg ;
4581 int num_mapped_sgs ;
4582 int num_sgs ;
4583 u32 transfer_buffer_length ;
4584 u32 actual_length ;
4585 unsigned char *setup_packet ;
4586 dma_addr_t setup_dma ;
4587 int start_frame ;
4588 int number_of_packets ;
4589 int interval ;
4590 int error_count ;
4591 void *context ;
4592 void (*complete)(struct urb * ) ;
4593 struct usb_iso_packet_descriptor iso_frame_desc[0] ;
4594};
4595#line 1429
4596struct scatterlist;
4597#line 1495 "include/linux/usb.h"
4598struct usb_sg_request {
4599 int status ;
4600 size_t bytes ;
4601 spinlock_t lock ;
4602 struct usb_device *dev ;
4603 int pipe ;
4604 int entries ;
4605 struct urb **urbs ;
4606 int count ;
4607 struct completion complete ;
4608};
4609#line 11 "include/scsi/scsi_host.h"
4610struct request_queue;
4611#line 12
4612struct block_device;
4613#line 13
4614struct completion;
4615#line 14
4616struct module;
4617#line 15
4618struct scsi_cmnd;
4619#line 16
4620struct scsi_device;
4621#line 53 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/usb.h"
4622struct us_data;
4623#line 53
4624struct us_data;
4625#line 54
4626struct scsi_cmnd;
4627#line 60 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/usb.h"
4628struct us_unusual_dev {
4629 char const *vendorName ;
4630 char const *productName ;
4631 __u8 useProtocol ;
4632 __u8 useTransport ;
4633 int (*initFunction)(struct us_data * ) ;
4634};
4635#line 102 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/usb.h"
4636struct us_data {
4637 struct mutex dev_mutex ;
4638 struct usb_device *pusb_dev ;
4639 struct usb_interface *pusb_intf ;
4640 struct us_unusual_dev *unusual_dev ;
4641 unsigned long fflags ;
4642 unsigned long dflags ;
4643 unsigned int send_bulk_pipe ;
4644 unsigned int recv_bulk_pipe ;
4645 unsigned int send_ctrl_pipe ;
4646 unsigned int recv_ctrl_pipe ;
4647 unsigned int recv_intr_pipe ;
4648 char *transport_name ;
4649 char *protocol_name ;
4650 __le32 bcs_signature ;
4651 u8 subclass ;
4652 u8 protocol ;
4653 u8 max_lun ;
4654 u8 ifnum ;
4655 u8 ep_bInterval ;
4656 int (*transport)(struct scsi_cmnd * , struct us_data * ) ;
4657 int (*transport_reset)(struct us_data * ) ;
4658 void (*proto_handler)(struct scsi_cmnd * , struct us_data * ) ;
4659 struct scsi_cmnd *srb ;
4660 unsigned int tag ;
4661 char scsi_name[32] ;
4662 struct urb *current_urb ;
4663 struct usb_ctrlrequest *cr ;
4664 struct usb_sg_request current_sg ;
4665 unsigned char *iobuf ;
4666 dma_addr_t iobuf_dma ;
4667 struct task_struct *ctl_thread ;
4668 struct completion cmnd_ready ;
4669 struct completion notify ;
4670 wait_queue_head_t delay_wait ;
4671 struct delayed_work scan_dwork ;
4672 void *extra ;
4673 void (*extra_destructor)(void * ) ;
4674 void (*suspend_resume_hook)(struct us_data * , int ) ;
4675 int use_last_sector_hacks ;
4676 int last_sector_retries ;
4677};
4678#line 49 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/protocol.h"
4679enum xfer_buf_dir {
4680 TO_XFER_BUF = 0,
4681 FROM_XFER_BUF = 1
4682} ;
4683#line 140 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
4684struct usbat_info {
4685 int devicetype ;
4686 unsigned long sectors ;
4687 unsigned long ssize ;
4688 unsigned char sense_key ;
4689 unsigned long sense_asc ;
4690 unsigned long sense_ascq ;
4691};
4692#line 1 "<compiler builtins>"
4693
4694#line 1
4695long __builtin_expect(long val , long res ) ;
4696#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/swab.h"
4697__inline static __u32 __arch_swab32(__u32 val ) __attribute__((__no_instrument_function__,
4698__const__)) ;
4699#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/swab.h"
4700__inline static __u32 __arch_swab32(__u32 val )
4701{
4702
4703 {
4704#line 21
4705 __asm__ ("bswapl %0": "=r" (val): "0" (val));
4706#line 25
4707 return (val);
4708}
4709}
4710#line 55 "include/linux/swab.h"
4711__inline static __u32 __fswab32(__u32 val ) __attribute__((__no_instrument_function__,
4712__const__)) ;
4713#line 55 "include/linux/swab.h"
4714__inline static __u32 __fswab32(__u32 val )
4715{ __u32 tmp ;
4716
4717 {
4718 {
4719#line 58
4720 tmp = __arch_swab32(val);
4721 }
4722#line 58
4723 return (tmp);
4724}
4725}
4726#line 100 "include/linux/printk.h"
4727extern int ( printk)(char const *fmt , ...) ;
4728#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
4729extern void *__memcpy(void *to , void const *from , size_t len ) ;
4730#line 55
4731extern void *memset(void *s , int c , size_t n ) ;
4732#line 152 "include/linux/mutex.h"
4733void mutex_lock(struct mutex *lock ) ;
4734#line 153
4735int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
4736#line 154
4737int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
4738#line 168
4739int mutex_trylock(struct mutex *lock ) ;
4740#line 169
4741void mutex_unlock(struct mutex *lock ) ;
4742#line 170
4743int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
4744#line 26 "include/linux/export.h"
4745extern struct module __this_module ;
4746#line 67 "include/linux/module.h"
4747int init_module(void) ;
4748#line 68
4749void cleanup_module(void) ;
4750#line 161 "include/linux/slab.h"
4751extern void kfree(void const * ) ;
4752#line 221 "include/linux/slub_def.h"
4753extern void *__kmalloc(size_t size , gfp_t flags ) ;
4754#line 268
4755__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
4756 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
4757#line 268 "include/linux/slub_def.h"
4758__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
4759 gfp_t flags )
4760{ void *tmp___2 ;
4761
4762 {
4763 {
4764#line 283
4765 tmp___2 = __kmalloc(size, flags);
4766 }
4767#line 283
4768 return (tmp___2);
4769}
4770}
4771#line 349 "include/linux/slab.h"
4772__inline static void *kzalloc(size_t size , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
4773#line 349 "include/linux/slab.h"
4774__inline static void *kzalloc(size_t size , gfp_t flags )
4775{ void *tmp ;
4776 unsigned int __cil_tmp4 ;
4777
4778 {
4779 {
4780#line 351
4781 __cil_tmp4 = flags | 32768U;
4782#line 351
4783 tmp = kmalloc(size, __cil_tmp4);
4784 }
4785#line 351
4786 return (tmp);
4787}
4788}
4789#line 163 "include/scsi/scsi_cmnd.h"
4790__inline static unsigned int scsi_sg_count(struct scsi_cmnd *cmd ) __attribute__((__no_instrument_function__)) ;
4791#line 163 "include/scsi/scsi_cmnd.h"
4792__inline static unsigned int scsi_sg_count(struct scsi_cmnd *cmd )
4793{ unsigned long __cil_tmp2 ;
4794 unsigned long __cil_tmp3 ;
4795 unsigned long __cil_tmp4 ;
4796 unsigned long __cil_tmp5 ;
4797
4798 {
4799 {
4800#line 165
4801 __cil_tmp2 = 0 + 8;
4802#line 165
4803 __cil_tmp3 = 88 + __cil_tmp2;
4804#line 165
4805 __cil_tmp4 = (unsigned long )cmd;
4806#line 165
4807 __cil_tmp5 = __cil_tmp4 + __cil_tmp3;
4808#line 165
4809 return (*((unsigned int *)__cil_tmp5));
4810 }
4811}
4812}
4813#line 168
4814__inline static struct scatterlist *scsi_sglist(struct scsi_cmnd *cmd ) __attribute__((__no_instrument_function__)) ;
4815#line 168 "include/scsi/scsi_cmnd.h"
4816__inline static struct scatterlist *scsi_sglist(struct scsi_cmnd *cmd )
4817{ unsigned long __cil_tmp2 ;
4818 unsigned long __cil_tmp3 ;
4819
4820 {
4821 {
4822#line 170
4823 __cil_tmp2 = (unsigned long )cmd;
4824#line 170
4825 __cil_tmp3 = __cil_tmp2 + 88;
4826#line 170
4827 return (*((struct scatterlist **)__cil_tmp3));
4828 }
4829}
4830}
4831#line 173
4832__inline static unsigned int scsi_bufflen(struct scsi_cmnd *cmd ) __attribute__((__no_instrument_function__)) ;
4833#line 173 "include/scsi/scsi_cmnd.h"
4834__inline static unsigned int scsi_bufflen(struct scsi_cmnd *cmd )
4835{ unsigned long __cil_tmp2 ;
4836 unsigned long __cil_tmp3 ;
4837 unsigned long __cil_tmp4 ;
4838
4839 {
4840 {
4841#line 175
4842 __cil_tmp2 = 88 + 16;
4843#line 175
4844 __cil_tmp3 = (unsigned long )cmd;
4845#line 175
4846 __cil_tmp4 = __cil_tmp3 + __cil_tmp2;
4847#line 175
4848 return (*((unsigned int *)__cil_tmp4));
4849 }
4850}
4851}
4852#line 46 "include/linux/delay.h"
4853extern void msleep(unsigned int msecs ) ;
4854#line 955 "include/linux/usb.h"
4855extern int usb_register_driver(struct usb_driver * , struct module * , char const * ) ;
4856#line 962
4857extern void usb_deregister(struct usb_driver * ) ;
4858#line 175 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/usb.h"
4859extern void fill_inquiry_response(struct us_data *us , unsigned char *data , unsigned int data_len ) ;
4860#line 185
4861extern int usb_stor_suspend(struct usb_interface *iface , int messageevent ) ;
4862#line 186
4863extern int usb_stor_resume(struct usb_interface *iface ) ;
4864#line 187
4865extern int usb_stor_reset_resume(struct usb_interface *iface ) ;
4866#line 194
4867extern int usb_stor_pre_reset(struct usb_interface *iface ) ;
4868#line 195
4869extern int usb_stor_post_reset(struct usb_interface *iface ) ;
4870#line 197
4871extern int usb_stor_probe1(struct us_data **pus , struct usb_interface *intf , struct usb_device_id const *id ,
4872 struct us_unusual_dev *unusual_dev ) ;
4873#line 201
4874extern int usb_stor_probe2(struct us_data *us ) ;
4875#line 202
4876extern void usb_stor_disconnect(struct usb_interface *intf ) ;
4877#line 78 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/transport.h"
4878extern int usb_stor_CB_reset(struct us_data * ) ;
4879#line 90
4880extern int usb_stor_clear_halt(struct us_data *us , unsigned int pipe ) ;
4881#line 92
4882extern int usb_stor_ctrl_transfer(struct us_data *us , unsigned int pipe , u8 request ,
4883 u8 requesttype , u16 value , u16 index , void *data ,
4884 u16 size ) ;
4885#line 97
4886extern int usb_stor_bulk_transfer_sg(struct us_data *us , unsigned int pipe , void *buf ,
4887 unsigned int length , int use_sg , int *residual ) ;
4888#line 51 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/protocol.h"
4889extern unsigned int usb_stor_access_xfer_buf(unsigned char *buffer , unsigned int buflen ,
4890 struct scsi_cmnd *srb , struct scatterlist ** ,
4891 unsigned int *offset , enum xfer_buf_dir dir ) ;
4892#line 55
4893extern void usb_stor_set_xfer_buf(unsigned char *buffer , unsigned int buflen , struct scsi_cmnd *srb ) ;
4894#line 58 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
4895static char const __mod_description58[73] __attribute__((__used__, __unused__,
4896__section__(".modinfo"), __aligned__(1))) =
4897#line 58 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
4898 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
4899 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
4900 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
4901 (char const )'D', (char const )'r', (char const )'i', (char const )'v',
4902 (char const )'e', (char const )'r', (char const )' ', (char const )'f',
4903 (char const )'o', (char const )'r', (char const )' ', (char const )'S',
4904 (char const )'C', (char const )'M', (char const )' ', (char const )'M',
4905 (char const )'i', (char const )'c', (char const )'r', (char const )'o',
4906 (char const )'s', (char const )'y', (char const )'s', (char const )'t',
4907 (char const )'e', (char const )'m', (char const )'s', (char const )' ',
4908 (char const )'(', (char const )'a', (char const )'.', (char const )'k',
4909 (char const )'.', (char const )'a', (char const )'.', (char const )' ',
4910 (char const )'S', (char const )'h', (char const )'u', (char const )'t',
4911 (char const )'t', (char const )'l', (char const )'e', (char const )')',
4912 (char const )' ', (char const )'U', (char const )'S', (char const )'B',
4913 (char const )'-', (char const )'A', (char const )'T', (char const )'A',
4914 (char const )'P', (char const )'I', (char const )' ', (char const )'c',
4915 (char const )'a', (char const )'b', (char const )'l', (char const )'e',
4916 (char const )'\000'};
4917#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
4918static char const __mod_author59[77] __attribute__((__used__, __unused__, __section__(".modinfo"),
4919__aligned__(1))) =
4920#line 59
4921 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
4922 (char const )'o', (char const )'r', (char const )'=', (char const )'D',
4923 (char const )'a', (char const )'n', (char const )'i', (char const )'e',
4924 (char const )'l', (char const )' ', (char const )'D', (char const )'r',
4925 (char const )'a', (char const )'k', (char const )'e', (char const )' ',
4926 (char const )'<', (char const )'d', (char const )'s', (char const )'d',
4927 (char const )'@', (char const )'g', (char const )'e', (char const )'n',
4928 (char const )'t', (char const )'o', (char const )'o', (char const )'.',
4929 (char const )'o', (char const )'r', (char const )'g', (char const )'>',
4930 (char const )',', (char const )' ', (char const )'R', (char const )'o',
4931 (char const )'b', (char const )'e', (char const )'r', (char const )'t',
4932 (char const )' ', (char const )'B', (char const )'a', (char const )'r',
4933 (char const )'u', (char const )'c', (char const )'h', (char const )' ',
4934 (char const )'<', (char const )'a', (char const )'u', (char const )'t',
4935 (char const )'o', (char const )'p', (char const )'h', (char const )'i',
4936 (char const )'l', (char const )'e', (char const )'@', (char const )'s',
4937 (char const )'t', (char const )'a', (char const )'r', (char const )'b',
4938 (char const )'a', (char const )'n', (char const )'d', (char const )'.',
4939 (char const )'n', (char const )'e', (char const )'t', (char const )'>',
4940 (char const )'\000'};
4941#line 60 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
4942static char const __mod_license60[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
4943__aligned__(1))) =
4944#line 60
4945 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
4946 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
4947 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
4948#line 156 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
4949static int transferred = 0;
4950#line 158
4951static int usbat_flash_transport(struct scsi_cmnd *srb , struct us_data *us ) ;
4952#line 159
4953static int usbat_hp8200e_transport(struct scsi_cmnd *srb , struct us_data *us ) ;
4954#line 161
4955static int init_usbat_cd(struct us_data *us ) ;
4956#line 162
4957static int init_usbat_flash(struct us_data *us ) ;
4958#line 174 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
4959static struct usb_device_id usbat_usb_ids[4] = { {(__u16 )15, (__u16 )1008, (__u16 )519, (__u16 )1, (__u16 )1, (unsigned char)0,
4960 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
4961 (kernel_ulong_t )(1 << 24)},
4962 {(__u16 )15, (__u16 )1008, (__u16 )775, (__u16 )1, (__u16 )1, (unsigned char)0,
4963 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
4964 (kernel_ulong_t )(1 << 24)},
4965 {(__u16 )15, (__u16 )1254, (__u16 )4112, (__u16 )0, (__u16 )39321, (unsigned char)0,
4966 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
4967 (kernel_ulong_t )(1 | (1 << 24))},
4968 {(__u16 )15, (__u16 )1921, (__u16 )5, (__u16 )5, (__u16 )5, (unsigned char)0,
4969 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
4970 (kernel_ulong_t )(1 | (1 << 24))}};
4971#line 178
4972extern struct usb_device_id const __mod_usb_device_table __attribute__((__unused__,
4973__alias__("usbat_usb_ids"))) ;
4974#line 196 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
4975static struct us_unusual_dev usbat_unusual_dev_list[4] = { {"HP", "CD-Writer+ 8200e", (__u8 )5, (__u8 )128, & init_usbat_cd},
4976 {"HP", "CD-Writer+ CD-4e", (__u8 )5, (__u8 )128, & init_usbat_cd},
4977 {"Shuttle/SCM", "USBAT-02", (__u8 )6, (__u8 )128, & init_usbat_flash},
4978 {"Sandisk", "ImageMate SDDR-05b", (__u8 )6, (__u8 )128, & init_usbat_flash}};
4979#line 207 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
4980static void usbat_pack_ata_sector_cmd(unsigned char *buf , unsigned char thistime ,
4981 u32 sector , unsigned char cmd )
4982{ unsigned char *__cil_tmp5 ;
4983 unsigned char *__cil_tmp6 ;
4984 unsigned char *__cil_tmp7 ;
4985 unsigned int __cil_tmp8 ;
4986 unsigned char *__cil_tmp9 ;
4987 u32 __cil_tmp10 ;
4988 unsigned int __cil_tmp11 ;
4989 unsigned char *__cil_tmp12 ;
4990 u32 __cil_tmp13 ;
4991 unsigned int __cil_tmp14 ;
4992 unsigned char *__cil_tmp15 ;
4993 u32 __cil_tmp16 ;
4994 unsigned int __cil_tmp17 ;
4995 unsigned int __cil_tmp18 ;
4996 unsigned char *__cil_tmp19 ;
4997
4998 {
4999#line 211
5000 __cil_tmp5 = buf + 0;
5001#line 211
5002 *__cil_tmp5 = (unsigned char)0;
5003#line 212
5004 __cil_tmp6 = buf + 1;
5005#line 212
5006 *__cil_tmp6 = thistime;
5007#line 213
5008 __cil_tmp7 = buf + 2;
5009#line 213
5010 __cil_tmp8 = sector & 255U;
5011#line 213
5012 *__cil_tmp7 = (unsigned char )__cil_tmp8;
5013#line 214
5014 __cil_tmp9 = buf + 3;
5015#line 214
5016 __cil_tmp10 = sector >> 8;
5017#line 214
5018 __cil_tmp11 = __cil_tmp10 & 255U;
5019#line 214
5020 *__cil_tmp9 = (unsigned char )__cil_tmp11;
5021#line 215
5022 __cil_tmp12 = buf + 4;
5023#line 215
5024 __cil_tmp13 = sector >> 16;
5025#line 215
5026 __cil_tmp14 = __cil_tmp13 & 255U;
5027#line 215
5028 *__cil_tmp12 = (unsigned char )__cil_tmp14;
5029#line 216
5030 __cil_tmp15 = buf + 5;
5031#line 216
5032 __cil_tmp16 = sector >> 24;
5033#line 216
5034 __cil_tmp17 = __cil_tmp16 & 15U;
5035#line 216
5036 __cil_tmp18 = 224U | __cil_tmp17;
5037#line 216
5038 *__cil_tmp15 = (unsigned char )__cil_tmp18;
5039#line 217
5040 __cil_tmp19 = buf + 6;
5041#line 217
5042 *__cil_tmp19 = cmd;
5043#line 218
5044 return;
5045}
5046}
5047#line 223 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
5048static int usbat_get_device_type(struct us_data *us )
5049{ unsigned long __cil_tmp2 ;
5050 unsigned long __cil_tmp3 ;
5051 void *__cil_tmp4 ;
5052 struct usbat_info *__cil_tmp5 ;
5053
5054 {
5055 {
5056#line 225
5057 __cil_tmp2 = (unsigned long )us;
5058#line 225
5059 __cil_tmp3 = __cil_tmp2 + 648;
5060#line 225
5061 __cil_tmp4 = *((void **)__cil_tmp3);
5062#line 225
5063 __cil_tmp5 = (struct usbat_info *)__cil_tmp4;
5064#line 225
5065 return (*((int *)__cil_tmp5));
5066 }
5067}
5068}
5069#line 231 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
5070static int usbat_read(struct us_data *us , unsigned char access , unsigned char reg ,
5071 unsigned char *content )
5072{ int tmp___7 ;
5073 unsigned long __cil_tmp6 ;
5074 unsigned long __cil_tmp7 ;
5075 unsigned int __cil_tmp8 ;
5076 int __cil_tmp9 ;
5077 u8 __cil_tmp10 ;
5078 u8 __cil_tmp11 ;
5079 u16 __cil_tmp12 ;
5080 u16 __cil_tmp13 ;
5081 void *__cil_tmp14 ;
5082 u16 __cil_tmp15 ;
5083
5084 {
5085 {
5086#line 236
5087 __cil_tmp6 = (unsigned long )us;
5088#line 236
5089 __cil_tmp7 = __cil_tmp6 + 124;
5090#line 236
5091 __cil_tmp8 = *((unsigned int *)__cil_tmp7);
5092#line 236
5093 __cil_tmp9 = (int )access;
5094#line 236
5095 __cil_tmp10 = (u8 )__cil_tmp9;
5096#line 236
5097 __cil_tmp11 = (u8 )192;
5098#line 236
5099 __cil_tmp12 = (u16 )reg;
5100#line 236
5101 __cil_tmp13 = (u16 )0;
5102#line 236
5103 __cil_tmp14 = (void *)content;
5104#line 236
5105 __cil_tmp15 = (u16 )1;
5106#line 236
5107 tmp___7 = usb_stor_ctrl_transfer(us, __cil_tmp8, __cil_tmp10, __cil_tmp11, __cil_tmp12,
5108 __cil_tmp13, __cil_tmp14, __cil_tmp15);
5109 }
5110#line 236
5111 return (tmp___7);
5112}
5113}
5114#line 249 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
5115static int usbat_write(struct us_data *us , unsigned char access , unsigned char reg ,
5116 unsigned char content )
5117{ int tmp___7 ;
5118 unsigned long __cil_tmp6 ;
5119 unsigned long __cil_tmp7 ;
5120 unsigned int __cil_tmp8 ;
5121 int __cil_tmp9 ;
5122 int __cil_tmp10 ;
5123 u8 __cil_tmp11 ;
5124 u8 __cil_tmp12 ;
5125 u16 __cil_tmp13 ;
5126 int __cil_tmp14 ;
5127 int __cil_tmp15 ;
5128 u16 __cil_tmp16 ;
5129 int __cil_tmp17 ;
5130 int __cil_tmp18 ;
5131 u16 __cil_tmp19 ;
5132 u16 __cil_tmp20 ;
5133 void *__cil_tmp21 ;
5134 u16 __cil_tmp22 ;
5135
5136 {
5137 {
5138#line 254
5139 __cil_tmp6 = (unsigned long )us;
5140#line 254
5141 __cil_tmp7 = __cil_tmp6 + 120;
5142#line 254
5143 __cil_tmp8 = *((unsigned int *)__cil_tmp7);
5144#line 254
5145 __cil_tmp9 = (int )access;
5146#line 254
5147 __cil_tmp10 = __cil_tmp9 | 1;
5148#line 254
5149 __cil_tmp11 = (u8 )__cil_tmp10;
5150#line 254
5151 __cil_tmp12 = (u8 )64;
5152#line 254
5153 __cil_tmp13 = (u16 )content;
5154#line 254
5155 __cil_tmp14 = (int )__cil_tmp13;
5156#line 254
5157 __cil_tmp15 = __cil_tmp14 << 8;
5158#line 254
5159 __cil_tmp16 = (u16 )reg;
5160#line 254
5161 __cil_tmp17 = (int )__cil_tmp16;
5162#line 254
5163 __cil_tmp18 = __cil_tmp17 | __cil_tmp15;
5164#line 254
5165 __cil_tmp19 = (u16 )__cil_tmp18;
5166#line 254
5167 __cil_tmp20 = (u16 )0;
5168#line 254
5169 __cil_tmp21 = (void *)0;
5170#line 254
5171 __cil_tmp22 = (u16 )0;
5172#line 254
5173 tmp___7 = usb_stor_ctrl_transfer(us, __cil_tmp8, __cil_tmp11, __cil_tmp12, __cil_tmp19,
5174 __cil_tmp20, __cil_tmp21, __cil_tmp22);
5175 }
5176#line 254
5177 return (tmp___7);
5178}
5179}
5180#line 267 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
5181static int usbat_bulk_read(struct us_data *us , void *buf , unsigned int len , int use_sg )
5182{ int tmp___7 ;
5183 unsigned long __cil_tmp6 ;
5184 unsigned long __cil_tmp7 ;
5185 unsigned int __cil_tmp8 ;
5186 void *__cil_tmp9 ;
5187 int *__cil_tmp10 ;
5188
5189 {
5190#line 272
5191 if (len == 0U) {
5192#line 273
5193 return (0);
5194 } else {
5195
5196 }
5197 {
5198#line 275
5199 printk("<7>usb-storage: usbat_bulk_read: len = %d\n", len);
5200#line 276
5201 __cil_tmp6 = (unsigned long )us;
5202#line 276
5203 __cil_tmp7 = __cil_tmp6 + 116;
5204#line 276
5205 __cil_tmp8 = *((unsigned int *)__cil_tmp7);
5206#line 276
5207 __cil_tmp9 = (void *)0;
5208#line 276
5209 __cil_tmp10 = (int *)__cil_tmp9;
5210#line 276
5211 tmp___7 = usb_stor_bulk_transfer_sg(us, __cil_tmp8, buf, len, use_sg, __cil_tmp10);
5212 }
5213#line 276
5214 return (tmp___7);
5215}
5216}
5217#line 282 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
5218static int usbat_bulk_write(struct us_data *us , void *buf , unsigned int len , int use_sg )
5219{ int tmp___7 ;
5220 unsigned long __cil_tmp6 ;
5221 unsigned long __cil_tmp7 ;
5222 unsigned int __cil_tmp8 ;
5223 void *__cil_tmp9 ;
5224 int *__cil_tmp10 ;
5225
5226 {
5227#line 287
5228 if (len == 0U) {
5229#line 288
5230 return (0);
5231 } else {
5232
5233 }
5234 {
5235#line 290
5236 printk("<7>usb-storage: usbat_bulk_write: len = %d\n", len);
5237#line 291
5238 __cil_tmp6 = (unsigned long )us;
5239#line 291
5240 __cil_tmp7 = __cil_tmp6 + 112;
5241#line 291
5242 __cil_tmp8 = *((unsigned int *)__cil_tmp7);
5243#line 291
5244 __cil_tmp9 = (void *)0;
5245#line 291
5246 __cil_tmp10 = (int *)__cil_tmp9;
5247#line 291
5248 tmp___7 = usb_stor_bulk_transfer_sg(us, __cil_tmp8, buf, len, use_sg, __cil_tmp10);
5249 }
5250#line 291
5251 return (tmp___7);
5252}
5253}
5254#line 299 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
5255static int usbat_execute_command(struct us_data *us , unsigned char *commands , unsigned int len )
5256{ int tmp___7 ;
5257 unsigned long __cil_tmp5 ;
5258 unsigned long __cil_tmp6 ;
5259 unsigned int __cil_tmp7 ;
5260 u8 __cil_tmp8 ;
5261 u8 __cil_tmp9 ;
5262 u16 __cil_tmp10 ;
5263 u16 __cil_tmp11 ;
5264 void *__cil_tmp12 ;
5265 u16 __cil_tmp13 ;
5266
5267 {
5268 {
5269#line 303
5270 __cil_tmp5 = (unsigned long )us;
5271#line 303
5272 __cil_tmp6 = __cil_tmp5 + 120;
5273#line 303
5274 __cil_tmp7 = *((unsigned int *)__cil_tmp6);
5275#line 303
5276 __cil_tmp8 = (u8 )128;
5277#line 303
5278 __cil_tmp9 = (u8 )64;
5279#line 303
5280 __cil_tmp10 = (u16 )0;
5281#line 303
5282 __cil_tmp11 = (u16 )0;
5283#line 303
5284 __cil_tmp12 = (void *)commands;
5285#line 303
5286 __cil_tmp13 = (u16 )len;
5287#line 303
5288 tmp___7 = usb_stor_ctrl_transfer(us, __cil_tmp7, __cil_tmp8, __cil_tmp9, __cil_tmp10,
5289 __cil_tmp11, __cil_tmp12, __cil_tmp13);
5290 }
5291#line 303
5292 return (tmp___7);
5293}
5294}
5295#line 311 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
5296static int usbat_get_status(struct us_data *us , unsigned char *status )
5297{ int rc ;
5298 unsigned char __cil_tmp4 ;
5299 unsigned short __cil_tmp5 ;
5300 int __cil_tmp6 ;
5301
5302 {
5303 {
5304#line 314
5305 rc = usbat_read(us, (unsigned char)64, (unsigned char)23, status);
5306#line 316
5307 __cil_tmp4 = *status;
5308#line 316
5309 __cil_tmp5 = (unsigned short )__cil_tmp4;
5310#line 316
5311 __cil_tmp6 = (int )__cil_tmp5;
5312#line 316
5313 printk("<7>usb-storage: usbat_get_status: 0x%02X\n", __cil_tmp6);
5314 }
5315#line 317
5316 return (rc);
5317}
5318}
5319#line 323 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
5320static int usbat_check_status(struct us_data *us )
5321{ unsigned char *reply ;
5322 int rc ;
5323 unsigned long __cil_tmp4 ;
5324 unsigned long __cil_tmp5 ;
5325 unsigned char __cil_tmp6 ;
5326 int __cil_tmp7 ;
5327 unsigned char __cil_tmp8 ;
5328 int __cil_tmp9 ;
5329 unsigned char __cil_tmp10 ;
5330 int __cil_tmp11 ;
5331
5332 {
5333 {
5334#line 325
5335 __cil_tmp4 = (unsigned long )us;
5336#line 325
5337 __cil_tmp5 = __cil_tmp4 + 376;
5338#line 325
5339 reply = *((unsigned char **)__cil_tmp5);
5340#line 328
5341 rc = usbat_get_status(us, reply);
5342 }
5343#line 329
5344 if (rc != 0) {
5345#line 330
5346 return (1);
5347 } else {
5348
5349 }
5350 {
5351#line 333
5352 __cil_tmp6 = *reply;
5353#line 333
5354 __cil_tmp7 = (int )__cil_tmp6;
5355#line 333
5356 if (__cil_tmp7 & 1) {
5357 {
5358#line 333
5359 __cil_tmp8 = *reply;
5360#line 333
5361 __cil_tmp9 = (int )__cil_tmp8;
5362#line 333
5363 if (__cil_tmp9 != 81) {
5364#line 334
5365 return (1);
5366 } else {
5367
5368 }
5369 }
5370 } else {
5371
5372 }
5373 }
5374 {
5375#line 337
5376 __cil_tmp10 = *reply;
5377#line 337
5378 __cil_tmp11 = (int )__cil_tmp10;
5379#line 337
5380 if (__cil_tmp11 & 32) {
5381#line 338
5382 return (1);
5383 } else {
5384
5385 }
5386 }
5387#line 340
5388 return (0);
5389}
5390}
5391#line 347 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
5392static int usbat_set_shuttle_features(struct us_data *us , unsigned char external_trigger ,
5393 unsigned char epp_control , unsigned char mask_byte ,
5394 unsigned char test_pattern , unsigned char subcountH ,
5395 unsigned char subcountL )
5396{ unsigned char *command ;
5397 int tmp___7 ;
5398 unsigned long __cil_tmp10 ;
5399 unsigned long __cil_tmp11 ;
5400 unsigned char *__cil_tmp12 ;
5401 unsigned char *__cil_tmp13 ;
5402 unsigned char *__cil_tmp14 ;
5403 unsigned char *__cil_tmp15 ;
5404 unsigned char *__cil_tmp16 ;
5405 unsigned char *__cil_tmp17 ;
5406 unsigned char *__cil_tmp18 ;
5407 unsigned char *__cil_tmp19 ;
5408
5409 {
5410 {
5411#line 355
5412 __cil_tmp10 = (unsigned long )us;
5413#line 355
5414 __cil_tmp11 = __cil_tmp10 + 376;
5415#line 355
5416 command = *((unsigned char **)__cil_tmp11);
5417#line 357
5418 __cil_tmp12 = command + 0;
5419#line 357
5420 *__cil_tmp12 = (unsigned char)64;
5421#line 358
5422 __cil_tmp13 = command + 1;
5423#line 358
5424 *__cil_tmp13 = (unsigned char)129;
5425#line 364
5426 __cil_tmp14 = command + 2;
5427#line 364
5428 *__cil_tmp14 = epp_control;
5429#line 372
5430 __cil_tmp15 = command + 3;
5431#line 372
5432 *__cil_tmp15 = external_trigger;
5433#line 379
5434 __cil_tmp16 = command + 4;
5435#line 379
5436 *__cil_tmp16 = test_pattern;
5437#line 385
5438 __cil_tmp17 = command + 5;
5439#line 385
5440 *__cil_tmp17 = mask_byte;
5441#line 393
5442 __cil_tmp18 = command + 6;
5443#line 393
5444 *__cil_tmp18 = subcountL;
5445#line 394
5446 __cil_tmp19 = command + 7;
5447#line 394
5448 *__cil_tmp19 = subcountH;
5449#line 396
5450 tmp___7 = usbat_execute_command(us, command, 8U);
5451 }
5452#line 396
5453 return (tmp___7);
5454}
5455}
5456#line 403 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
5457static int usbat_wait_not_busy(struct us_data *us , int minutes )
5458{ int i ;
5459 int result ;
5460 unsigned char *status ;
5461 unsigned long __cil_tmp6 ;
5462 unsigned long __cil_tmp7 ;
5463 int __cil_tmp8 ;
5464 int __cil_tmp9 ;
5465 unsigned char __cil_tmp10 ;
5466 int __cil_tmp11 ;
5467 unsigned char __cil_tmp12 ;
5468 int __cil_tmp13 ;
5469 unsigned char __cil_tmp14 ;
5470 int __cil_tmp15 ;
5471 int __cil_tmp16 ;
5472
5473 {
5474#line 407
5475 __cil_tmp6 = (unsigned long )us;
5476#line 407
5477 __cil_tmp7 = __cil_tmp6 + 376;
5478#line 407
5479 status = *((unsigned char **)__cil_tmp7);
5480#line 415
5481 i = 0;
5482 {
5483#line 415
5484 while (1) {
5485 while_continue: ;
5486 {
5487#line 415
5488 __cil_tmp8 = minutes * 60;
5489#line 415
5490 __cil_tmp9 = 1200 + __cil_tmp8;
5491#line 415
5492 if (i < __cil_tmp9) {
5493
5494 } else {
5495#line 415
5496 goto while_break;
5497 }
5498 }
5499 {
5500#line 417
5501 result = usbat_get_status(us, status);
5502 }
5503#line 419
5504 if (result != 0) {
5505#line 420
5506 return (3);
5507 } else {
5508
5509 }
5510 {
5511#line 421
5512 __cil_tmp10 = *status;
5513#line 421
5514 __cil_tmp11 = (int )__cil_tmp10;
5515#line 421
5516 if (__cil_tmp11 & 1) {
5517 {
5518#line 422
5519 result = usbat_read(us, (unsigned char)64, (unsigned char)16, status);
5520 }
5521#line 423
5522 return (1);
5523 } else {
5524
5525 }
5526 }
5527 {
5528#line 425
5529 __cil_tmp12 = *status;
5530#line 425
5531 __cil_tmp13 = (int )__cil_tmp12;
5532#line 425
5533 if (__cil_tmp13 & 32) {
5534#line 426
5535 return (1);
5536 } else {
5537
5538 }
5539 }
5540 {
5541#line 428
5542 __cil_tmp14 = *status;
5543#line 428
5544 __cil_tmp15 = (int )__cil_tmp14;
5545#line 428
5546 __cil_tmp16 = __cil_tmp15 & 128;
5547#line 428
5548 if (__cil_tmp16 == 0) {
5549 {
5550#line 429
5551 printk("<7>usb-storage: Waited not busy for %d steps\n", i);
5552 }
5553#line 430
5554 return (0);
5555 } else {
5556
5557 }
5558 }
5559#line 433
5560 if (i < 500) {
5561 {
5562#line 434
5563 msleep(10U);
5564 }
5565 } else
5566#line 435
5567 if (i < 700) {
5568 {
5569#line 436
5570 msleep(50U);
5571 }
5572 } else
5573#line 437
5574 if (i < 1200) {
5575 {
5576#line 438
5577 msleep(100U);
5578 }
5579 } else {
5580 {
5581#line 440
5582 msleep(1000U);
5583 }
5584 }
5585#line 415
5586 i = i + 1;
5587 }
5588 while_break: ;
5589 }
5590 {
5591#line 443
5592 printk("<7>usb-storage: Waited not busy for %d minutes, timing out.\n", minutes);
5593 }
5594#line 445
5595 return (1);
5596}
5597}
5598#line 451 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
5599static int usbat_read_block(struct us_data *us , void *buf , unsigned short len ,
5600 int use_sg )
5601{ int result ;
5602 unsigned char *command ;
5603 int tmp___7 ;
5604 unsigned long __cil_tmp8 ;
5605 unsigned long __cil_tmp9 ;
5606 unsigned char *__cil_tmp10 ;
5607 unsigned char *__cil_tmp11 ;
5608 unsigned char *__cil_tmp12 ;
5609 unsigned char *__cil_tmp13 ;
5610 unsigned char *__cil_tmp14 ;
5611 unsigned char *__cil_tmp15 ;
5612 unsigned char *__cil_tmp16 ;
5613 int __cil_tmp17 ;
5614 int __cil_tmp18 ;
5615 unsigned char *__cil_tmp19 ;
5616 int __cil_tmp20 ;
5617 int __cil_tmp21 ;
5618 unsigned int __cil_tmp22 ;
5619
5620 {
5621#line 457
5622 __cil_tmp8 = (unsigned long )us;
5623#line 457
5624 __cil_tmp9 = __cil_tmp8 + 376;
5625#line 457
5626 command = *((unsigned char **)__cil_tmp9);
5627#line 459
5628 if (! len) {
5629#line 460
5630 return (0);
5631 } else {
5632
5633 }
5634 {
5635#line 462
5636 __cil_tmp10 = command + 0;
5637#line 462
5638 *__cil_tmp10 = (unsigned char)192;
5639#line 463
5640 __cil_tmp11 = command + 1;
5641#line 463
5642 *__cil_tmp11 = (unsigned char)66;
5643#line 464
5644 __cil_tmp12 = command + 2;
5645#line 464
5646 *__cil_tmp12 = (unsigned char)16;
5647#line 465
5648 __cil_tmp13 = command + 3;
5649#line 465
5650 *__cil_tmp13 = (unsigned char)0;
5651#line 466
5652 __cil_tmp14 = command + 4;
5653#line 466
5654 *__cil_tmp14 = (unsigned char)0;
5655#line 467
5656 __cil_tmp15 = command + 5;
5657#line 467
5658 *__cil_tmp15 = (unsigned char)0;
5659#line 468
5660 __cil_tmp16 = command + 6;
5661#line 468
5662 __cil_tmp17 = (int )len;
5663#line 468
5664 __cil_tmp18 = __cil_tmp17 & 255;
5665#line 468
5666 *__cil_tmp16 = (unsigned char )__cil_tmp18;
5667#line 469
5668 __cil_tmp19 = command + 7;
5669#line 469
5670 __cil_tmp20 = (int )len;
5671#line 469
5672 __cil_tmp21 = __cil_tmp20 >> 8;
5673#line 469
5674 *__cil_tmp19 = (unsigned char )__cil_tmp21;
5675#line 471
5676 result = usbat_execute_command(us, command, 8U);
5677 }
5678#line 472
5679 if (result != 0) {
5680#line 473
5681 return (3);
5682 } else {
5683
5684 }
5685 {
5686#line 475
5687 __cil_tmp22 = (unsigned int )len;
5688#line 475
5689 result = usbat_bulk_read(us, buf, __cil_tmp22, use_sg);
5690 }
5691#line 476
5692 if (result == 0) {
5693#line 476
5694 tmp___7 = 0;
5695 } else {
5696#line 476
5697 tmp___7 = 3;
5698 }
5699#line 476
5700 return (tmp___7);
5701}
5702}
5703#line 483 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
5704static int usbat_write_block(struct us_data *us , unsigned char access , void *buf ,
5705 unsigned short len , int minutes , int use_sg )
5706{ int result ;
5707 unsigned char *command ;
5708 int tmp___7 ;
5709 unsigned long __cil_tmp10 ;
5710 unsigned long __cil_tmp11 ;
5711 unsigned char *__cil_tmp12 ;
5712 unsigned char *__cil_tmp13 ;
5713 int __cil_tmp14 ;
5714 int __cil_tmp15 ;
5715 unsigned char *__cil_tmp16 ;
5716 unsigned char *__cil_tmp17 ;
5717 unsigned char *__cil_tmp18 ;
5718 unsigned char *__cil_tmp19 ;
5719 unsigned char *__cil_tmp20 ;
5720 int __cil_tmp21 ;
5721 int __cil_tmp22 ;
5722 unsigned char *__cil_tmp23 ;
5723 int __cil_tmp24 ;
5724 int __cil_tmp25 ;
5725 unsigned int __cil_tmp26 ;
5726
5727 {
5728#line 491
5729 __cil_tmp10 = (unsigned long )us;
5730#line 491
5731 __cil_tmp11 = __cil_tmp10 + 376;
5732#line 491
5733 command = *((unsigned char **)__cil_tmp11);
5734#line 493
5735 if (! len) {
5736#line 494
5737 return (0);
5738 } else {
5739
5740 }
5741 {
5742#line 496
5743 __cil_tmp12 = command + 0;
5744#line 496
5745 *__cil_tmp12 = (unsigned char)64;
5746#line 497
5747 __cil_tmp13 = command + 1;
5748#line 497
5749 __cil_tmp14 = (int )access;
5750#line 497
5751 __cil_tmp15 = __cil_tmp14 | 3;
5752#line 497
5753 *__cil_tmp13 = (unsigned char )__cil_tmp15;
5754#line 498
5755 __cil_tmp16 = command + 2;
5756#line 498
5757 *__cil_tmp16 = (unsigned char)16;
5758#line 499
5759 __cil_tmp17 = command + 3;
5760#line 499
5761 *__cil_tmp17 = (unsigned char)0;
5762#line 500
5763 __cil_tmp18 = command + 4;
5764#line 500
5765 *__cil_tmp18 = (unsigned char)0;
5766#line 501
5767 __cil_tmp19 = command + 5;
5768#line 501
5769 *__cil_tmp19 = (unsigned char)0;
5770#line 502
5771 __cil_tmp20 = command + 6;
5772#line 502
5773 __cil_tmp21 = (int )len;
5774#line 502
5775 __cil_tmp22 = __cil_tmp21 & 255;
5776#line 502
5777 *__cil_tmp20 = (unsigned char )__cil_tmp22;
5778#line 503
5779 __cil_tmp23 = command + 7;
5780#line 503
5781 __cil_tmp24 = (int )len;
5782#line 503
5783 __cil_tmp25 = __cil_tmp24 >> 8;
5784#line 503
5785 *__cil_tmp23 = (unsigned char )__cil_tmp25;
5786#line 505
5787 result = usbat_execute_command(us, command, 8U);
5788 }
5789#line 507
5790 if (result != 0) {
5791#line 508
5792 return (3);
5793 } else {
5794
5795 }
5796 {
5797#line 510
5798 __cil_tmp26 = (unsigned int )len;
5799#line 510
5800 result = usbat_bulk_write(us, buf, __cil_tmp26, use_sg);
5801 }
5802#line 511
5803 if (result != 0) {
5804#line 512
5805 return (3);
5806 } else {
5807
5808 }
5809 {
5810#line 514
5811 tmp___7 = usbat_wait_not_busy(us, minutes);
5812 }
5813#line 514
5814 return (tmp___7);
5815}
5816}
5817#line 520 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
5818static int usbat_hp8200e_rw_block_test(struct us_data *us , unsigned char access ,
5819 unsigned char *registers , unsigned char *data_out ,
5820 unsigned short num_registers , unsigned char data_reg ,
5821 unsigned char status_reg , unsigned char timeout ,
5822 unsigned char qualifier , int direction , void *buf ,
5823 unsigned short len , int use_sg , int minutes )
5824{ int result ;
5825 unsigned int pipe ;
5826 unsigned int tmp___7 ;
5827 unsigned char *command ;
5828 int i ;
5829 int j ;
5830 int cmdlen ;
5831 unsigned char *data ;
5832 unsigned char *status ;
5833 long tmp___8 ;
5834 int tmp___9 ;
5835 int tmp___10 ;
5836 int tmp___11 ;
5837 char const *tmp___12 ;
5838 int tmp___13 ;
5839 char const *tmp___14 ;
5840 unsigned long __cil_tmp31 ;
5841 unsigned long __cil_tmp32 ;
5842 unsigned long __cil_tmp33 ;
5843 unsigned long __cil_tmp34 ;
5844 unsigned long __cil_tmp35 ;
5845 unsigned long __cil_tmp36 ;
5846 unsigned long __cil_tmp37 ;
5847 unsigned long __cil_tmp38 ;
5848 unsigned long __cil_tmp39 ;
5849 unsigned long __cil_tmp40 ;
5850 int __cil_tmp41 ;
5851 int __cil_tmp42 ;
5852 int __cil_tmp43 ;
5853 int __cil_tmp44 ;
5854 long __cil_tmp45 ;
5855 unsigned char *__cil_tmp46 ;
5856 unsigned char *__cil_tmp47 ;
5857 int __cil_tmp48 ;
5858 int __cil_tmp49 ;
5859 unsigned char *__cil_tmp50 ;
5860 unsigned char *__cil_tmp51 ;
5861 unsigned char *__cil_tmp52 ;
5862 unsigned char *__cil_tmp53 ;
5863 unsigned char *__cil_tmp54 ;
5864 int __cil_tmp55 ;
5865 int __cil_tmp56 ;
5866 int __cil_tmp57 ;
5867 unsigned char *__cil_tmp58 ;
5868 int __cil_tmp59 ;
5869 int __cil_tmp60 ;
5870 int __cil_tmp61 ;
5871 int __cil_tmp62 ;
5872 unsigned char *__cil_tmp63 ;
5873 int __cil_tmp64 ;
5874 unsigned char *__cil_tmp65 ;
5875 int __cil_tmp66 ;
5876 unsigned char *__cil_tmp67 ;
5877 int __cil_tmp68 ;
5878 int __cil_tmp69 ;
5879 int __cil_tmp70 ;
5880 unsigned char *__cil_tmp71 ;
5881 int __cil_tmp72 ;
5882 unsigned char *__cil_tmp73 ;
5883 int __cil_tmp74 ;
5884 unsigned char *__cil_tmp75 ;
5885 int __cil_tmp76 ;
5886 unsigned char *__cil_tmp77 ;
5887 int __cil_tmp78 ;
5888 unsigned char *__cil_tmp79 ;
5889 int __cil_tmp80 ;
5890 int __cil_tmp81 ;
5891 int __cil_tmp82 ;
5892 unsigned char *__cil_tmp83 ;
5893 int __cil_tmp84 ;
5894 int __cil_tmp85 ;
5895 unsigned int __cil_tmp86 ;
5896 int __cil_tmp87 ;
5897 int __cil_tmp88 ;
5898 unsigned char *__cil_tmp89 ;
5899 unsigned char *__cil_tmp90 ;
5900 int __cil_tmp91 ;
5901 int __cil_tmp92 ;
5902 unsigned char *__cil_tmp93 ;
5903 unsigned char *__cil_tmp94 ;
5904 void *__cil_tmp95 ;
5905 int __cil_tmp96 ;
5906 int __cil_tmp97 ;
5907 unsigned int __cil_tmp98 ;
5908 unsigned int __cil_tmp99 ;
5909 void *__cil_tmp100 ;
5910 int *__cil_tmp101 ;
5911 unsigned long __cil_tmp102 ;
5912 unsigned long __cil_tmp103 ;
5913 unsigned int __cil_tmp104 ;
5914 unsigned char __cil_tmp105 ;
5915 unsigned char __cil_tmp106 ;
5916 int __cil_tmp107 ;
5917 unsigned char __cil_tmp108 ;
5918 int __cil_tmp109 ;
5919
5920 {
5921#line 536
5922 if (direction == 2) {
5923#line 536
5924 __cil_tmp31 = (unsigned long )us;
5925#line 536
5926 __cil_tmp32 = __cil_tmp31 + 116;
5927#line 536
5928 tmp___7 = *((unsigned int *)__cil_tmp32);
5929 } else {
5930#line 536
5931 __cil_tmp33 = (unsigned long )us;
5932#line 536
5933 __cil_tmp34 = __cil_tmp33 + 112;
5934#line 536
5935 tmp___7 = *((unsigned int *)__cil_tmp34);
5936 }
5937#line 536
5938 pipe = tmp___7;
5939#line 539
5940 __cil_tmp35 = (unsigned long )us;
5941#line 539
5942 __cil_tmp36 = __cil_tmp35 + 376;
5943#line 539
5944 command = *((unsigned char **)__cil_tmp36);
5945#line 542
5946 __cil_tmp37 = (unsigned long )us;
5947#line 542
5948 __cil_tmp38 = __cil_tmp37 + 376;
5949#line 542
5950 data = *((unsigned char **)__cil_tmp38);
5951#line 543
5952 __cil_tmp39 = (unsigned long )us;
5953#line 543
5954 __cil_tmp40 = __cil_tmp39 + 376;
5955#line 543
5956 status = *((unsigned char **)__cil_tmp40);
5957 {
5958#line 545
5959 while (1) {
5960 while_continue: ;
5961 {
5962#line 545
5963 __cil_tmp41 = (int )num_registers;
5964#line 545
5965 __cil_tmp42 = __cil_tmp41 > 32;
5966#line 545
5967 __cil_tmp43 = ! __cil_tmp42;
5968#line 545
5969 __cil_tmp44 = ! __cil_tmp43;
5970#line 545
5971 __cil_tmp45 = (long )__cil_tmp44;
5972#line 545
5973 tmp___8 = __builtin_expect(__cil_tmp45, 0L);
5974 }
5975#line 545
5976 if (tmp___8) {
5977 {
5978#line 545
5979 while (1) {
5980 while_continue___0: ;
5981#line 545
5982 __asm__ volatile ("1:\tud2\n"
5983 ".pushsection __bug_table,\"a\"\n"
5984 "2:\t.long 1b - 2b, %c0 - 2b\n"
5985 "\t.word %c1, 0\n"
5986 "\t.org 2b+%c2\n"
5987 ".popsection": : "i" ("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"),
5988 "i" (545), "i" (12UL));
5989 {
5990#line 545
5991 while (1) {
5992 while_continue___1: ;
5993 }
5994 while_break___1: ;
5995 }
5996#line 545
5997 goto while_break___0;
5998 }
5999 while_break___0: ;
6000 }
6001 } else {
6002
6003 }
6004#line 545
6005 goto while_break;
6006 }
6007 while_break: ;
6008 }
6009#line 547
6010 i = 0;
6011 {
6012#line 547
6013 while (1) {
6014 while_continue___2: ;
6015#line 547
6016 if (i < 20) {
6017
6018 } else {
6019#line 547
6020 goto while_break___2;
6021 }
6022#line 560
6023 if (i == 0) {
6024#line 561
6025 cmdlen = 16;
6026#line 568
6027 __cil_tmp46 = command + 0;
6028#line 568
6029 *__cil_tmp46 = (unsigned char)64;
6030#line 569
6031 __cil_tmp47 = command + 1;
6032#line 569
6033 __cil_tmp48 = (int )access;
6034#line 569
6035 __cil_tmp49 = __cil_tmp48 | 7;
6036#line 569
6037 *__cil_tmp47 = (unsigned char )__cil_tmp49;
6038#line 570
6039 __cil_tmp50 = command + 2;
6040#line 570
6041 *__cil_tmp50 = (unsigned char)7;
6042#line 571
6043 __cil_tmp51 = command + 3;
6044#line 571
6045 *__cil_tmp51 = (unsigned char)23;
6046#line 572
6047 __cil_tmp52 = command + 4;
6048#line 572
6049 *__cil_tmp52 = (unsigned char)252;
6050#line 573
6051 __cil_tmp53 = command + 5;
6052#line 573
6053 *__cil_tmp53 = (unsigned char)231;
6054#line 574
6055 __cil_tmp54 = command + 6;
6056#line 574
6057 __cil_tmp55 = (int )num_registers;
6058#line 574
6059 __cil_tmp56 = __cil_tmp55 * 2;
6060#line 574
6061 __cil_tmp57 = __cil_tmp56 & 255;
6062#line 574
6063 *__cil_tmp54 = (unsigned char )__cil_tmp57;
6064#line 575
6065 __cil_tmp58 = command + 7;
6066#line 575
6067 __cil_tmp59 = (int )num_registers;
6068#line 575
6069 __cil_tmp60 = __cil_tmp59 * 2;
6070#line 575
6071 __cil_tmp61 = __cil_tmp60 >> 8;
6072#line 575
6073 *__cil_tmp58 = (unsigned char )__cil_tmp61;
6074 } else {
6075#line 577
6076 cmdlen = 8;
6077 }
6078#line 580
6079 if (direction == 1) {
6080#line 580
6081 __cil_tmp62 = cmdlen - 8;
6082#line 580
6083 __cil_tmp63 = command + __cil_tmp62;
6084#line 580
6085 *__cil_tmp63 = (unsigned char)64;
6086 } else {
6087#line 580
6088 __cil_tmp64 = cmdlen - 8;
6089#line 580
6090 __cil_tmp65 = command + __cil_tmp64;
6091#line 580
6092 *__cil_tmp65 = (unsigned char)192;
6093 }
6094#line 581
6095 if (direction == 1) {
6096#line 581
6097 tmp___9 = 5;
6098 } else {
6099#line 581
6100 tmp___9 = 4;
6101 }
6102 {
6103#line 581
6104 __cil_tmp66 = cmdlen - 7;
6105#line 581
6106 __cil_tmp67 = command + __cil_tmp66;
6107#line 581
6108 __cil_tmp68 = (int )access;
6109#line 581
6110 __cil_tmp69 = __cil_tmp68 | tmp___9;
6111#line 581
6112 *__cil_tmp67 = (unsigned char )__cil_tmp69;
6113#line 584
6114 __cil_tmp70 = cmdlen - 6;
6115#line 584
6116 __cil_tmp71 = command + __cil_tmp70;
6117#line 584
6118 *__cil_tmp71 = data_reg;
6119#line 585
6120 __cil_tmp72 = cmdlen - 5;
6121#line 585
6122 __cil_tmp73 = command + __cil_tmp72;
6123#line 585
6124 *__cil_tmp73 = status_reg;
6125#line 586
6126 __cil_tmp74 = cmdlen - 4;
6127#line 586
6128 __cil_tmp75 = command + __cil_tmp74;
6129#line 586
6130 *__cil_tmp75 = timeout;
6131#line 587
6132 __cil_tmp76 = cmdlen - 3;
6133#line 587
6134 __cil_tmp77 = command + __cil_tmp76;
6135#line 587
6136 *__cil_tmp77 = qualifier;
6137#line 588
6138 __cil_tmp78 = cmdlen - 2;
6139#line 588
6140 __cil_tmp79 = command + __cil_tmp78;
6141#line 588
6142 __cil_tmp80 = (int )len;
6143#line 588
6144 __cil_tmp81 = __cil_tmp80 & 255;
6145#line 588
6146 *__cil_tmp79 = (unsigned char )__cil_tmp81;
6147#line 589
6148 __cil_tmp82 = cmdlen - 1;
6149#line 589
6150 __cil_tmp83 = command + __cil_tmp82;
6151#line 589
6152 __cil_tmp84 = (int )len;
6153#line 589
6154 __cil_tmp85 = __cil_tmp84 >> 8;
6155#line 589
6156 *__cil_tmp83 = (unsigned char )__cil_tmp85;
6157#line 591
6158 __cil_tmp86 = (unsigned int )cmdlen;
6159#line 591
6160 result = usbat_execute_command(us, command, __cil_tmp86);
6161 }
6162#line 593
6163 if (result != 0) {
6164#line 594
6165 return (3);
6166 } else {
6167
6168 }
6169#line 596
6170 if (i == 0) {
6171#line 598
6172 j = 0;
6173 {
6174#line 598
6175 while (1) {
6176 while_continue___3: ;
6177 {
6178#line 598
6179 __cil_tmp87 = (int )num_registers;
6180#line 598
6181 if (j < __cil_tmp87) {
6182
6183 } else {
6184#line 598
6185 goto while_break___3;
6186 }
6187 }
6188#line 599
6189 __cil_tmp88 = j << 1;
6190#line 599
6191 __cil_tmp89 = data + __cil_tmp88;
6192#line 599
6193 __cil_tmp90 = registers + j;
6194#line 599
6195 *__cil_tmp89 = *__cil_tmp90;
6196#line 600
6197 __cil_tmp91 = j << 1;
6198#line 600
6199 __cil_tmp92 = 1 + __cil_tmp91;
6200#line 600
6201 __cil_tmp93 = data + __cil_tmp92;
6202#line 600
6203 __cil_tmp94 = data_out + j;
6204#line 600
6205 *__cil_tmp93 = *__cil_tmp94;
6206#line 598
6207 j = j + 1;
6208 }
6209 while_break___3: ;
6210 }
6211 {
6212#line 603
6213 __cil_tmp95 = (void *)data;
6214#line 603
6215 __cil_tmp96 = (int )num_registers;
6216#line 603
6217 __cil_tmp97 = __cil_tmp96 * 2;
6218#line 603
6219 __cil_tmp98 = (unsigned int )__cil_tmp97;
6220#line 603
6221 result = usbat_bulk_write(us, __cil_tmp95, __cil_tmp98, 0);
6222 }
6223#line 604
6224 if (result != 0) {
6225#line 605
6226 return (3);
6227 } else {
6228
6229 }
6230 } else {
6231
6232 }
6233 {
6234#line 609
6235 __cil_tmp99 = (unsigned int )len;
6236#line 609
6237 __cil_tmp100 = (void *)0;
6238#line 609
6239 __cil_tmp101 = (int *)__cil_tmp100;
6240#line 609
6241 result = usb_stor_bulk_transfer_sg(us, pipe, buf, __cil_tmp99, use_sg, __cil_tmp101);
6242 }
6243#line 631
6244 if (result == 1) {
6245#line 631
6246 goto _L;
6247 } else
6248#line 631
6249 if (result == 2) {
6250 _L:
6251#line 639
6252 if (direction == 2) {
6253#line 639
6254 if (i == 0) {
6255 {
6256#line 640
6257 __cil_tmp102 = (unsigned long )us;
6258#line 640
6259 __cil_tmp103 = __cil_tmp102 + 112;
6260#line 640
6261 __cil_tmp104 = *((unsigned int *)__cil_tmp103);
6262#line 640
6263 tmp___10 = usb_stor_clear_halt(us, __cil_tmp104);
6264 }
6265#line 640
6266 if (tmp___10 < 0) {
6267#line 642
6268 return (3);
6269 } else {
6270
6271 }
6272 } else {
6273
6274 }
6275 } else {
6276
6277 }
6278#line 649
6279 if (direction == 1) {
6280#line 649
6281 tmp___11 = 23;
6282 } else {
6283#line 649
6284 tmp___11 = 14;
6285 }
6286 {
6287#line 649
6288 __cil_tmp105 = (unsigned char )tmp___11;
6289#line 649
6290 result = usbat_read(us, (unsigned char)64, __cil_tmp105, status);
6291 }
6292#line 654
6293 if (result != 0) {
6294#line 655
6295 return (3);
6296 } else {
6297
6298 }
6299 {
6300#line 656
6301 __cil_tmp106 = *status;
6302#line 656
6303 __cil_tmp107 = (int )__cil_tmp106;
6304#line 656
6305 if (__cil_tmp107 & 1) {
6306#line 657
6307 return (1);
6308 } else {
6309
6310 }
6311 }
6312 {
6313#line 658
6314 __cil_tmp108 = *status;
6315#line 658
6316 __cil_tmp109 = (int )__cil_tmp108;
6317#line 658
6318 if (__cil_tmp109 & 32) {
6319#line 659
6320 return (1);
6321 } else {
6322
6323 }
6324 }
6325#line 661
6326 if (direction == 1) {
6327#line 661
6328 tmp___12 = "write";
6329 } else {
6330#line 661
6331 tmp___12 = "read";
6332 }
6333 {
6334#line 661
6335 printk("<7>usb-storage: Redoing %s\n", tmp___12);
6336 }
6337 } else
6338#line 664
6339 if (result != 0) {
6340#line 665
6341 return (3);
6342 } else {
6343 {
6344#line 667
6345 tmp___13 = usbat_wait_not_busy(us, minutes);
6346 }
6347#line 667
6348 return (tmp___13);
6349 }
6350#line 547
6351 i = i + 1;
6352 }
6353 while_break___2: ;
6354 }
6355#line 671
6356 if (direction == 1) {
6357#line 671
6358 tmp___14 = "Writing";
6359 } else {
6360#line 671
6361 tmp___14 = "Reading";
6362 }
6363 {
6364#line 671
6365 printk("<7>usb-storage: Bummer! %s bulk data 20 times failed.\n", tmp___14);
6366 }
6367#line 674
6368 return (1);
6369}
6370}
6371#line 684 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
6372static int usbat_multiple_write(struct us_data *us , unsigned char *registers , unsigned char *data_out ,
6373 unsigned short num_registers )
6374{ int i ;
6375 int result ;
6376 unsigned char *data ;
6377 unsigned char *command ;
6378 long tmp___7 ;
6379 int tmp___8 ;
6380 int tmp___9 ;
6381 unsigned long __cil_tmp12 ;
6382 unsigned long __cil_tmp13 ;
6383 unsigned long __cil_tmp14 ;
6384 unsigned long __cil_tmp15 ;
6385 int __cil_tmp16 ;
6386 int __cil_tmp17 ;
6387 int __cil_tmp18 ;
6388 int __cil_tmp19 ;
6389 long __cil_tmp20 ;
6390 unsigned char *__cil_tmp21 ;
6391 unsigned char *__cil_tmp22 ;
6392 unsigned char *__cil_tmp23 ;
6393 unsigned char *__cil_tmp24 ;
6394 unsigned char *__cil_tmp25 ;
6395 unsigned char *__cil_tmp26 ;
6396 unsigned char *__cil_tmp27 ;
6397 int __cil_tmp28 ;
6398 int __cil_tmp29 ;
6399 int __cil_tmp30 ;
6400 unsigned char *__cil_tmp31 ;
6401 int __cil_tmp32 ;
6402 int __cil_tmp33 ;
6403 int __cil_tmp34 ;
6404 int __cil_tmp35 ;
6405 int __cil_tmp36 ;
6406 unsigned char *__cil_tmp37 ;
6407 unsigned char *__cil_tmp38 ;
6408 int __cil_tmp39 ;
6409 int __cil_tmp40 ;
6410 unsigned char *__cil_tmp41 ;
6411 unsigned char *__cil_tmp42 ;
6412 void *__cil_tmp43 ;
6413 int __cil_tmp44 ;
6414 int __cil_tmp45 ;
6415 unsigned int __cil_tmp46 ;
6416
6417 {
6418#line 690
6419 __cil_tmp12 = (unsigned long )us;
6420#line 690
6421 __cil_tmp13 = __cil_tmp12 + 376;
6422#line 690
6423 data = *((unsigned char **)__cil_tmp13);
6424#line 691
6425 __cil_tmp14 = (unsigned long )us;
6426#line 691
6427 __cil_tmp15 = __cil_tmp14 + 376;
6428#line 691
6429 command = *((unsigned char **)__cil_tmp15);
6430 {
6431#line 693
6432 while (1) {
6433 while_continue: ;
6434 {
6435#line 693
6436 __cil_tmp16 = (int )num_registers;
6437#line 693
6438 __cil_tmp17 = __cil_tmp16 > 32;
6439#line 693
6440 __cil_tmp18 = ! __cil_tmp17;
6441#line 693
6442 __cil_tmp19 = ! __cil_tmp18;
6443#line 693
6444 __cil_tmp20 = (long )__cil_tmp19;
6445#line 693
6446 tmp___7 = __builtin_expect(__cil_tmp20, 0L);
6447 }
6448#line 693
6449 if (tmp___7) {
6450 {
6451#line 693
6452 while (1) {
6453 while_continue___0: ;
6454#line 693
6455 __asm__ volatile ("1:\tud2\n"
6456 ".pushsection __bug_table,\"a\"\n"
6457 "2:\t.long 1b - 2b, %c0 - 2b\n"
6458 "\t.word %c1, 0\n"
6459 "\t.org 2b+%c2\n"
6460 ".popsection": : "i" ("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"),
6461 "i" (693), "i" (12UL));
6462 {
6463#line 693
6464 while (1) {
6465 while_continue___1: ;
6466 }
6467 while_break___1: ;
6468 }
6469#line 693
6470 goto while_break___0;
6471 }
6472 while_break___0: ;
6473 }
6474 } else {
6475
6476 }
6477#line 693
6478 goto while_break;
6479 }
6480 while_break: ;
6481 }
6482 {
6483#line 696
6484 __cil_tmp21 = command + 0;
6485#line 696
6486 *__cil_tmp21 = (unsigned char)64;
6487#line 697
6488 __cil_tmp22 = command + 1;
6489#line 697
6490 *__cil_tmp22 = (unsigned char)71;
6491#line 700
6492 __cil_tmp23 = command + 2;
6493#line 700
6494 *__cil_tmp23 = (unsigned char)0;
6495#line 701
6496 __cil_tmp24 = command + 3;
6497#line 701
6498 *__cil_tmp24 = (unsigned char)0;
6499#line 702
6500 __cil_tmp25 = command + 4;
6501#line 702
6502 *__cil_tmp25 = (unsigned char)0;
6503#line 703
6504 __cil_tmp26 = command + 5;
6505#line 703
6506 *__cil_tmp26 = (unsigned char)0;
6507#line 706
6508 __cil_tmp27 = command + 6;
6509#line 706
6510 __cil_tmp28 = (int )num_registers;
6511#line 706
6512 __cil_tmp29 = __cil_tmp28 * 2;
6513#line 706
6514 __cil_tmp30 = __cil_tmp29 & 255;
6515#line 706
6516 *__cil_tmp27 = (unsigned char )__cil_tmp30;
6517#line 707
6518 __cil_tmp31 = command + 7;
6519#line 707
6520 __cil_tmp32 = (int )num_registers;
6521#line 707
6522 __cil_tmp33 = __cil_tmp32 * 2;
6523#line 707
6524 __cil_tmp34 = __cil_tmp33 >> 8;
6525#line 707
6526 *__cil_tmp31 = (unsigned char )__cil_tmp34;
6527#line 710
6528 result = usbat_execute_command(us, command, 8U);
6529 }
6530#line 711
6531 if (result != 0) {
6532#line 712
6533 return (3);
6534 } else {
6535
6536 }
6537#line 715
6538 i = 0;
6539 {
6540#line 715
6541 while (1) {
6542 while_continue___2: ;
6543 {
6544#line 715
6545 __cil_tmp35 = (int )num_registers;
6546#line 715
6547 if (i < __cil_tmp35) {
6548
6549 } else {
6550#line 715
6551 goto while_break___2;
6552 }
6553 }
6554#line 716
6555 __cil_tmp36 = i << 1;
6556#line 716
6557 __cil_tmp37 = data + __cil_tmp36;
6558#line 716
6559 __cil_tmp38 = registers + i;
6560#line 716
6561 *__cil_tmp37 = *__cil_tmp38;
6562#line 717
6563 __cil_tmp39 = i << 1;
6564#line 717
6565 __cil_tmp40 = 1 + __cil_tmp39;
6566#line 717
6567 __cil_tmp41 = data + __cil_tmp40;
6568#line 717
6569 __cil_tmp42 = data_out + i;
6570#line 717
6571 *__cil_tmp41 = *__cil_tmp42;
6572#line 715
6573 i = i + 1;
6574 }
6575 while_break___2: ;
6576 }
6577 {
6578#line 721
6579 __cil_tmp43 = (void *)data;
6580#line 721
6581 __cil_tmp44 = (int )num_registers;
6582#line 721
6583 __cil_tmp45 = __cil_tmp44 * 2;
6584#line 721
6585 __cil_tmp46 = (unsigned int )__cil_tmp45;
6586#line 721
6587 result = usbat_bulk_write(us, __cil_tmp43, __cil_tmp46, 0);
6588 }
6589#line 722
6590 if (result != 0) {
6591#line 723
6592 return (3);
6593 } else {
6594
6595 }
6596 {
6597#line 725
6598 tmp___9 = usbat_get_device_type(us);
6599 }
6600#line 725
6601 if (tmp___9 == 1) {
6602 {
6603#line 726
6604 tmp___8 = usbat_wait_not_busy(us, 0);
6605 }
6606#line 726
6607 return (tmp___8);
6608 } else {
6609#line 728
6610 return (0);
6611 }
6612}
6613}
6614#line 743 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
6615static int usbat_read_blocks(struct us_data *us , void *buffer , int len , int use_sg )
6616{ int result ;
6617 unsigned char *command ;
6618 unsigned long __cil_tmp7 ;
6619 unsigned long __cil_tmp8 ;
6620 unsigned char *__cil_tmp9 ;
6621 unsigned char *__cil_tmp10 ;
6622 unsigned char *__cil_tmp11 ;
6623 unsigned char *__cil_tmp12 ;
6624 unsigned char *__cil_tmp13 ;
6625 unsigned char *__cil_tmp14 ;
6626 unsigned char *__cil_tmp15 ;
6627 int __cil_tmp16 ;
6628 unsigned char *__cil_tmp17 ;
6629 int __cil_tmp18 ;
6630 unsigned int __cil_tmp19 ;
6631
6632 {
6633 {
6634#line 749
6635 __cil_tmp7 = (unsigned long )us;
6636#line 749
6637 __cil_tmp8 = __cil_tmp7 + 376;
6638#line 749
6639 command = *((unsigned char **)__cil_tmp8);
6640#line 751
6641 __cil_tmp9 = command + 0;
6642#line 751
6643 *__cil_tmp9 = (unsigned char)192;
6644#line 752
6645 __cil_tmp10 = command + 1;
6646#line 752
6647 *__cil_tmp10 = (unsigned char)68;
6648#line 753
6649 __cil_tmp11 = command + 2;
6650#line 753
6651 *__cil_tmp11 = (unsigned char)16;
6652#line 754
6653 __cil_tmp12 = command + 3;
6654#line 754
6655 *__cil_tmp12 = (unsigned char)23;
6656#line 755
6657 __cil_tmp13 = command + 4;
6658#line 755
6659 *__cil_tmp13 = (unsigned char)253;
6660#line 756
6661 __cil_tmp14 = command + 5;
6662#line 756
6663 *__cil_tmp14 = (unsigned char)32;
6664#line 757
6665 __cil_tmp15 = command + 6;
6666#line 757
6667 __cil_tmp16 = len & 255;
6668#line 757
6669 *__cil_tmp15 = (unsigned char )__cil_tmp16;
6670#line 758
6671 __cil_tmp17 = command + 7;
6672#line 758
6673 __cil_tmp18 = len >> 8;
6674#line 758
6675 *__cil_tmp17 = (unsigned char )__cil_tmp18;
6676#line 761
6677 result = usbat_execute_command(us, command, 8U);
6678 }
6679#line 762
6680 if (result != 0) {
6681#line 763
6682 return (1);
6683 } else {
6684
6685 }
6686 {
6687#line 766
6688 __cil_tmp19 = (unsigned int )len;
6689#line 766
6690 result = usbat_bulk_read(us, buffer, __cil_tmp19, use_sg);
6691 }
6692#line 767
6693 if (result != 0) {
6694#line 768
6695 return (1);
6696 } else {
6697
6698 }
6699#line 770
6700 return (0);
6701}
6702}
6703#line 785 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
6704static int usbat_write_blocks(struct us_data *us , void *buffer , int len , int use_sg )
6705{ int result ;
6706 unsigned char *command ;
6707 unsigned long __cil_tmp7 ;
6708 unsigned long __cil_tmp8 ;
6709 unsigned char *__cil_tmp9 ;
6710 unsigned char *__cil_tmp10 ;
6711 unsigned char *__cil_tmp11 ;
6712 unsigned char *__cil_tmp12 ;
6713 unsigned char *__cil_tmp13 ;
6714 unsigned char *__cil_tmp14 ;
6715 unsigned char *__cil_tmp15 ;
6716 int __cil_tmp16 ;
6717 unsigned char *__cil_tmp17 ;
6718 int __cil_tmp18 ;
6719 unsigned int __cil_tmp19 ;
6720
6721 {
6722 {
6723#line 791
6724 __cil_tmp7 = (unsigned long )us;
6725#line 791
6726 __cil_tmp8 = __cil_tmp7 + 376;
6727#line 791
6728 command = *((unsigned char **)__cil_tmp8);
6729#line 793
6730 __cil_tmp9 = command + 0;
6731#line 793
6732 *__cil_tmp9 = (unsigned char)64;
6733#line 794
6734 __cil_tmp10 = command + 1;
6735#line 794
6736 *__cil_tmp10 = (unsigned char)69;
6737#line 795
6738 __cil_tmp11 = command + 2;
6739#line 795
6740 *__cil_tmp11 = (unsigned char)16;
6741#line 796
6742 __cil_tmp12 = command + 3;
6743#line 796
6744 *__cil_tmp12 = (unsigned char)23;
6745#line 797
6746 __cil_tmp13 = command + 4;
6747#line 797
6748 *__cil_tmp13 = (unsigned char)253;
6749#line 798
6750 __cil_tmp14 = command + 5;
6751#line 798
6752 *__cil_tmp14 = (unsigned char)32;
6753#line 799
6754 __cil_tmp15 = command + 6;
6755#line 799
6756 __cil_tmp16 = len & 255;
6757#line 799
6758 *__cil_tmp15 = (unsigned char )__cil_tmp16;
6759#line 800
6760 __cil_tmp17 = command + 7;
6761#line 800
6762 __cil_tmp18 = len >> 8;
6763#line 800
6764 *__cil_tmp17 = (unsigned char )__cil_tmp18;
6765#line 803
6766 result = usbat_execute_command(us, command, 8U);
6767 }
6768#line 804
6769 if (result != 0) {
6770#line 805
6771 return (1);
6772 } else {
6773
6774 }
6775 {
6776#line 808
6777 __cil_tmp19 = (unsigned int )len;
6778#line 808
6779 result = usbat_bulk_write(us, buffer, __cil_tmp19, use_sg);
6780 }
6781#line 809
6782 if (result != 0) {
6783#line 810
6784 return (1);
6785 } else {
6786
6787 }
6788#line 812
6789 return (0);
6790}
6791}
6792#line 818 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
6793static int usbat_read_user_io(struct us_data *us , unsigned char *data_flags )
6794{ int result ;
6795 unsigned long __cil_tmp4 ;
6796 unsigned long __cil_tmp5 ;
6797 unsigned int __cil_tmp6 ;
6798 u8 __cil_tmp7 ;
6799 u8 __cil_tmp8 ;
6800 u16 __cil_tmp9 ;
6801 u16 __cil_tmp10 ;
6802 void *__cil_tmp11 ;
6803 u16 __cil_tmp12 ;
6804 unsigned char __cil_tmp13 ;
6805 unsigned short __cil_tmp14 ;
6806 int __cil_tmp15 ;
6807
6808 {
6809 {
6810#line 822
6811 __cil_tmp4 = (unsigned long )us;
6812#line 822
6813 __cil_tmp5 = __cil_tmp4 + 124;
6814#line 822
6815 __cil_tmp6 = *((unsigned int *)__cil_tmp5);
6816#line 822
6817 __cil_tmp7 = (u8 )130;
6818#line 822
6819 __cil_tmp8 = (u8 )192;
6820#line 822
6821 __cil_tmp9 = (u16 )0;
6822#line 822
6823 __cil_tmp10 = (u16 )0;
6824#line 822
6825 __cil_tmp11 = (void *)data_flags;
6826#line 822
6827 __cil_tmp12 = (u16 )1;
6828#line 822
6829 result = usb_stor_ctrl_transfer(us, __cil_tmp6, __cil_tmp7, __cil_tmp8, __cil_tmp9,
6830 __cil_tmp10, __cil_tmp11, __cil_tmp12);
6831#line 831
6832 __cil_tmp13 = *data_flags;
6833#line 831
6834 __cil_tmp14 = (unsigned short )__cil_tmp13;
6835#line 831
6836 __cil_tmp15 = (int )__cil_tmp14;
6837#line 831
6838 printk("<7>usb-storage: usbat_read_user_io: UIO register reads %02X\n", __cil_tmp15);
6839 }
6840#line 833
6841 return (result);
6842}
6843}
6844#line 839 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
6845static int usbat_write_user_io(struct us_data *us , unsigned char enable_flags , unsigned char data_flags )
6846{ int tmp___7 ;
6847 unsigned long __cil_tmp5 ;
6848 unsigned long __cil_tmp6 ;
6849 unsigned int __cil_tmp7 ;
6850 u8 __cil_tmp8 ;
6851 u8 __cil_tmp9 ;
6852 u16 __cil_tmp10 ;
6853 int __cil_tmp11 ;
6854 int __cil_tmp12 ;
6855 u16 __cil_tmp13 ;
6856 int __cil_tmp14 ;
6857 int __cil_tmp15 ;
6858 u16 __cil_tmp16 ;
6859 u16 __cil_tmp17 ;
6860 void *__cil_tmp18 ;
6861 u16 __cil_tmp19 ;
6862
6863 {
6864 {
6865#line 843
6866 __cil_tmp5 = (unsigned long )us;
6867#line 843
6868 __cil_tmp6 = __cil_tmp5 + 120;
6869#line 843
6870 __cil_tmp7 = *((unsigned int *)__cil_tmp6);
6871#line 843
6872 __cil_tmp8 = (u8 )130;
6873#line 843
6874 __cil_tmp9 = (u8 )64;
6875#line 843
6876 __cil_tmp10 = (u16 )data_flags;
6877#line 843
6878 __cil_tmp11 = (int )__cil_tmp10;
6879#line 843
6880 __cil_tmp12 = __cil_tmp11 << 8;
6881#line 843
6882 __cil_tmp13 = (u16 )enable_flags;
6883#line 843
6884 __cil_tmp14 = (int )__cil_tmp13;
6885#line 843
6886 __cil_tmp15 = __cil_tmp14 | __cil_tmp12;
6887#line 843
6888 __cil_tmp16 = (u16 )__cil_tmp15;
6889#line 843
6890 __cil_tmp17 = (u16 )0;
6891#line 843
6892 __cil_tmp18 = (void *)0;
6893#line 843
6894 __cil_tmp19 = (u16 )0;
6895#line 843
6896 tmp___7 = usb_stor_ctrl_transfer(us, __cil_tmp7, __cil_tmp8, __cil_tmp9, __cil_tmp16,
6897 __cil_tmp17, __cil_tmp18, __cil_tmp19);
6898 }
6899#line 843
6900 return (tmp___7);
6901}
6902}
6903#line 857 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
6904static int usbat_device_reset(struct us_data *us )
6905{ int rc ;
6906
6907 {
6908 {
6909#line 865
6910 rc = usbat_write_user_io(us, (unsigned char)176, (unsigned char)160);
6911 }
6912#line 868
6913 if (rc != 0) {
6914#line 869
6915 return (3);
6916 } else {
6917
6918 }
6919 {
6920#line 875
6921 rc = usbat_write_user_io(us, (unsigned char)48, (unsigned char)160);
6922 }
6923#line 878
6924 if (rc != 0) {
6925#line 879
6926 return (3);
6927 } else {
6928
6929 }
6930#line 881
6931 return (0);
6932}
6933}
6934#line 887 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
6935static int usbat_device_enable_cdt(struct us_data *us )
6936{ int rc ;
6937
6938 {
6939 {
6940#line 892
6941 rc = usbat_write_user_io(us, (unsigned char)112, (unsigned char)160);
6942 }
6943#line 895
6944 if (rc != 0) {
6945#line 896
6946 return (3);
6947 } else {
6948
6949 }
6950#line 898
6951 return (0);
6952}
6953}
6954#line 904 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
6955static int usbat_flash_check_media_present(unsigned char *uio )
6956{ unsigned char __cil_tmp2 ;
6957 int __cil_tmp3 ;
6958
6959 {
6960 {
6961#line 906
6962 __cil_tmp2 = *uio;
6963#line 906
6964 __cil_tmp3 = (int )__cil_tmp2;
6965#line 906
6966 if (__cil_tmp3 & 2) {
6967 {
6968#line 907
6969 printk("<7>usb-storage: usbat_flash_check_media_present: no media detected\n");
6970 }
6971#line 908
6972 return (0);
6973 } else {
6974
6975 }
6976 }
6977#line 911
6978 return (1);
6979}
6980}
6981#line 917 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
6982static int usbat_flash_check_media_changed(unsigned char *uio )
6983{ unsigned char __cil_tmp2 ;
6984 int __cil_tmp3 ;
6985
6986 {
6987 {
6988#line 919
6989 __cil_tmp2 = *uio;
6990#line 919
6991 __cil_tmp3 = (int )__cil_tmp2;
6992#line 919
6993 if (__cil_tmp3 & 16) {
6994 {
6995#line 920
6996 printk("<7>usb-storage: usbat_flash_check_media_changed: media change detected\n");
6997 }
6998#line 921
6999 return (1);
7000 } else {
7001
7002 }
7003 }
7004#line 924
7005 return (0);
7006}
7007}
7008#line 930 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
7009static int usbat_flash_check_media(struct us_data *us , struct usbat_info *info )
7010{ int rc ;
7011 unsigned char *uio ;
7012 unsigned long __cil_tmp5 ;
7013 unsigned long __cil_tmp6 ;
7014 unsigned long __cil_tmp7 ;
7015 unsigned long __cil_tmp8 ;
7016 unsigned long __cil_tmp9 ;
7017 unsigned long __cil_tmp10 ;
7018 unsigned long __cil_tmp11 ;
7019 unsigned long __cil_tmp12 ;
7020 unsigned long __cil_tmp13 ;
7021 unsigned long __cil_tmp14 ;
7022 unsigned long __cil_tmp15 ;
7023 unsigned long __cil_tmp16 ;
7024 unsigned long __cil_tmp17 ;
7025 unsigned long __cil_tmp18 ;
7026
7027 {
7028 {
7029#line 934
7030 __cil_tmp5 = (unsigned long )us;
7031#line 934
7032 __cil_tmp6 = __cil_tmp5 + 376;
7033#line 934
7034 uio = *((unsigned char **)__cil_tmp6);
7035#line 936
7036 rc = usbat_read_user_io(us, uio);
7037 }
7038#line 937
7039 if (rc != 0) {
7040#line 938
7041 return (3);
7042 } else {
7043
7044 }
7045 {
7046#line 941
7047 rc = usbat_flash_check_media_present(uio);
7048 }
7049#line 942
7050 if (rc == 0) {
7051#line 943
7052 __cil_tmp7 = (unsigned long )info;
7053#line 943
7054 __cil_tmp8 = __cil_tmp7 + 24;
7055#line 943
7056 *((unsigned char *)__cil_tmp8) = (unsigned char)2;
7057#line 944
7058 __cil_tmp9 = (unsigned long )info;
7059#line 944
7060 __cil_tmp10 = __cil_tmp9 + 32;
7061#line 944
7062 *((unsigned long *)__cil_tmp10) = 58UL;
7063#line 945
7064 __cil_tmp11 = (unsigned long )info;
7065#line 945
7066 __cil_tmp12 = __cil_tmp11 + 40;
7067#line 945
7068 *((unsigned long *)__cil_tmp12) = 0UL;
7069#line 946
7070 return (1);
7071 } else {
7072
7073 }
7074 {
7075#line 950
7076 rc = usbat_flash_check_media_changed(uio);
7077 }
7078#line 951
7079 if (rc == 1) {
7080 {
7081#line 954
7082 rc = usbat_device_reset(us);
7083 }
7084#line 955
7085 if (rc != 0) {
7086#line 956
7087 return (rc);
7088 } else {
7089
7090 }
7091 {
7092#line 957
7093 rc = usbat_device_enable_cdt(us);
7094 }
7095#line 958
7096 if (rc != 0) {
7097#line 959
7098 return (rc);
7099 } else {
7100
7101 }
7102 {
7103#line 961
7104 msleep(50U);
7105#line 963
7106 rc = usbat_read_user_io(us, uio);
7107 }
7108#line 964
7109 if (rc != 0) {
7110#line 965
7111 return (3);
7112 } else {
7113
7114 }
7115#line 967
7116 __cil_tmp13 = (unsigned long )info;
7117#line 967
7118 __cil_tmp14 = __cil_tmp13 + 24;
7119#line 967
7120 *((unsigned char *)__cil_tmp14) = (unsigned char)6;
7121#line 968
7122 __cil_tmp15 = (unsigned long )info;
7123#line 968
7124 __cil_tmp16 = __cil_tmp15 + 32;
7125#line 968
7126 *((unsigned long *)__cil_tmp16) = 40UL;
7127#line 969
7128 __cil_tmp17 = (unsigned long )info;
7129#line 969
7130 __cil_tmp18 = __cil_tmp17 + 40;
7131#line 969
7132 *((unsigned long *)__cil_tmp18) = 0UL;
7133#line 970
7134 return (1);
7135 } else {
7136
7137 }
7138#line 973
7139 return (0);
7140}
7141}
7142#line 981 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
7143static int usbat_identify_device(struct us_data *us , struct usbat_info *info )
7144{ int rc ;
7145 unsigned char status ;
7146 unsigned char *__cil_tmp5 ;
7147 unsigned char __cil_tmp6 ;
7148 int __cil_tmp7 ;
7149 unsigned char *__cil_tmp8 ;
7150 unsigned char __cil_tmp9 ;
7151 int __cil_tmp10 ;
7152 int __cil_tmp11 ;
7153
7154 {
7155#line 987
7156 if (! us) {
7157#line 988
7158 return (3);
7159 } else
7160#line 987
7161 if (! info) {
7162#line 988
7163 return (3);
7164 } else {
7165
7166 }
7167 {
7168#line 990
7169 rc = usbat_device_reset(us);
7170 }
7171#line 991
7172 if (rc != 0) {
7173#line 992
7174 return (rc);
7175 } else {
7176
7177 }
7178 {
7179#line 993
7180 msleep(500U);
7181#line 1001
7182 rc = usbat_write(us, (unsigned char)64, (unsigned char)23, (unsigned char)161);
7183 }
7184#line 1002
7185 if (rc != 0) {
7186#line 1003
7187 return (3);
7188 } else {
7189
7190 }
7191 {
7192#line 1005
7193 rc = usbat_get_status(us, & status);
7194 }
7195#line 1006
7196 if (rc != 0) {
7197#line 1007
7198 return (3);
7199 } else {
7200
7201 }
7202 {
7203#line 1010
7204 __cil_tmp5 = & status;
7205#line 1010
7206 __cil_tmp6 = *__cil_tmp5;
7207#line 1010
7208 __cil_tmp7 = (int )__cil_tmp6;
7209#line 1010
7210 if (__cil_tmp7 == 161) {
7211 {
7212#line 1012
7213 printk("<7>usb-storage: usbat_identify_device: Detected HP8200 CDRW\n");
7214#line 1013
7215 *((int *)info) = 1;
7216 }
7217 } else {
7218 {
7219#line 1010
7220 __cil_tmp8 = & status;
7221#line 1010
7222 __cil_tmp9 = *__cil_tmp8;
7223#line 1010
7224 __cil_tmp10 = (int )__cil_tmp9;
7225#line 1010
7226 __cil_tmp11 = __cil_tmp10 & 1;
7227#line 1010
7228 if (! __cil_tmp11) {
7229 {
7230#line 1012
7231 printk("<7>usb-storage: usbat_identify_device: Detected HP8200 CDRW\n");
7232#line 1013
7233 *((int *)info) = 1;
7234 }
7235 } else {
7236 {
7237#line 1016
7238 printk("<7>usb-storage: usbat_identify_device: Detected Flash reader/writer\n");
7239#line 1017
7240 *((int *)info) = 2;
7241 }
7242 }
7243 }
7244 }
7245 }
7246#line 1020
7247 return (0);
7248}
7249}
7250#line 1026 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
7251static int usbat_set_transport(struct us_data *us , struct usbat_info *info , int devicetype )
7252{ int __cil_tmp4 ;
7253 int __cil_tmp5 ;
7254 unsigned long __cil_tmp6 ;
7255 unsigned long __cil_tmp7 ;
7256 unsigned long __cil_tmp8 ;
7257 unsigned long __cil_tmp9 ;
7258
7259 {
7260 {
7261#line 1031
7262 __cil_tmp4 = *((int *)info);
7263#line 1031
7264 if (! __cil_tmp4) {
7265#line 1032
7266 *((int *)info) = devicetype;
7267 } else {
7268
7269 }
7270 }
7271 {
7272#line 1034
7273 __cil_tmp5 = *((int *)info);
7274#line 1034
7275 if (! __cil_tmp5) {
7276 {
7277#line 1035
7278 usbat_identify_device(us, info);
7279 }
7280 } else {
7281
7282 }
7283 }
7284#line 1041
7285 if (*((int *)info) == 1) {
7286#line 1041
7287 goto case_1;
7288 } else
7289#line 1045
7290 if (*((int *)info) == 2) {
7291#line 1045
7292 goto case_2;
7293 } else {
7294 {
7295#line 1038
7296 goto switch_default;
7297#line 1037
7298 if (0) {
7299 switch_default:
7300#line 1039
7301 return (3);
7302 case_1:
7303#line 1042
7304 __cil_tmp6 = (unsigned long )us;
7305#line 1042
7306 __cil_tmp7 = __cil_tmp6 + 168;
7307#line 1042
7308 *((int (**)(struct scsi_cmnd * , struct us_data * ))__cil_tmp7) = & usbat_hp8200e_transport;
7309#line 1043
7310 goto switch_break;
7311 case_2:
7312#line 1046
7313 __cil_tmp8 = (unsigned long )us;
7314#line 1046
7315 __cil_tmp9 = __cil_tmp8 + 168;
7316#line 1046
7317 *((int (**)(struct scsi_cmnd * , struct us_data * ))__cil_tmp9) = & usbat_flash_transport;
7318#line 1047
7319 goto switch_break;
7320 } else {
7321 switch_break: ;
7322 }
7323 }
7324 }
7325#line 1050
7326 return (0);
7327}
7328}
7329#line 1056 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
7330static int usbat_flash_get_sector_count(struct us_data *us , struct usbat_info *info )
7331{ unsigned char registers[3] ;
7332 unsigned char command[3] ;
7333 unsigned char *reply ;
7334 unsigned char status ;
7335 int rc ;
7336 void *tmp___7 ;
7337 int tmp___8 ;
7338 unsigned long __cil_tmp10 ;
7339 unsigned long __cil_tmp11 ;
7340 unsigned long __cil_tmp12 ;
7341 unsigned long __cil_tmp13 ;
7342 unsigned long __cil_tmp14 ;
7343 unsigned long __cil_tmp15 ;
7344 unsigned long __cil_tmp16 ;
7345 unsigned long __cil_tmp17 ;
7346 unsigned long __cil_tmp18 ;
7347 unsigned long __cil_tmp19 ;
7348 unsigned long __cil_tmp20 ;
7349 unsigned long __cil_tmp21 ;
7350 size_t __cil_tmp22 ;
7351 unsigned long __cil_tmp23 ;
7352 unsigned long __cil_tmp24 ;
7353 unsigned char *__cil_tmp25 ;
7354 unsigned long __cil_tmp26 ;
7355 unsigned long __cil_tmp27 ;
7356 unsigned char *__cil_tmp28 ;
7357 void *__cil_tmp29 ;
7358 unsigned long __cil_tmp30 ;
7359 unsigned long __cil_tmp31 ;
7360 unsigned char *__cil_tmp32 ;
7361 unsigned char __cil_tmp33 ;
7362 u32 __cil_tmp34 ;
7363 unsigned char *__cil_tmp35 ;
7364 unsigned char __cil_tmp36 ;
7365 u32 __cil_tmp37 ;
7366 u32 __cil_tmp38 ;
7367 unsigned char *__cil_tmp39 ;
7368 unsigned char __cil_tmp40 ;
7369 u32 __cil_tmp41 ;
7370 u32 __cil_tmp42 ;
7371 unsigned char *__cil_tmp43 ;
7372 unsigned char __cil_tmp44 ;
7373 u32 __cil_tmp45 ;
7374 u32 __cil_tmp46 ;
7375 unsigned int __cil_tmp47 ;
7376 unsigned int __cil_tmp48 ;
7377 unsigned int __cil_tmp49 ;
7378 void const *__cil_tmp50 ;
7379
7380 {
7381#line 1059
7382 __cil_tmp10 = 0 * 1UL;
7383#line 1059
7384 __cil_tmp11 = (unsigned long )(registers) + __cil_tmp10;
7385#line 1059
7386 *((unsigned char *)__cil_tmp11) = (unsigned char)18;
7387#line 1059
7388 __cil_tmp12 = 1 * 1UL;
7389#line 1059
7390 __cil_tmp13 = (unsigned long )(registers) + __cil_tmp12;
7391#line 1059
7392 *((unsigned char *)__cil_tmp13) = (unsigned char)22;
7393#line 1059
7394 __cil_tmp14 = 2 * 1UL;
7395#line 1059
7396 __cil_tmp15 = (unsigned long )(registers) + __cil_tmp14;
7397#line 1059
7398 *((unsigned char *)__cil_tmp15) = (unsigned char)23;
7399#line 1064
7400 __cil_tmp16 = 0 * 1UL;
7401#line 1064
7402 __cil_tmp17 = (unsigned long )(command) + __cil_tmp16;
7403#line 1064
7404 *((unsigned char *)__cil_tmp17) = (unsigned char)1;
7405#line 1064
7406 __cil_tmp18 = 1 * 1UL;
7407#line 1064
7408 __cil_tmp19 = (unsigned long )(command) + __cil_tmp18;
7409#line 1064
7410 *((unsigned char *)__cil_tmp19) = (unsigned char)160;
7411#line 1064
7412 __cil_tmp20 = 2 * 1UL;
7413#line 1064
7414 __cil_tmp21 = (unsigned long )(command) + __cil_tmp20;
7415#line 1064
7416 *((unsigned char *)__cil_tmp21) = (unsigned char)236;
7417#line 1069
7418 if (! us) {
7419#line 1070
7420 return (3);
7421 } else
7422#line 1069
7423 if (! info) {
7424#line 1070
7425 return (3);
7426 } else {
7427
7428 }
7429 {
7430#line 1072
7431 __cil_tmp22 = (size_t )512;
7432#line 1072
7433 tmp___7 = kmalloc(__cil_tmp22, 16U);
7434#line 1072
7435 reply = (unsigned char *)tmp___7;
7436 }
7437#line 1073
7438 if (! reply) {
7439#line 1074
7440 return (3);
7441 } else {
7442
7443 }
7444 {
7445#line 1077
7446 __cil_tmp23 = 0 * 1UL;
7447#line 1077
7448 __cil_tmp24 = (unsigned long )(registers) + __cil_tmp23;
7449#line 1077
7450 __cil_tmp25 = (unsigned char *)__cil_tmp24;
7451#line 1077
7452 __cil_tmp26 = 0 * 1UL;
7453#line 1077
7454 __cil_tmp27 = (unsigned long )(command) + __cil_tmp26;
7455#line 1077
7456 __cil_tmp28 = (unsigned char *)__cil_tmp27;
7457#line 1077
7458 rc = usbat_multiple_write(us, __cil_tmp25, __cil_tmp28, (unsigned short)3);
7459 }
7460#line 1078
7461 if (rc != 0) {
7462 {
7463#line 1079
7464 printk("<7>usb-storage: usbat_flash_get_sector_count: Gah! identify_device failed\n");
7465#line 1080
7466 rc = 3;
7467 }
7468#line 1081
7469 goto leave;
7470 } else {
7471
7472 }
7473 {
7474#line 1085
7475 tmp___8 = usbat_get_status(us, & status);
7476 }
7477#line 1085
7478 if (tmp___8 != 0) {
7479#line 1086
7480 rc = 3;
7481#line 1087
7482 goto leave;
7483 } else {
7484
7485 }
7486 {
7487#line 1090
7488 msleep(100U);
7489#line 1093
7490 __cil_tmp29 = (void *)reply;
7491#line 1093
7492 rc = usbat_read_block(us, __cil_tmp29, (unsigned short)512, 0);
7493 }
7494#line 1094
7495 if (rc != 0) {
7496#line 1095
7497 goto leave;
7498 } else {
7499
7500 }
7501#line 1097
7502 __cil_tmp30 = (unsigned long )info;
7503#line 1097
7504 __cil_tmp31 = __cil_tmp30 + 8;
7505#line 1097
7506 __cil_tmp32 = reply + 114;
7507#line 1097
7508 __cil_tmp33 = *__cil_tmp32;
7509#line 1097
7510 __cil_tmp34 = (u32 )__cil_tmp33;
7511#line 1097
7512 __cil_tmp35 = reply + 115;
7513#line 1097
7514 __cil_tmp36 = *__cil_tmp35;
7515#line 1097
7516 __cil_tmp37 = (u32 )__cil_tmp36;
7517#line 1097
7518 __cil_tmp38 = __cil_tmp37 << 8;
7519#line 1097
7520 __cil_tmp39 = reply + 116;
7521#line 1097
7522 __cil_tmp40 = *__cil_tmp39;
7523#line 1097
7524 __cil_tmp41 = (u32 )__cil_tmp40;
7525#line 1097
7526 __cil_tmp42 = __cil_tmp41 << 16;
7527#line 1097
7528 __cil_tmp43 = reply + 117;
7529#line 1097
7530 __cil_tmp44 = *__cil_tmp43;
7531#line 1097
7532 __cil_tmp45 = (u32 )__cil_tmp44;
7533#line 1097
7534 __cil_tmp46 = __cil_tmp45 << 24;
7535#line 1097
7536 __cil_tmp47 = __cil_tmp46 | __cil_tmp42;
7537#line 1097
7538 __cil_tmp48 = __cil_tmp47 | __cil_tmp38;
7539#line 1097
7540 __cil_tmp49 = __cil_tmp48 | __cil_tmp34;
7541#line 1097
7542 *((unsigned long *)__cil_tmp31) = (unsigned long )__cil_tmp49;
7543#line 1102
7544 rc = 0;
7545 leave:
7546 {
7547#line 1105
7548 __cil_tmp50 = (void const *)reply;
7549#line 1105
7550 kfree(__cil_tmp50);
7551 }
7552#line 1106
7553 return (rc);
7554}
7555}
7556#line 1112 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
7557static int usbat_flash_read_data(struct us_data *us , struct usbat_info *info , u32 sector ,
7558 u32 sectors )
7559{ unsigned char registers[7] ;
7560 unsigned char command[7] ;
7561 unsigned char *buffer ;
7562 unsigned char thistime ;
7563 unsigned int totallen ;
7564 unsigned int alloclen ;
7565 int len ;
7566 int result ;
7567 unsigned int sg_offset ;
7568 struct scatterlist *sg ;
7569 unsigned int _min1 ;
7570 unsigned int _min2 ;
7571 unsigned int tmp___7 ;
7572 void *tmp___8 ;
7573 unsigned int _min1___0 ;
7574 unsigned int _min2___0 ;
7575 unsigned int tmp___9 ;
7576 unsigned long __cil_tmp22 ;
7577 unsigned long __cil_tmp23 ;
7578 unsigned long __cil_tmp24 ;
7579 unsigned long __cil_tmp25 ;
7580 unsigned long __cil_tmp26 ;
7581 unsigned long __cil_tmp27 ;
7582 unsigned long __cil_tmp28 ;
7583 unsigned long __cil_tmp29 ;
7584 unsigned long __cil_tmp30 ;
7585 unsigned long __cil_tmp31 ;
7586 unsigned long __cil_tmp32 ;
7587 unsigned long __cil_tmp33 ;
7588 unsigned long __cil_tmp34 ;
7589 unsigned long __cil_tmp35 ;
7590 unsigned int *__cil_tmp36 ;
7591 struct scatterlist **__cil_tmp37 ;
7592 void *__cil_tmp38 ;
7593 unsigned long __cil_tmp39 ;
7594 unsigned long __cil_tmp40 ;
7595 unsigned long __cil_tmp41 ;
7596 unsigned long __cil_tmp42 ;
7597 unsigned long __cil_tmp43 ;
7598 unsigned int *__cil_tmp44 ;
7599 unsigned int *__cil_tmp45 ;
7600 unsigned int *__cil_tmp46 ;
7601 unsigned int __cil_tmp47 ;
7602 unsigned int *__cil_tmp48 ;
7603 unsigned int __cil_tmp49 ;
7604 unsigned int *__cil_tmp50 ;
7605 unsigned int *__cil_tmp51 ;
7606 size_t __cil_tmp52 ;
7607 void *__cil_tmp53 ;
7608 unsigned long __cil_tmp54 ;
7609 unsigned long __cil_tmp55 ;
7610 unsigned int *__cil_tmp56 ;
7611 unsigned int *__cil_tmp57 ;
7612 unsigned int *__cil_tmp58 ;
7613 unsigned int __cil_tmp59 ;
7614 unsigned int *__cil_tmp60 ;
7615 unsigned int __cil_tmp61 ;
7616 unsigned int *__cil_tmp62 ;
7617 unsigned int *__cil_tmp63 ;
7618 unsigned long __cil_tmp64 ;
7619 unsigned long __cil_tmp65 ;
7620 unsigned long __cil_tmp66 ;
7621 unsigned long __cil_tmp67 ;
7622 unsigned long __cil_tmp68 ;
7623 unsigned long __cil_tmp69 ;
7624 unsigned long __cil_tmp70 ;
7625 unsigned long __cil_tmp71 ;
7626 unsigned char *__cil_tmp72 ;
7627 unsigned long __cil_tmp73 ;
7628 unsigned long __cil_tmp74 ;
7629 unsigned char *__cil_tmp75 ;
7630 unsigned long __cil_tmp76 ;
7631 unsigned long __cil_tmp77 ;
7632 unsigned char *__cil_tmp78 ;
7633 void *__cil_tmp79 ;
7634 unsigned int __cil_tmp80 ;
7635 unsigned long __cil_tmp81 ;
7636 unsigned long __cil_tmp82 ;
7637 struct scsi_cmnd *__cil_tmp83 ;
7638 enum xfer_buf_dir __cil_tmp84 ;
7639 u32 __cil_tmp85 ;
7640 unsigned int __cil_tmp86 ;
7641 void const *__cil_tmp87 ;
7642 void const *__cil_tmp88 ;
7643
7644 {
7645 {
7646#line 1117
7647 __cil_tmp22 = 0 * 1UL;
7648#line 1117
7649 __cil_tmp23 = (unsigned long )(registers) + __cil_tmp22;
7650#line 1117
7651 *((unsigned char *)__cil_tmp23) = (unsigned char)17;
7652#line 1117
7653 __cil_tmp24 = 1 * 1UL;
7654#line 1117
7655 __cil_tmp25 = (unsigned long )(registers) + __cil_tmp24;
7656#line 1117
7657 *((unsigned char *)__cil_tmp25) = (unsigned char)18;
7658#line 1117
7659 __cil_tmp26 = 2 * 1UL;
7660#line 1117
7661 __cil_tmp27 = (unsigned long )(registers) + __cil_tmp26;
7662#line 1117
7663 *((unsigned char *)__cil_tmp27) = (unsigned char)19;
7664#line 1117
7665 __cil_tmp28 = 3 * 1UL;
7666#line 1117
7667 __cil_tmp29 = (unsigned long )(registers) + __cil_tmp28;
7668#line 1117
7669 *((unsigned char *)__cil_tmp29) = (unsigned char)20;
7670#line 1117
7671 __cil_tmp30 = 4 * 1UL;
7672#line 1117
7673 __cil_tmp31 = (unsigned long )(registers) + __cil_tmp30;
7674#line 1117
7675 *((unsigned char *)__cil_tmp31) = (unsigned char)21;
7676#line 1117
7677 __cil_tmp32 = 5 * 1UL;
7678#line 1117
7679 __cil_tmp33 = (unsigned long )(registers) + __cil_tmp32;
7680#line 1117
7681 *((unsigned char *)__cil_tmp33) = (unsigned char)22;
7682#line 1117
7683 __cil_tmp34 = 6 * 1UL;
7684#line 1117
7685 __cil_tmp35 = (unsigned long )(registers) + __cil_tmp34;
7686#line 1117
7687 *((unsigned char *)__cil_tmp35) = (unsigned char)23;
7688#line 1131
7689 __cil_tmp36 = & sg_offset;
7690#line 1131
7691 *__cil_tmp36 = 0U;
7692#line 1132
7693 __cil_tmp37 = & sg;
7694#line 1132
7695 __cil_tmp38 = (void *)0;
7696#line 1132
7697 *__cil_tmp37 = (struct scatterlist *)__cil_tmp38;
7698#line 1134
7699 result = usbat_flash_check_media(us, info);
7700 }
7701#line 1135
7702 if (result != 0) {
7703#line 1136
7704 return (result);
7705 } else {
7706
7707 }
7708#line 1145
7709 if (sector > 268435455U) {
7710#line 1146
7711 return (3);
7712 } else {
7713
7714 }
7715#line 1148
7716 __cil_tmp39 = (unsigned long )info;
7717#line 1148
7718 __cil_tmp40 = __cil_tmp39 + 16;
7719#line 1148
7720 __cil_tmp41 = *((unsigned long *)__cil_tmp40);
7721#line 1148
7722 __cil_tmp42 = (unsigned long )sectors;
7723#line 1148
7724 __cil_tmp43 = __cil_tmp42 * __cil_tmp41;
7725#line 1148
7726 totallen = (unsigned int )__cil_tmp43;
7727#line 1156
7728 __cil_tmp44 = & _min1;
7729#line 1156
7730 *__cil_tmp44 = totallen;
7731#line 1156
7732 __cil_tmp45 = & _min2;
7733#line 1156
7734 *__cil_tmp45 = 65536U;
7735 {
7736#line 1156
7737 __cil_tmp46 = & _min2;
7738#line 1156
7739 __cil_tmp47 = *__cil_tmp46;
7740#line 1156
7741 __cil_tmp48 = & _min1;
7742#line 1156
7743 __cil_tmp49 = *__cil_tmp48;
7744#line 1156
7745 if (__cil_tmp49 < __cil_tmp47) {
7746#line 1156
7747 __cil_tmp50 = & _min1;
7748#line 1156
7749 tmp___7 = *__cil_tmp50;
7750 } else {
7751#line 1156
7752 __cil_tmp51 = & _min2;
7753#line 1156
7754 tmp___7 = *__cil_tmp51;
7755 }
7756 }
7757 {
7758#line 1156
7759 alloclen = tmp___7;
7760#line 1157
7761 __cil_tmp52 = (size_t )alloclen;
7762#line 1157
7763 tmp___8 = kmalloc(__cil_tmp52, 16U);
7764#line 1157
7765 buffer = (unsigned char *)tmp___8;
7766 }
7767 {
7768#line 1158
7769 __cil_tmp53 = (void *)0;
7770#line 1158
7771 __cil_tmp54 = (unsigned long )__cil_tmp53;
7772#line 1158
7773 __cil_tmp55 = (unsigned long )buffer;
7774#line 1158
7775 if (__cil_tmp55 == __cil_tmp54) {
7776#line 1159
7777 return (3);
7778 } else {
7779
7780 }
7781 }
7782 {
7783#line 1161
7784 while (1) {
7785 while_continue: ;
7786#line 1166
7787 __cil_tmp56 = & _min1___0;
7788#line 1166
7789 *__cil_tmp56 = totallen;
7790#line 1166
7791 __cil_tmp57 = & _min2___0;
7792#line 1166
7793 *__cil_tmp57 = alloclen;
7794 {
7795#line 1166
7796 __cil_tmp58 = & _min2___0;
7797#line 1166
7798 __cil_tmp59 = *__cil_tmp58;
7799#line 1166
7800 __cil_tmp60 = & _min1___0;
7801#line 1166
7802 __cil_tmp61 = *__cil_tmp60;
7803#line 1166
7804 if (__cil_tmp61 < __cil_tmp59) {
7805#line 1166
7806 __cil_tmp62 = & _min1___0;
7807#line 1166
7808 tmp___9 = *__cil_tmp62;
7809 } else {
7810#line 1166
7811 __cil_tmp63 = & _min2___0;
7812#line 1166
7813 tmp___9 = *__cil_tmp63;
7814 }
7815 }
7816 {
7817#line 1166
7818 len = (int )tmp___9;
7819#line 1167
7820 __cil_tmp64 = (unsigned long )info;
7821#line 1167
7822 __cil_tmp65 = __cil_tmp64 + 16;
7823#line 1167
7824 __cil_tmp66 = *((unsigned long *)__cil_tmp65);
7825#line 1167
7826 __cil_tmp67 = (unsigned long )len;
7827#line 1167
7828 __cil_tmp68 = __cil_tmp67 / __cil_tmp66;
7829#line 1167
7830 __cil_tmp69 = __cil_tmp68 & 255UL;
7831#line 1167
7832 thistime = (unsigned char )__cil_tmp69;
7833#line 1170
7834 __cil_tmp70 = 0 * 1UL;
7835#line 1170
7836 __cil_tmp71 = (unsigned long )(command) + __cil_tmp70;
7837#line 1170
7838 __cil_tmp72 = (unsigned char *)__cil_tmp71;
7839#line 1170
7840 usbat_pack_ata_sector_cmd(__cil_tmp72, thistime, sector, (unsigned char)32);
7841#line 1173
7842 __cil_tmp73 = 0 * 1UL;
7843#line 1173
7844 __cil_tmp74 = (unsigned long )(registers) + __cil_tmp73;
7845#line 1173
7846 __cil_tmp75 = (unsigned char *)__cil_tmp74;
7847#line 1173
7848 __cil_tmp76 = 0 * 1UL;
7849#line 1173
7850 __cil_tmp77 = (unsigned long )(command) + __cil_tmp76;
7851#line 1173
7852 __cil_tmp78 = (unsigned char *)__cil_tmp77;
7853#line 1173
7854 result = usbat_multiple_write(us, __cil_tmp75, __cil_tmp78, (unsigned short)7);
7855 }
7856#line 1174
7857 if (result != 0) {
7858#line 1175
7859 goto leave;
7860 } else {
7861
7862 }
7863 {
7864#line 1178
7865 __cil_tmp79 = (void *)buffer;
7866#line 1178
7867 result = usbat_read_blocks(us, __cil_tmp79, len, 0);
7868 }
7869#line 1179
7870 if (result != 0) {
7871#line 1180
7872 goto leave;
7873 } else {
7874
7875 }
7876 {
7877#line 1182
7878 printk("<7>usb-storage: usbat_flash_read_data: %d bytes\n", len);
7879#line 1185
7880 __cil_tmp80 = (unsigned int )len;
7881#line 1185
7882 __cil_tmp81 = (unsigned long )us;
7883#line 1185
7884 __cil_tmp82 = __cil_tmp81 + 192;
7885#line 1185
7886 __cil_tmp83 = *((struct scsi_cmnd **)__cil_tmp82);
7887#line 1185
7888 __cil_tmp84 = (enum xfer_buf_dir )0;
7889#line 1185
7890 usb_stor_access_xfer_buf(buffer, __cil_tmp80, __cil_tmp83, & sg, & sg_offset,
7891 __cil_tmp84);
7892#line 1188
7893 __cil_tmp85 = (u32 )thistime;
7894#line 1188
7895 sector = sector + __cil_tmp85;
7896#line 1189
7897 __cil_tmp86 = (unsigned int )len;
7898#line 1189
7899 totallen = totallen - __cil_tmp86;
7900 }
7901#line 1161
7902 if (totallen > 0U) {
7903
7904 } else {
7905#line 1161
7906 goto while_break;
7907 }
7908 }
7909 while_break: ;
7910 }
7911 {
7912#line 1192
7913 __cil_tmp87 = (void const *)buffer;
7914#line 1192
7915 kfree(__cil_tmp87);
7916 }
7917#line 1193
7918 return (0);
7919 leave:
7920 {
7921#line 1196
7922 __cil_tmp88 = (void const *)buffer;
7923#line 1196
7924 kfree(__cil_tmp88);
7925 }
7926#line 1197
7927 return (3);
7928}
7929}
7930#line 1203 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
7931static int usbat_flash_write_data(struct us_data *us , struct usbat_info *info , u32 sector ,
7932 u32 sectors )
7933{ unsigned char registers[7] ;
7934 unsigned char command[7] ;
7935 unsigned char *buffer ;
7936 unsigned char thistime ;
7937 unsigned int totallen ;
7938 unsigned int alloclen ;
7939 int len ;
7940 int result ;
7941 unsigned int sg_offset ;
7942 struct scatterlist *sg ;
7943 unsigned int _min1 ;
7944 unsigned int _min2 ;
7945 unsigned int tmp___7 ;
7946 void *tmp___8 ;
7947 unsigned int _min1___0 ;
7948 unsigned int _min2___0 ;
7949 unsigned int tmp___9 ;
7950 unsigned long __cil_tmp22 ;
7951 unsigned long __cil_tmp23 ;
7952 unsigned long __cil_tmp24 ;
7953 unsigned long __cil_tmp25 ;
7954 unsigned long __cil_tmp26 ;
7955 unsigned long __cil_tmp27 ;
7956 unsigned long __cil_tmp28 ;
7957 unsigned long __cil_tmp29 ;
7958 unsigned long __cil_tmp30 ;
7959 unsigned long __cil_tmp31 ;
7960 unsigned long __cil_tmp32 ;
7961 unsigned long __cil_tmp33 ;
7962 unsigned long __cil_tmp34 ;
7963 unsigned long __cil_tmp35 ;
7964 unsigned int *__cil_tmp36 ;
7965 struct scatterlist **__cil_tmp37 ;
7966 void *__cil_tmp38 ;
7967 unsigned long __cil_tmp39 ;
7968 unsigned long __cil_tmp40 ;
7969 unsigned long __cil_tmp41 ;
7970 unsigned long __cil_tmp42 ;
7971 unsigned long __cil_tmp43 ;
7972 unsigned int *__cil_tmp44 ;
7973 unsigned int *__cil_tmp45 ;
7974 unsigned int *__cil_tmp46 ;
7975 unsigned int __cil_tmp47 ;
7976 unsigned int *__cil_tmp48 ;
7977 unsigned int __cil_tmp49 ;
7978 unsigned int *__cil_tmp50 ;
7979 unsigned int *__cil_tmp51 ;
7980 size_t __cil_tmp52 ;
7981 void *__cil_tmp53 ;
7982 unsigned long __cil_tmp54 ;
7983 unsigned long __cil_tmp55 ;
7984 unsigned int *__cil_tmp56 ;
7985 unsigned int *__cil_tmp57 ;
7986 unsigned int *__cil_tmp58 ;
7987 unsigned int __cil_tmp59 ;
7988 unsigned int *__cil_tmp60 ;
7989 unsigned int __cil_tmp61 ;
7990 unsigned int *__cil_tmp62 ;
7991 unsigned int *__cil_tmp63 ;
7992 unsigned long __cil_tmp64 ;
7993 unsigned long __cil_tmp65 ;
7994 unsigned long __cil_tmp66 ;
7995 unsigned long __cil_tmp67 ;
7996 unsigned long __cil_tmp68 ;
7997 unsigned long __cil_tmp69 ;
7998 unsigned int __cil_tmp70 ;
7999 unsigned long __cil_tmp71 ;
8000 unsigned long __cil_tmp72 ;
8001 struct scsi_cmnd *__cil_tmp73 ;
8002 enum xfer_buf_dir __cil_tmp74 ;
8003 unsigned long __cil_tmp75 ;
8004 unsigned long __cil_tmp76 ;
8005 unsigned char *__cil_tmp77 ;
8006 unsigned long __cil_tmp78 ;
8007 unsigned long __cil_tmp79 ;
8008 unsigned char *__cil_tmp80 ;
8009 unsigned long __cil_tmp81 ;
8010 unsigned long __cil_tmp82 ;
8011 unsigned char *__cil_tmp83 ;
8012 void *__cil_tmp84 ;
8013 u32 __cil_tmp85 ;
8014 unsigned int __cil_tmp86 ;
8015 void const *__cil_tmp87 ;
8016 void const *__cil_tmp88 ;
8017
8018 {
8019 {
8020#line 1208
8021 __cil_tmp22 = 0 * 1UL;
8022#line 1208
8023 __cil_tmp23 = (unsigned long )(registers) + __cil_tmp22;
8024#line 1208
8025 *((unsigned char *)__cil_tmp23) = (unsigned char)17;
8026#line 1208
8027 __cil_tmp24 = 1 * 1UL;
8028#line 1208
8029 __cil_tmp25 = (unsigned long )(registers) + __cil_tmp24;
8030#line 1208
8031 *((unsigned char *)__cil_tmp25) = (unsigned char)18;
8032#line 1208
8033 __cil_tmp26 = 2 * 1UL;
8034#line 1208
8035 __cil_tmp27 = (unsigned long )(registers) + __cil_tmp26;
8036#line 1208
8037 *((unsigned char *)__cil_tmp27) = (unsigned char)19;
8038#line 1208
8039 __cil_tmp28 = 3 * 1UL;
8040#line 1208
8041 __cil_tmp29 = (unsigned long )(registers) + __cil_tmp28;
8042#line 1208
8043 *((unsigned char *)__cil_tmp29) = (unsigned char)20;
8044#line 1208
8045 __cil_tmp30 = 4 * 1UL;
8046#line 1208
8047 __cil_tmp31 = (unsigned long )(registers) + __cil_tmp30;
8048#line 1208
8049 *((unsigned char *)__cil_tmp31) = (unsigned char)21;
8050#line 1208
8051 __cil_tmp32 = 5 * 1UL;
8052#line 1208
8053 __cil_tmp33 = (unsigned long )(registers) + __cil_tmp32;
8054#line 1208
8055 *((unsigned char *)__cil_tmp33) = (unsigned char)22;
8056#line 1208
8057 __cil_tmp34 = 6 * 1UL;
8058#line 1208
8059 __cil_tmp35 = (unsigned long )(registers) + __cil_tmp34;
8060#line 1208
8061 *((unsigned char *)__cil_tmp35) = (unsigned char)23;
8062#line 1222
8063 __cil_tmp36 = & sg_offset;
8064#line 1222
8065 *__cil_tmp36 = 0U;
8066#line 1223
8067 __cil_tmp37 = & sg;
8068#line 1223
8069 __cil_tmp38 = (void *)0;
8070#line 1223
8071 *__cil_tmp37 = (struct scatterlist *)__cil_tmp38;
8072#line 1225
8073 result = usbat_flash_check_media(us, info);
8074 }
8075#line 1226
8076 if (result != 0) {
8077#line 1227
8078 return (result);
8079 } else {
8080
8081 }
8082#line 1236
8083 if (sector > 268435455U) {
8084#line 1237
8085 return (3);
8086 } else {
8087
8088 }
8089#line 1239
8090 __cil_tmp39 = (unsigned long )info;
8091#line 1239
8092 __cil_tmp40 = __cil_tmp39 + 16;
8093#line 1239
8094 __cil_tmp41 = *((unsigned long *)__cil_tmp40);
8095#line 1239
8096 __cil_tmp42 = (unsigned long )sectors;
8097#line 1239
8098 __cil_tmp43 = __cil_tmp42 * __cil_tmp41;
8099#line 1239
8100 totallen = (unsigned int )__cil_tmp43;
8101#line 1247
8102 __cil_tmp44 = & _min1;
8103#line 1247
8104 *__cil_tmp44 = totallen;
8105#line 1247
8106 __cil_tmp45 = & _min2;
8107#line 1247
8108 *__cil_tmp45 = 65536U;
8109 {
8110#line 1247
8111 __cil_tmp46 = & _min2;
8112#line 1247
8113 __cil_tmp47 = *__cil_tmp46;
8114#line 1247
8115 __cil_tmp48 = & _min1;
8116#line 1247
8117 __cil_tmp49 = *__cil_tmp48;
8118#line 1247
8119 if (__cil_tmp49 < __cil_tmp47) {
8120#line 1247
8121 __cil_tmp50 = & _min1;
8122#line 1247
8123 tmp___7 = *__cil_tmp50;
8124 } else {
8125#line 1247
8126 __cil_tmp51 = & _min2;
8127#line 1247
8128 tmp___7 = *__cil_tmp51;
8129 }
8130 }
8131 {
8132#line 1247
8133 alloclen = tmp___7;
8134#line 1248
8135 __cil_tmp52 = (size_t )alloclen;
8136#line 1248
8137 tmp___8 = kmalloc(__cil_tmp52, 16U);
8138#line 1248
8139 buffer = (unsigned char *)tmp___8;
8140 }
8141 {
8142#line 1249
8143 __cil_tmp53 = (void *)0;
8144#line 1249
8145 __cil_tmp54 = (unsigned long )__cil_tmp53;
8146#line 1249
8147 __cil_tmp55 = (unsigned long )buffer;
8148#line 1249
8149 if (__cil_tmp55 == __cil_tmp54) {
8150#line 1250
8151 return (3);
8152 } else {
8153
8154 }
8155 }
8156 {
8157#line 1252
8158 while (1) {
8159 while_continue: ;
8160#line 1257
8161 __cil_tmp56 = & _min1___0;
8162#line 1257
8163 *__cil_tmp56 = totallen;
8164#line 1257
8165 __cil_tmp57 = & _min2___0;
8166#line 1257
8167 *__cil_tmp57 = alloclen;
8168 {
8169#line 1257
8170 __cil_tmp58 = & _min2___0;
8171#line 1257
8172 __cil_tmp59 = *__cil_tmp58;
8173#line 1257
8174 __cil_tmp60 = & _min1___0;
8175#line 1257
8176 __cil_tmp61 = *__cil_tmp60;
8177#line 1257
8178 if (__cil_tmp61 < __cil_tmp59) {
8179#line 1257
8180 __cil_tmp62 = & _min1___0;
8181#line 1257
8182 tmp___9 = *__cil_tmp62;
8183 } else {
8184#line 1257
8185 __cil_tmp63 = & _min2___0;
8186#line 1257
8187 tmp___9 = *__cil_tmp63;
8188 }
8189 }
8190 {
8191#line 1257
8192 len = (int )tmp___9;
8193#line 1258
8194 __cil_tmp64 = (unsigned long )info;
8195#line 1258
8196 __cil_tmp65 = __cil_tmp64 + 16;
8197#line 1258
8198 __cil_tmp66 = *((unsigned long *)__cil_tmp65);
8199#line 1258
8200 __cil_tmp67 = (unsigned long )len;
8201#line 1258
8202 __cil_tmp68 = __cil_tmp67 / __cil_tmp66;
8203#line 1258
8204 __cil_tmp69 = __cil_tmp68 & 255UL;
8205#line 1258
8206 thistime = (unsigned char )__cil_tmp69;
8207#line 1261
8208 __cil_tmp70 = (unsigned int )len;
8209#line 1261
8210 __cil_tmp71 = (unsigned long )us;
8211#line 1261
8212 __cil_tmp72 = __cil_tmp71 + 192;
8213#line 1261
8214 __cil_tmp73 = *((struct scsi_cmnd **)__cil_tmp72);
8215#line 1261
8216 __cil_tmp74 = (enum xfer_buf_dir )1;
8217#line 1261
8218 usb_stor_access_xfer_buf(buffer, __cil_tmp70, __cil_tmp73, & sg, & sg_offset,
8219 __cil_tmp74);
8220#line 1265
8221 __cil_tmp75 = 0 * 1UL;
8222#line 1265
8223 __cil_tmp76 = (unsigned long )(command) + __cil_tmp75;
8224#line 1265
8225 __cil_tmp77 = (unsigned char *)__cil_tmp76;
8226#line 1265
8227 usbat_pack_ata_sector_cmd(__cil_tmp77, thistime, sector, (unsigned char)48);
8228#line 1268
8229 __cil_tmp78 = 0 * 1UL;
8230#line 1268
8231 __cil_tmp79 = (unsigned long )(registers) + __cil_tmp78;
8232#line 1268
8233 __cil_tmp80 = (unsigned char *)__cil_tmp79;
8234#line 1268
8235 __cil_tmp81 = 0 * 1UL;
8236#line 1268
8237 __cil_tmp82 = (unsigned long )(command) + __cil_tmp81;
8238#line 1268
8239 __cil_tmp83 = (unsigned char *)__cil_tmp82;
8240#line 1268
8241 result = usbat_multiple_write(us, __cil_tmp80, __cil_tmp83, (unsigned short)7);
8242 }
8243#line 1269
8244 if (result != 0) {
8245#line 1270
8246 goto leave;
8247 } else {
8248
8249 }
8250 {
8251#line 1273
8252 __cil_tmp84 = (void *)buffer;
8253#line 1273
8254 result = usbat_write_blocks(us, __cil_tmp84, len, 0);
8255 }
8256#line 1274
8257 if (result != 0) {
8258#line 1275
8259 goto leave;
8260 } else {
8261
8262 }
8263#line 1277
8264 __cil_tmp85 = (u32 )thistime;
8265#line 1277
8266 sector = sector + __cil_tmp85;
8267#line 1278
8268 __cil_tmp86 = (unsigned int )len;
8269#line 1278
8270 totallen = totallen - __cil_tmp86;
8271#line 1252
8272 if (totallen > 0U) {
8273
8274 } else {
8275#line 1252
8276 goto while_break;
8277 }
8278 }
8279 while_break: ;
8280 }
8281 {
8282#line 1281
8283 __cil_tmp87 = (void const *)buffer;
8284#line 1281
8285 kfree(__cil_tmp87);
8286 }
8287#line 1282
8288 return (result);
8289 leave:
8290 {
8291#line 1285
8292 __cil_tmp88 = (void const *)buffer;
8293#line 1285
8294 kfree(__cil_tmp88);
8295 }
8296#line 1286
8297 return (3);
8298}
8299}
8300#line 1293 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
8301static int usbat_hp8200e_handle_read10(struct us_data *us , unsigned char *registers ,
8302 unsigned char *data , struct scsi_cmnd *srb )
8303{ int result ;
8304 unsigned char *buffer ;
8305 unsigned int len ;
8306 unsigned int sector ;
8307 unsigned int sg_offset ;
8308 struct scatterlist *sg ;
8309 unsigned int tmp___7 ;
8310 unsigned int tmp___8 ;
8311 struct scatterlist *tmp___9 ;
8312 unsigned int tmp___10 ;
8313 unsigned int tmp___11 ;
8314 unsigned int _min1 ;
8315 unsigned int _min2 ;
8316 unsigned int tmp___12 ;
8317 unsigned int tmp___13 ;
8318 void *tmp___14 ;
8319 unsigned int tmp___15 ;
8320 unsigned int tmp___16 ;
8321 unsigned int tmp___17 ;
8322 unsigned int *__cil_tmp24 ;
8323 struct scatterlist **__cil_tmp25 ;
8324 void *__cil_tmp26 ;
8325 unsigned long __cil_tmp27 ;
8326 unsigned long __cil_tmp28 ;
8327 unsigned int __cil_tmp29 ;
8328 void *__cil_tmp30 ;
8329 unsigned short __cil_tmp31 ;
8330 int __cil_tmp32 ;
8331 unsigned char *__cil_tmp33 ;
8332 unsigned char __cil_tmp34 ;
8333 int __cil_tmp35 ;
8334 unsigned char *__cil_tmp36 ;
8335 unsigned char __cil_tmp37 ;
8336 u16 __cil_tmp38 ;
8337 int __cil_tmp39 ;
8338 int __cil_tmp40 ;
8339 unsigned char *__cil_tmp41 ;
8340 unsigned char __cil_tmp42 ;
8341 u16 __cil_tmp43 ;
8342 int __cil_tmp44 ;
8343 int __cil_tmp45 ;
8344 unsigned char *__cil_tmp46 ;
8345 unsigned char __cil_tmp47 ;
8346 unsigned int __cil_tmp48 ;
8347 unsigned long __cil_tmp49 ;
8348 unsigned long __cil_tmp50 ;
8349 unsigned long __cil_tmp51 ;
8350 unsigned long __cil_tmp52 ;
8351 unsigned int __cil_tmp53 ;
8352 unsigned long __cil_tmp54 ;
8353 unsigned long __cil_tmp55 ;
8354 unsigned long __cil_tmp56 ;
8355 unsigned long __cil_tmp57 ;
8356 unsigned int __cil_tmp58 ;
8357 unsigned long __cil_tmp59 ;
8358 unsigned long __cil_tmp60 ;
8359 unsigned int __cil_tmp61 ;
8360 unsigned long __cil_tmp62 ;
8361 unsigned long __cil_tmp63 ;
8362 unsigned int __cil_tmp64 ;
8363 unsigned int __cil_tmp65 ;
8364 unsigned int *__cil_tmp66 ;
8365 unsigned int *__cil_tmp67 ;
8366 unsigned int *__cil_tmp68 ;
8367 unsigned int __cil_tmp69 ;
8368 unsigned int *__cil_tmp70 ;
8369 unsigned int __cil_tmp71 ;
8370 unsigned int *__cil_tmp72 ;
8371 unsigned int *__cil_tmp73 ;
8372 size_t __cil_tmp74 ;
8373 void *__cil_tmp75 ;
8374 unsigned long __cil_tmp76 ;
8375 unsigned long __cil_tmp77 ;
8376 unsigned char *__cil_tmp78 ;
8377 unsigned char __cil_tmp79 ;
8378 u16 __cil_tmp80 ;
8379 int __cil_tmp81 ;
8380 int __cil_tmp82 ;
8381 unsigned char *__cil_tmp83 ;
8382 unsigned char __cil_tmp84 ;
8383 u16 __cil_tmp85 ;
8384 int __cil_tmp86 ;
8385 int __cil_tmp87 ;
8386 unsigned char *__cil_tmp88 ;
8387 unsigned char __cil_tmp89 ;
8388 u16 __cil_tmp90 ;
8389 int __cil_tmp91 ;
8390 int __cil_tmp92 ;
8391 unsigned char *__cil_tmp93 ;
8392 unsigned char __cil_tmp94 ;
8393 u16 __cil_tmp95 ;
8394 int __cil_tmp96 ;
8395 int __cil_tmp97 ;
8396 unsigned int __cil_tmp98 ;
8397 unsigned int __cil_tmp99 ;
8398 unsigned int __cil_tmp100 ;
8399 unsigned int __cil_tmp101 ;
8400 unsigned int __cil_tmp102 ;
8401 unsigned char *__cil_tmp103 ;
8402 unsigned int __cil_tmp104 ;
8403 unsigned char *__cil_tmp105 ;
8404 unsigned int __cil_tmp106 ;
8405 unsigned int __cil_tmp107 ;
8406 unsigned char *__cil_tmp108 ;
8407 unsigned int __cil_tmp109 ;
8408 unsigned int __cil_tmp110 ;
8409 unsigned char *__cil_tmp111 ;
8410 unsigned int __cil_tmp112 ;
8411 unsigned int __cil_tmp113 ;
8412 unsigned char *__cil_tmp114 ;
8413 unsigned int __cil_tmp115 ;
8414 unsigned int __cil_tmp116 ;
8415 unsigned char *__cil_tmp117 ;
8416 unsigned int __cil_tmp118 ;
8417 unsigned int __cil_tmp119 ;
8418 unsigned char *__cil_tmp120 ;
8419 unsigned char __cil_tmp121 ;
8420 int __cil_tmp122 ;
8421 unsigned char *__cil_tmp123 ;
8422 unsigned char *__cil_tmp124 ;
8423 unsigned long __cil_tmp125 ;
8424 unsigned long __cil_tmp126 ;
8425 unsigned int __cil_tmp127 ;
8426 unsigned int __cil_tmp128 ;
8427 unsigned int __cil_tmp129 ;
8428 unsigned char *__cil_tmp130 ;
8429 unsigned long __cil_tmp131 ;
8430 unsigned long __cil_tmp132 ;
8431 unsigned int __cil_tmp133 ;
8432 unsigned int __cil_tmp134 ;
8433 unsigned int __cil_tmp135 ;
8434 void *__cil_tmp136 ;
8435 unsigned short __cil_tmp137 ;
8436 enum xfer_buf_dir __cil_tmp138 ;
8437 unsigned int __cil_tmp139 ;
8438 unsigned int __cil_tmp140 ;
8439 unsigned long __cil_tmp141 ;
8440 unsigned long __cil_tmp142 ;
8441 unsigned int __cil_tmp143 ;
8442 unsigned int __cil_tmp144 ;
8443 void const *__cil_tmp145 ;
8444
8445 {
8446 {
8447#line 1298
8448 result = 0;
8449#line 1302
8450 __cil_tmp24 = & sg_offset;
8451#line 1302
8452 *__cil_tmp24 = 0U;
8453#line 1303
8454 __cil_tmp25 = & sg;
8455#line 1303
8456 __cil_tmp26 = (void *)0;
8457#line 1303
8458 *__cil_tmp25 = (struct scatterlist *)__cil_tmp26;
8459#line 1305
8460 __cil_tmp27 = (unsigned long )srb;
8461#line 1305
8462 __cil_tmp28 = __cil_tmp27 + 124;
8463#line 1305
8464 __cil_tmp29 = *((unsigned int *)__cil_tmp28);
8465#line 1305
8466 printk("<7>usb-storage: handle_read10: transfersize %d\n", __cil_tmp29);
8467#line 1308
8468 tmp___10 = scsi_bufflen(srb);
8469 }
8470#line 1308
8471 if (tmp___10 < 65536U) {
8472 {
8473#line 1310
8474 tmp___7 = scsi_sg_count(srb);
8475#line 1310
8476 tmp___8 = scsi_bufflen(srb);
8477#line 1310
8478 tmp___9 = scsi_sglist(srb);
8479#line 1310
8480 __cil_tmp30 = (void *)tmp___9;
8481#line 1310
8482 __cil_tmp31 = (unsigned short )tmp___8;
8483#line 1310
8484 __cil_tmp32 = (int )tmp___7;
8485#line 1310
8486 result = usbat_hp8200e_rw_block_test(us, (unsigned char)64, registers, data, (unsigned short)19,
8487 (unsigned char)16, (unsigned char)23, (unsigned char)253,
8488 (unsigned char)48, 2, __cil_tmp30, __cil_tmp31,
8489 __cil_tmp32, 1);
8490 }
8491#line 1318
8492 return (result);
8493 } else {
8494
8495 }
8496 {
8497#line 1329
8498 __cil_tmp33 = data + 7;
8499#line 1329
8500 __cil_tmp34 = *__cil_tmp33;
8501#line 1329
8502 __cil_tmp35 = (int )__cil_tmp34;
8503#line 1329
8504 if (__cil_tmp35 == 190) {
8505 {
8506#line 1330
8507 __cil_tmp36 = data + 15;
8508#line 1330
8509 __cil_tmp37 = *__cil_tmp36;
8510#line 1330
8511 __cil_tmp38 = (u16 )__cil_tmp37;
8512#line 1330
8513 __cil_tmp39 = (int )__cil_tmp38;
8514#line 1330
8515 __cil_tmp40 = __cil_tmp39 << 8;
8516#line 1330
8517 __cil_tmp41 = data + 16;
8518#line 1330
8519 __cil_tmp42 = *__cil_tmp41;
8520#line 1330
8521 __cil_tmp43 = (u16 )__cil_tmp42;
8522#line 1330
8523 __cil_tmp44 = (int )__cil_tmp43;
8524#line 1330
8525 __cil_tmp45 = __cil_tmp44 | __cil_tmp40;
8526#line 1330
8527 len = (unsigned int )__cil_tmp45;
8528#line 1331
8529 len = len << 16;
8530#line 1332
8531 __cil_tmp46 = data + 14;
8532#line 1332
8533 __cil_tmp47 = *__cil_tmp46;
8534#line 1332
8535 __cil_tmp48 = (unsigned int )__cil_tmp47;
8536#line 1332
8537 len = len | __cil_tmp48;
8538#line 1333
8539 printk("<7>usb-storage: handle_read10: GPCMD_READ_CD: len %d\n", len);
8540#line 1334
8541 tmp___11 = scsi_bufflen(srb);
8542#line 1334
8543 __cil_tmp49 = (unsigned long )srb;
8544#line 1334
8545 __cil_tmp50 = __cil_tmp49 + 124;
8546#line 1334
8547 *((unsigned int *)__cil_tmp50) = tmp___11 / len;
8548 }
8549 } else {
8550
8551 }
8552 }
8553 {
8554#line 1337
8555 __cil_tmp51 = (unsigned long )srb;
8556#line 1337
8557 __cil_tmp52 = __cil_tmp51 + 124;
8558#line 1337
8559 __cil_tmp53 = *((unsigned int *)__cil_tmp52);
8560#line 1337
8561 if (! __cil_tmp53) {
8562 {
8563#line 1338
8564 __cil_tmp54 = (unsigned long )srb;
8565#line 1338
8566 __cil_tmp55 = __cil_tmp54 + 124;
8567#line 1338
8568 *((unsigned int *)__cil_tmp55) = 2048U;
8569#line 1339
8570 __cil_tmp56 = (unsigned long )srb;
8571#line 1339
8572 __cil_tmp57 = __cil_tmp56 + 124;
8573#line 1339
8574 __cil_tmp58 = *((unsigned int *)__cil_tmp57);
8575#line 1339
8576 printk("<7>usb-storage: handle_read10: transfersize 0, forcing %d\n", __cil_tmp58);
8577 }
8578 } else {
8579
8580 }
8581 }
8582 {
8583#line 1349
8584 __cil_tmp59 = (unsigned long )srb;
8585#line 1349
8586 __cil_tmp60 = __cil_tmp59 + 124;
8587#line 1349
8588 __cil_tmp61 = *((unsigned int *)__cil_tmp60);
8589#line 1349
8590 __cil_tmp62 = (unsigned long )srb;
8591#line 1349
8592 __cil_tmp63 = __cil_tmp62 + 124;
8593#line 1349
8594 __cil_tmp64 = *((unsigned int *)__cil_tmp63);
8595#line 1349
8596 __cil_tmp65 = 65535U / __cil_tmp64;
8597#line 1349
8598 len = __cil_tmp65 * __cil_tmp61;
8599#line 1350
8600 printk("<7>usb-storage: Max read is %d bytes\n", len);
8601#line 1351
8602 __cil_tmp66 = & _min1;
8603#line 1351
8604 *__cil_tmp66 = len;
8605#line 1351
8606 tmp___12 = scsi_bufflen(srb);
8607#line 1351
8608 __cil_tmp67 = & _min2;
8609#line 1351
8610 *__cil_tmp67 = tmp___12;
8611 }
8612 {
8613#line 1351
8614 __cil_tmp68 = & _min2;
8615#line 1351
8616 __cil_tmp69 = *__cil_tmp68;
8617#line 1351
8618 __cil_tmp70 = & _min1;
8619#line 1351
8620 __cil_tmp71 = *__cil_tmp70;
8621#line 1351
8622 if (__cil_tmp71 < __cil_tmp69) {
8623#line 1351
8624 __cil_tmp72 = & _min1;
8625#line 1351
8626 tmp___13 = *__cil_tmp72;
8627 } else {
8628#line 1351
8629 __cil_tmp73 = & _min2;
8630#line 1351
8631 tmp___13 = *__cil_tmp73;
8632 }
8633 }
8634 {
8635#line 1351
8636 len = tmp___13;
8637#line 1352
8638 __cil_tmp74 = (size_t )len;
8639#line 1352
8640 tmp___14 = kmalloc(__cil_tmp74, 16U);
8641#line 1352
8642 buffer = (unsigned char *)tmp___14;
8643 }
8644 {
8645#line 1353
8646 __cil_tmp75 = (void *)0;
8647#line 1353
8648 __cil_tmp76 = (unsigned long )__cil_tmp75;
8649#line 1353
8650 __cil_tmp77 = (unsigned long )buffer;
8651#line 1353
8652 if (__cil_tmp77 == __cil_tmp76) {
8653#line 1354
8654 return (1);
8655 } else {
8656
8657 }
8658 }
8659#line 1355
8660 __cil_tmp78 = data + 9;
8661#line 1355
8662 __cil_tmp79 = *__cil_tmp78;
8663#line 1355
8664 __cil_tmp80 = (u16 )__cil_tmp79;
8665#line 1355
8666 __cil_tmp81 = (int )__cil_tmp80;
8667#line 1355
8668 __cil_tmp82 = __cil_tmp81 << 8;
8669#line 1355
8670 __cil_tmp83 = data + 10;
8671#line 1355
8672 __cil_tmp84 = *__cil_tmp83;
8673#line 1355
8674 __cil_tmp85 = (u16 )__cil_tmp84;
8675#line 1355
8676 __cil_tmp86 = (int )__cil_tmp85;
8677#line 1355
8678 __cil_tmp87 = __cil_tmp86 | __cil_tmp82;
8679#line 1355
8680 sector = (unsigned int )__cil_tmp87;
8681#line 1356
8682 sector = sector << 16;
8683#line 1357
8684 __cil_tmp88 = data + 11;
8685#line 1357
8686 __cil_tmp89 = *__cil_tmp88;
8687#line 1357
8688 __cil_tmp90 = (u16 )__cil_tmp89;
8689#line 1357
8690 __cil_tmp91 = (int )__cil_tmp90;
8691#line 1357
8692 __cil_tmp92 = __cil_tmp91 << 8;
8693#line 1357
8694 __cil_tmp93 = data + 12;
8695#line 1357
8696 __cil_tmp94 = *__cil_tmp93;
8697#line 1357
8698 __cil_tmp95 = (u16 )__cil_tmp94;
8699#line 1357
8700 __cil_tmp96 = (int )__cil_tmp95;
8701#line 1357
8702 __cil_tmp97 = __cil_tmp96 | __cil_tmp92;
8703#line 1357
8704 __cil_tmp98 = (unsigned int )__cil_tmp97;
8705#line 1357
8706 sector = sector | __cil_tmp98;
8707#line 1358
8708 transferred = 0;
8709 {
8710#line 1360
8711 while (1) {
8712 while_continue: ;
8713 {
8714#line 1360
8715 tmp___17 = scsi_bufflen(srb);
8716 }
8717 {
8718#line 1360
8719 __cil_tmp99 = (unsigned int )transferred;
8720#line 1360
8721 if (__cil_tmp99 != tmp___17) {
8722
8723 } else {
8724#line 1360
8725 goto while_break;
8726 }
8727 }
8728 {
8729#line 1362
8730 tmp___16 = scsi_bufflen(srb);
8731 }
8732 {
8733#line 1362
8734 __cil_tmp100 = (unsigned int )transferred;
8735#line 1362
8736 __cil_tmp101 = tmp___16 - __cil_tmp100;
8737#line 1362
8738 if (len > __cil_tmp101) {
8739 {
8740#line 1363
8741 tmp___15 = scsi_bufflen(srb);
8742#line 1363
8743 __cil_tmp102 = (unsigned int )transferred;
8744#line 1363
8745 len = tmp___15 - __cil_tmp102;
8746 }
8747 } else {
8748
8749 }
8750 }
8751#line 1365
8752 __cil_tmp103 = data + 3;
8753#line 1365
8754 __cil_tmp104 = len & 255U;
8755#line 1365
8756 *__cil_tmp103 = (unsigned char )__cil_tmp104;
8757#line 1366
8758 __cil_tmp105 = data + 4;
8759#line 1366
8760 __cil_tmp106 = len >> 8;
8761#line 1366
8762 __cil_tmp107 = __cil_tmp106 & 255U;
8763#line 1366
8764 *__cil_tmp105 = (unsigned char )__cil_tmp107;
8765#line 1370
8766 __cil_tmp108 = data + 9;
8767#line 1370
8768 __cil_tmp109 = sector >> 16;
8769#line 1370
8770 __cil_tmp110 = __cil_tmp109 >> 8;
8771#line 1370
8772 *__cil_tmp108 = (unsigned char )__cil_tmp110;
8773#line 1371
8774 __cil_tmp111 = data + 10;
8775#line 1371
8776 __cil_tmp112 = sector >> 16;
8777#line 1371
8778 __cil_tmp113 = __cil_tmp112 & 255U;
8779#line 1371
8780 *__cil_tmp111 = (unsigned char )__cil_tmp113;
8781#line 1372
8782 __cil_tmp114 = data + 11;
8783#line 1372
8784 __cil_tmp115 = sector & 65535U;
8785#line 1372
8786 __cil_tmp116 = __cil_tmp115 >> 8;
8787#line 1372
8788 *__cil_tmp114 = (unsigned char )__cil_tmp116;
8789#line 1373
8790 __cil_tmp117 = data + 12;
8791#line 1373
8792 __cil_tmp118 = sector & 65535U;
8793#line 1373
8794 __cil_tmp119 = __cil_tmp118 & 255U;
8795#line 1373
8796 *__cil_tmp117 = (unsigned char )__cil_tmp119;
8797 {
8798#line 1374
8799 __cil_tmp120 = data + 7;
8800#line 1374
8801 __cil_tmp121 = *__cil_tmp120;
8802#line 1374
8803 __cil_tmp122 = (int )__cil_tmp121;
8804#line 1374
8805 if (__cil_tmp122 == 190) {
8806#line 1375
8807 __cil_tmp123 = data + 13;
8808#line 1375
8809 *__cil_tmp123 = (unsigned char)0;
8810 } else {
8811
8812 }
8813 }
8814 {
8815#line 1376
8816 __cil_tmp124 = data + 14;
8817#line 1376
8818 __cil_tmp125 = (unsigned long )srb;
8819#line 1376
8820 __cil_tmp126 = __cil_tmp125 + 124;
8821#line 1376
8822 __cil_tmp127 = *((unsigned int *)__cil_tmp126);
8823#line 1376
8824 __cil_tmp128 = len / __cil_tmp127;
8825#line 1376
8826 __cil_tmp129 = __cil_tmp128 >> 8;
8827#line 1376
8828 *__cil_tmp124 = (unsigned char )__cil_tmp129;
8829#line 1377
8830 __cil_tmp130 = data + 15;
8831#line 1377
8832 __cil_tmp131 = (unsigned long )srb;
8833#line 1377
8834 __cil_tmp132 = __cil_tmp131 + 124;
8835#line 1377
8836 __cil_tmp133 = *((unsigned int *)__cil_tmp132);
8837#line 1377
8838 __cil_tmp134 = len / __cil_tmp133;
8839#line 1377
8840 __cil_tmp135 = __cil_tmp134 & 255U;
8841#line 1377
8842 *__cil_tmp130 = (unsigned char )__cil_tmp135;
8843#line 1379
8844 __cil_tmp136 = (void *)buffer;
8845#line 1379
8846 __cil_tmp137 = (unsigned short )len;
8847#line 1379
8848 result = usbat_hp8200e_rw_block_test(us, (unsigned char)64, registers, data, (unsigned short)19,
8849 (unsigned char)16, (unsigned char)23, (unsigned char)253,
8850 (unsigned char)48, 2, __cil_tmp136, __cil_tmp137,
8851 0, 1);
8852 }
8853#line 1387
8854 if (result != 0) {
8855#line 1388
8856 goto while_break;
8857 } else {
8858
8859 }
8860 {
8861#line 1391
8862 __cil_tmp138 = (enum xfer_buf_dir )0;
8863#line 1391
8864 usb_stor_access_xfer_buf(buffer, len, srb, & sg, & sg_offset, __cil_tmp138);
8865#line 1396
8866 __cil_tmp139 = (unsigned int )transferred;
8867#line 1396
8868 __cil_tmp140 = __cil_tmp139 + len;
8869#line 1396
8870 transferred = (int )__cil_tmp140;
8871#line 1397
8872 __cil_tmp141 = (unsigned long )srb;
8873#line 1397
8874 __cil_tmp142 = __cil_tmp141 + 124;
8875#line 1397
8876 __cil_tmp143 = *((unsigned int *)__cil_tmp142);
8877#line 1397
8878 __cil_tmp144 = len / __cil_tmp143;
8879#line 1397
8880 sector = sector + __cil_tmp144;
8881 }
8882 }
8883 while_break: ;
8884 }
8885 {
8886#line 1401
8887 __cil_tmp145 = (void const *)buffer;
8888#line 1401
8889 kfree(__cil_tmp145);
8890 }
8891#line 1402
8892 return (result);
8893}
8894}
8895#line 1405 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
8896static int usbat_select_and_test_registers(struct us_data *us )
8897{ int selector ;
8898 unsigned char *status ;
8899 int tmp___7 ;
8900 int tmp___8 ;
8901 int tmp___9 ;
8902 int tmp___10 ;
8903 int tmp___11 ;
8904 int tmp___12 ;
8905 int tmp___13 ;
8906 int tmp___14 ;
8907 int tmp___15 ;
8908 unsigned long __cil_tmp13 ;
8909 unsigned long __cil_tmp14 ;
8910 unsigned char __cil_tmp15 ;
8911
8912 {
8913#line 1408
8914 __cil_tmp13 = (unsigned long )us;
8915#line 1408
8916 __cil_tmp14 = __cil_tmp13 + 376;
8917#line 1408
8918 status = *((unsigned char **)__cil_tmp14);
8919#line 1411
8920 selector = 160;
8921 {
8922#line 1411
8923 while (1) {
8924 while_continue: ;
8925#line 1411
8926 if (selector <= 176) {
8927
8928 } else {
8929#line 1411
8930 goto while_break;
8931 }
8932 {
8933#line 1412
8934 __cil_tmp15 = (unsigned char )selector;
8935#line 1412
8936 tmp___7 = usbat_write(us, (unsigned char)64, (unsigned char)22, __cil_tmp15);
8937 }
8938#line 1412
8939 if (tmp___7 != 0) {
8940#line 1414
8941 return (3);
8942 } else {
8943
8944 }
8945 {
8946#line 1416
8947 tmp___8 = usbat_read(us, (unsigned char)64, (unsigned char)23, status);
8948 }
8949#line 1416
8950 if (tmp___8 != 0) {
8951#line 1418
8952 return (3);
8953 } else {
8954
8955 }
8956 {
8957#line 1420
8958 tmp___9 = usbat_read(us, (unsigned char)64, (unsigned char)22, status);
8959 }
8960#line 1420
8961 if (tmp___9 != 0) {
8962#line 1422
8963 return (3);
8964 } else {
8965
8966 }
8967 {
8968#line 1424
8969 tmp___10 = usbat_read(us, (unsigned char)64, (unsigned char)20, status);
8970 }
8971#line 1424
8972 if (tmp___10 != 0) {
8973#line 1426
8974 return (3);
8975 } else {
8976
8977 }
8978 {
8979#line 1428
8980 tmp___11 = usbat_read(us, (unsigned char)64, (unsigned char)21, status);
8981 }
8982#line 1428
8983 if (tmp___11 != 0) {
8984#line 1430
8985 return (3);
8986 } else {
8987
8988 }
8989 {
8990#line 1432
8991 tmp___12 = usbat_write(us, (unsigned char)64, (unsigned char)20, (unsigned char)85);
8992 }
8993#line 1432
8994 if (tmp___12 != 0) {
8995#line 1434
8996 return (3);
8997 } else {
8998
8999 }
9000 {
9001#line 1436
9002 tmp___13 = usbat_write(us, (unsigned char)64, (unsigned char)21, (unsigned char)170);
9003 }
9004#line 1436
9005 if (tmp___13 != 0) {
9006#line 1438
9007 return (3);
9008 } else {
9009
9010 }
9011 {
9012#line 1440
9013 tmp___14 = usbat_read(us, (unsigned char)64, (unsigned char)20, status);
9014 }
9015#line 1440
9016 if (tmp___14 != 0) {
9017#line 1442
9018 return (3);
9019 } else {
9020
9021 }
9022 {
9023#line 1444
9024 tmp___15 = usbat_read(us, (unsigned char)64, (unsigned char)20, status);
9025 }
9026#line 1444
9027 if (tmp___15 != 0) {
9028#line 1446
9029 return (3);
9030 } else {
9031
9032 }
9033#line 1411
9034 selector = selector + 16;
9035 }
9036 while_break: ;
9037 }
9038#line 1449
9039 return (0);
9040}
9041}
9042#line 1455 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
9043static int init_usbat(struct us_data *us , int devicetype )
9044{ int rc ;
9045 struct usbat_info *info ;
9046 unsigned char subcountH ;
9047 unsigned char subcountL ;
9048 unsigned char *status ;
9049 int tmp___7 ;
9050 int tmp___8 ;
9051 unsigned long __cil_tmp10 ;
9052 unsigned long __cil_tmp11 ;
9053 unsigned long __cil_tmp12 ;
9054 unsigned long __cil_tmp13 ;
9055 unsigned long __cil_tmp14 ;
9056 unsigned long __cil_tmp15 ;
9057 void *__cil_tmp16 ;
9058 unsigned long __cil_tmp17 ;
9059 unsigned long __cil_tmp18 ;
9060 void *__cil_tmp19 ;
9061
9062 {
9063 {
9064#line 1459
9065 subcountH = (unsigned char)21;
9066#line 1460
9067 subcountL = (unsigned char)20;
9068#line 1461
9069 __cil_tmp10 = (unsigned long )us;
9070#line 1461
9071 __cil_tmp11 = __cil_tmp10 + 376;
9072#line 1461
9073 status = *((unsigned char **)__cil_tmp11);
9074#line 1463
9075 __cil_tmp12 = (unsigned long )us;
9076#line 1463
9077 __cil_tmp13 = __cil_tmp12 + 648;
9078#line 1463
9079 *((void **)__cil_tmp13) = kzalloc(48UL, 16U);
9080 }
9081 {
9082#line 1464
9083 __cil_tmp14 = (unsigned long )us;
9084#line 1464
9085 __cil_tmp15 = __cil_tmp14 + 648;
9086#line 1464
9087 __cil_tmp16 = *((void **)__cil_tmp15);
9088#line 1464
9089 if (! __cil_tmp16) {
9090 {
9091#line 1465
9092 printk("<7>usb-storage: init_usbat: Gah! Can\'t allocate storage for usbat info struct!\n");
9093 }
9094#line 1466
9095 return (1);
9096 } else {
9097
9098 }
9099 }
9100 {
9101#line 1468
9102 __cil_tmp17 = (unsigned long )us;
9103#line 1468
9104 __cil_tmp18 = __cil_tmp17 + 648;
9105#line 1468
9106 __cil_tmp19 = *((void **)__cil_tmp18);
9107#line 1468
9108 info = (struct usbat_info *)__cil_tmp19;
9109#line 1471
9110 rc = usbat_write_user_io(us, (unsigned char)48, (unsigned char)160);
9111 }
9112#line 1474
9113 if (rc != 0) {
9114#line 1475
9115 return (3);
9116 } else {
9117
9118 }
9119 {
9120#line 1477
9121 printk("<7>usb-storage: INIT 1\n");
9122#line 1479
9123 msleep(2000U);
9124#line 1481
9125 rc = usbat_read_user_io(us, status);
9126 }
9127#line 1482
9128 if (rc != 0) {
9129#line 1483
9130 return (rc);
9131 } else {
9132
9133 }
9134 {
9135#line 1485
9136 printk("<7>usb-storage: INIT 2\n");
9137#line 1487
9138 rc = usbat_read_user_io(us, status);
9139 }
9140#line 1488
9141 if (rc != 0) {
9142#line 1489
9143 return (3);
9144 } else {
9145
9146 }
9147 {
9148#line 1491
9149 rc = usbat_read_user_io(us, status);
9150 }
9151#line 1492
9152 if (rc != 0) {
9153#line 1493
9154 return (3);
9155 } else {
9156
9157 }
9158 {
9159#line 1495
9160 printk("<7>usb-storage: INIT 3\n");
9161#line 1497
9162 rc = usbat_select_and_test_registers(us);
9163 }
9164#line 1498
9165 if (rc != 0) {
9166#line 1499
9167 return (rc);
9168 } else {
9169
9170 }
9171 {
9172#line 1501
9173 printk("<7>usb-storage: INIT 4\n");
9174#line 1503
9175 rc = usbat_read_user_io(us, status);
9176 }
9177#line 1504
9178 if (rc != 0) {
9179#line 1505
9180 return (3);
9181 } else {
9182
9183 }
9184 {
9185#line 1507
9186 printk("<7>usb-storage: INIT 5\n");
9187#line 1510
9188 rc = usbat_device_enable_cdt(us);
9189 }
9190#line 1511
9191 if (rc != 0) {
9192#line 1512
9193 return (rc);
9194 } else {
9195
9196 }
9197 {
9198#line 1514
9199 printk("<7>usb-storage: INIT 6\n");
9200#line 1516
9201 rc = usbat_read_user_io(us, status);
9202 }
9203#line 1517
9204 if (rc != 0) {
9205#line 1518
9206 return (3);
9207 } else {
9208
9209 }
9210 {
9211#line 1520
9212 printk("<7>usb-storage: INIT 7\n");
9213#line 1522
9214 msleep(1400U);
9215#line 1524
9216 rc = usbat_read_user_io(us, status);
9217 }
9218#line 1525
9219 if (rc != 0) {
9220#line 1526
9221 return (3);
9222 } else {
9223
9224 }
9225 {
9226#line 1528
9227 printk("<7>usb-storage: INIT 8\n");
9228#line 1530
9229 rc = usbat_select_and_test_registers(us);
9230 }
9231#line 1531
9232 if (rc != 0) {
9233#line 1532
9234 return (rc);
9235 } else {
9236
9237 }
9238 {
9239#line 1534
9240 printk("<7>usb-storage: INIT 9\n");
9241#line 1537
9242 tmp___7 = usbat_set_transport(us, info, devicetype);
9243 }
9244#line 1537
9245 if (tmp___7) {
9246#line 1538
9247 return (3);
9248 } else {
9249
9250 }
9251 {
9252#line 1540
9253 printk("<7>usb-storage: INIT 10\n");
9254#line 1542
9255 tmp___8 = usbat_get_device_type(us);
9256 }
9257#line 1542
9258 if (tmp___8 == 2) {
9259#line 1543
9260 subcountH = (unsigned char)2;
9261#line 1544
9262 subcountL = (unsigned char)0;
9263 } else {
9264
9265 }
9266 {
9267#line 1546
9268 rc = usbat_set_shuttle_features(us, (unsigned char)131, (unsigned char)0, (unsigned char)136,
9269 (unsigned char)8, subcountH, subcountL);
9270 }
9271#line 1548
9272 if (rc != 0) {
9273#line 1549
9274 return (3);
9275 } else {
9276
9277 }
9278 {
9279#line 1551
9280 printk("<7>usb-storage: INIT 11\n");
9281 }
9282#line 1553
9283 return (0);
9284}
9285}
9286#line 1559 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
9287static int usbat_hp8200e_transport(struct scsi_cmnd *srb , struct us_data *us )
9288{ int result ;
9289 unsigned char *status ;
9290 unsigned char registers[32] ;
9291 unsigned char data[32] ;
9292 unsigned int len ;
9293 int i ;
9294 unsigned int tmp___7 ;
9295 struct scatterlist *tmp___8 ;
9296 int tmp___9 ;
9297 int tmp___10 ;
9298 int tmp___11 ;
9299 int tmp___12 ;
9300 unsigned int tmp___13 ;
9301 struct scatterlist *tmp___14 ;
9302 unsigned long __cil_tmp17 ;
9303 unsigned long __cil_tmp18 ;
9304 unsigned long __cil_tmp19 ;
9305 unsigned long __cil_tmp20 ;
9306 unsigned long __cil_tmp21 ;
9307 unsigned long __cil_tmp22 ;
9308 unsigned long __cil_tmp23 ;
9309 unsigned long __cil_tmp24 ;
9310 unsigned long __cil_tmp25 ;
9311 unsigned long __cil_tmp26 ;
9312 unsigned long __cil_tmp27 ;
9313 unsigned long __cil_tmp28 ;
9314 unsigned long __cil_tmp29 ;
9315 unsigned long __cil_tmp30 ;
9316 unsigned long __cil_tmp31 ;
9317 unsigned long __cil_tmp32 ;
9318 unsigned long __cil_tmp33 ;
9319 unsigned long __cil_tmp34 ;
9320 unsigned long __cil_tmp35 ;
9321 unsigned long __cil_tmp36 ;
9322 unsigned long __cil_tmp37 ;
9323 unsigned long __cil_tmp38 ;
9324 unsigned long __cil_tmp39 ;
9325 unsigned long __cil_tmp40 ;
9326 unsigned int __cil_tmp41 ;
9327 unsigned long __cil_tmp42 ;
9328 unsigned long __cil_tmp43 ;
9329 unsigned int __cil_tmp44 ;
9330 unsigned int __cil_tmp45 ;
9331 unsigned long __cil_tmp46 ;
9332 unsigned long __cil_tmp47 ;
9333 unsigned long __cil_tmp48 ;
9334 unsigned long __cil_tmp49 ;
9335 unsigned long __cil_tmp50 ;
9336 unsigned long __cil_tmp51 ;
9337 unsigned long __cil_tmp52 ;
9338 unsigned long __cil_tmp53 ;
9339 unsigned short __cil_tmp54 ;
9340 int __cil_tmp55 ;
9341 int __cil_tmp56 ;
9342 unsigned long __cil_tmp57 ;
9343 unsigned long __cil_tmp58 ;
9344 unsigned long __cil_tmp59 ;
9345 unsigned long __cil_tmp60 ;
9346 int __cil_tmp61 ;
9347 unsigned long __cil_tmp62 ;
9348 unsigned long __cil_tmp63 ;
9349 unsigned char *__cil_tmp64 ;
9350 unsigned char *__cil_tmp65 ;
9351 unsigned char __cil_tmp66 ;
9352 int __cil_tmp67 ;
9353 unsigned long __cil_tmp68 ;
9354 unsigned long __cil_tmp69 ;
9355 unsigned char *__cil_tmp70 ;
9356 unsigned char *__cil_tmp71 ;
9357 unsigned char __cil_tmp72 ;
9358 int __cil_tmp73 ;
9359 unsigned long __cil_tmp74 ;
9360 unsigned long __cil_tmp75 ;
9361 enum dma_data_direction __cil_tmp76 ;
9362 unsigned int __cil_tmp77 ;
9363 unsigned long __cil_tmp78 ;
9364 unsigned long __cil_tmp79 ;
9365 unsigned char *__cil_tmp80 ;
9366 unsigned long __cil_tmp81 ;
9367 unsigned long __cil_tmp82 ;
9368 unsigned char *__cil_tmp83 ;
9369 void *__cil_tmp84 ;
9370 unsigned short __cil_tmp85 ;
9371 int __cil_tmp86 ;
9372 unsigned int __cil_tmp87 ;
9373 unsigned int __cil_tmp88 ;
9374 unsigned long __cil_tmp89 ;
9375 unsigned long __cil_tmp90 ;
9376 unsigned char *__cil_tmp91 ;
9377 unsigned char *__cil_tmp92 ;
9378 unsigned char __cil_tmp93 ;
9379 int __cil_tmp94 ;
9380 unsigned long __cil_tmp95 ;
9381 unsigned long __cil_tmp96 ;
9382 unsigned char *__cil_tmp97 ;
9383 unsigned long __cil_tmp98 ;
9384 unsigned long __cil_tmp99 ;
9385 unsigned char *__cil_tmp100 ;
9386 unsigned long __cil_tmp101 ;
9387 unsigned long __cil_tmp102 ;
9388 unsigned char *__cil_tmp103 ;
9389 unsigned char *__cil_tmp104 ;
9390 unsigned char __cil_tmp105 ;
9391 int __cil_tmp106 ;
9392 unsigned long __cil_tmp107 ;
9393 unsigned long __cil_tmp108 ;
9394 unsigned char *__cil_tmp109 ;
9395 unsigned long __cil_tmp110 ;
9396 unsigned long __cil_tmp111 ;
9397 unsigned char *__cil_tmp112 ;
9398 unsigned long __cil_tmp113 ;
9399 unsigned long __cil_tmp114 ;
9400 unsigned char *__cil_tmp115 ;
9401 unsigned long __cil_tmp116 ;
9402 unsigned long __cil_tmp117 ;
9403 unsigned char *__cil_tmp118 ;
9404 unsigned long __cil_tmp119 ;
9405 unsigned long __cil_tmp120 ;
9406 unsigned char *__cil_tmp121 ;
9407 unsigned char *__cil_tmp122 ;
9408 unsigned char __cil_tmp123 ;
9409 int __cil_tmp124 ;
9410 unsigned long __cil_tmp125 ;
9411 unsigned long __cil_tmp126 ;
9412 unsigned char *__cil_tmp127 ;
9413 void *__cil_tmp128 ;
9414 unsigned long __cil_tmp129 ;
9415 unsigned long __cil_tmp130 ;
9416 enum dma_data_direction __cil_tmp131 ;
9417 unsigned int __cil_tmp132 ;
9418 unsigned char __cil_tmp133 ;
9419 unsigned char __cil_tmp134 ;
9420 unsigned int __cil_tmp135 ;
9421 unsigned int __cil_tmp136 ;
9422 unsigned char __cil_tmp137 ;
9423 void *__cil_tmp138 ;
9424 unsigned short __cil_tmp139 ;
9425 int __cil_tmp140 ;
9426
9427 {
9428 {
9429#line 1562
9430 __cil_tmp17 = (unsigned long )us;
9431#line 1562
9432 __cil_tmp18 = __cil_tmp17 + 376;
9433#line 1562
9434 status = *((unsigned char **)__cil_tmp18);
9435#line 1568
9436 len = scsi_bufflen(srb);
9437#line 1575
9438 __cil_tmp19 = 0 * 1UL;
9439#line 1575
9440 __cil_tmp20 = (unsigned long )(registers) + __cil_tmp19;
9441#line 1575
9442 *((unsigned char *)__cil_tmp20) = (unsigned char)17;
9443#line 1576
9444 __cil_tmp21 = 1 * 1UL;
9445#line 1576
9446 __cil_tmp22 = (unsigned long )(registers) + __cil_tmp21;
9447#line 1576
9448 *((unsigned char *)__cil_tmp22) = (unsigned char)18;
9449#line 1577
9450 __cil_tmp23 = 2 * 1UL;
9451#line 1577
9452 __cil_tmp24 = (unsigned long )(registers) + __cil_tmp23;
9453#line 1577
9454 *((unsigned char *)__cil_tmp24) = (unsigned char)19;
9455#line 1578
9456 __cil_tmp25 = 3 * 1UL;
9457#line 1578
9458 __cil_tmp26 = (unsigned long )(registers) + __cil_tmp25;
9459#line 1578
9460 *((unsigned char *)__cil_tmp26) = (unsigned char)20;
9461#line 1579
9462 __cil_tmp27 = 4 * 1UL;
9463#line 1579
9464 __cil_tmp28 = (unsigned long )(registers) + __cil_tmp27;
9465#line 1579
9466 *((unsigned char *)__cil_tmp28) = (unsigned char)21;
9467#line 1580
9468 __cil_tmp29 = 5 * 1UL;
9469#line 1580
9470 __cil_tmp30 = (unsigned long )(registers) + __cil_tmp29;
9471#line 1580
9472 *((unsigned char *)__cil_tmp30) = (unsigned char)22;
9473#line 1581
9474 __cil_tmp31 = 6 * 1UL;
9475#line 1581
9476 __cil_tmp32 = (unsigned long )(registers) + __cil_tmp31;
9477#line 1581
9478 *((unsigned char *)__cil_tmp32) = (unsigned char)23;
9479#line 1582
9480 __cil_tmp33 = 0 * 1UL;
9481#line 1582
9482 __cil_tmp34 = (unsigned long )(data) + __cil_tmp33;
9483#line 1582
9484 *((unsigned char *)__cil_tmp34) = (unsigned char)0;
9485#line 1583
9486 __cil_tmp35 = 1 * 1UL;
9487#line 1583
9488 __cil_tmp36 = (unsigned long )(data) + __cil_tmp35;
9489#line 1583
9490 *((unsigned char *)__cil_tmp36) = (unsigned char)0;
9491#line 1584
9492 __cil_tmp37 = 2 * 1UL;
9493#line 1584
9494 __cil_tmp38 = (unsigned long )(data) + __cil_tmp37;
9495#line 1584
9496 *((unsigned char *)__cil_tmp38) = (unsigned char)0;
9497#line 1585
9498 __cil_tmp39 = 3 * 1UL;
9499#line 1585
9500 __cil_tmp40 = (unsigned long )(data) + __cil_tmp39;
9501#line 1585
9502 __cil_tmp41 = len & 255U;
9503#line 1585
9504 *((unsigned char *)__cil_tmp40) = (unsigned char )__cil_tmp41;
9505#line 1586
9506 __cil_tmp42 = 4 * 1UL;
9507#line 1586
9508 __cil_tmp43 = (unsigned long )(data) + __cil_tmp42;
9509#line 1586
9510 __cil_tmp44 = len >> 8;
9511#line 1586
9512 __cil_tmp45 = __cil_tmp44 & 255U;
9513#line 1586
9514 *((unsigned char *)__cil_tmp43) = (unsigned char )__cil_tmp45;
9515#line 1587
9516 __cil_tmp46 = 5 * 1UL;
9517#line 1587
9518 __cil_tmp47 = (unsigned long )(data) + __cil_tmp46;
9519#line 1587
9520 *((unsigned char *)__cil_tmp47) = (unsigned char)176;
9521#line 1588
9522 __cil_tmp48 = 6 * 1UL;
9523#line 1588
9524 __cil_tmp49 = (unsigned long )(data) + __cil_tmp48;
9525#line 1588
9526 *((unsigned char *)__cil_tmp49) = (unsigned char)160;
9527#line 1590
9528 i = 7;
9529 }
9530 {
9531#line 1590
9532 while (1) {
9533 while_continue: ;
9534#line 1590
9535 if (i < 19) {
9536
9537 } else {
9538#line 1590
9539 goto while_break;
9540 }
9541#line 1591
9542 __cil_tmp50 = i * 1UL;
9543#line 1591
9544 __cil_tmp51 = (unsigned long )(registers) + __cil_tmp50;
9545#line 1591
9546 *((unsigned char *)__cil_tmp51) = (unsigned char)16;
9547 {
9548#line 1592
9549 __cil_tmp52 = (unsigned long )srb;
9550#line 1592
9551 __cil_tmp53 = __cil_tmp52 + 74;
9552#line 1592
9553 __cil_tmp54 = *((unsigned short *)__cil_tmp53);
9554#line 1592
9555 __cil_tmp55 = (int )__cil_tmp54;
9556#line 1592
9557 __cil_tmp56 = i - 7;
9558#line 1592
9559 if (__cil_tmp56 >= __cil_tmp55) {
9560#line 1592
9561 __cil_tmp57 = i * 1UL;
9562#line 1592
9563 __cil_tmp58 = (unsigned long )(data) + __cil_tmp57;
9564#line 1592
9565 *((unsigned char *)__cil_tmp58) = (unsigned char)0;
9566 } else {
9567#line 1592
9568 __cil_tmp59 = i * 1UL;
9569#line 1592
9570 __cil_tmp60 = (unsigned long )(data) + __cil_tmp59;
9571#line 1592
9572 __cil_tmp61 = i - 7;
9573#line 1592
9574 __cil_tmp62 = (unsigned long )srb;
9575#line 1592
9576 __cil_tmp63 = __cil_tmp62 + 80;
9577#line 1592
9578 __cil_tmp64 = *((unsigned char **)__cil_tmp63);
9579#line 1592
9580 __cil_tmp65 = __cil_tmp64 + __cil_tmp61;
9581#line 1592
9582 *((unsigned char *)__cil_tmp60) = *__cil_tmp65;
9583 }
9584 }
9585#line 1590
9586 i = i + 1;
9587 }
9588 while_break: ;
9589 }
9590 {
9591#line 1595
9592 result = usbat_get_status(us, status);
9593#line 1596
9594 __cil_tmp66 = *status;
9595#line 1596
9596 __cil_tmp67 = (int )__cil_tmp66;
9597#line 1596
9598 printk("<7>usb-storage: Status = %02X\n", __cil_tmp67);
9599 }
9600#line 1597
9601 if (result != 0) {
9602#line 1598
9603 return (3);
9604 } else {
9605
9606 }
9607 {
9608#line 1599
9609 __cil_tmp68 = (unsigned long )srb;
9610#line 1599
9611 __cil_tmp69 = __cil_tmp68 + 80;
9612#line 1599
9613 __cil_tmp70 = *((unsigned char **)__cil_tmp69);
9614#line 1599
9615 __cil_tmp71 = __cil_tmp70 + 0;
9616#line 1599
9617 __cil_tmp72 = *__cil_tmp71;
9618#line 1599
9619 __cil_tmp73 = (int )__cil_tmp72;
9620#line 1599
9621 if (__cil_tmp73 == 0) {
9622#line 1600
9623 transferred = 0;
9624 } else {
9625
9626 }
9627 }
9628 {
9629#line 1602
9630 __cil_tmp74 = (unsigned long )srb;
9631#line 1602
9632 __cil_tmp75 = __cil_tmp74 + 76;
9633#line 1602
9634 __cil_tmp76 = *((enum dma_data_direction *)__cil_tmp75);
9635#line 1602
9636 __cil_tmp77 = (unsigned int )__cil_tmp76;
9637#line 1602
9638 if (__cil_tmp77 == 1U) {
9639 {
9640#line 1604
9641 tmp___7 = scsi_sg_count(srb);
9642#line 1604
9643 tmp___8 = scsi_sglist(srb);
9644#line 1604
9645 __cil_tmp78 = 0 * 1UL;
9646#line 1604
9647 __cil_tmp79 = (unsigned long )(registers) + __cil_tmp78;
9648#line 1604
9649 __cil_tmp80 = (unsigned char *)__cil_tmp79;
9650#line 1604
9651 __cil_tmp81 = 0 * 1UL;
9652#line 1604
9653 __cil_tmp82 = (unsigned long )(data) + __cil_tmp81;
9654#line 1604
9655 __cil_tmp83 = (unsigned char *)__cil_tmp82;
9656#line 1604
9657 __cil_tmp84 = (void *)tmp___8;
9658#line 1604
9659 __cil_tmp85 = (unsigned short )len;
9660#line 1604
9661 __cil_tmp86 = (int )tmp___7;
9662#line 1604
9663 result = usbat_hp8200e_rw_block_test(us, (unsigned char)64, __cil_tmp80, __cil_tmp83,
9664 (unsigned short)19, (unsigned char)16, (unsigned char)23,
9665 (unsigned char)253, (unsigned char)48, 1,
9666 __cil_tmp84, __cil_tmp85, __cil_tmp86, 10);
9667 }
9668#line 1612
9669 if (result == 0) {
9670 {
9671#line 1613
9672 __cil_tmp87 = (unsigned int )transferred;
9673#line 1613
9674 __cil_tmp88 = __cil_tmp87 + len;
9675#line 1613
9676 transferred = (int )__cil_tmp88;
9677#line 1614
9678 printk("<7>usb-storage: Wrote %08X bytes\n", transferred);
9679 }
9680 } else {
9681
9682 }
9683#line 1617
9684 return (result);
9685 } else {
9686 {
9687#line 1619
9688 __cil_tmp89 = (unsigned long )srb;
9689#line 1619
9690 __cil_tmp90 = __cil_tmp89 + 80;
9691#line 1619
9692 __cil_tmp91 = *((unsigned char **)__cil_tmp90);
9693#line 1619
9694 __cil_tmp92 = __cil_tmp91 + 0;
9695#line 1619
9696 __cil_tmp93 = *__cil_tmp92;
9697#line 1619
9698 __cil_tmp94 = (int )__cil_tmp93;
9699#line 1619
9700 if (__cil_tmp94 == 40) {
9701 {
9702#line 1622
9703 __cil_tmp95 = 0 * 1UL;
9704#line 1622
9705 __cil_tmp96 = (unsigned long )(registers) + __cil_tmp95;
9706#line 1622
9707 __cil_tmp97 = (unsigned char *)__cil_tmp96;
9708#line 1622
9709 __cil_tmp98 = 0 * 1UL;
9710#line 1622
9711 __cil_tmp99 = (unsigned long )(data) + __cil_tmp98;
9712#line 1622
9713 __cil_tmp100 = (unsigned char *)__cil_tmp99;
9714#line 1622
9715 tmp___9 = usbat_hp8200e_handle_read10(us, __cil_tmp97, __cil_tmp100, srb);
9716 }
9717#line 1622
9718 return (tmp___9);
9719 } else {
9720 {
9721#line 1619
9722 __cil_tmp101 = (unsigned long )srb;
9723#line 1619
9724 __cil_tmp102 = __cil_tmp101 + 80;
9725#line 1619
9726 __cil_tmp103 = *((unsigned char **)__cil_tmp102);
9727#line 1619
9728 __cil_tmp104 = __cil_tmp103 + 0;
9729#line 1619
9730 __cil_tmp105 = *__cil_tmp104;
9731#line 1619
9732 __cil_tmp106 = (int )__cil_tmp105;
9733#line 1619
9734 if (__cil_tmp106 == 190) {
9735 {
9736#line 1622
9737 __cil_tmp107 = 0 * 1UL;
9738#line 1622
9739 __cil_tmp108 = (unsigned long )(registers) + __cil_tmp107;
9740#line 1622
9741 __cil_tmp109 = (unsigned char *)__cil_tmp108;
9742#line 1622
9743 __cil_tmp110 = 0 * 1UL;
9744#line 1622
9745 __cil_tmp111 = (unsigned long )(data) + __cil_tmp110;
9746#line 1622
9747 __cil_tmp112 = (unsigned char *)__cil_tmp111;
9748#line 1622
9749 tmp___9 = usbat_hp8200e_handle_read10(us, __cil_tmp109, __cil_tmp112, srb);
9750 }
9751#line 1622
9752 return (tmp___9);
9753 } else {
9754
9755 }
9756 }
9757 }
9758 }
9759 }
9760 }
9761#line 1626
9762 if (len > 65535U) {
9763 {
9764#line 1627
9765 printk("<7>usb-storage: Error: len = %08X... what do I do now?\n", len);
9766 }
9767#line 1629
9768 return (3);
9769 } else {
9770
9771 }
9772 {
9773#line 1632
9774 __cil_tmp113 = 0 * 1UL;
9775#line 1632
9776 __cil_tmp114 = (unsigned long )(registers) + __cil_tmp113;
9777#line 1632
9778 __cil_tmp115 = (unsigned char *)__cil_tmp114;
9779#line 1632
9780 __cil_tmp116 = 0 * 1UL;
9781#line 1632
9782 __cil_tmp117 = (unsigned long )(data) + __cil_tmp116;
9783#line 1632
9784 __cil_tmp118 = (unsigned char *)__cil_tmp117;
9785#line 1632
9786 result = usbat_multiple_write(us, __cil_tmp115, __cil_tmp118, (unsigned short)7);
9787 }
9788#line 1634
9789 if (result != 0) {
9790#line 1635
9791 return (result);
9792 } else {
9793
9794 }
9795 {
9796#line 1647
9797 __cil_tmp119 = (unsigned long )srb;
9798#line 1647
9799 __cil_tmp120 = __cil_tmp119 + 80;
9800#line 1647
9801 __cil_tmp121 = *((unsigned char **)__cil_tmp120);
9802#line 1647
9803 __cil_tmp122 = __cil_tmp121 + 0;
9804#line 1647
9805 __cil_tmp123 = *__cil_tmp122;
9806#line 1647
9807 __cil_tmp124 = (int )__cil_tmp123;
9808#line 1647
9809 if (__cil_tmp124 == 161) {
9810#line 1647
9811 tmp___10 = 75;
9812 } else {
9813#line 1647
9814 tmp___10 = 10;
9815 }
9816 }
9817 {
9818#line 1647
9819 __cil_tmp125 = (unsigned long )srb;
9820#line 1647
9821 __cil_tmp126 = __cil_tmp125 + 80;
9822#line 1647
9823 __cil_tmp127 = *((unsigned char **)__cil_tmp126);
9824#line 1647
9825 __cil_tmp128 = (void *)__cil_tmp127;
9826#line 1647
9827 result = usbat_write_block(us, (unsigned char)64, __cil_tmp128, (unsigned short)12,
9828 tmp___10, 0);
9829 }
9830#line 1650
9831 if (result != 0) {
9832#line 1651
9833 return (result);
9834 } else {
9835
9836 }
9837#line 1655
9838 if (len != 0U) {
9839 {
9840#line 1655
9841 __cil_tmp129 = (unsigned long )srb;
9842#line 1655
9843 __cil_tmp130 = __cil_tmp129 + 76;
9844#line 1655
9845 __cil_tmp131 = *((enum dma_data_direction *)__cil_tmp130);
9846#line 1655
9847 __cil_tmp132 = (unsigned int )__cil_tmp131;
9848#line 1655
9849 if (__cil_tmp132 == 2U) {
9850 {
9851#line 1659
9852 tmp___11 = usbat_read(us, (unsigned char)64, (unsigned char)20, status);
9853 }
9854#line 1659
9855 if (tmp___11 != 0) {
9856#line 1661
9857 return (3);
9858 } else {
9859
9860 }
9861#line 1664
9862 if (len > 255U) {
9863 {
9864#line 1665
9865 __cil_tmp133 = *status;
9866#line 1665
9867 len = (unsigned int )__cil_tmp133;
9868#line 1666
9869 tmp___12 = usbat_read(us, (unsigned char)64, (unsigned char)21, status);
9870 }
9871#line 1666
9872 if (tmp___12 != 0) {
9873#line 1668
9874 return (3);
9875 } else {
9876
9877 }
9878#line 1670
9879 __cil_tmp134 = *status;
9880#line 1670
9881 __cil_tmp135 = (unsigned int )__cil_tmp134;
9882#line 1670
9883 __cil_tmp136 = __cil_tmp135 << 8;
9884#line 1670
9885 len = len + __cil_tmp136;
9886 } else {
9887#line 1673
9888 __cil_tmp137 = *status;
9889#line 1673
9890 len = (unsigned int )__cil_tmp137;
9891 }
9892 {
9893#line 1676
9894 tmp___13 = scsi_sg_count(srb);
9895#line 1676
9896 tmp___14 = scsi_sglist(srb);
9897#line 1676
9898 __cil_tmp138 = (void *)tmp___14;
9899#line 1676
9900 __cil_tmp139 = (unsigned short )len;
9901#line 1676
9902 __cil_tmp140 = (int )tmp___13;
9903#line 1676
9904 result = usbat_read_block(us, __cil_tmp138, __cil_tmp139, __cil_tmp140);
9905 }
9906 } else {
9907
9908 }
9909 }
9910 } else {
9911
9912 }
9913#line 1680
9914 return (result);
9915}
9916}
9917#line 1692
9918static int usbat_flash_transport(struct scsi_cmnd *srb , struct us_data *us ) ;
9919#line 1692 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
9920static unsigned char inquiry_response[36] =
9921#line 1692
9922 { (unsigned char)0, (unsigned char)128, (unsigned char)0, (unsigned char)1,
9923 (unsigned char)31, (unsigned char)0, (unsigned char)0, (unsigned char)0};
9924#line 1686 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
9925static int usbat_flash_transport(struct scsi_cmnd *srb , struct us_data *us )
9926{ int rc ;
9927 struct usbat_info *info ;
9928 unsigned long block ;
9929 unsigned long blocks ;
9930 unsigned char *ptr ;
9931 size_t __len ;
9932 void *__ret ;
9933 __u32 tmp___7 ;
9934 __u32 tmp___8 ;
9935 int tmp___9 ;
9936 int tmp___10 ;
9937 int tmp___11 ;
9938 int tmp___12 ;
9939 int tmp___13 ;
9940 unsigned long __cil_tmp17 ;
9941 unsigned long __cil_tmp18 ;
9942 void *__cil_tmp19 ;
9943 unsigned long __cil_tmp20 ;
9944 unsigned long __cil_tmp21 ;
9945 unsigned long __cil_tmp22 ;
9946 unsigned long __cil_tmp23 ;
9947 unsigned char *__cil_tmp24 ;
9948 unsigned char *__cil_tmp25 ;
9949 unsigned char __cil_tmp26 ;
9950 int __cil_tmp27 ;
9951 void *__cil_tmp28 ;
9952 unsigned long __cil_tmp29 ;
9953 unsigned long __cil_tmp30 ;
9954 unsigned char *__cil_tmp31 ;
9955 void const *__cil_tmp32 ;
9956 void *__cil_tmp33 ;
9957 unsigned long __cil_tmp34 ;
9958 unsigned long __cil_tmp35 ;
9959 unsigned char *__cil_tmp36 ;
9960 void const *__cil_tmp37 ;
9961 unsigned long __cil_tmp38 ;
9962 unsigned long __cil_tmp39 ;
9963 unsigned char *__cil_tmp40 ;
9964 unsigned char *__cil_tmp41 ;
9965 unsigned char __cil_tmp42 ;
9966 int __cil_tmp43 ;
9967 unsigned long __cil_tmp44 ;
9968 unsigned long __cil_tmp45 ;
9969 unsigned long __cil_tmp46 ;
9970 unsigned long __cil_tmp47 ;
9971 unsigned long __cil_tmp48 ;
9972 unsigned long __cil_tmp49 ;
9973 unsigned long __cil_tmp50 ;
9974 unsigned long __cil_tmp51 ;
9975 unsigned long __cil_tmp52 ;
9976 unsigned long __cil_tmp53 ;
9977 unsigned long __cil_tmp54 ;
9978 unsigned long __cil_tmp55 ;
9979 __u32 __cil_tmp56 ;
9980 __be32 *__cil_tmp57 ;
9981 __be32 *__cil_tmp58 ;
9982 unsigned long __cil_tmp59 ;
9983 unsigned long __cil_tmp60 ;
9984 unsigned long __cil_tmp61 ;
9985 __u32 __cil_tmp62 ;
9986 __be32 *__cil_tmp63 ;
9987 __be32 *__cil_tmp64 ;
9988 unsigned long __cil_tmp65 ;
9989 unsigned long __cil_tmp66 ;
9990 unsigned char *__cil_tmp67 ;
9991 unsigned char *__cil_tmp68 ;
9992 unsigned char __cil_tmp69 ;
9993 int __cil_tmp70 ;
9994 unsigned long __cil_tmp71 ;
9995 unsigned long __cil_tmp72 ;
9996 unsigned char *__cil_tmp73 ;
9997 unsigned char *__cil_tmp74 ;
9998 unsigned char __cil_tmp75 ;
9999 int __cil_tmp76 ;
10000 unsigned long __cil_tmp77 ;
10001 unsigned long __cil_tmp78 ;
10002 unsigned char *__cil_tmp79 ;
10003 unsigned char *__cil_tmp80 ;
10004 unsigned char __cil_tmp81 ;
10005 u32 __cil_tmp82 ;
10006 unsigned long __cil_tmp83 ;
10007 unsigned long __cil_tmp84 ;
10008 unsigned char *__cil_tmp85 ;
10009 unsigned char *__cil_tmp86 ;
10010 unsigned char __cil_tmp87 ;
10011 u32 __cil_tmp88 ;
10012 u32 __cil_tmp89 ;
10013 unsigned long __cil_tmp90 ;
10014 unsigned long __cil_tmp91 ;
10015 unsigned char *__cil_tmp92 ;
10016 unsigned char *__cil_tmp93 ;
10017 unsigned char __cil_tmp94 ;
10018 u32 __cil_tmp95 ;
10019 u32 __cil_tmp96 ;
10020 unsigned long __cil_tmp97 ;
10021 unsigned long __cil_tmp98 ;
10022 unsigned char *__cil_tmp99 ;
10023 unsigned char *__cil_tmp100 ;
10024 unsigned char __cil_tmp101 ;
10025 u32 __cil_tmp102 ;
10026 u32 __cil_tmp103 ;
10027 unsigned int __cil_tmp104 ;
10028 unsigned int __cil_tmp105 ;
10029 unsigned int __cil_tmp106 ;
10030 unsigned long __cil_tmp107 ;
10031 unsigned long __cil_tmp108 ;
10032 unsigned char *__cil_tmp109 ;
10033 unsigned char *__cil_tmp110 ;
10034 unsigned char __cil_tmp111 ;
10035 u32 __cil_tmp112 ;
10036 unsigned long __cil_tmp113 ;
10037 unsigned long __cil_tmp114 ;
10038 unsigned char *__cil_tmp115 ;
10039 unsigned char *__cil_tmp116 ;
10040 unsigned char __cil_tmp117 ;
10041 u32 __cil_tmp118 ;
10042 u32 __cil_tmp119 ;
10043 unsigned int __cil_tmp120 ;
10044 u32 __cil_tmp121 ;
10045 u32 __cil_tmp122 ;
10046 unsigned long __cil_tmp123 ;
10047 unsigned long __cil_tmp124 ;
10048 unsigned char *__cil_tmp125 ;
10049 unsigned char *__cil_tmp126 ;
10050 unsigned char __cil_tmp127 ;
10051 int __cil_tmp128 ;
10052 unsigned long __cil_tmp129 ;
10053 unsigned long __cil_tmp130 ;
10054 unsigned char *__cil_tmp131 ;
10055 unsigned char *__cil_tmp132 ;
10056 unsigned char __cil_tmp133 ;
10057 u32 __cil_tmp134 ;
10058 unsigned long __cil_tmp135 ;
10059 unsigned long __cil_tmp136 ;
10060 unsigned char *__cil_tmp137 ;
10061 unsigned char *__cil_tmp138 ;
10062 unsigned char __cil_tmp139 ;
10063 u32 __cil_tmp140 ;
10064 u32 __cil_tmp141 ;
10065 unsigned long __cil_tmp142 ;
10066 unsigned long __cil_tmp143 ;
10067 unsigned char *__cil_tmp144 ;
10068 unsigned char *__cil_tmp145 ;
10069 unsigned char __cil_tmp146 ;
10070 u32 __cil_tmp147 ;
10071 u32 __cil_tmp148 ;
10072 unsigned long __cil_tmp149 ;
10073 unsigned long __cil_tmp150 ;
10074 unsigned char *__cil_tmp151 ;
10075 unsigned char *__cil_tmp152 ;
10076 unsigned char __cil_tmp153 ;
10077 u32 __cil_tmp154 ;
10078 u32 __cil_tmp155 ;
10079 unsigned int __cil_tmp156 ;
10080 unsigned int __cil_tmp157 ;
10081 unsigned int __cil_tmp158 ;
10082 unsigned long __cil_tmp159 ;
10083 unsigned long __cil_tmp160 ;
10084 unsigned char *__cil_tmp161 ;
10085 unsigned char *__cil_tmp162 ;
10086 unsigned char __cil_tmp163 ;
10087 u32 __cil_tmp164 ;
10088 unsigned long __cil_tmp165 ;
10089 unsigned long __cil_tmp166 ;
10090 unsigned char *__cil_tmp167 ;
10091 unsigned char *__cil_tmp168 ;
10092 unsigned char __cil_tmp169 ;
10093 u32 __cil_tmp170 ;
10094 u32 __cil_tmp171 ;
10095 unsigned long __cil_tmp172 ;
10096 unsigned long __cil_tmp173 ;
10097 unsigned char *__cil_tmp174 ;
10098 unsigned char *__cil_tmp175 ;
10099 unsigned char __cil_tmp176 ;
10100 u32 __cil_tmp177 ;
10101 u32 __cil_tmp178 ;
10102 unsigned long __cil_tmp179 ;
10103 unsigned long __cil_tmp180 ;
10104 unsigned char *__cil_tmp181 ;
10105 unsigned char *__cil_tmp182 ;
10106 unsigned char __cil_tmp183 ;
10107 u32 __cil_tmp184 ;
10108 u32 __cil_tmp185 ;
10109 unsigned int __cil_tmp186 ;
10110 unsigned int __cil_tmp187 ;
10111 unsigned int __cil_tmp188 ;
10112 u32 __cil_tmp189 ;
10113 u32 __cil_tmp190 ;
10114 unsigned long __cil_tmp191 ;
10115 unsigned long __cil_tmp192 ;
10116 unsigned char *__cil_tmp193 ;
10117 unsigned char *__cil_tmp194 ;
10118 unsigned char __cil_tmp195 ;
10119 int __cil_tmp196 ;
10120 unsigned long __cil_tmp197 ;
10121 unsigned long __cil_tmp198 ;
10122 unsigned char *__cil_tmp199 ;
10123 unsigned char *__cil_tmp200 ;
10124 unsigned char __cil_tmp201 ;
10125 u32 __cil_tmp202 ;
10126 unsigned long __cil_tmp203 ;
10127 unsigned long __cil_tmp204 ;
10128 unsigned char *__cil_tmp205 ;
10129 unsigned char *__cil_tmp206 ;
10130 unsigned char __cil_tmp207 ;
10131 u32 __cil_tmp208 ;
10132 u32 __cil_tmp209 ;
10133 unsigned long __cil_tmp210 ;
10134 unsigned long __cil_tmp211 ;
10135 unsigned char *__cil_tmp212 ;
10136 unsigned char *__cil_tmp213 ;
10137 unsigned char __cil_tmp214 ;
10138 u32 __cil_tmp215 ;
10139 u32 __cil_tmp216 ;
10140 unsigned long __cil_tmp217 ;
10141 unsigned long __cil_tmp218 ;
10142 unsigned char *__cil_tmp219 ;
10143 unsigned char *__cil_tmp220 ;
10144 unsigned char __cil_tmp221 ;
10145 u32 __cil_tmp222 ;
10146 u32 __cil_tmp223 ;
10147 unsigned int __cil_tmp224 ;
10148 unsigned int __cil_tmp225 ;
10149 unsigned int __cil_tmp226 ;
10150 unsigned long __cil_tmp227 ;
10151 unsigned long __cil_tmp228 ;
10152 unsigned char *__cil_tmp229 ;
10153 unsigned char *__cil_tmp230 ;
10154 unsigned char __cil_tmp231 ;
10155 u32 __cil_tmp232 ;
10156 unsigned long __cil_tmp233 ;
10157 unsigned long __cil_tmp234 ;
10158 unsigned char *__cil_tmp235 ;
10159 unsigned char *__cil_tmp236 ;
10160 unsigned char __cil_tmp237 ;
10161 u32 __cil_tmp238 ;
10162 u32 __cil_tmp239 ;
10163 unsigned int __cil_tmp240 ;
10164 u32 __cil_tmp241 ;
10165 u32 __cil_tmp242 ;
10166 unsigned long __cil_tmp243 ;
10167 unsigned long __cil_tmp244 ;
10168 unsigned char *__cil_tmp245 ;
10169 unsigned char *__cil_tmp246 ;
10170 unsigned char __cil_tmp247 ;
10171 int __cil_tmp248 ;
10172 unsigned long __cil_tmp249 ;
10173 unsigned long __cil_tmp250 ;
10174 unsigned char *__cil_tmp251 ;
10175 unsigned char *__cil_tmp252 ;
10176 unsigned char __cil_tmp253 ;
10177 u32 __cil_tmp254 ;
10178 unsigned long __cil_tmp255 ;
10179 unsigned long __cil_tmp256 ;
10180 unsigned char *__cil_tmp257 ;
10181 unsigned char *__cil_tmp258 ;
10182 unsigned char __cil_tmp259 ;
10183 u32 __cil_tmp260 ;
10184 u32 __cil_tmp261 ;
10185 unsigned long __cil_tmp262 ;
10186 unsigned long __cil_tmp263 ;
10187 unsigned char *__cil_tmp264 ;
10188 unsigned char *__cil_tmp265 ;
10189 unsigned char __cil_tmp266 ;
10190 u32 __cil_tmp267 ;
10191 u32 __cil_tmp268 ;
10192 unsigned long __cil_tmp269 ;
10193 unsigned long __cil_tmp270 ;
10194 unsigned char *__cil_tmp271 ;
10195 unsigned char *__cil_tmp272 ;
10196 unsigned char __cil_tmp273 ;
10197 u32 __cil_tmp274 ;
10198 u32 __cil_tmp275 ;
10199 unsigned int __cil_tmp276 ;
10200 unsigned int __cil_tmp277 ;
10201 unsigned int __cil_tmp278 ;
10202 unsigned long __cil_tmp279 ;
10203 unsigned long __cil_tmp280 ;
10204 unsigned char *__cil_tmp281 ;
10205 unsigned char *__cil_tmp282 ;
10206 unsigned char __cil_tmp283 ;
10207 u32 __cil_tmp284 ;
10208 unsigned long __cil_tmp285 ;
10209 unsigned long __cil_tmp286 ;
10210 unsigned char *__cil_tmp287 ;
10211 unsigned char *__cil_tmp288 ;
10212 unsigned char __cil_tmp289 ;
10213 u32 __cil_tmp290 ;
10214 u32 __cil_tmp291 ;
10215 unsigned long __cil_tmp292 ;
10216 unsigned long __cil_tmp293 ;
10217 unsigned char *__cil_tmp294 ;
10218 unsigned char *__cil_tmp295 ;
10219 unsigned char __cil_tmp296 ;
10220 u32 __cil_tmp297 ;
10221 u32 __cil_tmp298 ;
10222 unsigned long __cil_tmp299 ;
10223 unsigned long __cil_tmp300 ;
10224 unsigned char *__cil_tmp301 ;
10225 unsigned char *__cil_tmp302 ;
10226 unsigned char __cil_tmp303 ;
10227 u32 __cil_tmp304 ;
10228 u32 __cil_tmp305 ;
10229 unsigned int __cil_tmp306 ;
10230 unsigned int __cil_tmp307 ;
10231 unsigned int __cil_tmp308 ;
10232 u32 __cil_tmp309 ;
10233 u32 __cil_tmp310 ;
10234 unsigned long __cil_tmp311 ;
10235 unsigned long __cil_tmp312 ;
10236 unsigned char *__cil_tmp313 ;
10237 unsigned char *__cil_tmp314 ;
10238 unsigned char __cil_tmp315 ;
10239 int __cil_tmp316 ;
10240 unsigned long __cil_tmp317 ;
10241 unsigned long __cil_tmp318 ;
10242 unsigned char *__cil_tmp319 ;
10243 unsigned char *__cil_tmp320 ;
10244 unsigned char __cil_tmp321 ;
10245 int __cil_tmp322 ;
10246 void *__cil_tmp323 ;
10247 size_t __cil_tmp324 ;
10248 unsigned char *__cil_tmp325 ;
10249 unsigned char *__cil_tmp326 ;
10250 unsigned long __cil_tmp327 ;
10251 unsigned long __cil_tmp328 ;
10252 unsigned char *__cil_tmp329 ;
10253 unsigned char *__cil_tmp330 ;
10254 unsigned long __cil_tmp331 ;
10255 unsigned long __cil_tmp332 ;
10256 unsigned long __cil_tmp333 ;
10257 unsigned char *__cil_tmp334 ;
10258 unsigned long __cil_tmp335 ;
10259 unsigned long __cil_tmp336 ;
10260 unsigned long __cil_tmp337 ;
10261 unsigned long __cil_tmp338 ;
10262 unsigned long __cil_tmp339 ;
10263 unsigned char *__cil_tmp340 ;
10264 unsigned char *__cil_tmp341 ;
10265 unsigned char __cil_tmp342 ;
10266 int __cil_tmp343 ;
10267 unsigned long __cil_tmp344 ;
10268 unsigned long __cil_tmp345 ;
10269 unsigned char *__cil_tmp346 ;
10270 unsigned char *__cil_tmp347 ;
10271 unsigned char __cil_tmp348 ;
10272 int __cil_tmp349 ;
10273 unsigned long __cil_tmp350 ;
10274 unsigned long __cil_tmp351 ;
10275 unsigned char *__cil_tmp352 ;
10276 unsigned char *__cil_tmp353 ;
10277 unsigned char __cil_tmp354 ;
10278 int __cil_tmp355 ;
10279 unsigned long __cil_tmp356 ;
10280 unsigned long __cil_tmp357 ;
10281 unsigned long __cil_tmp358 ;
10282 unsigned long __cil_tmp359 ;
10283 unsigned long __cil_tmp360 ;
10284 unsigned long __cil_tmp361 ;
10285
10286 {
10287#line 1689
10288 __cil_tmp17 = (unsigned long )us;
10289#line 1689
10290 __cil_tmp18 = __cil_tmp17 + 648;
10291#line 1689
10292 __cil_tmp19 = *((void **)__cil_tmp18);
10293#line 1689
10294 info = (struct usbat_info *)__cil_tmp19;
10295#line 1691
10296 __cil_tmp20 = (unsigned long )us;
10297#line 1691
10298 __cil_tmp21 = __cil_tmp20 + 376;
10299#line 1691
10300 ptr = *((unsigned char **)__cil_tmp21);
10301 {
10302#line 1696
10303 __cil_tmp22 = (unsigned long )srb;
10304#line 1696
10305 __cil_tmp23 = __cil_tmp22 + 80;
10306#line 1696
10307 __cil_tmp24 = *((unsigned char **)__cil_tmp23);
10308#line 1696
10309 __cil_tmp25 = __cil_tmp24 + 0;
10310#line 1696
10311 __cil_tmp26 = *__cil_tmp25;
10312#line 1696
10313 __cil_tmp27 = (int )__cil_tmp26;
10314#line 1696
10315 if (__cil_tmp27 == 18) {
10316 {
10317#line 1697
10318 printk("<7>usb-storage: usbat_flash_transport: INQUIRY. Returning bogus response.\n");
10319#line 1698
10320 __len = 36UL;
10321 }
10322#line 1698
10323 if (__len >= 64UL) {
10324 {
10325#line 1698
10326 __cil_tmp28 = (void *)ptr;
10327#line 1698
10328 __cil_tmp29 = 0 * 1UL;
10329#line 1698
10330 __cil_tmp30 = (unsigned long )(inquiry_response) + __cil_tmp29;
10331#line 1698
10332 __cil_tmp31 = (unsigned char *)__cil_tmp30;
10333#line 1698
10334 __cil_tmp32 = (void const *)__cil_tmp31;
10335#line 1698
10336 __ret = __memcpy(__cil_tmp28, __cil_tmp32, __len);
10337 }
10338 } else {
10339 {
10340#line 1698
10341 __cil_tmp33 = (void *)ptr;
10342#line 1698
10343 __cil_tmp34 = 0 * 1UL;
10344#line 1698
10345 __cil_tmp35 = (unsigned long )(inquiry_response) + __cil_tmp34;
10346#line 1698
10347 __cil_tmp36 = (unsigned char *)__cil_tmp35;
10348#line 1698
10349 __cil_tmp37 = (void const *)__cil_tmp36;
10350#line 1698
10351 __ret = __builtin_memcpy(__cil_tmp33, __cil_tmp37, __len);
10352 }
10353 }
10354 {
10355#line 1699
10356 fill_inquiry_response(us, ptr, 36U);
10357 }
10358#line 1700
10359 return (0);
10360 } else {
10361
10362 }
10363 }
10364 {
10365#line 1703
10366 __cil_tmp38 = (unsigned long )srb;
10367#line 1703
10368 __cil_tmp39 = __cil_tmp38 + 80;
10369#line 1703
10370 __cil_tmp40 = *((unsigned char **)__cil_tmp39);
10371#line 1703
10372 __cil_tmp41 = __cil_tmp40 + 0;
10373#line 1703
10374 __cil_tmp42 = *__cil_tmp41;
10375#line 1703
10376 __cil_tmp43 = (int )__cil_tmp42;
10377#line 1703
10378 if (__cil_tmp43 == 37) {
10379 {
10380#line 1704
10381 rc = usbat_flash_check_media(us, info);
10382 }
10383#line 1705
10384 if (rc != 0) {
10385#line 1706
10386 return (rc);
10387 } else {
10388
10389 }
10390 {
10391#line 1708
10392 rc = usbat_flash_get_sector_count(us, info);
10393 }
10394#line 1709
10395 if (rc != 0) {
10396#line 1710
10397 return (rc);
10398 } else {
10399
10400 }
10401 {
10402#line 1713
10403 __cil_tmp44 = (unsigned long )info;
10404#line 1713
10405 __cil_tmp45 = __cil_tmp44 + 16;
10406#line 1713
10407 *((unsigned long *)__cil_tmp45) = 512UL;
10408#line 1714
10409 __cil_tmp46 = (unsigned long )info;
10410#line 1714
10411 __cil_tmp47 = __cil_tmp46 + 8;
10412#line 1714
10413 __cil_tmp48 = *((unsigned long *)__cil_tmp47);
10414#line 1714
10415 __cil_tmp49 = (unsigned long )info;
10416#line 1714
10417 __cil_tmp50 = __cil_tmp49 + 16;
10418#line 1714
10419 __cil_tmp51 = *((unsigned long *)__cil_tmp50);
10420#line 1714
10421 printk("<7>usb-storage: usbat_flash_transport: READ_CAPACITY: %ld sectors, %ld bytes per sector\n",
10422 __cil_tmp48, __cil_tmp51);
10423#line 1722
10424 __cil_tmp52 = (unsigned long )info;
10425#line 1722
10426 __cil_tmp53 = __cil_tmp52 + 8;
10427#line 1722
10428 __cil_tmp54 = *((unsigned long *)__cil_tmp53);
10429#line 1722
10430 __cil_tmp55 = __cil_tmp54 - 1UL;
10431#line 1722
10432 __cil_tmp56 = (__u32 )__cil_tmp55;
10433#line 1722
10434 tmp___7 = __fswab32(__cil_tmp56);
10435#line 1722
10436 __cil_tmp57 = (__be32 *)ptr;
10437#line 1722
10438 __cil_tmp58 = __cil_tmp57 + 0;
10439#line 1722
10440 *__cil_tmp58 = tmp___7;
10441#line 1723
10442 __cil_tmp59 = (unsigned long )info;
10443#line 1723
10444 __cil_tmp60 = __cil_tmp59 + 16;
10445#line 1723
10446 __cil_tmp61 = *((unsigned long *)__cil_tmp60);
10447#line 1723
10448 __cil_tmp62 = (__u32 )__cil_tmp61;
10449#line 1723
10450 tmp___8 = __fswab32(__cil_tmp62);
10451#line 1723
10452 __cil_tmp63 = (__be32 *)ptr;
10453#line 1723
10454 __cil_tmp64 = __cil_tmp63 + 1;
10455#line 1723
10456 *__cil_tmp64 = tmp___8;
10457#line 1724
10458 usb_stor_set_xfer_buf(ptr, 8U, srb);
10459 }
10460#line 1726
10461 return (0);
10462 } else {
10463
10464 }
10465 }
10466 {
10467#line 1729
10468 __cil_tmp65 = (unsigned long )srb;
10469#line 1729
10470 __cil_tmp66 = __cil_tmp65 + 80;
10471#line 1729
10472 __cil_tmp67 = *((unsigned char **)__cil_tmp66);
10473#line 1729
10474 __cil_tmp68 = __cil_tmp67 + 0;
10475#line 1729
10476 __cil_tmp69 = *__cil_tmp68;
10477#line 1729
10478 __cil_tmp70 = (int )__cil_tmp69;
10479#line 1729
10480 if (__cil_tmp70 == 85) {
10481 {
10482#line 1730
10483 printk("<7>usb-storage: usbat_flash_transport: Gah! MODE_SELECT_10.\n");
10484 }
10485#line 1731
10486 return (3);
10487 } else {
10488
10489 }
10490 }
10491 {
10492#line 1734
10493 __cil_tmp71 = (unsigned long )srb;
10494#line 1734
10495 __cil_tmp72 = __cil_tmp71 + 80;
10496#line 1734
10497 __cil_tmp73 = *((unsigned char **)__cil_tmp72);
10498#line 1734
10499 __cil_tmp74 = __cil_tmp73 + 0;
10500#line 1734
10501 __cil_tmp75 = *__cil_tmp74;
10502#line 1734
10503 __cil_tmp76 = (int )__cil_tmp75;
10504#line 1734
10505 if (__cil_tmp76 == 40) {
10506 {
10507#line 1735
10508 __cil_tmp77 = (unsigned long )srb;
10509#line 1735
10510 __cil_tmp78 = __cil_tmp77 + 80;
10511#line 1735
10512 __cil_tmp79 = *((unsigned char **)__cil_tmp78);
10513#line 1735
10514 __cil_tmp80 = __cil_tmp79 + 5;
10515#line 1735
10516 __cil_tmp81 = *__cil_tmp80;
10517#line 1735
10518 __cil_tmp82 = (u32 )__cil_tmp81;
10519#line 1735
10520 __cil_tmp83 = (unsigned long )srb;
10521#line 1735
10522 __cil_tmp84 = __cil_tmp83 + 80;
10523#line 1735
10524 __cil_tmp85 = *((unsigned char **)__cil_tmp84);
10525#line 1735
10526 __cil_tmp86 = __cil_tmp85 + 4;
10527#line 1735
10528 __cil_tmp87 = *__cil_tmp86;
10529#line 1735
10530 __cil_tmp88 = (u32 )__cil_tmp87;
10531#line 1735
10532 __cil_tmp89 = __cil_tmp88 << 8;
10533#line 1735
10534 __cil_tmp90 = (unsigned long )srb;
10535#line 1735
10536 __cil_tmp91 = __cil_tmp90 + 80;
10537#line 1735
10538 __cil_tmp92 = *((unsigned char **)__cil_tmp91);
10539#line 1735
10540 __cil_tmp93 = __cil_tmp92 + 3;
10541#line 1735
10542 __cil_tmp94 = *__cil_tmp93;
10543#line 1735
10544 __cil_tmp95 = (u32 )__cil_tmp94;
10545#line 1735
10546 __cil_tmp96 = __cil_tmp95 << 16;
10547#line 1735
10548 __cil_tmp97 = (unsigned long )srb;
10549#line 1735
10550 __cil_tmp98 = __cil_tmp97 + 80;
10551#line 1735
10552 __cil_tmp99 = *((unsigned char **)__cil_tmp98);
10553#line 1735
10554 __cil_tmp100 = __cil_tmp99 + 2;
10555#line 1735
10556 __cil_tmp101 = *__cil_tmp100;
10557#line 1735
10558 __cil_tmp102 = (u32 )__cil_tmp101;
10559#line 1735
10560 __cil_tmp103 = __cil_tmp102 << 24;
10561#line 1735
10562 __cil_tmp104 = __cil_tmp103 | __cil_tmp96;
10563#line 1735
10564 __cil_tmp105 = __cil_tmp104 | __cil_tmp89;
10565#line 1735
10566 __cil_tmp106 = __cil_tmp105 | __cil_tmp82;
10567#line 1735
10568 block = (unsigned long )__cil_tmp106;
10569#line 1738
10570 __cil_tmp107 = (unsigned long )srb;
10571#line 1738
10572 __cil_tmp108 = __cil_tmp107 + 80;
10573#line 1738
10574 __cil_tmp109 = *((unsigned char **)__cil_tmp108);
10575#line 1738
10576 __cil_tmp110 = __cil_tmp109 + 8;
10577#line 1738
10578 __cil_tmp111 = *__cil_tmp110;
10579#line 1738
10580 __cil_tmp112 = (u32 )__cil_tmp111;
10581#line 1738
10582 __cil_tmp113 = (unsigned long )srb;
10583#line 1738
10584 __cil_tmp114 = __cil_tmp113 + 80;
10585#line 1738
10586 __cil_tmp115 = *((unsigned char **)__cil_tmp114);
10587#line 1738
10588 __cil_tmp116 = __cil_tmp115 + 7;
10589#line 1738
10590 __cil_tmp117 = *__cil_tmp116;
10591#line 1738
10592 __cil_tmp118 = (u32 )__cil_tmp117;
10593#line 1738
10594 __cil_tmp119 = __cil_tmp118 << 8;
10595#line 1738
10596 __cil_tmp120 = __cil_tmp119 | __cil_tmp112;
10597#line 1738
10598 blocks = (unsigned long )__cil_tmp120;
10599#line 1740
10600 printk("<7>usb-storage: usbat_flash_transport: READ_10: read block 0x%04lx count %ld\n",
10601 block, blocks);
10602#line 1741
10603 __cil_tmp121 = (u32 )block;
10604#line 1741
10605 __cil_tmp122 = (u32 )blocks;
10606#line 1741
10607 tmp___9 = usbat_flash_read_data(us, info, __cil_tmp121, __cil_tmp122);
10608 }
10609#line 1741
10610 return (tmp___9);
10611 } else {
10612
10613 }
10614 }
10615 {
10616#line 1744
10617 __cil_tmp123 = (unsigned long )srb;
10618#line 1744
10619 __cil_tmp124 = __cil_tmp123 + 80;
10620#line 1744
10621 __cil_tmp125 = *((unsigned char **)__cil_tmp124);
10622#line 1744
10623 __cil_tmp126 = __cil_tmp125 + 0;
10624#line 1744
10625 __cil_tmp127 = *__cil_tmp126;
10626#line 1744
10627 __cil_tmp128 = (int )__cil_tmp127;
10628#line 1744
10629 if (__cil_tmp128 == 168) {
10630 {
10631#line 1748
10632 __cil_tmp129 = (unsigned long )srb;
10633#line 1748
10634 __cil_tmp130 = __cil_tmp129 + 80;
10635#line 1748
10636 __cil_tmp131 = *((unsigned char **)__cil_tmp130);
10637#line 1748
10638 __cil_tmp132 = __cil_tmp131 + 5;
10639#line 1748
10640 __cil_tmp133 = *__cil_tmp132;
10641#line 1748
10642 __cil_tmp134 = (u32 )__cil_tmp133;
10643#line 1748
10644 __cil_tmp135 = (unsigned long )srb;
10645#line 1748
10646 __cil_tmp136 = __cil_tmp135 + 80;
10647#line 1748
10648 __cil_tmp137 = *((unsigned char **)__cil_tmp136);
10649#line 1748
10650 __cil_tmp138 = __cil_tmp137 + 4;
10651#line 1748
10652 __cil_tmp139 = *__cil_tmp138;
10653#line 1748
10654 __cil_tmp140 = (u32 )__cil_tmp139;
10655#line 1748
10656 __cil_tmp141 = __cil_tmp140 << 8;
10657#line 1748
10658 __cil_tmp142 = (unsigned long )srb;
10659#line 1748
10660 __cil_tmp143 = __cil_tmp142 + 80;
10661#line 1748
10662 __cil_tmp144 = *((unsigned char **)__cil_tmp143);
10663#line 1748
10664 __cil_tmp145 = __cil_tmp144 + 3;
10665#line 1748
10666 __cil_tmp146 = *__cil_tmp145;
10667#line 1748
10668 __cil_tmp147 = (u32 )__cil_tmp146;
10669#line 1748
10670 __cil_tmp148 = __cil_tmp147 << 16;
10671#line 1748
10672 __cil_tmp149 = (unsigned long )srb;
10673#line 1748
10674 __cil_tmp150 = __cil_tmp149 + 80;
10675#line 1748
10676 __cil_tmp151 = *((unsigned char **)__cil_tmp150);
10677#line 1748
10678 __cil_tmp152 = __cil_tmp151 + 2;
10679#line 1748
10680 __cil_tmp153 = *__cil_tmp152;
10681#line 1748
10682 __cil_tmp154 = (u32 )__cil_tmp153;
10683#line 1748
10684 __cil_tmp155 = __cil_tmp154 << 24;
10685#line 1748
10686 __cil_tmp156 = __cil_tmp155 | __cil_tmp148;
10687#line 1748
10688 __cil_tmp157 = __cil_tmp156 | __cil_tmp141;
10689#line 1748
10690 __cil_tmp158 = __cil_tmp157 | __cil_tmp134;
10691#line 1748
10692 block = (unsigned long )__cil_tmp158;
10693#line 1751
10694 __cil_tmp159 = (unsigned long )srb;
10695#line 1751
10696 __cil_tmp160 = __cil_tmp159 + 80;
10697#line 1751
10698 __cil_tmp161 = *((unsigned char **)__cil_tmp160);
10699#line 1751
10700 __cil_tmp162 = __cil_tmp161 + 9;
10701#line 1751
10702 __cil_tmp163 = *__cil_tmp162;
10703#line 1751
10704 __cil_tmp164 = (u32 )__cil_tmp163;
10705#line 1751
10706 __cil_tmp165 = (unsigned long )srb;
10707#line 1751
10708 __cil_tmp166 = __cil_tmp165 + 80;
10709#line 1751
10710 __cil_tmp167 = *((unsigned char **)__cil_tmp166);
10711#line 1751
10712 __cil_tmp168 = __cil_tmp167 + 8;
10713#line 1751
10714 __cil_tmp169 = *__cil_tmp168;
10715#line 1751
10716 __cil_tmp170 = (u32 )__cil_tmp169;
10717#line 1751
10718 __cil_tmp171 = __cil_tmp170 << 8;
10719#line 1751
10720 __cil_tmp172 = (unsigned long )srb;
10721#line 1751
10722 __cil_tmp173 = __cil_tmp172 + 80;
10723#line 1751
10724 __cil_tmp174 = *((unsigned char **)__cil_tmp173);
10725#line 1751
10726 __cil_tmp175 = __cil_tmp174 + 7;
10727#line 1751
10728 __cil_tmp176 = *__cil_tmp175;
10729#line 1751
10730 __cil_tmp177 = (u32 )__cil_tmp176;
10731#line 1751
10732 __cil_tmp178 = __cil_tmp177 << 16;
10733#line 1751
10734 __cil_tmp179 = (unsigned long )srb;
10735#line 1751
10736 __cil_tmp180 = __cil_tmp179 + 80;
10737#line 1751
10738 __cil_tmp181 = *((unsigned char **)__cil_tmp180);
10739#line 1751
10740 __cil_tmp182 = __cil_tmp181 + 6;
10741#line 1751
10742 __cil_tmp183 = *__cil_tmp182;
10743#line 1751
10744 __cil_tmp184 = (u32 )__cil_tmp183;
10745#line 1751
10746 __cil_tmp185 = __cil_tmp184 << 24;
10747#line 1751
10748 __cil_tmp186 = __cil_tmp185 | __cil_tmp178;
10749#line 1751
10750 __cil_tmp187 = __cil_tmp186 | __cil_tmp171;
10751#line 1751
10752 __cil_tmp188 = __cil_tmp187 | __cil_tmp164;
10753#line 1751
10754 blocks = (unsigned long )__cil_tmp188;
10755#line 1754
10756 printk("<7>usb-storage: usbat_flash_transport: READ_12: read block 0x%04lx count %ld\n",
10757 block, blocks);
10758#line 1755
10759 __cil_tmp189 = (u32 )block;
10760#line 1755
10761 __cil_tmp190 = (u32 )blocks;
10762#line 1755
10763 tmp___10 = usbat_flash_read_data(us, info, __cil_tmp189, __cil_tmp190);
10764 }
10765#line 1755
10766 return (tmp___10);
10767 } else {
10768
10769 }
10770 }
10771 {
10772#line 1758
10773 __cil_tmp191 = (unsigned long )srb;
10774#line 1758
10775 __cil_tmp192 = __cil_tmp191 + 80;
10776#line 1758
10777 __cil_tmp193 = *((unsigned char **)__cil_tmp192);
10778#line 1758
10779 __cil_tmp194 = __cil_tmp193 + 0;
10780#line 1758
10781 __cil_tmp195 = *__cil_tmp194;
10782#line 1758
10783 __cil_tmp196 = (int )__cil_tmp195;
10784#line 1758
10785 if (__cil_tmp196 == 42) {
10786 {
10787#line 1759
10788 __cil_tmp197 = (unsigned long )srb;
10789#line 1759
10790 __cil_tmp198 = __cil_tmp197 + 80;
10791#line 1759
10792 __cil_tmp199 = *((unsigned char **)__cil_tmp198);
10793#line 1759
10794 __cil_tmp200 = __cil_tmp199 + 5;
10795#line 1759
10796 __cil_tmp201 = *__cil_tmp200;
10797#line 1759
10798 __cil_tmp202 = (u32 )__cil_tmp201;
10799#line 1759
10800 __cil_tmp203 = (unsigned long )srb;
10801#line 1759
10802 __cil_tmp204 = __cil_tmp203 + 80;
10803#line 1759
10804 __cil_tmp205 = *((unsigned char **)__cil_tmp204);
10805#line 1759
10806 __cil_tmp206 = __cil_tmp205 + 4;
10807#line 1759
10808 __cil_tmp207 = *__cil_tmp206;
10809#line 1759
10810 __cil_tmp208 = (u32 )__cil_tmp207;
10811#line 1759
10812 __cil_tmp209 = __cil_tmp208 << 8;
10813#line 1759
10814 __cil_tmp210 = (unsigned long )srb;
10815#line 1759
10816 __cil_tmp211 = __cil_tmp210 + 80;
10817#line 1759
10818 __cil_tmp212 = *((unsigned char **)__cil_tmp211);
10819#line 1759
10820 __cil_tmp213 = __cil_tmp212 + 3;
10821#line 1759
10822 __cil_tmp214 = *__cil_tmp213;
10823#line 1759
10824 __cil_tmp215 = (u32 )__cil_tmp214;
10825#line 1759
10826 __cil_tmp216 = __cil_tmp215 << 16;
10827#line 1759
10828 __cil_tmp217 = (unsigned long )srb;
10829#line 1759
10830 __cil_tmp218 = __cil_tmp217 + 80;
10831#line 1759
10832 __cil_tmp219 = *((unsigned char **)__cil_tmp218);
10833#line 1759
10834 __cil_tmp220 = __cil_tmp219 + 2;
10835#line 1759
10836 __cil_tmp221 = *__cil_tmp220;
10837#line 1759
10838 __cil_tmp222 = (u32 )__cil_tmp221;
10839#line 1759
10840 __cil_tmp223 = __cil_tmp222 << 24;
10841#line 1759
10842 __cil_tmp224 = __cil_tmp223 | __cil_tmp216;
10843#line 1759
10844 __cil_tmp225 = __cil_tmp224 | __cil_tmp209;
10845#line 1759
10846 __cil_tmp226 = __cil_tmp225 | __cil_tmp202;
10847#line 1759
10848 block = (unsigned long )__cil_tmp226;
10849#line 1762
10850 __cil_tmp227 = (unsigned long )srb;
10851#line 1762
10852 __cil_tmp228 = __cil_tmp227 + 80;
10853#line 1762
10854 __cil_tmp229 = *((unsigned char **)__cil_tmp228);
10855#line 1762
10856 __cil_tmp230 = __cil_tmp229 + 8;
10857#line 1762
10858 __cil_tmp231 = *__cil_tmp230;
10859#line 1762
10860 __cil_tmp232 = (u32 )__cil_tmp231;
10861#line 1762
10862 __cil_tmp233 = (unsigned long )srb;
10863#line 1762
10864 __cil_tmp234 = __cil_tmp233 + 80;
10865#line 1762
10866 __cil_tmp235 = *((unsigned char **)__cil_tmp234);
10867#line 1762
10868 __cil_tmp236 = __cil_tmp235 + 7;
10869#line 1762
10870 __cil_tmp237 = *__cil_tmp236;
10871#line 1762
10872 __cil_tmp238 = (u32 )__cil_tmp237;
10873#line 1762
10874 __cil_tmp239 = __cil_tmp238 << 8;
10875#line 1762
10876 __cil_tmp240 = __cil_tmp239 | __cil_tmp232;
10877#line 1762
10878 blocks = (unsigned long )__cil_tmp240;
10879#line 1764
10880 printk("<7>usb-storage: usbat_flash_transport: WRITE_10: write block 0x%04lx count %ld\n",
10881 block, blocks);
10882#line 1765
10883 __cil_tmp241 = (u32 )block;
10884#line 1765
10885 __cil_tmp242 = (u32 )blocks;
10886#line 1765
10887 tmp___11 = usbat_flash_write_data(us, info, __cil_tmp241, __cil_tmp242);
10888 }
10889#line 1765
10890 return (tmp___11);
10891 } else {
10892
10893 }
10894 }
10895 {
10896#line 1768
10897 __cil_tmp243 = (unsigned long )srb;
10898#line 1768
10899 __cil_tmp244 = __cil_tmp243 + 80;
10900#line 1768
10901 __cil_tmp245 = *((unsigned char **)__cil_tmp244);
10902#line 1768
10903 __cil_tmp246 = __cil_tmp245 + 0;
10904#line 1768
10905 __cil_tmp247 = *__cil_tmp246;
10906#line 1768
10907 __cil_tmp248 = (int )__cil_tmp247;
10908#line 1768
10909 if (__cil_tmp248 == 170) {
10910 {
10911#line 1772
10912 __cil_tmp249 = (unsigned long )srb;
10913#line 1772
10914 __cil_tmp250 = __cil_tmp249 + 80;
10915#line 1772
10916 __cil_tmp251 = *((unsigned char **)__cil_tmp250);
10917#line 1772
10918 __cil_tmp252 = __cil_tmp251 + 5;
10919#line 1772
10920 __cil_tmp253 = *__cil_tmp252;
10921#line 1772
10922 __cil_tmp254 = (u32 )__cil_tmp253;
10923#line 1772
10924 __cil_tmp255 = (unsigned long )srb;
10925#line 1772
10926 __cil_tmp256 = __cil_tmp255 + 80;
10927#line 1772
10928 __cil_tmp257 = *((unsigned char **)__cil_tmp256);
10929#line 1772
10930 __cil_tmp258 = __cil_tmp257 + 4;
10931#line 1772
10932 __cil_tmp259 = *__cil_tmp258;
10933#line 1772
10934 __cil_tmp260 = (u32 )__cil_tmp259;
10935#line 1772
10936 __cil_tmp261 = __cil_tmp260 << 8;
10937#line 1772
10938 __cil_tmp262 = (unsigned long )srb;
10939#line 1772
10940 __cil_tmp263 = __cil_tmp262 + 80;
10941#line 1772
10942 __cil_tmp264 = *((unsigned char **)__cil_tmp263);
10943#line 1772
10944 __cil_tmp265 = __cil_tmp264 + 3;
10945#line 1772
10946 __cil_tmp266 = *__cil_tmp265;
10947#line 1772
10948 __cil_tmp267 = (u32 )__cil_tmp266;
10949#line 1772
10950 __cil_tmp268 = __cil_tmp267 << 16;
10951#line 1772
10952 __cil_tmp269 = (unsigned long )srb;
10953#line 1772
10954 __cil_tmp270 = __cil_tmp269 + 80;
10955#line 1772
10956 __cil_tmp271 = *((unsigned char **)__cil_tmp270);
10957#line 1772
10958 __cil_tmp272 = __cil_tmp271 + 2;
10959#line 1772
10960 __cil_tmp273 = *__cil_tmp272;
10961#line 1772
10962 __cil_tmp274 = (u32 )__cil_tmp273;
10963#line 1772
10964 __cil_tmp275 = __cil_tmp274 << 24;
10965#line 1772
10966 __cil_tmp276 = __cil_tmp275 | __cil_tmp268;
10967#line 1772
10968 __cil_tmp277 = __cil_tmp276 | __cil_tmp261;
10969#line 1772
10970 __cil_tmp278 = __cil_tmp277 | __cil_tmp254;
10971#line 1772
10972 block = (unsigned long )__cil_tmp278;
10973#line 1775
10974 __cil_tmp279 = (unsigned long )srb;
10975#line 1775
10976 __cil_tmp280 = __cil_tmp279 + 80;
10977#line 1775
10978 __cil_tmp281 = *((unsigned char **)__cil_tmp280);
10979#line 1775
10980 __cil_tmp282 = __cil_tmp281 + 9;
10981#line 1775
10982 __cil_tmp283 = *__cil_tmp282;
10983#line 1775
10984 __cil_tmp284 = (u32 )__cil_tmp283;
10985#line 1775
10986 __cil_tmp285 = (unsigned long )srb;
10987#line 1775
10988 __cil_tmp286 = __cil_tmp285 + 80;
10989#line 1775
10990 __cil_tmp287 = *((unsigned char **)__cil_tmp286);
10991#line 1775
10992 __cil_tmp288 = __cil_tmp287 + 8;
10993#line 1775
10994 __cil_tmp289 = *__cil_tmp288;
10995#line 1775
10996 __cil_tmp290 = (u32 )__cil_tmp289;
10997#line 1775
10998 __cil_tmp291 = __cil_tmp290 << 8;
10999#line 1775
11000 __cil_tmp292 = (unsigned long )srb;
11001#line 1775
11002 __cil_tmp293 = __cil_tmp292 + 80;
11003#line 1775
11004 __cil_tmp294 = *((unsigned char **)__cil_tmp293);
11005#line 1775
11006 __cil_tmp295 = __cil_tmp294 + 7;
11007#line 1775
11008 __cil_tmp296 = *__cil_tmp295;
11009#line 1775
11010 __cil_tmp297 = (u32 )__cil_tmp296;
11011#line 1775
11012 __cil_tmp298 = __cil_tmp297 << 16;
11013#line 1775
11014 __cil_tmp299 = (unsigned long )srb;
11015#line 1775
11016 __cil_tmp300 = __cil_tmp299 + 80;
11017#line 1775
11018 __cil_tmp301 = *((unsigned char **)__cil_tmp300);
11019#line 1775
11020 __cil_tmp302 = __cil_tmp301 + 6;
11021#line 1775
11022 __cil_tmp303 = *__cil_tmp302;
11023#line 1775
11024 __cil_tmp304 = (u32 )__cil_tmp303;
11025#line 1775
11026 __cil_tmp305 = __cil_tmp304 << 24;
11027#line 1775
11028 __cil_tmp306 = __cil_tmp305 | __cil_tmp298;
11029#line 1775
11030 __cil_tmp307 = __cil_tmp306 | __cil_tmp291;
11031#line 1775
11032 __cil_tmp308 = __cil_tmp307 | __cil_tmp284;
11033#line 1775
11034 blocks = (unsigned long )__cil_tmp308;
11035#line 1778
11036 printk("<7>usb-storage: usbat_flash_transport: WRITE_12: write block 0x%04lx count %ld\n",
11037 block, blocks);
11038#line 1779
11039 __cil_tmp309 = (u32 )block;
11040#line 1779
11041 __cil_tmp310 = (u32 )blocks;
11042#line 1779
11043 tmp___12 = usbat_flash_write_data(us, info, __cil_tmp309, __cil_tmp310);
11044 }
11045#line 1779
11046 return (tmp___12);
11047 } else {
11048
11049 }
11050 }
11051 {
11052#line 1783
11053 __cil_tmp311 = (unsigned long )srb;
11054#line 1783
11055 __cil_tmp312 = __cil_tmp311 + 80;
11056#line 1783
11057 __cil_tmp313 = *((unsigned char **)__cil_tmp312);
11058#line 1783
11059 __cil_tmp314 = __cil_tmp313 + 0;
11060#line 1783
11061 __cil_tmp315 = *__cil_tmp314;
11062#line 1783
11063 __cil_tmp316 = (int )__cil_tmp315;
11064#line 1783
11065 if (__cil_tmp316 == 0) {
11066 {
11067#line 1784
11068 printk("<7>usb-storage: usbat_flash_transport: TEST_UNIT_READY.\n");
11069#line 1786
11070 rc = usbat_flash_check_media(us, info);
11071 }
11072#line 1787
11073 if (rc != 0) {
11074#line 1788
11075 return (rc);
11076 } else {
11077
11078 }
11079 {
11080#line 1790
11081 tmp___13 = usbat_check_status(us);
11082 }
11083#line 1790
11084 return (tmp___13);
11085 } else {
11086
11087 }
11088 }
11089 {
11090#line 1793
11091 __cil_tmp317 = (unsigned long )srb;
11092#line 1793
11093 __cil_tmp318 = __cil_tmp317 + 80;
11094#line 1793
11095 __cil_tmp319 = *((unsigned char **)__cil_tmp318);
11096#line 1793
11097 __cil_tmp320 = __cil_tmp319 + 0;
11098#line 1793
11099 __cil_tmp321 = *__cil_tmp320;
11100#line 1793
11101 __cil_tmp322 = (int )__cil_tmp321;
11102#line 1793
11103 if (__cil_tmp322 == 3) {
11104 {
11105#line 1794
11106 printk("<7>usb-storage: usbat_flash_transport: REQUEST_SENSE.\n");
11107#line 1796
11108 __cil_tmp323 = (void *)ptr;
11109#line 1796
11110 __cil_tmp324 = (size_t )18;
11111#line 1796
11112 memset(__cil_tmp323, 0, __cil_tmp324);
11113#line 1797
11114 __cil_tmp325 = ptr + 0;
11115#line 1797
11116 *__cil_tmp325 = (unsigned char)240;
11117#line 1798
11118 __cil_tmp326 = ptr + 2;
11119#line 1798
11120 __cil_tmp327 = (unsigned long )info;
11121#line 1798
11122 __cil_tmp328 = __cil_tmp327 + 24;
11123#line 1798
11124 *__cil_tmp326 = *((unsigned char *)__cil_tmp328);
11125#line 1799
11126 __cil_tmp329 = ptr + 7;
11127#line 1799
11128 *__cil_tmp329 = (unsigned char)11;
11129#line 1800
11130 __cil_tmp330 = ptr + 12;
11131#line 1800
11132 __cil_tmp331 = (unsigned long )info;
11133#line 1800
11134 __cil_tmp332 = __cil_tmp331 + 32;
11135#line 1800
11136 __cil_tmp333 = *((unsigned long *)__cil_tmp332);
11137#line 1800
11138 *__cil_tmp330 = (unsigned char )__cil_tmp333;
11139#line 1801
11140 __cil_tmp334 = ptr + 13;
11141#line 1801
11142 __cil_tmp335 = (unsigned long )info;
11143#line 1801
11144 __cil_tmp336 = __cil_tmp335 + 40;
11145#line 1801
11146 __cil_tmp337 = *((unsigned long *)__cil_tmp336);
11147#line 1801
11148 *__cil_tmp334 = (unsigned char )__cil_tmp337;
11149#line 1802
11150 usb_stor_set_xfer_buf(ptr, 18U, srb);
11151 }
11152#line 1804
11153 return (0);
11154 } else {
11155
11156 }
11157 }
11158 {
11159#line 1807
11160 __cil_tmp338 = (unsigned long )srb;
11161#line 1807
11162 __cil_tmp339 = __cil_tmp338 + 80;
11163#line 1807
11164 __cil_tmp340 = *((unsigned char **)__cil_tmp339);
11165#line 1807
11166 __cil_tmp341 = __cil_tmp340 + 0;
11167#line 1807
11168 __cil_tmp342 = *__cil_tmp341;
11169#line 1807
11170 __cil_tmp343 = (int )__cil_tmp342;
11171#line 1807
11172 if (__cil_tmp343 == 30) {
11173#line 1812
11174 return (0);
11175 } else {
11176
11177 }
11178 }
11179 {
11180#line 1815
11181 __cil_tmp344 = (unsigned long )srb;
11182#line 1815
11183 __cil_tmp345 = __cil_tmp344 + 80;
11184#line 1815
11185 __cil_tmp346 = *((unsigned char **)__cil_tmp345);
11186#line 1815
11187 __cil_tmp347 = __cil_tmp346 + 0;
11188#line 1815
11189 __cil_tmp348 = *__cil_tmp347;
11190#line 1815
11191 __cil_tmp349 = (int )__cil_tmp348;
11192#line 1815
11193 __cil_tmp350 = (unsigned long )srb;
11194#line 1815
11195 __cil_tmp351 = __cil_tmp350 + 80;
11196#line 1815
11197 __cil_tmp352 = *((unsigned char **)__cil_tmp351);
11198#line 1815
11199 __cil_tmp353 = __cil_tmp352 + 0;
11200#line 1815
11201 __cil_tmp354 = *__cil_tmp353;
11202#line 1815
11203 __cil_tmp355 = (int )__cil_tmp354;
11204#line 1815
11205 printk("<7>usb-storage: usbat_flash_transport: Gah! Unknown command: %d (0x%x)\n",
11206 __cil_tmp349, __cil_tmp355);
11207#line 1817
11208 __cil_tmp356 = (unsigned long )info;
11209#line 1817
11210 __cil_tmp357 = __cil_tmp356 + 24;
11211#line 1817
11212 *((unsigned char *)__cil_tmp357) = (unsigned char)5;
11213#line 1818
11214 __cil_tmp358 = (unsigned long )info;
11215#line 1818
11216 __cil_tmp359 = __cil_tmp358 + 32;
11217#line 1818
11218 *((unsigned long *)__cil_tmp359) = 32UL;
11219#line 1819
11220 __cil_tmp360 = (unsigned long )info;
11221#line 1819
11222 __cil_tmp361 = __cil_tmp360 + 40;
11223#line 1819
11224 *((unsigned long *)__cil_tmp361) = 0UL;
11225 }
11226#line 1820
11227 return (1);
11228}
11229}
11230#line 1823 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
11231static int init_usbat_cd(struct us_data *us )
11232{ int tmp___7 ;
11233
11234 {
11235 {
11236#line 1825
11237 tmp___7 = init_usbat(us, 1);
11238 }
11239#line 1825
11240 return (tmp___7);
11241}
11242}
11243#line 1828 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
11244static int init_usbat_flash(struct us_data *us )
11245{ int tmp___7 ;
11246
11247 {
11248 {
11249#line 1830
11250 tmp___7 = init_usbat(us, 2);
11251 }
11252#line 1830
11253 return (tmp___7);
11254}
11255}
11256#line 1833 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
11257static int usbat_probe(struct usb_interface *intf , struct usb_device_id const *id )
11258{ struct us_data *us ;
11259 int result ;
11260 unsigned long __cil_tmp5 ;
11261 unsigned long __cil_tmp6 ;
11262 struct usb_device_id *__cil_tmp7 ;
11263 struct usb_device_id const *__cil_tmp8 ;
11264 int __cil_tmp9 ;
11265 unsigned long __cil_tmp10 ;
11266 unsigned long __cil_tmp11 ;
11267 struct us_unusual_dev *__cil_tmp12 ;
11268 struct us_unusual_dev *__cil_tmp13 ;
11269 struct us_data **__cil_tmp14 ;
11270 struct us_data *__cil_tmp15 ;
11271 unsigned long __cil_tmp16 ;
11272 unsigned long __cil_tmp17 ;
11273 struct us_data **__cil_tmp18 ;
11274 struct us_data *__cil_tmp19 ;
11275 unsigned long __cil_tmp20 ;
11276 unsigned long __cil_tmp21 ;
11277 struct us_data **__cil_tmp22 ;
11278 struct us_data *__cil_tmp23 ;
11279 unsigned long __cil_tmp24 ;
11280 unsigned long __cil_tmp25 ;
11281 struct us_data **__cil_tmp26 ;
11282 struct us_data *__cil_tmp27 ;
11283 unsigned long __cil_tmp28 ;
11284 unsigned long __cil_tmp29 ;
11285 struct us_data **__cil_tmp30 ;
11286 struct us_data *__cil_tmp31 ;
11287
11288 {
11289 {
11290#line 1839
11291 __cil_tmp5 = 0 * 24UL;
11292#line 1839
11293 __cil_tmp6 = (unsigned long )(usbat_usb_ids) + __cil_tmp5;
11294#line 1839
11295 __cil_tmp7 = (struct usb_device_id *)__cil_tmp6;
11296#line 1839
11297 __cil_tmp8 = (struct usb_device_id const *)__cil_tmp7;
11298#line 1839
11299 __cil_tmp9 = id - __cil_tmp8;
11300#line 1839
11301 __cil_tmp10 = 0 * 32UL;
11302#line 1839
11303 __cil_tmp11 = (unsigned long )(usbat_unusual_dev_list) + __cil_tmp10;
11304#line 1839
11305 __cil_tmp12 = (struct us_unusual_dev *)__cil_tmp11;
11306#line 1839
11307 __cil_tmp13 = __cil_tmp12 + __cil_tmp9;
11308#line 1839
11309 result = usb_stor_probe1(& us, intf, id, __cil_tmp13);
11310 }
11311#line 1841
11312 if (result) {
11313#line 1842
11314 return (result);
11315 } else {
11316
11317 }
11318 {
11319#line 1847
11320 __cil_tmp14 = & us;
11321#line 1847
11322 __cil_tmp15 = *__cil_tmp14;
11323#line 1847
11324 __cil_tmp16 = (unsigned long )__cil_tmp15;
11325#line 1847
11326 __cil_tmp17 = __cil_tmp16 + 136;
11327#line 1847
11328 *((char **)__cil_tmp17) = (char *)"Shuttle USBAT";
11329#line 1848
11330 __cil_tmp18 = & us;
11331#line 1848
11332 __cil_tmp19 = *__cil_tmp18;
11333#line 1848
11334 __cil_tmp20 = (unsigned long )__cil_tmp19;
11335#line 1848
11336 __cil_tmp21 = __cil_tmp20 + 168;
11337#line 1848
11338 *((int (**)(struct scsi_cmnd * , struct us_data * ))__cil_tmp21) = & usbat_flash_transport;
11339#line 1849
11340 __cil_tmp22 = & us;
11341#line 1849
11342 __cil_tmp23 = *__cil_tmp22;
11343#line 1849
11344 __cil_tmp24 = (unsigned long )__cil_tmp23;
11345#line 1849
11346 __cil_tmp25 = __cil_tmp24 + 176;
11347#line 1849
11348 *((int (**)(struct us_data * ))__cil_tmp25) = & usb_stor_CB_reset;
11349#line 1850
11350 __cil_tmp26 = & us;
11351#line 1850
11352 __cil_tmp27 = *__cil_tmp26;
11353#line 1850
11354 __cil_tmp28 = (unsigned long )__cil_tmp27;
11355#line 1850
11356 __cil_tmp29 = __cil_tmp28 + 158;
11357#line 1850
11358 *((u8 *)__cil_tmp29) = (u8 )1;
11359#line 1852
11360 __cil_tmp30 = & us;
11361#line 1852
11362 __cil_tmp31 = *__cil_tmp30;
11363#line 1852
11364 result = usb_stor_probe2(__cil_tmp31);
11365 }
11366#line 1853
11367 return (result);
11368}
11369}
11370#line 1856 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
11371static struct usb_driver usbat_driver =
11372#line 1856
11373 {"ums-usbat", & usbat_probe, & usb_stor_disconnect, (int (*)(struct usb_interface *intf ,
11374 unsigned int code ,
11375 void *buf ))0, & usb_stor_suspend,
11376 & usb_stor_resume, & usb_stor_reset_resume, & usb_stor_pre_reset, & usb_stor_post_reset,
11377 (struct usb_device_id const *)(usbat_usb_ids), {{{{{{0U}}, 0U, 0U, (void *)0}}},
11378 {(struct list_head *)0, (struct list_head *)0}},
11379 {{(char const *)0, (struct bus_type *)0, (struct module *)0, (char const *)0,
11380 (_Bool)0, (struct of_device_id const *)0, (int (*)(struct device *dev ))0,
11381 (int (*)(struct device *dev ))0, (void (*)(struct device *dev ))0, (int (*)(struct device *dev ,
11382 pm_message_t state ))0,
11383 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
11384 (struct driver_private *)0}, 0}, 1U, 0U, 1U};
11385#line 1870
11386static int usbat_driver_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
11387#line 1870 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
11388static int usbat_driver_init(void)
11389{ int tmp___7 ;
11390
11391 {
11392 {
11393#line 1870
11394 tmp___7 = usb_register_driver(& usbat_driver, & __this_module, "ums_usbat");
11395 }
11396#line 1870
11397 return (tmp___7);
11398}
11399}
11400#line 1870 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
11401int init_module(void)
11402{ int tmp___7 ;
11403
11404 {
11405 {
11406#line 1870
11407 tmp___7 = usbat_driver_init();
11408 }
11409#line 1870
11410 return (tmp___7);
11411}
11412}
11413#line 1870
11414static void usbat_driver_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
11415#line 1870 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
11416static void usbat_driver_exit(void)
11417{
11418
11419 {
11420 {
11421#line 1870
11422 usb_deregister(& usbat_driver);
11423 }
11424#line 1870
11425 return;
11426}
11427}
11428#line 1870 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
11429void cleanup_module(void)
11430{
11431
11432 {
11433 {
11434#line 1870
11435 usbat_driver_exit();
11436 }
11437#line 1870
11438 return;
11439}
11440}
11441#line 1888
11442void ldv_check_final_state(void) ;
11443#line 1891
11444extern void ldv_check_return_value(int res ) ;
11445#line 1894
11446extern void ldv_initialize(void) ;
11447#line 1897
11448extern int __VERIFIER_nondet_int(void) ;
11449#line 1900 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
11450int LDV_IN_INTERRUPT ;
11451#line 1991 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
11452static int res_usbat_probe_36 ;
11453#line 1903 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
11454void main(void)
11455{ struct usb_interface *var_group1 ;
11456 struct usb_device_id const *var_usbat_probe_36_p1 ;
11457 int ldv_s_usbat_driver_usb_driver ;
11458 int tmp___7 ;
11459 int tmp___8 ;
11460 int __cil_tmp6 ;
11461
11462 {
11463 {
11464#line 1999
11465 LDV_IN_INTERRUPT = 1;
11466#line 2008
11467 ldv_initialize();
11468#line 2009
11469 ldv_s_usbat_driver_usb_driver = 0;
11470 }
11471 {
11472#line 2012
11473 while (1) {
11474 while_continue: ;
11475 {
11476#line 2012
11477 tmp___8 = __VERIFIER_nondet_int();
11478 }
11479#line 2012
11480 if (tmp___8) {
11481
11482 } else {
11483 {
11484#line 2012
11485 __cil_tmp6 = ldv_s_usbat_driver_usb_driver == 0;
11486#line 2012
11487 if (! __cil_tmp6) {
11488
11489 } else {
11490#line 2012
11491 goto while_break;
11492 }
11493 }
11494 }
11495 {
11496#line 2016
11497 tmp___7 = __VERIFIER_nondet_int();
11498 }
11499#line 2018
11500 if (tmp___7 == 0) {
11501#line 2018
11502 goto case_0;
11503 } else {
11504 {
11505#line 2111
11506 goto switch_default;
11507#line 2016
11508 if (0) {
11509 case_0:
11510#line 2021
11511 if (ldv_s_usbat_driver_usb_driver == 0) {
11512 {
11513#line 2100
11514 res_usbat_probe_36 = usbat_probe(var_group1, var_usbat_probe_36_p1);
11515#line 2101
11516 ldv_check_return_value(res_usbat_probe_36);
11517 }
11518#line 2102
11519 if (res_usbat_probe_36) {
11520#line 2103
11521 goto ldv_module_exit;
11522 } else {
11523
11524 }
11525#line 2104
11526 ldv_s_usbat_driver_usb_driver = 0;
11527 } else {
11528
11529 }
11530#line 2110
11531 goto switch_break;
11532 switch_default:
11533#line 2111
11534 goto switch_break;
11535 } else {
11536 switch_break: ;
11537 }
11538 }
11539 }
11540 }
11541 while_break: ;
11542 }
11543 ldv_module_exit:
11544 {
11545#line 2120
11546 ldv_check_final_state();
11547 }
11548#line 2123
11549 return;
11550}
11551}
11552#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
11553void ldv_blast_assert(void)
11554{
11555
11556 {
11557 ERROR:
11558#line 6
11559 goto ERROR;
11560}
11561}
11562#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
11563extern int __VERIFIER_nondet_int(void) ;
11564#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
11565int ldv_mutex = 1;
11566#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
11567int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
11568{ int nondetermined ;
11569
11570 {
11571#line 29
11572 if (ldv_mutex == 1) {
11573
11574 } else {
11575 {
11576#line 29
11577 ldv_blast_assert();
11578 }
11579 }
11580 {
11581#line 32
11582 nondetermined = __VERIFIER_nondet_int();
11583 }
11584#line 35
11585 if (nondetermined) {
11586#line 38
11587 ldv_mutex = 2;
11588#line 40
11589 return (0);
11590 } else {
11591#line 45
11592 return (-4);
11593 }
11594}
11595}
11596#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
11597int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
11598{ int nondetermined ;
11599
11600 {
11601#line 57
11602 if (ldv_mutex == 1) {
11603
11604 } else {
11605 {
11606#line 57
11607 ldv_blast_assert();
11608 }
11609 }
11610 {
11611#line 60
11612 nondetermined = __VERIFIER_nondet_int();
11613 }
11614#line 63
11615 if (nondetermined) {
11616#line 66
11617 ldv_mutex = 2;
11618#line 68
11619 return (0);
11620 } else {
11621#line 73
11622 return (-4);
11623 }
11624}
11625}
11626#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
11627int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
11628{ int atomic_value_after_dec ;
11629
11630 {
11631#line 83
11632 if (ldv_mutex == 1) {
11633
11634 } else {
11635 {
11636#line 83
11637 ldv_blast_assert();
11638 }
11639 }
11640 {
11641#line 86
11642 atomic_value_after_dec = __VERIFIER_nondet_int();
11643 }
11644#line 89
11645 if (atomic_value_after_dec == 0) {
11646#line 92
11647 ldv_mutex = 2;
11648#line 94
11649 return (1);
11650 } else {
11651
11652 }
11653#line 98
11654 return (0);
11655}
11656}
11657#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
11658void mutex_lock(struct mutex *lock )
11659{
11660
11661 {
11662#line 108
11663 if (ldv_mutex == 1) {
11664
11665 } else {
11666 {
11667#line 108
11668 ldv_blast_assert();
11669 }
11670 }
11671#line 110
11672 ldv_mutex = 2;
11673#line 111
11674 return;
11675}
11676}
11677#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
11678int mutex_trylock(struct mutex *lock )
11679{ int nondetermined ;
11680
11681 {
11682#line 121
11683 if (ldv_mutex == 1) {
11684
11685 } else {
11686 {
11687#line 121
11688 ldv_blast_assert();
11689 }
11690 }
11691 {
11692#line 124
11693 nondetermined = __VERIFIER_nondet_int();
11694 }
11695#line 127
11696 if (nondetermined) {
11697#line 130
11698 ldv_mutex = 2;
11699#line 132
11700 return (1);
11701 } else {
11702#line 137
11703 return (0);
11704 }
11705}
11706}
11707#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
11708void mutex_unlock(struct mutex *lock )
11709{
11710
11711 {
11712#line 147
11713 if (ldv_mutex == 2) {
11714
11715 } else {
11716 {
11717#line 147
11718 ldv_blast_assert();
11719 }
11720 }
11721#line 149
11722 ldv_mutex = 1;
11723#line 150
11724 return;
11725}
11726}
11727#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
11728void ldv_check_final_state(void)
11729{
11730
11731 {
11732#line 156
11733 if (ldv_mutex == 1) {
11734
11735 } else {
11736 {
11737#line 156
11738 ldv_blast_assert();
11739 }
11740 }
11741#line 157
11742 return;
11743}
11744}
11745#line 2132 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7669/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/shuttle_usbat.c.common.c"
11746long s__builtin_expect(long val , long res )
11747{
11748
11749 {
11750#line 2133
11751 return (val);
11752}
11753}