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