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