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