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