1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 29 "include/asm-generic/int-ll64.h"
17typedef long long __s64;
18#line 30 "include/asm-generic/int-ll64.h"
19typedef unsigned long long __u64;
20#line 43 "include/asm-generic/int-ll64.h"
21typedef unsigned char u8;
22#line 45 "include/asm-generic/int-ll64.h"
23typedef short s16;
24#line 46 "include/asm-generic/int-ll64.h"
25typedef unsigned short u16;
26#line 48 "include/asm-generic/int-ll64.h"
27typedef int s32;
28#line 49 "include/asm-generic/int-ll64.h"
29typedef unsigned int u32;
30#line 51 "include/asm-generic/int-ll64.h"
31typedef long long s64;
32#line 52 "include/asm-generic/int-ll64.h"
33typedef unsigned long long u64;
34#line 14 "include/asm-generic/posix_types.h"
35typedef long __kernel_long_t;
36#line 15 "include/asm-generic/posix_types.h"
37typedef unsigned long __kernel_ulong_t;
38#line 31 "include/asm-generic/posix_types.h"
39typedef int __kernel_pid_t;
40#line 52 "include/asm-generic/posix_types.h"
41typedef unsigned int __kernel_uid32_t;
42#line 53 "include/asm-generic/posix_types.h"
43typedef unsigned int __kernel_gid32_t;
44#line 75 "include/asm-generic/posix_types.h"
45typedef __kernel_ulong_t __kernel_size_t;
46#line 76 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_ssize_t;
48#line 91 "include/asm-generic/posix_types.h"
49typedef long long __kernel_loff_t;
50#line 92 "include/asm-generic/posix_types.h"
51typedef __kernel_long_t __kernel_time_t;
52#line 93 "include/asm-generic/posix_types.h"
53typedef __kernel_long_t __kernel_clock_t;
54#line 94 "include/asm-generic/posix_types.h"
55typedef int __kernel_timer_t;
56#line 95 "include/asm-generic/posix_types.h"
57typedef int __kernel_clockid_t;
58#line 21 "include/linux/types.h"
59typedef __u32 __kernel_dev_t;
60#line 24 "include/linux/types.h"
61typedef __kernel_dev_t dev_t;
62#line 27 "include/linux/types.h"
63typedef unsigned short umode_t;
64#line 30 "include/linux/types.h"
65typedef __kernel_pid_t pid_t;
66#line 35 "include/linux/types.h"
67typedef __kernel_clockid_t clockid_t;
68#line 38 "include/linux/types.h"
69typedef _Bool bool;
70#line 40 "include/linux/types.h"
71typedef __kernel_uid32_t uid_t;
72#line 41 "include/linux/types.h"
73typedef __kernel_gid32_t gid_t;
74#line 54 "include/linux/types.h"
75typedef __kernel_loff_t loff_t;
76#line 63 "include/linux/types.h"
77typedef __kernel_size_t size_t;
78#line 68 "include/linux/types.h"
79typedef __kernel_ssize_t ssize_t;
80#line 78 "include/linux/types.h"
81typedef __kernel_time_t time_t;
82#line 111 "include/linux/types.h"
83typedef __s32 int32_t;
84#line 117 "include/linux/types.h"
85typedef __u32 uint32_t;
86#line 142 "include/linux/types.h"
87typedef unsigned long sector_t;
88#line 143 "include/linux/types.h"
89typedef unsigned long blkcnt_t;
90#line 155 "include/linux/types.h"
91typedef u64 dma_addr_t;
92#line 178 "include/linux/types.h"
93typedef __u16 __le16;
94#line 180 "include/linux/types.h"
95typedef __u32 __le32;
96#line 202 "include/linux/types.h"
97typedef unsigned int gfp_t;
98#line 203 "include/linux/types.h"
99typedef unsigned int fmode_t;
100#line 221 "include/linux/types.h"
101struct __anonstruct_atomic_t_6 {
102 int counter ;
103};
104#line 221 "include/linux/types.h"
105typedef struct __anonstruct_atomic_t_6 atomic_t;
106#line 226 "include/linux/types.h"
107struct __anonstruct_atomic64_t_7 {
108 long counter ;
109};
110#line 226 "include/linux/types.h"
111typedef struct __anonstruct_atomic64_t_7 atomic64_t;
112#line 227 "include/linux/types.h"
113struct list_head {
114 struct list_head *next ;
115 struct list_head *prev ;
116};
117#line 232
118struct hlist_node;
119#line 232 "include/linux/types.h"
120struct hlist_head {
121 struct hlist_node *first ;
122};
123#line 236 "include/linux/types.h"
124struct hlist_node {
125 struct hlist_node *next ;
126 struct hlist_node **pprev ;
127};
128#line 247 "include/linux/types.h"
129struct rcu_head {
130 struct rcu_head *next ;
131 void (*func)(struct rcu_head * ) ;
132};
133#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
134struct module;
135#line 55
136struct module;
137#line 146 "include/linux/init.h"
138typedef void (*ctor_fn_t)(void);
139#line 46 "include/linux/dynamic_debug.h"
140struct device;
141#line 46
142struct device;
143#line 57
144struct completion;
145#line 57
146struct completion;
147#line 58
148struct pt_regs;
149#line 58
150struct pt_regs;
151#line 348 "include/linux/kernel.h"
152struct pid;
153#line 348
154struct pid;
155#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
156struct timespec;
157#line 112
158struct timespec;
159#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
160struct page;
161#line 58
162struct page;
163#line 26 "include/asm-generic/getorder.h"
164struct task_struct;
165#line 26
166struct task_struct;
167#line 28
168struct mm_struct;
169#line 28
170struct mm_struct;
171#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
172struct pt_regs {
173 unsigned long r15 ;
174 unsigned long r14 ;
175 unsigned long r13 ;
176 unsigned long r12 ;
177 unsigned long bp ;
178 unsigned long bx ;
179 unsigned long r11 ;
180 unsigned long r10 ;
181 unsigned long r9 ;
182 unsigned long r8 ;
183 unsigned long ax ;
184 unsigned long cx ;
185 unsigned long dx ;
186 unsigned long si ;
187 unsigned long di ;
188 unsigned long orig_ax ;
189 unsigned long ip ;
190 unsigned long cs ;
191 unsigned long flags ;
192 unsigned long sp ;
193 unsigned long ss ;
194};
195#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
196struct __anonstruct_ldv_2180_13 {
197 unsigned int a ;
198 unsigned int b ;
199};
200#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
201struct __anonstruct_ldv_2195_14 {
202 u16 limit0 ;
203 u16 base0 ;
204 unsigned char base1 ;
205 unsigned char type : 4 ;
206 unsigned char s : 1 ;
207 unsigned char dpl : 2 ;
208 unsigned char p : 1 ;
209 unsigned char limit : 4 ;
210 unsigned char avl : 1 ;
211 unsigned char l : 1 ;
212 unsigned char d : 1 ;
213 unsigned char g : 1 ;
214 unsigned char base2 ;
215};
216#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
217union __anonunion_ldv_2196_12 {
218 struct __anonstruct_ldv_2180_13 ldv_2180 ;
219 struct __anonstruct_ldv_2195_14 ldv_2195 ;
220};
221#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
222struct desc_struct {
223 union __anonunion_ldv_2196_12 ldv_2196 ;
224};
225#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
226typedef unsigned long pgdval_t;
227#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
228typedef unsigned long pgprotval_t;
229#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
230struct pgprot {
231 pgprotval_t pgprot ;
232};
233#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
234typedef struct pgprot pgprot_t;
235#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
236struct __anonstruct_pgd_t_16 {
237 pgdval_t pgd ;
238};
239#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
240typedef struct __anonstruct_pgd_t_16 pgd_t;
241#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
242typedef struct page *pgtable_t;
243#line 290
244struct file;
245#line 290
246struct file;
247#line 305
248struct seq_file;
249#line 305
250struct seq_file;
251#line 337
252struct thread_struct;
253#line 337
254struct thread_struct;
255#line 339
256struct cpumask;
257#line 339
258struct cpumask;
259#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
260struct arch_spinlock;
261#line 327
262struct arch_spinlock;
263#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
264struct kernel_vm86_regs {
265 struct pt_regs pt ;
266 unsigned short es ;
267 unsigned short __esh ;
268 unsigned short ds ;
269 unsigned short __dsh ;
270 unsigned short fs ;
271 unsigned short __fsh ;
272 unsigned short gs ;
273 unsigned short __gsh ;
274};
275#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
276union __anonunion_ldv_2824_19 {
277 struct pt_regs *regs ;
278 struct kernel_vm86_regs *vm86 ;
279};
280#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
281struct math_emu_info {
282 long ___orig_eip ;
283 union __anonunion_ldv_2824_19 ldv_2824 ;
284};
285#line 306 "include/linux/bitmap.h"
286struct bug_entry {
287 int bug_addr_disp ;
288 int file_disp ;
289 unsigned short line ;
290 unsigned short flags ;
291};
292#line 89 "include/linux/bug.h"
293struct cpumask {
294 unsigned long bits[64U] ;
295};
296#line 14 "include/linux/cpumask.h"
297typedef struct cpumask cpumask_t;
298#line 637 "include/linux/cpumask.h"
299typedef struct cpumask *cpumask_var_t;
300#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
301struct static_key;
302#line 234
303struct static_key;
304#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
305struct i387_fsave_struct {
306 u32 cwd ;
307 u32 swd ;
308 u32 twd ;
309 u32 fip ;
310 u32 fcs ;
311 u32 foo ;
312 u32 fos ;
313 u32 st_space[20U] ;
314 u32 status ;
315};
316#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
317struct __anonstruct_ldv_5180_24 {
318 u64 rip ;
319 u64 rdp ;
320};
321#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
322struct __anonstruct_ldv_5186_25 {
323 u32 fip ;
324 u32 fcs ;
325 u32 foo ;
326 u32 fos ;
327};
328#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
329union __anonunion_ldv_5187_23 {
330 struct __anonstruct_ldv_5180_24 ldv_5180 ;
331 struct __anonstruct_ldv_5186_25 ldv_5186 ;
332};
333#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
334union __anonunion_ldv_5196_26 {
335 u32 padding1[12U] ;
336 u32 sw_reserved[12U] ;
337};
338#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
339struct i387_fxsave_struct {
340 u16 cwd ;
341 u16 swd ;
342 u16 twd ;
343 u16 fop ;
344 union __anonunion_ldv_5187_23 ldv_5187 ;
345 u32 mxcsr ;
346 u32 mxcsr_mask ;
347 u32 st_space[32U] ;
348 u32 xmm_space[64U] ;
349 u32 padding[12U] ;
350 union __anonunion_ldv_5196_26 ldv_5196 ;
351};
352#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
353struct i387_soft_struct {
354 u32 cwd ;
355 u32 swd ;
356 u32 twd ;
357 u32 fip ;
358 u32 fcs ;
359 u32 foo ;
360 u32 fos ;
361 u32 st_space[20U] ;
362 u8 ftop ;
363 u8 changed ;
364 u8 lookahead ;
365 u8 no_update ;
366 u8 rm ;
367 u8 alimit ;
368 struct math_emu_info *info ;
369 u32 entry_eip ;
370};
371#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
372struct ymmh_struct {
373 u32 ymmh_space[64U] ;
374};
375#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
376struct xsave_hdr_struct {
377 u64 xstate_bv ;
378 u64 reserved1[2U] ;
379 u64 reserved2[5U] ;
380};
381#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
382struct xsave_struct {
383 struct i387_fxsave_struct i387 ;
384 struct xsave_hdr_struct xsave_hdr ;
385 struct ymmh_struct ymmh ;
386};
387#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
388union thread_xstate {
389 struct i387_fsave_struct fsave ;
390 struct i387_fxsave_struct fxsave ;
391 struct i387_soft_struct soft ;
392 struct xsave_struct xsave ;
393};
394#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
395struct fpu {
396 unsigned int last_cpu ;
397 unsigned int has_fpu ;
398 union thread_xstate *state ;
399};
400#line 433
401struct kmem_cache;
402#line 434
403struct perf_event;
404#line 434
405struct perf_event;
406#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
407struct thread_struct {
408 struct desc_struct tls_array[3U] ;
409 unsigned long sp0 ;
410 unsigned long sp ;
411 unsigned long usersp ;
412 unsigned short es ;
413 unsigned short ds ;
414 unsigned short fsindex ;
415 unsigned short gsindex ;
416 unsigned long fs ;
417 unsigned long gs ;
418 struct perf_event *ptrace_bps[4U] ;
419 unsigned long debugreg6 ;
420 unsigned long ptrace_dr7 ;
421 unsigned long cr2 ;
422 unsigned long trap_nr ;
423 unsigned long error_code ;
424 struct fpu fpu ;
425 unsigned long *io_bitmap_ptr ;
426 unsigned long iopl ;
427 unsigned int io_bitmap_max ;
428};
429#line 23 "include/asm-generic/atomic-long.h"
430typedef atomic64_t atomic_long_t;
431#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
432typedef u16 __ticket_t;
433#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
434typedef u32 __ticketpair_t;
435#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
436struct __raw_tickets {
437 __ticket_t head ;
438 __ticket_t tail ;
439};
440#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
441union __anonunion_ldv_5907_29 {
442 __ticketpair_t head_tail ;
443 struct __raw_tickets tickets ;
444};
445#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
446struct arch_spinlock {
447 union __anonunion_ldv_5907_29 ldv_5907 ;
448};
449#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
450typedef struct arch_spinlock arch_spinlock_t;
451#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
452struct __anonstruct_ldv_5914_31 {
453 u32 read ;
454 s32 write ;
455};
456#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
457union __anonunion_arch_rwlock_t_30 {
458 s64 lock ;
459 struct __anonstruct_ldv_5914_31 ldv_5914 ;
460};
461#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
462typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
463#line 34
464struct lockdep_map;
465#line 34
466struct lockdep_map;
467#line 55 "include/linux/debug_locks.h"
468struct stack_trace {
469 unsigned int nr_entries ;
470 unsigned int max_entries ;
471 unsigned long *entries ;
472 int skip ;
473};
474#line 26 "include/linux/stacktrace.h"
475struct lockdep_subclass_key {
476 char __one_byte ;
477};
478#line 53 "include/linux/lockdep.h"
479struct lock_class_key {
480 struct lockdep_subclass_key subkeys[8U] ;
481};
482#line 59 "include/linux/lockdep.h"
483struct lock_class {
484 struct list_head hash_entry ;
485 struct list_head lock_entry ;
486 struct lockdep_subclass_key *key ;
487 unsigned int subclass ;
488 unsigned int dep_gen_id ;
489 unsigned long usage_mask ;
490 struct stack_trace usage_traces[13U] ;
491 struct list_head locks_after ;
492 struct list_head locks_before ;
493 unsigned int version ;
494 unsigned long ops ;
495 char const *name ;
496 int name_version ;
497 unsigned long contention_point[4U] ;
498 unsigned long contending_point[4U] ;
499};
500#line 144 "include/linux/lockdep.h"
501struct lockdep_map {
502 struct lock_class_key *key ;
503 struct lock_class *class_cache[2U] ;
504 char const *name ;
505 int cpu ;
506 unsigned long ip ;
507};
508#line 187 "include/linux/lockdep.h"
509struct held_lock {
510 u64 prev_chain_key ;
511 unsigned long acquire_ip ;
512 struct lockdep_map *instance ;
513 struct lockdep_map *nest_lock ;
514 u64 waittime_stamp ;
515 u64 holdtime_stamp ;
516 unsigned short class_idx : 13 ;
517 unsigned char irq_context : 2 ;
518 unsigned char trylock : 1 ;
519 unsigned char read : 2 ;
520 unsigned char check : 2 ;
521 unsigned char hardirqs_off : 1 ;
522 unsigned short references : 11 ;
523};
524#line 556 "include/linux/lockdep.h"
525struct raw_spinlock {
526 arch_spinlock_t raw_lock ;
527 unsigned int magic ;
528 unsigned int owner_cpu ;
529 void *owner ;
530 struct lockdep_map dep_map ;
531};
532#line 32 "include/linux/spinlock_types.h"
533typedef struct raw_spinlock raw_spinlock_t;
534#line 33 "include/linux/spinlock_types.h"
535struct __anonstruct_ldv_6122_33 {
536 u8 __padding[24U] ;
537 struct lockdep_map dep_map ;
538};
539#line 33 "include/linux/spinlock_types.h"
540union __anonunion_ldv_6123_32 {
541 struct raw_spinlock rlock ;
542 struct __anonstruct_ldv_6122_33 ldv_6122 ;
543};
544#line 33 "include/linux/spinlock_types.h"
545struct spinlock {
546 union __anonunion_ldv_6123_32 ldv_6123 ;
547};
548#line 76 "include/linux/spinlock_types.h"
549typedef struct spinlock spinlock_t;
550#line 23 "include/linux/rwlock_types.h"
551struct __anonstruct_rwlock_t_34 {
552 arch_rwlock_t raw_lock ;
553 unsigned int magic ;
554 unsigned int owner_cpu ;
555 void *owner ;
556 struct lockdep_map dep_map ;
557};
558#line 23 "include/linux/rwlock_types.h"
559typedef struct __anonstruct_rwlock_t_34 rwlock_t;
560#line 110 "include/linux/seqlock.h"
561struct seqcount {
562 unsigned int sequence ;
563};
564#line 121 "include/linux/seqlock.h"
565typedef struct seqcount seqcount_t;
566#line 254 "include/linux/seqlock.h"
567struct timespec {
568 __kernel_time_t tv_sec ;
569 long tv_nsec ;
570};
571#line 286 "include/linux/time.h"
572struct kstat {
573 u64 ino ;
574 dev_t dev ;
575 umode_t mode ;
576 unsigned int nlink ;
577 uid_t uid ;
578 gid_t gid ;
579 dev_t rdev ;
580 loff_t size ;
581 struct timespec atime ;
582 struct timespec mtime ;
583 struct timespec ctime ;
584 unsigned long blksize ;
585 unsigned long long blocks ;
586};
587#line 48 "include/linux/wait.h"
588struct __wait_queue_head {
589 spinlock_t lock ;
590 struct list_head task_list ;
591};
592#line 53 "include/linux/wait.h"
593typedef struct __wait_queue_head wait_queue_head_t;
594#line 98 "include/linux/nodemask.h"
595struct __anonstruct_nodemask_t_36 {
596 unsigned long bits[16U] ;
597};
598#line 98 "include/linux/nodemask.h"
599typedef struct __anonstruct_nodemask_t_36 nodemask_t;
600#line 670 "include/linux/mmzone.h"
601struct mutex {
602 atomic_t count ;
603 spinlock_t wait_lock ;
604 struct list_head wait_list ;
605 struct task_struct *owner ;
606 char const *name ;
607 void *magic ;
608 struct lockdep_map dep_map ;
609};
610#line 63 "include/linux/mutex.h"
611struct mutex_waiter {
612 struct list_head list ;
613 struct task_struct *task ;
614 void *magic ;
615};
616#line 171
617struct rw_semaphore;
618#line 171
619struct rw_semaphore;
620#line 172 "include/linux/mutex.h"
621struct rw_semaphore {
622 long count ;
623 raw_spinlock_t wait_lock ;
624 struct list_head wait_list ;
625 struct lockdep_map dep_map ;
626};
627#line 128 "include/linux/rwsem.h"
628struct completion {
629 unsigned int done ;
630 wait_queue_head_t wait ;
631};
632#line 312 "include/linux/jiffies.h"
633union ktime {
634 s64 tv64 ;
635};
636#line 59 "include/linux/ktime.h"
637typedef union ktime ktime_t;
638#line 341
639struct tvec_base;
640#line 341
641struct tvec_base;
642#line 342 "include/linux/ktime.h"
643struct timer_list {
644 struct list_head entry ;
645 unsigned long expires ;
646 struct tvec_base *base ;
647 void (*function)(unsigned long ) ;
648 unsigned long data ;
649 int slack ;
650 int start_pid ;
651 void *start_site ;
652 char start_comm[16U] ;
653 struct lockdep_map lockdep_map ;
654};
655#line 289 "include/linux/timer.h"
656struct hrtimer;
657#line 289
658struct hrtimer;
659#line 290
660enum hrtimer_restart;
661#line 302
662struct work_struct;
663#line 302
664struct work_struct;
665#line 45 "include/linux/workqueue.h"
666struct work_struct {
667 atomic_long_t data ;
668 struct list_head entry ;
669 void (*func)(struct work_struct * ) ;
670 struct lockdep_map lockdep_map ;
671};
672#line 86 "include/linux/workqueue.h"
673struct delayed_work {
674 struct work_struct work ;
675 struct timer_list timer ;
676};
677#line 46 "include/linux/pm.h"
678struct pm_message {
679 int event ;
680};
681#line 52 "include/linux/pm.h"
682typedef struct pm_message pm_message_t;
683#line 53 "include/linux/pm.h"
684struct dev_pm_ops {
685 int (*prepare)(struct device * ) ;
686 void (*complete)(struct device * ) ;
687 int (*suspend)(struct device * ) ;
688 int (*resume)(struct device * ) ;
689 int (*freeze)(struct device * ) ;
690 int (*thaw)(struct device * ) ;
691 int (*poweroff)(struct device * ) ;
692 int (*restore)(struct device * ) ;
693 int (*suspend_late)(struct device * ) ;
694 int (*resume_early)(struct device * ) ;
695 int (*freeze_late)(struct device * ) ;
696 int (*thaw_early)(struct device * ) ;
697 int (*poweroff_late)(struct device * ) ;
698 int (*restore_early)(struct device * ) ;
699 int (*suspend_noirq)(struct device * ) ;
700 int (*resume_noirq)(struct device * ) ;
701 int (*freeze_noirq)(struct device * ) ;
702 int (*thaw_noirq)(struct device * ) ;
703 int (*poweroff_noirq)(struct device * ) ;
704 int (*restore_noirq)(struct device * ) ;
705 int (*runtime_suspend)(struct device * ) ;
706 int (*runtime_resume)(struct device * ) ;
707 int (*runtime_idle)(struct device * ) ;
708};
709#line 289
710enum rpm_status {
711 RPM_ACTIVE = 0,
712 RPM_RESUMING = 1,
713 RPM_SUSPENDED = 2,
714 RPM_SUSPENDING = 3
715} ;
716#line 296
717enum rpm_request {
718 RPM_REQ_NONE = 0,
719 RPM_REQ_IDLE = 1,
720 RPM_REQ_SUSPEND = 2,
721 RPM_REQ_AUTOSUSPEND = 3,
722 RPM_REQ_RESUME = 4
723} ;
724#line 304
725struct wakeup_source;
726#line 304
727struct wakeup_source;
728#line 494 "include/linux/pm.h"
729struct pm_subsys_data {
730 spinlock_t lock ;
731 unsigned int refcount ;
732};
733#line 499
734struct dev_pm_qos_request;
735#line 499
736struct pm_qos_constraints;
737#line 499 "include/linux/pm.h"
738struct dev_pm_info {
739 pm_message_t power_state ;
740 unsigned char can_wakeup : 1 ;
741 unsigned char async_suspend : 1 ;
742 bool is_prepared ;
743 bool is_suspended ;
744 bool ignore_children ;
745 spinlock_t lock ;
746 struct list_head entry ;
747 struct completion completion ;
748 struct wakeup_source *wakeup ;
749 bool wakeup_path ;
750 struct timer_list suspend_timer ;
751 unsigned long timer_expires ;
752 struct work_struct work ;
753 wait_queue_head_t wait_queue ;
754 atomic_t usage_count ;
755 atomic_t child_count ;
756 unsigned char disable_depth : 3 ;
757 unsigned char idle_notification : 1 ;
758 unsigned char request_pending : 1 ;
759 unsigned char deferred_resume : 1 ;
760 unsigned char run_wake : 1 ;
761 unsigned char runtime_auto : 1 ;
762 unsigned char no_callbacks : 1 ;
763 unsigned char irq_safe : 1 ;
764 unsigned char use_autosuspend : 1 ;
765 unsigned char timer_autosuspends : 1 ;
766 enum rpm_request request ;
767 enum rpm_status runtime_status ;
768 int runtime_error ;
769 int autosuspend_delay ;
770 unsigned long last_busy ;
771 unsigned long active_jiffies ;
772 unsigned long suspended_jiffies ;
773 unsigned long accounting_timestamp ;
774 ktime_t suspend_time ;
775 s64 max_time_suspended_ns ;
776 struct dev_pm_qos_request *pq_req ;
777 struct pm_subsys_data *subsys_data ;
778 struct pm_qos_constraints *constraints ;
779};
780#line 558 "include/linux/pm.h"
781struct dev_pm_domain {
782 struct dev_pm_ops ops ;
783};
784#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
785struct __anonstruct_mm_context_t_101 {
786 void *ldt ;
787 int size ;
788 unsigned short ia32_compat ;
789 struct mutex lock ;
790 void *vdso ;
791};
792#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
793typedef struct __anonstruct_mm_context_t_101 mm_context_t;
794#line 18 "include/asm-generic/pci_iomap.h"
795struct vm_area_struct;
796#line 18
797struct vm_area_struct;
798#line 68 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/xen/hypervisor.h"
799struct bio_vec;
800#line 68
801struct bio_vec;
802#line 18 "include/linux/smp.h"
803struct call_single_data {
804 struct list_head list ;
805 void (*func)(void * ) ;
806 void *info ;
807 u16 flags ;
808 u16 priv ;
809};
810#line 835 "include/linux/sysctl.h"
811struct rb_node {
812 unsigned long rb_parent_color ;
813 struct rb_node *rb_right ;
814 struct rb_node *rb_left ;
815};
816#line 108 "include/linux/rbtree.h"
817struct rb_root {
818 struct rb_node *rb_node ;
819};
820#line 176
821struct nsproxy;
822#line 176
823struct nsproxy;
824#line 37 "include/linux/kmod.h"
825struct cred;
826#line 37
827struct cred;
828#line 18 "include/linux/elf.h"
829typedef __u64 Elf64_Addr;
830#line 19 "include/linux/elf.h"
831typedef __u16 Elf64_Half;
832#line 23 "include/linux/elf.h"
833typedef __u32 Elf64_Word;
834#line 24 "include/linux/elf.h"
835typedef __u64 Elf64_Xword;
836#line 193 "include/linux/elf.h"
837struct elf64_sym {
838 Elf64_Word st_name ;
839 unsigned char st_info ;
840 unsigned char st_other ;
841 Elf64_Half st_shndx ;
842 Elf64_Addr st_value ;
843 Elf64_Xword st_size ;
844};
845#line 201 "include/linux/elf.h"
846typedef struct elf64_sym Elf64_Sym;
847#line 445
848struct sock;
849#line 445
850struct sock;
851#line 446
852struct kobject;
853#line 446
854struct kobject;
855#line 447
856enum kobj_ns_type {
857 KOBJ_NS_TYPE_NONE = 0,
858 KOBJ_NS_TYPE_NET = 1,
859 KOBJ_NS_TYPES = 2
860} ;
861#line 453 "include/linux/elf.h"
862struct kobj_ns_type_operations {
863 enum kobj_ns_type type ;
864 void *(*grab_current_ns)(void) ;
865 void const *(*netlink_ns)(struct sock * ) ;
866 void const *(*initial_ns)(void) ;
867 void (*drop_ns)(void * ) ;
868};
869#line 57 "include/linux/kobject_ns.h"
870struct attribute {
871 char const *name ;
872 umode_t mode ;
873 struct lock_class_key *key ;
874 struct lock_class_key skey ;
875};
876#line 33 "include/linux/sysfs.h"
877struct attribute_group {
878 char const *name ;
879 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
880 struct attribute **attrs ;
881};
882#line 62 "include/linux/sysfs.h"
883struct bin_attribute {
884 struct attribute attr ;
885 size_t size ;
886 void *private ;
887 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
888 loff_t , size_t ) ;
889 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
890 loff_t , size_t ) ;
891 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
892};
893#line 98 "include/linux/sysfs.h"
894struct sysfs_ops {
895 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
896 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
897 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
898};
899#line 117
900struct sysfs_dirent;
901#line 117
902struct sysfs_dirent;
903#line 182 "include/linux/sysfs.h"
904struct kref {
905 atomic_t refcount ;
906};
907#line 49 "include/linux/kobject.h"
908struct kset;
909#line 49
910struct kobj_type;
911#line 49 "include/linux/kobject.h"
912struct kobject {
913 char const *name ;
914 struct list_head entry ;
915 struct kobject *parent ;
916 struct kset *kset ;
917 struct kobj_type *ktype ;
918 struct sysfs_dirent *sd ;
919 struct kref kref ;
920 unsigned char state_initialized : 1 ;
921 unsigned char state_in_sysfs : 1 ;
922 unsigned char state_add_uevent_sent : 1 ;
923 unsigned char state_remove_uevent_sent : 1 ;
924 unsigned char uevent_suppress : 1 ;
925};
926#line 107 "include/linux/kobject.h"
927struct kobj_type {
928 void (*release)(struct kobject * ) ;
929 struct sysfs_ops const *sysfs_ops ;
930 struct attribute **default_attrs ;
931 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
932 void const *(*namespace)(struct kobject * ) ;
933};
934#line 115 "include/linux/kobject.h"
935struct kobj_uevent_env {
936 char *envp[32U] ;
937 int envp_idx ;
938 char buf[2048U] ;
939 int buflen ;
940};
941#line 122 "include/linux/kobject.h"
942struct kset_uevent_ops {
943 int (* const filter)(struct kset * , struct kobject * ) ;
944 char const *(* const name)(struct kset * , struct kobject * ) ;
945 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
946};
947#line 139 "include/linux/kobject.h"
948struct kset {
949 struct list_head list ;
950 spinlock_t list_lock ;
951 struct kobject kobj ;
952 struct kset_uevent_ops const *uevent_ops ;
953};
954#line 215
955struct kernel_param;
956#line 215
957struct kernel_param;
958#line 216 "include/linux/kobject.h"
959struct kernel_param_ops {
960 int (*set)(char const * , struct kernel_param const * ) ;
961 int (*get)(char * , struct kernel_param const * ) ;
962 void (*free)(void * ) ;
963};
964#line 49 "include/linux/moduleparam.h"
965struct kparam_string;
966#line 49
967struct kparam_array;
968#line 49 "include/linux/moduleparam.h"
969union __anonunion_ldv_13363_134 {
970 void *arg ;
971 struct kparam_string const *str ;
972 struct kparam_array const *arr ;
973};
974#line 49 "include/linux/moduleparam.h"
975struct kernel_param {
976 char const *name ;
977 struct kernel_param_ops const *ops ;
978 u16 perm ;
979 s16 level ;
980 union __anonunion_ldv_13363_134 ldv_13363 ;
981};
982#line 61 "include/linux/moduleparam.h"
983struct kparam_string {
984 unsigned int maxlen ;
985 char *string ;
986};
987#line 67 "include/linux/moduleparam.h"
988struct kparam_array {
989 unsigned int max ;
990 unsigned int elemsize ;
991 unsigned int *num ;
992 struct kernel_param_ops const *ops ;
993 void *elem ;
994};
995#line 458 "include/linux/moduleparam.h"
996struct static_key {
997 atomic_t enabled ;
998};
999#line 225 "include/linux/jump_label.h"
1000struct tracepoint;
1001#line 225
1002struct tracepoint;
1003#line 226 "include/linux/jump_label.h"
1004struct tracepoint_func {
1005 void *func ;
1006 void *data ;
1007};
1008#line 29 "include/linux/tracepoint.h"
1009struct tracepoint {
1010 char const *name ;
1011 struct static_key key ;
1012 void (*regfunc)(void) ;
1013 void (*unregfunc)(void) ;
1014 struct tracepoint_func *funcs ;
1015};
1016#line 86 "include/linux/tracepoint.h"
1017struct kernel_symbol {
1018 unsigned long value ;
1019 char const *name ;
1020};
1021#line 27 "include/linux/export.h"
1022struct mod_arch_specific {
1023
1024};
1025#line 34 "include/linux/module.h"
1026struct module_param_attrs;
1027#line 34 "include/linux/module.h"
1028struct module_kobject {
1029 struct kobject kobj ;
1030 struct module *mod ;
1031 struct kobject *drivers_dir ;
1032 struct module_param_attrs *mp ;
1033};
1034#line 43 "include/linux/module.h"
1035struct module_attribute {
1036 struct attribute attr ;
1037 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1038 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
1039 size_t ) ;
1040 void (*setup)(struct module * , char const * ) ;
1041 int (*test)(struct module * ) ;
1042 void (*free)(struct module * ) ;
1043};
1044#line 69
1045struct exception_table_entry;
1046#line 69
1047struct exception_table_entry;
1048#line 198
1049enum module_state {
1050 MODULE_STATE_LIVE = 0,
1051 MODULE_STATE_COMING = 1,
1052 MODULE_STATE_GOING = 2
1053} ;
1054#line 204 "include/linux/module.h"
1055struct module_ref {
1056 unsigned long incs ;
1057 unsigned long decs ;
1058};
1059#line 219
1060struct module_sect_attrs;
1061#line 219
1062struct module_notes_attrs;
1063#line 219
1064struct ftrace_event_call;
1065#line 219 "include/linux/module.h"
1066struct module {
1067 enum module_state state ;
1068 struct list_head list ;
1069 char name[56U] ;
1070 struct module_kobject mkobj ;
1071 struct module_attribute *modinfo_attrs ;
1072 char const *version ;
1073 char const *srcversion ;
1074 struct kobject *holders_dir ;
1075 struct kernel_symbol const *syms ;
1076 unsigned long const *crcs ;
1077 unsigned int num_syms ;
1078 struct kernel_param *kp ;
1079 unsigned int num_kp ;
1080 unsigned int num_gpl_syms ;
1081 struct kernel_symbol const *gpl_syms ;
1082 unsigned long const *gpl_crcs ;
1083 struct kernel_symbol const *unused_syms ;
1084 unsigned long const *unused_crcs ;
1085 unsigned int num_unused_syms ;
1086 unsigned int num_unused_gpl_syms ;
1087 struct kernel_symbol const *unused_gpl_syms ;
1088 unsigned long const *unused_gpl_crcs ;
1089 struct kernel_symbol const *gpl_future_syms ;
1090 unsigned long const *gpl_future_crcs ;
1091 unsigned int num_gpl_future_syms ;
1092 unsigned int num_exentries ;
1093 struct exception_table_entry *extable ;
1094 int (*init)(void) ;
1095 void *module_init ;
1096 void *module_core ;
1097 unsigned int init_size ;
1098 unsigned int core_size ;
1099 unsigned int init_text_size ;
1100 unsigned int core_text_size ;
1101 unsigned int init_ro_size ;
1102 unsigned int core_ro_size ;
1103 struct mod_arch_specific arch ;
1104 unsigned int taints ;
1105 unsigned int num_bugs ;
1106 struct list_head bug_list ;
1107 struct bug_entry *bug_table ;
1108 Elf64_Sym *symtab ;
1109 Elf64_Sym *core_symtab ;
1110 unsigned int num_symtab ;
1111 unsigned int core_num_syms ;
1112 char *strtab ;
1113 char *core_strtab ;
1114 struct module_sect_attrs *sect_attrs ;
1115 struct module_notes_attrs *notes_attrs ;
1116 char *args ;
1117 void *percpu ;
1118 unsigned int percpu_size ;
1119 unsigned int num_tracepoints ;
1120 struct tracepoint * const *tracepoints_ptrs ;
1121 unsigned int num_trace_bprintk_fmt ;
1122 char const **trace_bprintk_fmt_start ;
1123 struct ftrace_event_call **trace_events ;
1124 unsigned int num_trace_events ;
1125 struct list_head source_list ;
1126 struct list_head target_list ;
1127 struct task_struct *waiter ;
1128 void (*exit)(void) ;
1129 struct module_ref *refptr ;
1130 ctor_fn_t (**ctors)(void) ;
1131 unsigned int num_ctors ;
1132};
1133#line 88 "include/linux/kmemleak.h"
1134struct kmem_cache_cpu {
1135 void **freelist ;
1136 unsigned long tid ;
1137 struct page *page ;
1138 struct page *partial ;
1139 int node ;
1140 unsigned int stat[26U] ;
1141};
1142#line 55 "include/linux/slub_def.h"
1143struct kmem_cache_node {
1144 spinlock_t list_lock ;
1145 unsigned long nr_partial ;
1146 struct list_head partial ;
1147 atomic_long_t nr_slabs ;
1148 atomic_long_t total_objects ;
1149 struct list_head full ;
1150};
1151#line 66 "include/linux/slub_def.h"
1152struct kmem_cache_order_objects {
1153 unsigned long x ;
1154};
1155#line 76 "include/linux/slub_def.h"
1156struct kmem_cache {
1157 struct kmem_cache_cpu *cpu_slab ;
1158 unsigned long flags ;
1159 unsigned long min_partial ;
1160 int size ;
1161 int objsize ;
1162 int offset ;
1163 int cpu_partial ;
1164 struct kmem_cache_order_objects oo ;
1165 struct kmem_cache_order_objects max ;
1166 struct kmem_cache_order_objects min ;
1167 gfp_t allocflags ;
1168 int refcount ;
1169 void (*ctor)(void * ) ;
1170 int inuse ;
1171 int align ;
1172 int reserved ;
1173 char const *name ;
1174 struct list_head list ;
1175 struct kobject kobj ;
1176 int remote_node_defrag_ratio ;
1177 struct kmem_cache_node *node[1024U] ;
1178};
1179#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
1180struct prio_tree_node;
1181#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
1182struct raw_prio_tree_node {
1183 struct prio_tree_node *left ;
1184 struct prio_tree_node *right ;
1185 struct prio_tree_node *parent ;
1186};
1187#line 19 "include/linux/prio_tree.h"
1188struct prio_tree_node {
1189 struct prio_tree_node *left ;
1190 struct prio_tree_node *right ;
1191 struct prio_tree_node *parent ;
1192 unsigned long start ;
1193 unsigned long last ;
1194};
1195#line 27 "include/linux/prio_tree.h"
1196struct prio_tree_root {
1197 struct prio_tree_node *prio_tree_node ;
1198 unsigned short index_bits ;
1199 unsigned short raw ;
1200};
1201#line 116
1202struct address_space;
1203#line 116
1204struct address_space;
1205#line 117 "include/linux/prio_tree.h"
1206union __anonunion_ldv_14216_136 {
1207 unsigned long index ;
1208 void *freelist ;
1209};
1210#line 117 "include/linux/prio_tree.h"
1211struct __anonstruct_ldv_14226_140 {
1212 unsigned short inuse ;
1213 unsigned short objects : 15 ;
1214 unsigned char frozen : 1 ;
1215};
1216#line 117 "include/linux/prio_tree.h"
1217union __anonunion_ldv_14227_139 {
1218 atomic_t _mapcount ;
1219 struct __anonstruct_ldv_14226_140 ldv_14226 ;
1220};
1221#line 117 "include/linux/prio_tree.h"
1222struct __anonstruct_ldv_14229_138 {
1223 union __anonunion_ldv_14227_139 ldv_14227 ;
1224 atomic_t _count ;
1225};
1226#line 117 "include/linux/prio_tree.h"
1227union __anonunion_ldv_14230_137 {
1228 unsigned long counters ;
1229 struct __anonstruct_ldv_14229_138 ldv_14229 ;
1230};
1231#line 117 "include/linux/prio_tree.h"
1232struct __anonstruct_ldv_14231_135 {
1233 union __anonunion_ldv_14216_136 ldv_14216 ;
1234 union __anonunion_ldv_14230_137 ldv_14230 ;
1235};
1236#line 117 "include/linux/prio_tree.h"
1237struct __anonstruct_ldv_14238_142 {
1238 struct page *next ;
1239 int pages ;
1240 int pobjects ;
1241};
1242#line 117 "include/linux/prio_tree.h"
1243union __anonunion_ldv_14239_141 {
1244 struct list_head lru ;
1245 struct __anonstruct_ldv_14238_142 ldv_14238 ;
1246};
1247#line 117 "include/linux/prio_tree.h"
1248union __anonunion_ldv_14244_143 {
1249 unsigned long private ;
1250 struct kmem_cache *slab ;
1251 struct page *first_page ;
1252};
1253#line 117 "include/linux/prio_tree.h"
1254struct page {
1255 unsigned long flags ;
1256 struct address_space *mapping ;
1257 struct __anonstruct_ldv_14231_135 ldv_14231 ;
1258 union __anonunion_ldv_14239_141 ldv_14239 ;
1259 union __anonunion_ldv_14244_143 ldv_14244 ;
1260 unsigned long debug_flags ;
1261};
1262#line 192 "include/linux/mm_types.h"
1263struct __anonstruct_vm_set_145 {
1264 struct list_head list ;
1265 void *parent ;
1266 struct vm_area_struct *head ;
1267};
1268#line 192 "include/linux/mm_types.h"
1269union __anonunion_shared_144 {
1270 struct __anonstruct_vm_set_145 vm_set ;
1271 struct raw_prio_tree_node prio_tree_node ;
1272};
1273#line 192
1274struct anon_vma;
1275#line 192
1276struct vm_operations_struct;
1277#line 192
1278struct mempolicy;
1279#line 192 "include/linux/mm_types.h"
1280struct vm_area_struct {
1281 struct mm_struct *vm_mm ;
1282 unsigned long vm_start ;
1283 unsigned long vm_end ;
1284 struct vm_area_struct *vm_next ;
1285 struct vm_area_struct *vm_prev ;
1286 pgprot_t vm_page_prot ;
1287 unsigned long vm_flags ;
1288 struct rb_node vm_rb ;
1289 union __anonunion_shared_144 shared ;
1290 struct list_head anon_vma_chain ;
1291 struct anon_vma *anon_vma ;
1292 struct vm_operations_struct const *vm_ops ;
1293 unsigned long vm_pgoff ;
1294 struct file *vm_file ;
1295 void *vm_private_data ;
1296 struct mempolicy *vm_policy ;
1297};
1298#line 255 "include/linux/mm_types.h"
1299struct core_thread {
1300 struct task_struct *task ;
1301 struct core_thread *next ;
1302};
1303#line 261 "include/linux/mm_types.h"
1304struct core_state {
1305 atomic_t nr_threads ;
1306 struct core_thread dumper ;
1307 struct completion startup ;
1308};
1309#line 274 "include/linux/mm_types.h"
1310struct mm_rss_stat {
1311 atomic_long_t count[3U] ;
1312};
1313#line 287
1314struct linux_binfmt;
1315#line 287
1316struct mmu_notifier_mm;
1317#line 287 "include/linux/mm_types.h"
1318struct mm_struct {
1319 struct vm_area_struct *mmap ;
1320 struct rb_root mm_rb ;
1321 struct vm_area_struct *mmap_cache ;
1322 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1323 unsigned long , unsigned long ) ;
1324 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
1325 unsigned long mmap_base ;
1326 unsigned long task_size ;
1327 unsigned long cached_hole_size ;
1328 unsigned long free_area_cache ;
1329 pgd_t *pgd ;
1330 atomic_t mm_users ;
1331 atomic_t mm_count ;
1332 int map_count ;
1333 spinlock_t page_table_lock ;
1334 struct rw_semaphore mmap_sem ;
1335 struct list_head mmlist ;
1336 unsigned long hiwater_rss ;
1337 unsigned long hiwater_vm ;
1338 unsigned long total_vm ;
1339 unsigned long locked_vm ;
1340 unsigned long pinned_vm ;
1341 unsigned long shared_vm ;
1342 unsigned long exec_vm ;
1343 unsigned long stack_vm ;
1344 unsigned long reserved_vm ;
1345 unsigned long def_flags ;
1346 unsigned long nr_ptes ;
1347 unsigned long start_code ;
1348 unsigned long end_code ;
1349 unsigned long start_data ;
1350 unsigned long end_data ;
1351 unsigned long start_brk ;
1352 unsigned long brk ;
1353 unsigned long start_stack ;
1354 unsigned long arg_start ;
1355 unsigned long arg_end ;
1356 unsigned long env_start ;
1357 unsigned long env_end ;
1358 unsigned long saved_auxv[44U] ;
1359 struct mm_rss_stat rss_stat ;
1360 struct linux_binfmt *binfmt ;
1361 cpumask_var_t cpu_vm_mask_var ;
1362 mm_context_t context ;
1363 unsigned int faultstamp ;
1364 unsigned int token_priority ;
1365 unsigned int last_interval ;
1366 unsigned long flags ;
1367 struct core_state *core_state ;
1368 spinlock_t ioctx_lock ;
1369 struct hlist_head ioctx_list ;
1370 struct task_struct *owner ;
1371 struct file *exe_file ;
1372 unsigned long num_exe_file_vmas ;
1373 struct mmu_notifier_mm *mmu_notifier_mm ;
1374 pgtable_t pmd_huge_pte ;
1375 struct cpumask cpumask_allocation ;
1376};
1377#line 93 "include/linux/bit_spinlock.h"
1378struct shrink_control {
1379 gfp_t gfp_mask ;
1380 unsigned long nr_to_scan ;
1381};
1382#line 14 "include/linux/shrinker.h"
1383struct shrinker {
1384 int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1385 int seeks ;
1386 long batch ;
1387 struct list_head list ;
1388 atomic_long_t nr_in_batch ;
1389};
1390#line 43
1391struct file_ra_state;
1392#line 43
1393struct file_ra_state;
1394#line 44
1395struct user_struct;
1396#line 44
1397struct user_struct;
1398#line 45
1399struct writeback_control;
1400#line 45
1401struct writeback_control;
1402#line 178 "include/linux/mm.h"
1403struct vm_fault {
1404 unsigned int flags ;
1405 unsigned long pgoff ;
1406 void *virtual_address ;
1407 struct page *page ;
1408};
1409#line 195 "include/linux/mm.h"
1410struct vm_operations_struct {
1411 void (*open)(struct vm_area_struct * ) ;
1412 void (*close)(struct vm_area_struct * ) ;
1413 int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
1414 int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
1415 int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ;
1416 int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
1417 struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ;
1418 int (*migrate)(struct vm_area_struct * , nodemask_t const * , nodemask_t const * ,
1419 unsigned long ) ;
1420};
1421#line 244
1422struct inode;
1423#line 244
1424struct inode;
1425#line 1631 "include/linux/mm.h"
1426struct scatterlist {
1427 unsigned long sg_magic ;
1428 unsigned long page_link ;
1429 unsigned int offset ;
1430 unsigned int length ;
1431 dma_addr_t dma_address ;
1432 unsigned int dma_length ;
1433};
1434#line 17 "include/asm-generic/scatterlist.h"
1435struct sg_table {
1436 struct scatterlist *sgl ;
1437 unsigned int nents ;
1438 unsigned int orig_nents ;
1439};
1440#line 268 "include/linux/scatterlist.h"
1441struct scsi_cmnd;
1442#line 268
1443struct scsi_cmnd;
1444#line 564 "include/scsi/scsi.h"
1445struct klist_node;
1446#line 564
1447struct klist_node;
1448#line 37 "include/linux/klist.h"
1449struct klist_node {
1450 void *n_klist ;
1451 struct list_head n_node ;
1452 struct kref n_ref ;
1453};
1454#line 67
1455struct dma_map_ops;
1456#line 67 "include/linux/klist.h"
1457struct dev_archdata {
1458 void *acpi_handle ;
1459 struct dma_map_ops *dma_ops ;
1460 void *iommu ;
1461};
1462#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1463struct device_private;
1464#line 17
1465struct device_private;
1466#line 18
1467struct device_driver;
1468#line 18
1469struct device_driver;
1470#line 19
1471struct driver_private;
1472#line 19
1473struct driver_private;
1474#line 20
1475struct class;
1476#line 20
1477struct class;
1478#line 21
1479struct subsys_private;
1480#line 21
1481struct subsys_private;
1482#line 22
1483struct bus_type;
1484#line 22
1485struct bus_type;
1486#line 23
1487struct device_node;
1488#line 23
1489struct device_node;
1490#line 24
1491struct iommu_ops;
1492#line 24
1493struct iommu_ops;
1494#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1495struct bus_attribute {
1496 struct attribute attr ;
1497 ssize_t (*show)(struct bus_type * , char * ) ;
1498 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1499};
1500#line 51 "include/linux/device.h"
1501struct device_attribute;
1502#line 51
1503struct driver_attribute;
1504#line 51 "include/linux/device.h"
1505struct bus_type {
1506 char const *name ;
1507 char const *dev_name ;
1508 struct device *dev_root ;
1509 struct bus_attribute *bus_attrs ;
1510 struct device_attribute *dev_attrs ;
1511 struct driver_attribute *drv_attrs ;
1512 int (*match)(struct device * , struct device_driver * ) ;
1513 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1514 int (*probe)(struct device * ) ;
1515 int (*remove)(struct device * ) ;
1516 void (*shutdown)(struct device * ) ;
1517 int (*suspend)(struct device * , pm_message_t ) ;
1518 int (*resume)(struct device * ) ;
1519 struct dev_pm_ops const *pm ;
1520 struct iommu_ops *iommu_ops ;
1521 struct subsys_private *p ;
1522};
1523#line 125
1524struct device_type;
1525#line 182
1526struct of_device_id;
1527#line 182 "include/linux/device.h"
1528struct device_driver {
1529 char const *name ;
1530 struct bus_type *bus ;
1531 struct module *owner ;
1532 char const *mod_name ;
1533 bool suppress_bind_attrs ;
1534 struct of_device_id const *of_match_table ;
1535 int (*probe)(struct device * ) ;
1536 int (*remove)(struct device * ) ;
1537 void (*shutdown)(struct device * ) ;
1538 int (*suspend)(struct device * , pm_message_t ) ;
1539 int (*resume)(struct device * ) ;
1540 struct attribute_group const **groups ;
1541 struct dev_pm_ops const *pm ;
1542 struct driver_private *p ;
1543};
1544#line 245 "include/linux/device.h"
1545struct driver_attribute {
1546 struct attribute attr ;
1547 ssize_t (*show)(struct device_driver * , char * ) ;
1548 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1549};
1550#line 299
1551struct class_attribute;
1552#line 299 "include/linux/device.h"
1553struct class {
1554 char const *name ;
1555 struct module *owner ;
1556 struct class_attribute *class_attrs ;
1557 struct device_attribute *dev_attrs ;
1558 struct bin_attribute *dev_bin_attrs ;
1559 struct kobject *dev_kobj ;
1560 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1561 char *(*devnode)(struct device * , umode_t * ) ;
1562 void (*class_release)(struct class * ) ;
1563 void (*dev_release)(struct device * ) ;
1564 int (*suspend)(struct device * , pm_message_t ) ;
1565 int (*resume)(struct device * ) ;
1566 struct kobj_ns_type_operations const *ns_type ;
1567 void const *(*namespace)(struct device * ) ;
1568 struct dev_pm_ops const *pm ;
1569 struct subsys_private *p ;
1570};
1571#line 394 "include/linux/device.h"
1572struct class_attribute {
1573 struct attribute attr ;
1574 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1575 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1576 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
1577};
1578#line 447 "include/linux/device.h"
1579struct device_type {
1580 char const *name ;
1581 struct attribute_group const **groups ;
1582 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1583 char *(*devnode)(struct device * , umode_t * ) ;
1584 void (*release)(struct device * ) ;
1585 struct dev_pm_ops const *pm ;
1586};
1587#line 474 "include/linux/device.h"
1588struct device_attribute {
1589 struct attribute attr ;
1590 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1591 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1592 size_t ) ;
1593};
1594#line 557 "include/linux/device.h"
1595struct device_dma_parameters {
1596 unsigned int max_segment_size ;
1597 unsigned long segment_boundary_mask ;
1598};
1599#line 567
1600struct dma_coherent_mem;
1601#line 567 "include/linux/device.h"
1602struct device {
1603 struct device *parent ;
1604 struct device_private *p ;
1605 struct kobject kobj ;
1606 char const *init_name ;
1607 struct device_type const *type ;
1608 struct mutex mutex ;
1609 struct bus_type *bus ;
1610 struct device_driver *driver ;
1611 void *platform_data ;
1612 struct dev_pm_info power ;
1613 struct dev_pm_domain *pm_domain ;
1614 int numa_node ;
1615 u64 *dma_mask ;
1616 u64 coherent_dma_mask ;
1617 struct device_dma_parameters *dma_parms ;
1618 struct list_head dma_pools ;
1619 struct dma_coherent_mem *dma_mem ;
1620 struct dev_archdata archdata ;
1621 struct device_node *of_node ;
1622 dev_t devt ;
1623 u32 id ;
1624 spinlock_t devres_lock ;
1625 struct list_head devres_head ;
1626 struct klist_node knode_class ;
1627 struct class *class ;
1628 struct attribute_group const **groups ;
1629 void (*release)(struct device * ) ;
1630};
1631#line 681 "include/linux/device.h"
1632struct wakeup_source {
1633 char const *name ;
1634 struct list_head entry ;
1635 spinlock_t lock ;
1636 struct timer_list timer ;
1637 unsigned long timer_expires ;
1638 ktime_t total_time ;
1639 ktime_t max_time ;
1640 ktime_t last_time ;
1641 unsigned long event_count ;
1642 unsigned long active_count ;
1643 unsigned long relax_count ;
1644 unsigned long hit_count ;
1645 unsigned char active : 1 ;
1646};
1647#line 999 "include/linux/device.h"
1648struct dma_attrs {
1649 unsigned long flags[1U] ;
1650};
1651#line 67 "include/linux/dma-attrs.h"
1652enum dma_data_direction {
1653 DMA_BIDIRECTIONAL = 0,
1654 DMA_TO_DEVICE = 1,
1655 DMA_FROM_DEVICE = 2,
1656 DMA_NONE = 3
1657} ;
1658#line 74 "include/linux/dma-attrs.h"
1659struct dma_map_ops {
1660 void *(*alloc)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ) ;
1661 void (*free)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ) ;
1662 int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t ,
1663 size_t , struct dma_attrs * ) ;
1664 dma_addr_t (*map_page)(struct device * , struct page * , unsigned long , size_t ,
1665 enum dma_data_direction , struct dma_attrs * ) ;
1666 void (*unmap_page)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
1667 struct dma_attrs * ) ;
1668 int (*map_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
1669 struct dma_attrs * ) ;
1670 void (*unmap_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
1671 struct dma_attrs * ) ;
1672 void (*sync_single_for_cpu)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
1673 void (*sync_single_for_device)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
1674 void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
1675 void (*sync_sg_for_device)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
1676 int (*mapping_error)(struct device * , dma_addr_t ) ;
1677 int (*dma_supported)(struct device * , u64 ) ;
1678 int (*set_dma_mask)(struct device * , u64 ) ;
1679 int is_phys ;
1680};
1681#line 93 "include/linux/capability.h"
1682struct kernel_cap_struct {
1683 __u32 cap[2U] ;
1684};
1685#line 96 "include/linux/capability.h"
1686typedef struct kernel_cap_struct kernel_cap_t;
1687#line 104
1688struct dentry;
1689#line 104
1690struct dentry;
1691#line 105
1692struct user_namespace;
1693#line 105
1694struct user_namespace;
1695#line 7 "include/asm-generic/cputime.h"
1696typedef unsigned long cputime_t;
1697#line 98 "include/linux/sem.h"
1698struct sem_undo_list;
1699#line 98 "include/linux/sem.h"
1700struct sysv_sem {
1701 struct sem_undo_list *undo_list ;
1702};
1703#line 107
1704struct siginfo;
1705#line 107
1706struct siginfo;
1707#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1708struct __anonstruct_sigset_t_147 {
1709 unsigned long sig[1U] ;
1710};
1711#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1712typedef struct __anonstruct_sigset_t_147 sigset_t;
1713#line 17 "include/asm-generic/signal-defs.h"
1714typedef void __signalfn_t(int );
1715#line 18 "include/asm-generic/signal-defs.h"
1716typedef __signalfn_t *__sighandler_t;
1717#line 20 "include/asm-generic/signal-defs.h"
1718typedef void __restorefn_t(void);
1719#line 21 "include/asm-generic/signal-defs.h"
1720typedef __restorefn_t *__sigrestore_t;
1721#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1722struct sigaction {
1723 __sighandler_t sa_handler ;
1724 unsigned long sa_flags ;
1725 __sigrestore_t sa_restorer ;
1726 sigset_t sa_mask ;
1727};
1728#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1729struct k_sigaction {
1730 struct sigaction sa ;
1731};
1732#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1733union sigval {
1734 int sival_int ;
1735 void *sival_ptr ;
1736};
1737#line 10 "include/asm-generic/siginfo.h"
1738typedef union sigval sigval_t;
1739#line 11 "include/asm-generic/siginfo.h"
1740struct __anonstruct__kill_149 {
1741 __kernel_pid_t _pid ;
1742 __kernel_uid32_t _uid ;
1743};
1744#line 11 "include/asm-generic/siginfo.h"
1745struct __anonstruct__timer_150 {
1746 __kernel_timer_t _tid ;
1747 int _overrun ;
1748 char _pad[0U] ;
1749 sigval_t _sigval ;
1750 int _sys_private ;
1751};
1752#line 11 "include/asm-generic/siginfo.h"
1753struct __anonstruct__rt_151 {
1754 __kernel_pid_t _pid ;
1755 __kernel_uid32_t _uid ;
1756 sigval_t _sigval ;
1757};
1758#line 11 "include/asm-generic/siginfo.h"
1759struct __anonstruct__sigchld_152 {
1760 __kernel_pid_t _pid ;
1761 __kernel_uid32_t _uid ;
1762 int _status ;
1763 __kernel_clock_t _utime ;
1764 __kernel_clock_t _stime ;
1765};
1766#line 11 "include/asm-generic/siginfo.h"
1767struct __anonstruct__sigfault_153 {
1768 void *_addr ;
1769 short _addr_lsb ;
1770};
1771#line 11 "include/asm-generic/siginfo.h"
1772struct __anonstruct__sigpoll_154 {
1773 long _band ;
1774 int _fd ;
1775};
1776#line 11 "include/asm-generic/siginfo.h"
1777union __anonunion__sifields_148 {
1778 int _pad[28U] ;
1779 struct __anonstruct__kill_149 _kill ;
1780 struct __anonstruct__timer_150 _timer ;
1781 struct __anonstruct__rt_151 _rt ;
1782 struct __anonstruct__sigchld_152 _sigchld ;
1783 struct __anonstruct__sigfault_153 _sigfault ;
1784 struct __anonstruct__sigpoll_154 _sigpoll ;
1785};
1786#line 11 "include/asm-generic/siginfo.h"
1787struct siginfo {
1788 int si_signo ;
1789 int si_errno ;
1790 int si_code ;
1791 union __anonunion__sifields_148 _sifields ;
1792};
1793#line 102 "include/asm-generic/siginfo.h"
1794typedef struct siginfo siginfo_t;
1795#line 24 "include/linux/signal.h"
1796struct sigpending {
1797 struct list_head list ;
1798 sigset_t signal ;
1799};
1800#line 388
1801enum pid_type {
1802 PIDTYPE_PID = 0,
1803 PIDTYPE_PGID = 1,
1804 PIDTYPE_SID = 2,
1805 PIDTYPE_MAX = 3
1806} ;
1807#line 395
1808struct pid_namespace;
1809#line 395 "include/linux/signal.h"
1810struct upid {
1811 int nr ;
1812 struct pid_namespace *ns ;
1813 struct hlist_node pid_chain ;
1814};
1815#line 56 "include/linux/pid.h"
1816struct pid {
1817 atomic_t count ;
1818 unsigned int level ;
1819 struct hlist_head tasks[3U] ;
1820 struct rcu_head rcu ;
1821 struct upid numbers[1U] ;
1822};
1823#line 68 "include/linux/pid.h"
1824struct pid_link {
1825 struct hlist_node node ;
1826 struct pid *pid ;
1827};
1828#line 175 "include/linux/pid.h"
1829struct percpu_counter {
1830 raw_spinlock_t lock ;
1831 s64 count ;
1832 struct list_head list ;
1833 s32 *counters ;
1834};
1835#line 45 "include/linux/proportions.h"
1836struct prop_local_percpu {
1837 struct percpu_counter events ;
1838 int shift ;
1839 unsigned long period ;
1840 raw_spinlock_t lock ;
1841};
1842#line 10 "include/linux/seccomp.h"
1843struct __anonstruct_seccomp_t_157 {
1844 int mode ;
1845};
1846#line 10 "include/linux/seccomp.h"
1847typedef struct __anonstruct_seccomp_t_157 seccomp_t;
1848#line 427 "include/linux/rculist.h"
1849struct plist_head {
1850 struct list_head node_list ;
1851};
1852#line 84 "include/linux/plist.h"
1853struct plist_node {
1854 int prio ;
1855 struct list_head prio_list ;
1856 struct list_head node_list ;
1857};
1858#line 38 "include/linux/rtmutex.h"
1859struct rt_mutex_waiter;
1860#line 38
1861struct rt_mutex_waiter;
1862#line 41 "include/linux/resource.h"
1863struct rlimit {
1864 unsigned long rlim_cur ;
1865 unsigned long rlim_max ;
1866};
1867#line 85 "include/linux/resource.h"
1868struct timerqueue_node {
1869 struct rb_node node ;
1870 ktime_t expires ;
1871};
1872#line 12 "include/linux/timerqueue.h"
1873struct timerqueue_head {
1874 struct rb_root head ;
1875 struct timerqueue_node *next ;
1876};
1877#line 50
1878struct hrtimer_clock_base;
1879#line 50
1880struct hrtimer_clock_base;
1881#line 51
1882struct hrtimer_cpu_base;
1883#line 51
1884struct hrtimer_cpu_base;
1885#line 60
1886enum hrtimer_restart {
1887 HRTIMER_NORESTART = 0,
1888 HRTIMER_RESTART = 1
1889} ;
1890#line 65 "include/linux/timerqueue.h"
1891struct hrtimer {
1892 struct timerqueue_node node ;
1893 ktime_t _softexpires ;
1894 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1895 struct hrtimer_clock_base *base ;
1896 unsigned long state ;
1897 int start_pid ;
1898 void *start_site ;
1899 char start_comm[16U] ;
1900};
1901#line 132 "include/linux/hrtimer.h"
1902struct hrtimer_clock_base {
1903 struct hrtimer_cpu_base *cpu_base ;
1904 int index ;
1905 clockid_t clockid ;
1906 struct timerqueue_head active ;
1907 ktime_t resolution ;
1908 ktime_t (*get_time)(void) ;
1909 ktime_t softirq_time ;
1910 ktime_t offset ;
1911};
1912#line 162 "include/linux/hrtimer.h"
1913struct hrtimer_cpu_base {
1914 raw_spinlock_t lock ;
1915 unsigned long active_bases ;
1916 ktime_t expires_next ;
1917 int hres_active ;
1918 int hang_detected ;
1919 unsigned long nr_events ;
1920 unsigned long nr_retries ;
1921 unsigned long nr_hangs ;
1922 ktime_t max_hang_time ;
1923 struct hrtimer_clock_base clock_base[3U] ;
1924};
1925#line 452 "include/linux/hrtimer.h"
1926struct task_io_accounting {
1927 u64 rchar ;
1928 u64 wchar ;
1929 u64 syscr ;
1930 u64 syscw ;
1931 u64 read_bytes ;
1932 u64 write_bytes ;
1933 u64 cancelled_write_bytes ;
1934};
1935#line 45 "include/linux/task_io_accounting.h"
1936struct latency_record {
1937 unsigned long backtrace[12U] ;
1938 unsigned int count ;
1939 unsigned long time ;
1940 unsigned long max ;
1941};
1942#line 29 "include/linux/key.h"
1943typedef int32_t key_serial_t;
1944#line 32 "include/linux/key.h"
1945typedef uint32_t key_perm_t;
1946#line 33
1947struct key;
1948#line 33
1949struct key;
1950#line 34
1951struct signal_struct;
1952#line 34
1953struct signal_struct;
1954#line 35
1955struct key_type;
1956#line 35
1957struct key_type;
1958#line 37
1959struct keyring_list;
1960#line 37
1961struct keyring_list;
1962#line 115
1963struct key_user;
1964#line 115 "include/linux/key.h"
1965union __anonunion_ldv_19571_158 {
1966 time_t expiry ;
1967 time_t revoked_at ;
1968};
1969#line 115 "include/linux/key.h"
1970union __anonunion_type_data_159 {
1971 struct list_head link ;
1972 unsigned long x[2U] ;
1973 void *p[2U] ;
1974 int reject_error ;
1975};
1976#line 115 "include/linux/key.h"
1977union __anonunion_payload_160 {
1978 unsigned long value ;
1979 void *rcudata ;
1980 void *data ;
1981 struct keyring_list *subscriptions ;
1982};
1983#line 115 "include/linux/key.h"
1984struct key {
1985 atomic_t usage ;
1986 key_serial_t serial ;
1987 struct rb_node serial_node ;
1988 struct key_type *type ;
1989 struct rw_semaphore sem ;
1990 struct key_user *user ;
1991 void *security ;
1992 union __anonunion_ldv_19571_158 ldv_19571 ;
1993 uid_t uid ;
1994 gid_t gid ;
1995 key_perm_t perm ;
1996 unsigned short quotalen ;
1997 unsigned short datalen ;
1998 unsigned long flags ;
1999 char *description ;
2000 union __anonunion_type_data_159 type_data ;
2001 union __anonunion_payload_160 payload ;
2002};
2003#line 316
2004struct audit_context;
2005#line 316
2006struct audit_context;
2007#line 27 "include/linux/selinux.h"
2008struct group_info {
2009 atomic_t usage ;
2010 int ngroups ;
2011 int nblocks ;
2012 gid_t small_block[32U] ;
2013 gid_t *blocks[0U] ;
2014};
2015#line 77 "include/linux/cred.h"
2016struct thread_group_cred {
2017 atomic_t usage ;
2018 pid_t tgid ;
2019 spinlock_t lock ;
2020 struct key *session_keyring ;
2021 struct key *process_keyring ;
2022 struct rcu_head rcu ;
2023};
2024#line 91 "include/linux/cred.h"
2025struct cred {
2026 atomic_t usage ;
2027 atomic_t subscribers ;
2028 void *put_addr ;
2029 unsigned int magic ;
2030 uid_t uid ;
2031 gid_t gid ;
2032 uid_t suid ;
2033 gid_t sgid ;
2034 uid_t euid ;
2035 gid_t egid ;
2036 uid_t fsuid ;
2037 gid_t fsgid ;
2038 unsigned int securebits ;
2039 kernel_cap_t cap_inheritable ;
2040 kernel_cap_t cap_permitted ;
2041 kernel_cap_t cap_effective ;
2042 kernel_cap_t cap_bset ;
2043 unsigned char jit_keyring ;
2044 struct key *thread_keyring ;
2045 struct key *request_key_auth ;
2046 struct thread_group_cred *tgcred ;
2047 void *security ;
2048 struct user_struct *user ;
2049 struct user_namespace *user_ns ;
2050 struct group_info *group_info ;
2051 struct rcu_head rcu ;
2052};
2053#line 264
2054struct llist_node;
2055#line 64 "include/linux/llist.h"
2056struct llist_node {
2057 struct llist_node *next ;
2058};
2059#line 185
2060struct futex_pi_state;
2061#line 185
2062struct futex_pi_state;
2063#line 186
2064struct robust_list_head;
2065#line 186
2066struct robust_list_head;
2067#line 187
2068struct bio_list;
2069#line 187
2070struct bio_list;
2071#line 188
2072struct fs_struct;
2073#line 188
2074struct fs_struct;
2075#line 189
2076struct perf_event_context;
2077#line 189
2078struct perf_event_context;
2079#line 190
2080struct blk_plug;
2081#line 190
2082struct blk_plug;
2083#line 149 "include/linux/sched.h"
2084struct cfs_rq;
2085#line 149
2086struct cfs_rq;
2087#line 44 "include/linux/aio_abi.h"
2088struct io_event {
2089 __u64 data ;
2090 __u64 obj ;
2091 __s64 res ;
2092 __s64 res2 ;
2093};
2094#line 106 "include/linux/aio_abi.h"
2095struct iovec {
2096 void *iov_base ;
2097 __kernel_size_t iov_len ;
2098};
2099#line 54 "include/linux/uio.h"
2100struct kioctx;
2101#line 54
2102struct kioctx;
2103#line 55 "include/linux/uio.h"
2104union __anonunion_ki_obj_161 {
2105 void *user ;
2106 struct task_struct *tsk ;
2107};
2108#line 55
2109struct eventfd_ctx;
2110#line 55 "include/linux/uio.h"
2111struct kiocb {
2112 struct list_head ki_run_list ;
2113 unsigned long ki_flags ;
2114 int ki_users ;
2115 unsigned int ki_key ;
2116 struct file *ki_filp ;
2117 struct kioctx *ki_ctx ;
2118 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2119 ssize_t (*ki_retry)(struct kiocb * ) ;
2120 void (*ki_dtor)(struct kiocb * ) ;
2121 union __anonunion_ki_obj_161 ki_obj ;
2122 __u64 ki_user_data ;
2123 loff_t ki_pos ;
2124 void *private ;
2125 unsigned short ki_opcode ;
2126 size_t ki_nbytes ;
2127 char *ki_buf ;
2128 size_t ki_left ;
2129 struct iovec ki_inline_vec ;
2130 struct iovec *ki_iovec ;
2131 unsigned long ki_nr_segs ;
2132 unsigned long ki_cur_seg ;
2133 struct list_head ki_list ;
2134 struct list_head ki_batch ;
2135 struct eventfd_ctx *ki_eventfd ;
2136};
2137#line 162 "include/linux/aio.h"
2138struct aio_ring_info {
2139 unsigned long mmap_base ;
2140 unsigned long mmap_size ;
2141 struct page **ring_pages ;
2142 spinlock_t ring_lock ;
2143 long nr_pages ;
2144 unsigned int nr ;
2145 unsigned int tail ;
2146 struct page *internal_pages[8U] ;
2147};
2148#line 178 "include/linux/aio.h"
2149struct kioctx {
2150 atomic_t users ;
2151 int dead ;
2152 struct mm_struct *mm ;
2153 unsigned long user_id ;
2154 struct hlist_node list ;
2155 wait_queue_head_t wait ;
2156 spinlock_t ctx_lock ;
2157 int reqs_active ;
2158 struct list_head active_reqs ;
2159 struct list_head run_list ;
2160 unsigned int max_reqs ;
2161 struct aio_ring_info ring_info ;
2162 struct delayed_work wq ;
2163 struct rcu_head rcu_head ;
2164};
2165#line 406 "include/linux/sched.h"
2166struct sighand_struct {
2167 atomic_t count ;
2168 struct k_sigaction action[64U] ;
2169 spinlock_t siglock ;
2170 wait_queue_head_t signalfd_wqh ;
2171};
2172#line 449 "include/linux/sched.h"
2173struct pacct_struct {
2174 int ac_flag ;
2175 long ac_exitcode ;
2176 unsigned long ac_mem ;
2177 cputime_t ac_utime ;
2178 cputime_t ac_stime ;
2179 unsigned long ac_minflt ;
2180 unsigned long ac_majflt ;
2181};
2182#line 457 "include/linux/sched.h"
2183struct cpu_itimer {
2184 cputime_t expires ;
2185 cputime_t incr ;
2186 u32 error ;
2187 u32 incr_error ;
2188};
2189#line 464 "include/linux/sched.h"
2190struct task_cputime {
2191 cputime_t utime ;
2192 cputime_t stime ;
2193 unsigned long long sum_exec_runtime ;
2194};
2195#line 481 "include/linux/sched.h"
2196struct thread_group_cputimer {
2197 struct task_cputime cputime ;
2198 int running ;
2199 raw_spinlock_t lock ;
2200};
2201#line 517
2202struct autogroup;
2203#line 517
2204struct autogroup;
2205#line 518
2206struct tty_struct;
2207#line 518
2208struct taskstats;
2209#line 518
2210struct tty_audit_buf;
2211#line 518 "include/linux/sched.h"
2212struct signal_struct {
2213 atomic_t sigcnt ;
2214 atomic_t live ;
2215 int nr_threads ;
2216 wait_queue_head_t wait_chldexit ;
2217 struct task_struct *curr_target ;
2218 struct sigpending shared_pending ;
2219 int group_exit_code ;
2220 int notify_count ;
2221 struct task_struct *group_exit_task ;
2222 int group_stop_count ;
2223 unsigned int flags ;
2224 unsigned char is_child_subreaper : 1 ;
2225 unsigned char has_child_subreaper : 1 ;
2226 struct list_head posix_timers ;
2227 struct hrtimer real_timer ;
2228 struct pid *leader_pid ;
2229 ktime_t it_real_incr ;
2230 struct cpu_itimer it[2U] ;
2231 struct thread_group_cputimer cputimer ;
2232 struct task_cputime cputime_expires ;
2233 struct list_head cpu_timers[3U] ;
2234 struct pid *tty_old_pgrp ;
2235 int leader ;
2236 struct tty_struct *tty ;
2237 struct autogroup *autogroup ;
2238 cputime_t utime ;
2239 cputime_t stime ;
2240 cputime_t cutime ;
2241 cputime_t cstime ;
2242 cputime_t gtime ;
2243 cputime_t cgtime ;
2244 cputime_t prev_utime ;
2245 cputime_t prev_stime ;
2246 unsigned long nvcsw ;
2247 unsigned long nivcsw ;
2248 unsigned long cnvcsw ;
2249 unsigned long cnivcsw ;
2250 unsigned long min_flt ;
2251 unsigned long maj_flt ;
2252 unsigned long cmin_flt ;
2253 unsigned long cmaj_flt ;
2254 unsigned long inblock ;
2255 unsigned long oublock ;
2256 unsigned long cinblock ;
2257 unsigned long coublock ;
2258 unsigned long maxrss ;
2259 unsigned long cmaxrss ;
2260 struct task_io_accounting ioac ;
2261 unsigned long long sum_sched_runtime ;
2262 struct rlimit rlim[16U] ;
2263 struct pacct_struct pacct ;
2264 struct taskstats *stats ;
2265 unsigned int audit_tty ;
2266 struct tty_audit_buf *tty_audit_buf ;
2267 struct rw_semaphore group_rwsem ;
2268 int oom_adj ;
2269 int oom_score_adj ;
2270 int oom_score_adj_min ;
2271 struct mutex cred_guard_mutex ;
2272};
2273#line 699 "include/linux/sched.h"
2274struct user_struct {
2275 atomic_t __count ;
2276 atomic_t processes ;
2277 atomic_t files ;
2278 atomic_t sigpending ;
2279 atomic_t inotify_watches ;
2280 atomic_t inotify_devs ;
2281 atomic_t fanotify_listeners ;
2282 atomic_long_t epoll_watches ;
2283 unsigned long mq_bytes ;
2284 unsigned long locked_shm ;
2285 struct key *uid_keyring ;
2286 struct key *session_keyring ;
2287 struct hlist_node uidhash_node ;
2288 uid_t uid ;
2289 struct user_namespace *user_ns ;
2290 atomic_long_t locked_vm ;
2291};
2292#line 744
2293struct backing_dev_info;
2294#line 744
2295struct backing_dev_info;
2296#line 745
2297struct reclaim_state;
2298#line 745
2299struct reclaim_state;
2300#line 746 "include/linux/sched.h"
2301struct sched_info {
2302 unsigned long pcount ;
2303 unsigned long long run_delay ;
2304 unsigned long long last_arrival ;
2305 unsigned long long last_queued ;
2306};
2307#line 760 "include/linux/sched.h"
2308struct task_delay_info {
2309 spinlock_t lock ;
2310 unsigned int flags ;
2311 struct timespec blkio_start ;
2312 struct timespec blkio_end ;
2313 u64 blkio_delay ;
2314 u64 swapin_delay ;
2315 u32 blkio_count ;
2316 u32 swapin_count ;
2317 struct timespec freepages_start ;
2318 struct timespec freepages_end ;
2319 u64 freepages_delay ;
2320 u32 freepages_count ;
2321};
2322#line 1069
2323struct io_context;
2324#line 1069
2325struct io_context;
2326#line 1097
2327struct pipe_inode_info;
2328#line 1097
2329struct pipe_inode_info;
2330#line 1099
2331struct rq;
2332#line 1099
2333struct rq;
2334#line 1100 "include/linux/sched.h"
2335struct sched_class {
2336 struct sched_class const *next ;
2337 void (*enqueue_task)(struct rq * , struct task_struct * , int ) ;
2338 void (*dequeue_task)(struct rq * , struct task_struct * , int ) ;
2339 void (*yield_task)(struct rq * ) ;
2340 bool (*yield_to_task)(struct rq * , struct task_struct * , bool ) ;
2341 void (*check_preempt_curr)(struct rq * , struct task_struct * , int ) ;
2342 struct task_struct *(*pick_next_task)(struct rq * ) ;
2343 void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2344 int (*select_task_rq)(struct task_struct * , int , int ) ;
2345 void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2346 void (*post_schedule)(struct rq * ) ;
2347 void (*task_waking)(struct task_struct * ) ;
2348 void (*task_woken)(struct rq * , struct task_struct * ) ;
2349 void (*set_cpus_allowed)(struct task_struct * , struct cpumask const * ) ;
2350 void (*rq_online)(struct rq * ) ;
2351 void (*rq_offline)(struct rq * ) ;
2352 void (*set_curr_task)(struct rq * ) ;
2353 void (*task_tick)(struct rq * , struct task_struct * , int ) ;
2354 void (*task_fork)(struct task_struct * ) ;
2355 void (*switched_from)(struct rq * , struct task_struct * ) ;
2356 void (*switched_to)(struct rq * , struct task_struct * ) ;
2357 void (*prio_changed)(struct rq * , struct task_struct * , int ) ;
2358 unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2359 void (*task_move_group)(struct task_struct * , int ) ;
2360};
2361#line 1165 "include/linux/sched.h"
2362struct load_weight {
2363 unsigned long weight ;
2364 unsigned long inv_weight ;
2365};
2366#line 1170 "include/linux/sched.h"
2367struct sched_statistics {
2368 u64 wait_start ;
2369 u64 wait_max ;
2370 u64 wait_count ;
2371 u64 wait_sum ;
2372 u64 iowait_count ;
2373 u64 iowait_sum ;
2374 u64 sleep_start ;
2375 u64 sleep_max ;
2376 s64 sum_sleep_runtime ;
2377 u64 block_start ;
2378 u64 block_max ;
2379 u64 exec_max ;
2380 u64 slice_max ;
2381 u64 nr_migrations_cold ;
2382 u64 nr_failed_migrations_affine ;
2383 u64 nr_failed_migrations_running ;
2384 u64 nr_failed_migrations_hot ;
2385 u64 nr_forced_migrations ;
2386 u64 nr_wakeups ;
2387 u64 nr_wakeups_sync ;
2388 u64 nr_wakeups_migrate ;
2389 u64 nr_wakeups_local ;
2390 u64 nr_wakeups_remote ;
2391 u64 nr_wakeups_affine ;
2392 u64 nr_wakeups_affine_attempts ;
2393 u64 nr_wakeups_passive ;
2394 u64 nr_wakeups_idle ;
2395};
2396#line 1205 "include/linux/sched.h"
2397struct sched_entity {
2398 struct load_weight load ;
2399 struct rb_node run_node ;
2400 struct list_head group_node ;
2401 unsigned int on_rq ;
2402 u64 exec_start ;
2403 u64 sum_exec_runtime ;
2404 u64 vruntime ;
2405 u64 prev_sum_exec_runtime ;
2406 u64 nr_migrations ;
2407 struct sched_statistics statistics ;
2408 struct sched_entity *parent ;
2409 struct cfs_rq *cfs_rq ;
2410 struct cfs_rq *my_q ;
2411};
2412#line 1231
2413struct rt_rq;
2414#line 1231 "include/linux/sched.h"
2415struct sched_rt_entity {
2416 struct list_head run_list ;
2417 unsigned long timeout ;
2418 unsigned int time_slice ;
2419 int nr_cpus_allowed ;
2420 struct sched_rt_entity *back ;
2421 struct sched_rt_entity *parent ;
2422 struct rt_rq *rt_rq ;
2423 struct rt_rq *my_q ;
2424};
2425#line 1255
2426struct mem_cgroup;
2427#line 1255 "include/linux/sched.h"
2428struct memcg_batch_info {
2429 int do_batch ;
2430 struct mem_cgroup *memcg ;
2431 unsigned long nr_pages ;
2432 unsigned long memsw_nr_pages ;
2433};
2434#line 1616
2435struct files_struct;
2436#line 1616
2437struct css_set;
2438#line 1616
2439struct compat_robust_list_head;
2440#line 1616 "include/linux/sched.h"
2441struct task_struct {
2442 long volatile state ;
2443 void *stack ;
2444 atomic_t usage ;
2445 unsigned int flags ;
2446 unsigned int ptrace ;
2447 struct llist_node wake_entry ;
2448 int on_cpu ;
2449 int on_rq ;
2450 int prio ;
2451 int static_prio ;
2452 int normal_prio ;
2453 unsigned int rt_priority ;
2454 struct sched_class const *sched_class ;
2455 struct sched_entity se ;
2456 struct sched_rt_entity rt ;
2457 struct hlist_head preempt_notifiers ;
2458 unsigned char fpu_counter ;
2459 unsigned int policy ;
2460 cpumask_t cpus_allowed ;
2461 struct sched_info sched_info ;
2462 struct list_head tasks ;
2463 struct plist_node pushable_tasks ;
2464 struct mm_struct *mm ;
2465 struct mm_struct *active_mm ;
2466 unsigned char brk_randomized : 1 ;
2467 int exit_state ;
2468 int exit_code ;
2469 int exit_signal ;
2470 int pdeath_signal ;
2471 unsigned int jobctl ;
2472 unsigned int personality ;
2473 unsigned char did_exec : 1 ;
2474 unsigned char in_execve : 1 ;
2475 unsigned char in_iowait : 1 ;
2476 unsigned char sched_reset_on_fork : 1 ;
2477 unsigned char sched_contributes_to_load : 1 ;
2478 unsigned char irq_thread : 1 ;
2479 pid_t pid ;
2480 pid_t tgid ;
2481 unsigned long stack_canary ;
2482 struct task_struct *real_parent ;
2483 struct task_struct *parent ;
2484 struct list_head children ;
2485 struct list_head sibling ;
2486 struct task_struct *group_leader ;
2487 struct list_head ptraced ;
2488 struct list_head ptrace_entry ;
2489 struct pid_link pids[3U] ;
2490 struct list_head thread_group ;
2491 struct completion *vfork_done ;
2492 int *set_child_tid ;
2493 int *clear_child_tid ;
2494 cputime_t utime ;
2495 cputime_t stime ;
2496 cputime_t utimescaled ;
2497 cputime_t stimescaled ;
2498 cputime_t gtime ;
2499 cputime_t prev_utime ;
2500 cputime_t prev_stime ;
2501 unsigned long nvcsw ;
2502 unsigned long nivcsw ;
2503 struct timespec start_time ;
2504 struct timespec real_start_time ;
2505 unsigned long min_flt ;
2506 unsigned long maj_flt ;
2507 struct task_cputime cputime_expires ;
2508 struct list_head cpu_timers[3U] ;
2509 struct cred const *real_cred ;
2510 struct cred const *cred ;
2511 struct cred *replacement_session_keyring ;
2512 char comm[16U] ;
2513 int link_count ;
2514 int total_link_count ;
2515 struct sysv_sem sysvsem ;
2516 unsigned long last_switch_count ;
2517 struct thread_struct thread ;
2518 struct fs_struct *fs ;
2519 struct files_struct *files ;
2520 struct nsproxy *nsproxy ;
2521 struct signal_struct *signal ;
2522 struct sighand_struct *sighand ;
2523 sigset_t blocked ;
2524 sigset_t real_blocked ;
2525 sigset_t saved_sigmask ;
2526 struct sigpending pending ;
2527 unsigned long sas_ss_sp ;
2528 size_t sas_ss_size ;
2529 int (*notifier)(void * ) ;
2530 void *notifier_data ;
2531 sigset_t *notifier_mask ;
2532 struct audit_context *audit_context ;
2533 uid_t loginuid ;
2534 unsigned int sessionid ;
2535 seccomp_t seccomp ;
2536 u32 parent_exec_id ;
2537 u32 self_exec_id ;
2538 spinlock_t alloc_lock ;
2539 raw_spinlock_t pi_lock ;
2540 struct plist_head pi_waiters ;
2541 struct rt_mutex_waiter *pi_blocked_on ;
2542 struct mutex_waiter *blocked_on ;
2543 unsigned int irq_events ;
2544 unsigned long hardirq_enable_ip ;
2545 unsigned long hardirq_disable_ip ;
2546 unsigned int hardirq_enable_event ;
2547 unsigned int hardirq_disable_event ;
2548 int hardirqs_enabled ;
2549 int hardirq_context ;
2550 unsigned long softirq_disable_ip ;
2551 unsigned long softirq_enable_ip ;
2552 unsigned int softirq_disable_event ;
2553 unsigned int softirq_enable_event ;
2554 int softirqs_enabled ;
2555 int softirq_context ;
2556 u64 curr_chain_key ;
2557 int lockdep_depth ;
2558 unsigned int lockdep_recursion ;
2559 struct held_lock held_locks[48U] ;
2560 gfp_t lockdep_reclaim_gfp ;
2561 void *journal_info ;
2562 struct bio_list *bio_list ;
2563 struct blk_plug *plug ;
2564 struct reclaim_state *reclaim_state ;
2565 struct backing_dev_info *backing_dev_info ;
2566 struct io_context *io_context ;
2567 unsigned long ptrace_message ;
2568 siginfo_t *last_siginfo ;
2569 struct task_io_accounting ioac ;
2570 u64 acct_rss_mem1 ;
2571 u64 acct_vm_mem1 ;
2572 cputime_t acct_timexpd ;
2573 nodemask_t mems_allowed ;
2574 seqcount_t mems_allowed_seq ;
2575 int cpuset_mem_spread_rotor ;
2576 int cpuset_slab_spread_rotor ;
2577 struct css_set *cgroups ;
2578 struct list_head cg_list ;
2579 struct robust_list_head *robust_list ;
2580 struct compat_robust_list_head *compat_robust_list ;
2581 struct list_head pi_state_list ;
2582 struct futex_pi_state *pi_state_cache ;
2583 struct perf_event_context *perf_event_ctxp[2U] ;
2584 struct mutex perf_event_mutex ;
2585 struct list_head perf_event_list ;
2586 struct mempolicy *mempolicy ;
2587 short il_next ;
2588 short pref_node_fork ;
2589 struct rcu_head rcu ;
2590 struct pipe_inode_info *splice_pipe ;
2591 struct task_delay_info *delays ;
2592 int make_it_fail ;
2593 int nr_dirtied ;
2594 int nr_dirtied_pause ;
2595 unsigned long dirty_paused_when ;
2596 int latency_record_count ;
2597 struct latency_record latency_record[32U] ;
2598 unsigned long timer_slack_ns ;
2599 unsigned long default_timer_slack_ns ;
2600 struct list_head *scm_work_list ;
2601 unsigned long trace ;
2602 unsigned long trace_recursion ;
2603 struct memcg_batch_info memcg_batch ;
2604 atomic_t ptrace_bp_refcnt ;
2605};
2606#line 52 "include/linux/genhd.h"
2607struct bio;
2608#line 52
2609struct bio;
2610#line 53
2611struct bio_integrity_payload;
2612#line 53
2613struct bio_integrity_payload;
2614#line 54
2615struct block_device;
2616#line 54
2617struct block_device;
2618#line 17 "include/linux/blk_types.h"
2619typedef void bio_end_io_t(struct bio * , int );
2620#line 18 "include/linux/blk_types.h"
2621typedef void bio_destructor_t(struct bio * );
2622#line 19 "include/linux/blk_types.h"
2623struct bio_vec {
2624 struct page *bv_page ;
2625 unsigned int bv_len ;
2626 unsigned int bv_offset ;
2627};
2628#line 28 "include/linux/blk_types.h"
2629struct bio {
2630 sector_t bi_sector ;
2631 struct bio *bi_next ;
2632 struct block_device *bi_bdev ;
2633 unsigned long bi_flags ;
2634 unsigned long bi_rw ;
2635 unsigned short bi_vcnt ;
2636 unsigned short bi_idx ;
2637 unsigned int bi_phys_segments ;
2638 unsigned int bi_size ;
2639 unsigned int bi_seg_front_size ;
2640 unsigned int bi_seg_back_size ;
2641 unsigned int bi_max_vecs ;
2642 atomic_t bi_cnt ;
2643 struct bio_vec *bi_io_vec ;
2644 bio_end_io_t *bi_end_io ;
2645 void *bi_private ;
2646 struct bio_integrity_payload *bi_integrity ;
2647 bio_destructor_t *bi_destructor ;
2648 struct bio_vec bi_inline_vecs[0U] ;
2649};
2650#line 57 "include/linux/fs.h"
2651struct hlist_bl_node;
2652#line 57 "include/linux/fs.h"
2653struct hlist_bl_head {
2654 struct hlist_bl_node *first ;
2655};
2656#line 36 "include/linux/list_bl.h"
2657struct hlist_bl_node {
2658 struct hlist_bl_node *next ;
2659 struct hlist_bl_node **pprev ;
2660};
2661#line 114 "include/linux/rculist_bl.h"
2662struct nameidata;
2663#line 114
2664struct nameidata;
2665#line 115
2666struct path;
2667#line 115
2668struct path;
2669#line 116
2670struct vfsmount;
2671#line 116
2672struct vfsmount;
2673#line 117 "include/linux/rculist_bl.h"
2674struct qstr {
2675 unsigned int hash ;
2676 unsigned int len ;
2677 unsigned char const *name ;
2678};
2679#line 72 "include/linux/dcache.h"
2680struct dentry_operations;
2681#line 72
2682struct super_block;
2683#line 72 "include/linux/dcache.h"
2684union __anonunion_d_u_163 {
2685 struct list_head d_child ;
2686 struct rcu_head d_rcu ;
2687};
2688#line 72 "include/linux/dcache.h"
2689struct dentry {
2690 unsigned int d_flags ;
2691 seqcount_t d_seq ;
2692 struct hlist_bl_node d_hash ;
2693 struct dentry *d_parent ;
2694 struct qstr d_name ;
2695 struct inode *d_inode ;
2696 unsigned char d_iname[32U] ;
2697 unsigned int d_count ;
2698 spinlock_t d_lock ;
2699 struct dentry_operations const *d_op ;
2700 struct super_block *d_sb ;
2701 unsigned long d_time ;
2702 void *d_fsdata ;
2703 struct list_head d_lru ;
2704 union __anonunion_d_u_163 d_u ;
2705 struct list_head d_subdirs ;
2706 struct list_head d_alias ;
2707};
2708#line 123 "include/linux/dcache.h"
2709struct dentry_operations {
2710 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2711 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
2712 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
2713 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
2714 int (*d_delete)(struct dentry const * ) ;
2715 void (*d_release)(struct dentry * ) ;
2716 void (*d_prune)(struct dentry * ) ;
2717 void (*d_iput)(struct dentry * , struct inode * ) ;
2718 char *(*d_dname)(struct dentry * , char * , int ) ;
2719 struct vfsmount *(*d_automount)(struct path * ) ;
2720 int (*d_manage)(struct dentry * , bool ) ;
2721};
2722#line 402 "include/linux/dcache.h"
2723struct path {
2724 struct vfsmount *mnt ;
2725 struct dentry *dentry ;
2726};
2727#line 58 "include/linux/radix-tree.h"
2728struct radix_tree_node;
2729#line 58 "include/linux/radix-tree.h"
2730struct radix_tree_root {
2731 unsigned int height ;
2732 gfp_t gfp_mask ;
2733 struct radix_tree_node *rnode ;
2734};
2735#line 45 "include/linux/semaphore.h"
2736struct fiemap_extent {
2737 __u64 fe_logical ;
2738 __u64 fe_physical ;
2739 __u64 fe_length ;
2740 __u64 fe_reserved64[2U] ;
2741 __u32 fe_flags ;
2742 __u32 fe_reserved[3U] ;
2743};
2744#line 38 "include/linux/fiemap.h"
2745enum migrate_mode {
2746 MIGRATE_ASYNC = 0,
2747 MIGRATE_SYNC_LIGHT = 1,
2748 MIGRATE_SYNC = 2
2749} ;
2750#line 44
2751struct export_operations;
2752#line 44
2753struct export_operations;
2754#line 45
2755struct hd_geometry;
2756#line 45
2757struct hd_geometry;
2758#line 46
2759struct poll_table_struct;
2760#line 46
2761struct poll_table_struct;
2762#line 47
2763struct kstatfs;
2764#line 47
2765struct kstatfs;
2766#line 435 "include/linux/fs.h"
2767struct iattr {
2768 unsigned int ia_valid ;
2769 umode_t ia_mode ;
2770 uid_t ia_uid ;
2771 gid_t ia_gid ;
2772 loff_t ia_size ;
2773 struct timespec ia_atime ;
2774 struct timespec ia_mtime ;
2775 struct timespec ia_ctime ;
2776 struct file *ia_file ;
2777};
2778#line 119 "include/linux/quota.h"
2779struct if_dqinfo {
2780 __u64 dqi_bgrace ;
2781 __u64 dqi_igrace ;
2782 __u32 dqi_flags ;
2783 __u32 dqi_valid ;
2784};
2785#line 152 "include/linux/quota.h"
2786struct fs_disk_quota {
2787 __s8 d_version ;
2788 __s8 d_flags ;
2789 __u16 d_fieldmask ;
2790 __u32 d_id ;
2791 __u64 d_blk_hardlimit ;
2792 __u64 d_blk_softlimit ;
2793 __u64 d_ino_hardlimit ;
2794 __u64 d_ino_softlimit ;
2795 __u64 d_bcount ;
2796 __u64 d_icount ;
2797 __s32 d_itimer ;
2798 __s32 d_btimer ;
2799 __u16 d_iwarns ;
2800 __u16 d_bwarns ;
2801 __s32 d_padding2 ;
2802 __u64 d_rtb_hardlimit ;
2803 __u64 d_rtb_softlimit ;
2804 __u64 d_rtbcount ;
2805 __s32 d_rtbtimer ;
2806 __u16 d_rtbwarns ;
2807 __s16 d_padding3 ;
2808 char d_padding4[8U] ;
2809};
2810#line 75 "include/linux/dqblk_xfs.h"
2811struct fs_qfilestat {
2812 __u64 qfs_ino ;
2813 __u64 qfs_nblks ;
2814 __u32 qfs_nextents ;
2815};
2816#line 150 "include/linux/dqblk_xfs.h"
2817typedef struct fs_qfilestat fs_qfilestat_t;
2818#line 151 "include/linux/dqblk_xfs.h"
2819struct fs_quota_stat {
2820 __s8 qs_version ;
2821 __u16 qs_flags ;
2822 __s8 qs_pad ;
2823 fs_qfilestat_t qs_uquota ;
2824 fs_qfilestat_t qs_gquota ;
2825 __u32 qs_incoredqs ;
2826 __s32 qs_btimelimit ;
2827 __s32 qs_itimelimit ;
2828 __s32 qs_rtbtimelimit ;
2829 __u16 qs_bwarnlimit ;
2830 __u16 qs_iwarnlimit ;
2831};
2832#line 165
2833struct dquot;
2834#line 165
2835struct dquot;
2836#line 185 "include/linux/quota.h"
2837typedef __kernel_uid32_t qid_t;
2838#line 186 "include/linux/quota.h"
2839typedef long long qsize_t;
2840#line 189 "include/linux/quota.h"
2841struct mem_dqblk {
2842 qsize_t dqb_bhardlimit ;
2843 qsize_t dqb_bsoftlimit ;
2844 qsize_t dqb_curspace ;
2845 qsize_t dqb_rsvspace ;
2846 qsize_t dqb_ihardlimit ;
2847 qsize_t dqb_isoftlimit ;
2848 qsize_t dqb_curinodes ;
2849 time_t dqb_btime ;
2850 time_t dqb_itime ;
2851};
2852#line 211
2853struct quota_format_type;
2854#line 211
2855struct quota_format_type;
2856#line 212 "include/linux/quota.h"
2857struct mem_dqinfo {
2858 struct quota_format_type *dqi_format ;
2859 int dqi_fmt_id ;
2860 struct list_head dqi_dirty_list ;
2861 unsigned long dqi_flags ;
2862 unsigned int dqi_bgrace ;
2863 unsigned int dqi_igrace ;
2864 qsize_t dqi_maxblimit ;
2865 qsize_t dqi_maxilimit ;
2866 void *dqi_priv ;
2867};
2868#line 275 "include/linux/quota.h"
2869struct dquot {
2870 struct hlist_node dq_hash ;
2871 struct list_head dq_inuse ;
2872 struct list_head dq_free ;
2873 struct list_head dq_dirty ;
2874 struct mutex dq_lock ;
2875 atomic_t dq_count ;
2876 wait_queue_head_t dq_wait_unused ;
2877 struct super_block *dq_sb ;
2878 unsigned int dq_id ;
2879 loff_t dq_off ;
2880 unsigned long dq_flags ;
2881 short dq_type ;
2882 struct mem_dqblk dq_dqb ;
2883};
2884#line 303 "include/linux/quota.h"
2885struct quota_format_ops {
2886 int (*check_quota_file)(struct super_block * , int ) ;
2887 int (*read_file_info)(struct super_block * , int ) ;
2888 int (*write_file_info)(struct super_block * , int ) ;
2889 int (*free_file_info)(struct super_block * , int ) ;
2890 int (*read_dqblk)(struct dquot * ) ;
2891 int (*commit_dqblk)(struct dquot * ) ;
2892 int (*release_dqblk)(struct dquot * ) ;
2893};
2894#line 314 "include/linux/quota.h"
2895struct dquot_operations {
2896 int (*write_dquot)(struct dquot * ) ;
2897 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
2898 void (*destroy_dquot)(struct dquot * ) ;
2899 int (*acquire_dquot)(struct dquot * ) ;
2900 int (*release_dquot)(struct dquot * ) ;
2901 int (*mark_dirty)(struct dquot * ) ;
2902 int (*write_info)(struct super_block * , int ) ;
2903 qsize_t *(*get_reserved_space)(struct inode * ) ;
2904};
2905#line 328 "include/linux/quota.h"
2906struct quotactl_ops {
2907 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
2908 int (*quota_on_meta)(struct super_block * , int , int ) ;
2909 int (*quota_off)(struct super_block * , int ) ;
2910 int (*quota_sync)(struct super_block * , int , int ) ;
2911 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
2912 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
2913 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
2914 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
2915 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
2916 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
2917};
2918#line 344 "include/linux/quota.h"
2919struct quota_format_type {
2920 int qf_fmt_id ;
2921 struct quota_format_ops const *qf_ops ;
2922 struct module *qf_owner ;
2923 struct quota_format_type *qf_next ;
2924};
2925#line 390 "include/linux/quota.h"
2926struct quota_info {
2927 unsigned int flags ;
2928 struct mutex dqio_mutex ;
2929 struct mutex dqonoff_mutex ;
2930 struct rw_semaphore dqptr_sem ;
2931 struct inode *files[2U] ;
2932 struct mem_dqinfo info[2U] ;
2933 struct quota_format_ops const *ops[2U] ;
2934};
2935#line 585 "include/linux/fs.h"
2936union __anonunion_arg_165 {
2937 char *buf ;
2938 void *data ;
2939};
2940#line 585 "include/linux/fs.h"
2941struct __anonstruct_read_descriptor_t_164 {
2942 size_t written ;
2943 size_t count ;
2944 union __anonunion_arg_165 arg ;
2945 int error ;
2946};
2947#line 585 "include/linux/fs.h"
2948typedef struct __anonstruct_read_descriptor_t_164 read_descriptor_t;
2949#line 588 "include/linux/fs.h"
2950struct address_space_operations {
2951 int (*writepage)(struct page * , struct writeback_control * ) ;
2952 int (*readpage)(struct file * , struct page * ) ;
2953 int (*writepages)(struct address_space * , struct writeback_control * ) ;
2954 int (*set_page_dirty)(struct page * ) ;
2955 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
2956 unsigned int ) ;
2957 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
2958 unsigned int , struct page ** , void ** ) ;
2959 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
2960 unsigned int , struct page * , void * ) ;
2961 sector_t (*bmap)(struct address_space * , sector_t ) ;
2962 void (*invalidatepage)(struct page * , unsigned long ) ;
2963 int (*releasepage)(struct page * , gfp_t ) ;
2964 void (*freepage)(struct page * ) ;
2965 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
2966 unsigned long ) ;
2967 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
2968 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
2969 int (*launder_page)(struct page * ) ;
2970 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
2971 int (*error_remove_page)(struct address_space * , struct page * ) ;
2972};
2973#line 642 "include/linux/fs.h"
2974struct address_space {
2975 struct inode *host ;
2976 struct radix_tree_root page_tree ;
2977 spinlock_t tree_lock ;
2978 unsigned int i_mmap_writable ;
2979 struct prio_tree_root i_mmap ;
2980 struct list_head i_mmap_nonlinear ;
2981 struct mutex i_mmap_mutex ;
2982 unsigned long nrpages ;
2983 unsigned long writeback_index ;
2984 struct address_space_operations const *a_ops ;
2985 unsigned long flags ;
2986 struct backing_dev_info *backing_dev_info ;
2987 spinlock_t private_lock ;
2988 struct list_head private_list ;
2989 struct address_space *assoc_mapping ;
2990};
2991#line 664
2992struct request_queue;
2993#line 664
2994struct request_queue;
2995#line 665
2996struct hd_struct;
2997#line 665
2998struct gendisk;
2999#line 665 "include/linux/fs.h"
3000struct block_device {
3001 dev_t bd_dev ;
3002 int bd_openers ;
3003 struct inode *bd_inode ;
3004 struct super_block *bd_super ;
3005 struct mutex bd_mutex ;
3006 struct list_head bd_inodes ;
3007 void *bd_claiming ;
3008 void *bd_holder ;
3009 int bd_holders ;
3010 bool bd_write_holder ;
3011 struct list_head bd_holder_disks ;
3012 struct block_device *bd_contains ;
3013 unsigned int bd_block_size ;
3014 struct hd_struct *bd_part ;
3015 unsigned int bd_part_count ;
3016 int bd_invalidated ;
3017 struct gendisk *bd_disk ;
3018 struct request_queue *bd_queue ;
3019 struct list_head bd_list ;
3020 unsigned long bd_private ;
3021 int bd_fsfreeze_count ;
3022 struct mutex bd_fsfreeze_mutex ;
3023};
3024#line 737
3025struct posix_acl;
3026#line 737
3027struct posix_acl;
3028#line 738
3029struct inode_operations;
3030#line 738 "include/linux/fs.h"
3031union __anonunion_ldv_22603_166 {
3032 unsigned int const i_nlink ;
3033 unsigned int __i_nlink ;
3034};
3035#line 738 "include/linux/fs.h"
3036union __anonunion_ldv_22622_167 {
3037 struct list_head i_dentry ;
3038 struct rcu_head i_rcu ;
3039};
3040#line 738
3041struct file_operations;
3042#line 738
3043struct file_lock;
3044#line 738
3045struct cdev;
3046#line 738 "include/linux/fs.h"
3047union __anonunion_ldv_22640_168 {
3048 struct pipe_inode_info *i_pipe ;
3049 struct block_device *i_bdev ;
3050 struct cdev *i_cdev ;
3051};
3052#line 738 "include/linux/fs.h"
3053struct inode {
3054 umode_t i_mode ;
3055 unsigned short i_opflags ;
3056 uid_t i_uid ;
3057 gid_t i_gid ;
3058 unsigned int i_flags ;
3059 struct posix_acl *i_acl ;
3060 struct posix_acl *i_default_acl ;
3061 struct inode_operations const *i_op ;
3062 struct super_block *i_sb ;
3063 struct address_space *i_mapping ;
3064 void *i_security ;
3065 unsigned long i_ino ;
3066 union __anonunion_ldv_22603_166 ldv_22603 ;
3067 dev_t i_rdev ;
3068 struct timespec i_atime ;
3069 struct timespec i_mtime ;
3070 struct timespec i_ctime ;
3071 spinlock_t i_lock ;
3072 unsigned short i_bytes ;
3073 blkcnt_t i_blocks ;
3074 loff_t i_size ;
3075 unsigned long i_state ;
3076 struct mutex i_mutex ;
3077 unsigned long dirtied_when ;
3078 struct hlist_node i_hash ;
3079 struct list_head i_wb_list ;
3080 struct list_head i_lru ;
3081 struct list_head i_sb_list ;
3082 union __anonunion_ldv_22622_167 ldv_22622 ;
3083 atomic_t i_count ;
3084 unsigned int i_blkbits ;
3085 u64 i_version ;
3086 atomic_t i_dio_count ;
3087 atomic_t i_writecount ;
3088 struct file_operations const *i_fop ;
3089 struct file_lock *i_flock ;
3090 struct address_space i_data ;
3091 struct dquot *i_dquot[2U] ;
3092 struct list_head i_devices ;
3093 union __anonunion_ldv_22640_168 ldv_22640 ;
3094 __u32 i_generation ;
3095 __u32 i_fsnotify_mask ;
3096 struct hlist_head i_fsnotify_marks ;
3097 atomic_t i_readcount ;
3098 void *i_private ;
3099};
3100#line 941 "include/linux/fs.h"
3101struct fown_struct {
3102 rwlock_t lock ;
3103 struct pid *pid ;
3104 enum pid_type pid_type ;
3105 uid_t uid ;
3106 uid_t euid ;
3107 int signum ;
3108};
3109#line 949 "include/linux/fs.h"
3110struct file_ra_state {
3111 unsigned long start ;
3112 unsigned int size ;
3113 unsigned int async_size ;
3114 unsigned int ra_pages ;
3115 unsigned int mmap_miss ;
3116 loff_t prev_pos ;
3117};
3118#line 972 "include/linux/fs.h"
3119union __anonunion_f_u_169 {
3120 struct list_head fu_list ;
3121 struct rcu_head fu_rcuhead ;
3122};
3123#line 972 "include/linux/fs.h"
3124struct file {
3125 union __anonunion_f_u_169 f_u ;
3126 struct path f_path ;
3127 struct file_operations const *f_op ;
3128 spinlock_t f_lock ;
3129 int f_sb_list_cpu ;
3130 atomic_long_t f_count ;
3131 unsigned int f_flags ;
3132 fmode_t f_mode ;
3133 loff_t f_pos ;
3134 struct fown_struct f_owner ;
3135 struct cred const *f_cred ;
3136 struct file_ra_state f_ra ;
3137 u64 f_version ;
3138 void *f_security ;
3139 void *private_data ;
3140 struct list_head f_ep_links ;
3141 struct list_head f_tfile_llink ;
3142 struct address_space *f_mapping ;
3143 unsigned long f_mnt_write_state ;
3144};
3145#line 1111 "include/linux/fs.h"
3146typedef struct files_struct *fl_owner_t;
3147#line 1112 "include/linux/fs.h"
3148struct file_lock_operations {
3149 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3150 void (*fl_release_private)(struct file_lock * ) ;
3151};
3152#line 1117 "include/linux/fs.h"
3153struct lock_manager_operations {
3154 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
3155 void (*lm_notify)(struct file_lock * ) ;
3156 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
3157 void (*lm_release_private)(struct file_lock * ) ;
3158 void (*lm_break)(struct file_lock * ) ;
3159 int (*lm_change)(struct file_lock ** , int ) ;
3160};
3161#line 1134
3162struct nlm_lockowner;
3163#line 1134
3164struct nlm_lockowner;
3165#line 1135 "include/linux/fs.h"
3166struct nfs_lock_info {
3167 u32 state ;
3168 struct nlm_lockowner *owner ;
3169 struct list_head list ;
3170};
3171#line 14 "include/linux/nfs_fs_i.h"
3172struct nfs4_lock_state;
3173#line 14
3174struct nfs4_lock_state;
3175#line 15 "include/linux/nfs_fs_i.h"
3176struct nfs4_lock_info {
3177 struct nfs4_lock_state *owner ;
3178};
3179#line 19
3180struct fasync_struct;
3181#line 19 "include/linux/nfs_fs_i.h"
3182struct __anonstruct_afs_171 {
3183 struct list_head link ;
3184 int state ;
3185};
3186#line 19 "include/linux/nfs_fs_i.h"
3187union __anonunion_fl_u_170 {
3188 struct nfs_lock_info nfs_fl ;
3189 struct nfs4_lock_info nfs4_fl ;
3190 struct __anonstruct_afs_171 afs ;
3191};
3192#line 19 "include/linux/nfs_fs_i.h"
3193struct file_lock {
3194 struct file_lock *fl_next ;
3195 struct list_head fl_link ;
3196 struct list_head fl_block ;
3197 fl_owner_t fl_owner ;
3198 unsigned int fl_flags ;
3199 unsigned char fl_type ;
3200 unsigned int fl_pid ;
3201 struct pid *fl_nspid ;
3202 wait_queue_head_t fl_wait ;
3203 struct file *fl_file ;
3204 loff_t fl_start ;
3205 loff_t fl_end ;
3206 struct fasync_struct *fl_fasync ;
3207 unsigned long fl_break_time ;
3208 unsigned long fl_downgrade_time ;
3209 struct file_lock_operations const *fl_ops ;
3210 struct lock_manager_operations const *fl_lmops ;
3211 union __anonunion_fl_u_170 fl_u ;
3212};
3213#line 1221 "include/linux/fs.h"
3214struct fasync_struct {
3215 spinlock_t fa_lock ;
3216 int magic ;
3217 int fa_fd ;
3218 struct fasync_struct *fa_next ;
3219 struct file *fa_file ;
3220 struct rcu_head fa_rcu ;
3221};
3222#line 1417
3223struct file_system_type;
3224#line 1417
3225struct super_operations;
3226#line 1417
3227struct xattr_handler;
3228#line 1417
3229struct mtd_info;
3230#line 1417 "include/linux/fs.h"
3231struct super_block {
3232 struct list_head s_list ;
3233 dev_t s_dev ;
3234 unsigned char s_dirt ;
3235 unsigned char s_blocksize_bits ;
3236 unsigned long s_blocksize ;
3237 loff_t s_maxbytes ;
3238 struct file_system_type *s_type ;
3239 struct super_operations const *s_op ;
3240 struct dquot_operations const *dq_op ;
3241 struct quotactl_ops const *s_qcop ;
3242 struct export_operations const *s_export_op ;
3243 unsigned long s_flags ;
3244 unsigned long s_magic ;
3245 struct dentry *s_root ;
3246 struct rw_semaphore s_umount ;
3247 struct mutex s_lock ;
3248 int s_count ;
3249 atomic_t s_active ;
3250 void *s_security ;
3251 struct xattr_handler const **s_xattr ;
3252 struct list_head s_inodes ;
3253 struct hlist_bl_head s_anon ;
3254 struct list_head *s_files ;
3255 struct list_head s_mounts ;
3256 struct list_head s_dentry_lru ;
3257 int s_nr_dentry_unused ;
3258 spinlock_t s_inode_lru_lock ;
3259 struct list_head s_inode_lru ;
3260 int s_nr_inodes_unused ;
3261 struct block_device *s_bdev ;
3262 struct backing_dev_info *s_bdi ;
3263 struct mtd_info *s_mtd ;
3264 struct hlist_node s_instances ;
3265 struct quota_info s_dquot ;
3266 int s_frozen ;
3267 wait_queue_head_t s_wait_unfrozen ;
3268 char s_id[32U] ;
3269 u8 s_uuid[16U] ;
3270 void *s_fs_info ;
3271 unsigned int s_max_links ;
3272 fmode_t s_mode ;
3273 u32 s_time_gran ;
3274 struct mutex s_vfs_rename_mutex ;
3275 char *s_subtype ;
3276 char *s_options ;
3277 struct dentry_operations const *s_d_op ;
3278 int cleancache_poolid ;
3279 struct shrinker s_shrink ;
3280 atomic_long_t s_remove_count ;
3281 int s_readonly_remount ;
3282};
3283#line 1563 "include/linux/fs.h"
3284struct fiemap_extent_info {
3285 unsigned int fi_flags ;
3286 unsigned int fi_extents_mapped ;
3287 unsigned int fi_extents_max ;
3288 struct fiemap_extent *fi_extents_start ;
3289};
3290#line 1601
3291struct block_device_operations;
3292#line 1601
3293struct block_device_operations;
3294#line 1602 "include/linux/fs.h"
3295struct file_operations {
3296 struct module *owner ;
3297 loff_t (*llseek)(struct file * , loff_t , int ) ;
3298 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
3299 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
3300 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
3301 loff_t ) ;
3302 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
3303 loff_t ) ;
3304 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
3305 loff_t , u64 , unsigned int ) ) ;
3306 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3307 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
3308 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
3309 int (*mmap)(struct file * , struct vm_area_struct * ) ;
3310 int (*open)(struct inode * , struct file * ) ;
3311 int (*flush)(struct file * , fl_owner_t ) ;
3312 int (*release)(struct inode * , struct file * ) ;
3313 int (*fsync)(struct file * , loff_t , loff_t , int ) ;
3314 int (*aio_fsync)(struct kiocb * , int ) ;
3315 int (*fasync)(int , struct file * , int ) ;
3316 int (*lock)(struct file * , int , struct file_lock * ) ;
3317 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
3318 int ) ;
3319 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
3320 unsigned long , unsigned long ) ;
3321 int (*check_flags)(int ) ;
3322 int (*flock)(struct file * , int , struct file_lock * ) ;
3323 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
3324 unsigned int ) ;
3325 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
3326 unsigned int ) ;
3327 int (*setlease)(struct file * , long , struct file_lock ** ) ;
3328 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
3329};
3330#line 1637 "include/linux/fs.h"
3331struct inode_operations {
3332 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3333 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3334 int (*permission)(struct inode * , int ) ;
3335 struct posix_acl *(*get_acl)(struct inode * , int ) ;
3336 int (*readlink)(struct dentry * , char * , int ) ;
3337 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3338 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
3339 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3340 int (*unlink)(struct inode * , struct dentry * ) ;
3341 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
3342 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
3343 int (*rmdir)(struct inode * , struct dentry * ) ;
3344 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
3345 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3346 void (*truncate)(struct inode * ) ;
3347 int (*setattr)(struct dentry * , struct iattr * ) ;
3348 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
3349 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
3350 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
3351 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
3352 int (*removexattr)(struct dentry * , char const * ) ;
3353 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
3354 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
3355};
3356#line 1682 "include/linux/fs.h"
3357struct super_operations {
3358 struct inode *(*alloc_inode)(struct super_block * ) ;
3359 void (*destroy_inode)(struct inode * ) ;
3360 void (*dirty_inode)(struct inode * , int ) ;
3361 int (*write_inode)(struct inode * , struct writeback_control * ) ;
3362 int (*drop_inode)(struct inode * ) ;
3363 void (*evict_inode)(struct inode * ) ;
3364 void (*put_super)(struct super_block * ) ;
3365 void (*write_super)(struct super_block * ) ;
3366 int (*sync_fs)(struct super_block * , int ) ;
3367 int (*freeze_fs)(struct super_block * ) ;
3368 int (*unfreeze_fs)(struct super_block * ) ;
3369 int (*statfs)(struct dentry * , struct kstatfs * ) ;
3370 int (*remount_fs)(struct super_block * , int * , char * ) ;
3371 void (*umount_begin)(struct super_block * ) ;
3372 int (*show_options)(struct seq_file * , struct dentry * ) ;
3373 int (*show_devname)(struct seq_file * , struct dentry * ) ;
3374 int (*show_path)(struct seq_file * , struct dentry * ) ;
3375 int (*show_stats)(struct seq_file * , struct dentry * ) ;
3376 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
3377 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
3378 loff_t ) ;
3379 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
3380 int (*nr_cached_objects)(struct super_block * ) ;
3381 void (*free_cached_objects)(struct super_block * , int ) ;
3382};
3383#line 1834 "include/linux/fs.h"
3384struct file_system_type {
3385 char const *name ;
3386 int fs_flags ;
3387 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
3388 void (*kill_sb)(struct super_block * ) ;
3389 struct module *owner ;
3390 struct file_system_type *next ;
3391 struct hlist_head fs_supers ;
3392 struct lock_class_key s_lock_key ;
3393 struct lock_class_key s_umount_key ;
3394 struct lock_class_key s_vfs_rename_key ;
3395 struct lock_class_key i_lock_key ;
3396 struct lock_class_key i_mutex_key ;
3397 struct lock_class_key i_mutex_dir_key ;
3398};
3399#line 81 "include/linux/genhd.h"
3400struct disk_stats {
3401 unsigned long sectors[2U] ;
3402 unsigned long ios[2U] ;
3403 unsigned long merges[2U] ;
3404 unsigned long ticks[2U] ;
3405 unsigned long io_ticks ;
3406 unsigned long time_in_queue ;
3407};
3408#line 90 "include/linux/genhd.h"
3409struct partition_meta_info {
3410 u8 uuid[16U] ;
3411 u8 volname[64U] ;
3412};
3413#line 98 "include/linux/genhd.h"
3414struct hd_struct {
3415 sector_t start_sect ;
3416 sector_t nr_sects ;
3417 sector_t alignment_offset ;
3418 unsigned int discard_alignment ;
3419 struct device __dev ;
3420 struct kobject *holder_dir ;
3421 int policy ;
3422 int partno ;
3423 struct partition_meta_info *info ;
3424 int make_it_fail ;
3425 unsigned long stamp ;
3426 atomic_t in_flight[2U] ;
3427 struct disk_stats *dkstats ;
3428 atomic_t ref ;
3429 struct rcu_head rcu_head ;
3430};
3431#line 146 "include/linux/genhd.h"
3432struct disk_part_tbl {
3433 struct rcu_head rcu_head ;
3434 int len ;
3435 struct hd_struct *last_lookup ;
3436 struct hd_struct *part[0U] ;
3437};
3438#line 153
3439struct disk_events;
3440#line 153
3441struct disk_events;
3442#line 154
3443struct timer_rand_state;
3444#line 154
3445struct blk_integrity;
3446#line 154 "include/linux/genhd.h"
3447struct gendisk {
3448 int major ;
3449 int first_minor ;
3450 int minors ;
3451 char disk_name[32U] ;
3452 char *(*devnode)(struct gendisk * , umode_t * ) ;
3453 unsigned int events ;
3454 unsigned int async_events ;
3455 struct disk_part_tbl *part_tbl ;
3456 struct hd_struct part0 ;
3457 struct block_device_operations const *fops ;
3458 struct request_queue *queue ;
3459 void *private_data ;
3460 int flags ;
3461 struct device *driverfs_dev ;
3462 struct kobject *slave_dir ;
3463 struct timer_rand_state *random ;
3464 atomic_t sync_io ;
3465 struct disk_events *ev ;
3466 struct blk_integrity *integrity ;
3467 int node_id ;
3468};
3469#line 650 "include/linux/genhd.h"
3470struct exception_table_entry {
3471 unsigned long insn ;
3472 unsigned long fixup ;
3473};
3474#line 11 "include/linux/writeback.h"
3475enum writeback_sync_modes {
3476 WB_SYNC_NONE = 0,
3477 WB_SYNC_ALL = 1
3478} ;
3479#line 54 "include/linux/writeback.h"
3480struct writeback_control {
3481 enum writeback_sync_modes sync_mode ;
3482 long nr_to_write ;
3483 long pages_skipped ;
3484 loff_t range_start ;
3485 loff_t range_end ;
3486 unsigned char for_kupdate : 1 ;
3487 unsigned char for_background : 1 ;
3488 unsigned char tagged_writepages : 1 ;
3489 unsigned char for_reclaim : 1 ;
3490 unsigned char range_cyclic : 1 ;
3491};
3492#line 80
3493struct bdi_writeback;
3494#line 80
3495struct bdi_writeback;
3496#line 38 "include/linux/backing-dev.h"
3497typedef int congested_fn(void * , int );
3498#line 47 "include/linux/backing-dev.h"
3499struct bdi_writeback {
3500 struct backing_dev_info *bdi ;
3501 unsigned int nr ;
3502 unsigned long last_old_flush ;
3503 unsigned long last_active ;
3504 struct task_struct *task ;
3505 struct timer_list wakeup_timer ;
3506 struct list_head b_dirty ;
3507 struct list_head b_io ;
3508 struct list_head b_more_io ;
3509 spinlock_t list_lock ;
3510};
3511#line 64 "include/linux/backing-dev.h"
3512struct backing_dev_info {
3513 struct list_head bdi_list ;
3514 unsigned long ra_pages ;
3515 unsigned long state ;
3516 unsigned int capabilities ;
3517 congested_fn *congested_fn ;
3518 void *congested_data ;
3519 char *name ;
3520 struct percpu_counter bdi_stat[4U] ;
3521 unsigned long bw_time_stamp ;
3522 unsigned long dirtied_stamp ;
3523 unsigned long written_stamp ;
3524 unsigned long write_bandwidth ;
3525 unsigned long avg_write_bandwidth ;
3526 unsigned long dirty_ratelimit ;
3527 unsigned long balanced_dirty_ratelimit ;
3528 struct prop_local_percpu completions ;
3529 int dirty_exceeded ;
3530 unsigned int min_ratio ;
3531 unsigned int max_ratio ;
3532 unsigned int max_prop_frac ;
3533 struct bdi_writeback wb ;
3534 spinlock_t wb_lock ;
3535 struct list_head work_list ;
3536 struct device *dev ;
3537 struct timer_list laptop_mode_wb_timer ;
3538 struct dentry *debug_dir ;
3539 struct dentry *debug_stats ;
3540};
3541#line 11 "include/linux/mempool.h"
3542typedef void *mempool_alloc_t(gfp_t , void * );
3543#line 12 "include/linux/mempool.h"
3544typedef void mempool_free_t(void * , void * );
3545#line 13 "include/linux/mempool.h"
3546struct mempool_s {
3547 spinlock_t lock ;
3548 int min_nr ;
3549 int curr_nr ;
3550 void **elements ;
3551 void *pool_data ;
3552 mempool_alloc_t *alloc ;
3553 mempool_free_t *free ;
3554 wait_queue_head_t wait ;
3555};
3556#line 24 "include/linux/mempool.h"
3557typedef struct mempool_s mempool_t;
3558#line 79 "include/linux/mempool.h"
3559union __anonunion_ldv_26913_173 {
3560 struct list_head q_node ;
3561 struct kmem_cache *__rcu_icq_cache ;
3562};
3563#line 79 "include/linux/mempool.h"
3564union __anonunion_ldv_26917_174 {
3565 struct hlist_node ioc_node ;
3566 struct rcu_head __rcu_head ;
3567};
3568#line 79 "include/linux/mempool.h"
3569struct io_cq {
3570 struct request_queue *q ;
3571 struct io_context *ioc ;
3572 union __anonunion_ldv_26913_173 ldv_26913 ;
3573 union __anonunion_ldv_26917_174 ldv_26917 ;
3574 unsigned int flags ;
3575};
3576#line 96 "include/linux/iocontext.h"
3577struct io_context {
3578 atomic_long_t refcount ;
3579 atomic_t nr_tasks ;
3580 spinlock_t lock ;
3581 unsigned short ioprio ;
3582 int nr_batch_requests ;
3583 unsigned long last_waited ;
3584 struct radix_tree_root icq_tree ;
3585 struct io_cq *icq_hint ;
3586 struct hlist_head icq_list ;
3587 struct work_struct release_work ;
3588};
3589#line 91 "include/linux/bio.h"
3590struct bio_integrity_payload {
3591 struct bio *bip_bio ;
3592 sector_t bip_sector ;
3593 void *bip_buf ;
3594 bio_end_io_t *bip_end_io ;
3595 unsigned int bip_size ;
3596 unsigned short bip_slab ;
3597 unsigned short bip_vcnt ;
3598 unsigned short bip_idx ;
3599 struct work_struct bip_work ;
3600 struct bio_vec bip_vec[0U] ;
3601};
3602#line 366 "include/linux/bio.h"
3603struct bio_list {
3604 struct bio *head ;
3605 struct bio *tail ;
3606};
3607#line 63 "include/linux/bsg.h"
3608struct bsg_class_device {
3609 struct device *class_dev ;
3610 struct device *parent ;
3611 int minor ;
3612 struct request_queue *queue ;
3613 struct kref ref ;
3614 void (*release)(struct device * ) ;
3615};
3616#line 81
3617struct elevator_queue;
3618#line 81
3619struct elevator_queue;
3620#line 84
3621struct request;
3622#line 84
3623struct request;
3624#line 86
3625struct bsg_job;
3626#line 86
3627struct bsg_job;
3628#line 40 "include/linux/blkdev.h"
3629typedef void rq_end_io_fn(struct request * , int );
3630#line 41 "include/linux/blkdev.h"
3631struct request_list {
3632 int count[2U] ;
3633 int starved[2U] ;
3634 int elvpriv ;
3635 mempool_t *rq_pool ;
3636 wait_queue_head_t wait[2U] ;
3637};
3638#line 53
3639enum rq_cmd_type_bits {
3640 REQ_TYPE_FS = 1,
3641 REQ_TYPE_BLOCK_PC = 2,
3642 REQ_TYPE_SENSE = 3,
3643 REQ_TYPE_PM_SUSPEND = 4,
3644 REQ_TYPE_PM_RESUME = 5,
3645 REQ_TYPE_PM_SHUTDOWN = 6,
3646 REQ_TYPE_SPECIAL = 7,
3647 REQ_TYPE_ATA_TASKFILE = 8,
3648 REQ_TYPE_ATA_PC = 9
3649} ;
3650#line 65 "include/linux/blkdev.h"
3651union __anonunion_ldv_27340_175 {
3652 struct rb_node rb_node ;
3653 void *completion_data ;
3654};
3655#line 65 "include/linux/blkdev.h"
3656struct __anonstruct_elv_177 {
3657 struct io_cq *icq ;
3658 void *priv[2U] ;
3659};
3660#line 65 "include/linux/blkdev.h"
3661struct __anonstruct_flush_178 {
3662 unsigned int seq ;
3663 struct list_head list ;
3664 rq_end_io_fn *saved_end_io ;
3665};
3666#line 65 "include/linux/blkdev.h"
3667union __anonunion_ldv_27351_176 {
3668 struct __anonstruct_elv_177 elv ;
3669 struct __anonstruct_flush_178 flush ;
3670};
3671#line 65 "include/linux/blkdev.h"
3672struct request {
3673 struct list_head queuelist ;
3674 struct call_single_data csd ;
3675 struct request_queue *q ;
3676 unsigned int cmd_flags ;
3677 enum rq_cmd_type_bits cmd_type ;
3678 unsigned long atomic_flags ;
3679 int cpu ;
3680 unsigned int __data_len ;
3681 sector_t __sector ;
3682 struct bio *bio ;
3683 struct bio *biotail ;
3684 struct hlist_node hash ;
3685 union __anonunion_ldv_27340_175 ldv_27340 ;
3686 union __anonunion_ldv_27351_176 ldv_27351 ;
3687 struct gendisk *rq_disk ;
3688 struct hd_struct *part ;
3689 unsigned long start_time ;
3690 unsigned short nr_phys_segments ;
3691 unsigned short nr_integrity_segments ;
3692 unsigned short ioprio ;
3693 int ref_count ;
3694 void *special ;
3695 char *buffer ;
3696 int tag ;
3697 int errors ;
3698 unsigned char __cmd[16U] ;
3699 unsigned char *cmd ;
3700 unsigned short cmd_len ;
3701 unsigned int extra_len ;
3702 unsigned int sense_len ;
3703 unsigned int resid_len ;
3704 void *sense ;
3705 unsigned long deadline ;
3706 struct list_head timeout_list ;
3707 unsigned int timeout ;
3708 int retries ;
3709 rq_end_io_fn *end_io ;
3710 void *end_io_data ;
3711 struct request *next_rq ;
3712};
3713#line 10 "include/linux/elevator.h"
3714typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
3715#line 13 "include/linux/elevator.h"
3716typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
3717#line 15 "include/linux/elevator.h"
3718typedef void elevator_merged_fn(struct request_queue * , struct request * , int );
3719#line 17 "include/linux/elevator.h"
3720typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
3721#line 19 "include/linux/elevator.h"
3722typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
3723#line 22 "include/linux/elevator.h"
3724typedef int elevator_dispatch_fn(struct request_queue * , int );
3725#line 24 "include/linux/elevator.h"
3726typedef void elevator_add_req_fn(struct request_queue * , struct request * );
3727#line 25 "include/linux/elevator.h"
3728typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
3729#line 26 "include/linux/elevator.h"
3730typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
3731#line 27 "include/linux/elevator.h"
3732typedef int elevator_may_queue_fn(struct request_queue * , int );
3733#line 29 "include/linux/elevator.h"
3734typedef void elevator_init_icq_fn(struct io_cq * );
3735#line 30 "include/linux/elevator.h"
3736typedef void elevator_exit_icq_fn(struct io_cq * );
3737#line 31 "include/linux/elevator.h"
3738typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t );
3739#line 32 "include/linux/elevator.h"
3740typedef void elevator_put_req_fn(struct request * );
3741#line 33 "include/linux/elevator.h"
3742typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
3743#line 34 "include/linux/elevator.h"
3744typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
3745#line 36 "include/linux/elevator.h"
3746typedef void *elevator_init_fn(struct request_queue * );
3747#line 37 "include/linux/elevator.h"
3748typedef void elevator_exit_fn(struct elevator_queue * );
3749#line 38 "include/linux/elevator.h"
3750struct elevator_ops {
3751 elevator_merge_fn *elevator_merge_fn ;
3752 elevator_merged_fn *elevator_merged_fn ;
3753 elevator_merge_req_fn *elevator_merge_req_fn ;
3754 elevator_allow_merge_fn *elevator_allow_merge_fn ;
3755 elevator_bio_merged_fn *elevator_bio_merged_fn ;
3756 elevator_dispatch_fn *elevator_dispatch_fn ;
3757 elevator_add_req_fn *elevator_add_req_fn ;
3758 elevator_activate_req_fn *elevator_activate_req_fn ;
3759 elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
3760 elevator_completed_req_fn *elevator_completed_req_fn ;
3761 elevator_request_list_fn *elevator_former_req_fn ;
3762 elevator_request_list_fn *elevator_latter_req_fn ;
3763 elevator_init_icq_fn *elevator_init_icq_fn ;
3764 elevator_exit_icq_fn *elevator_exit_icq_fn ;
3765 elevator_set_req_fn *elevator_set_req_fn ;
3766 elevator_put_req_fn *elevator_put_req_fn ;
3767 elevator_may_queue_fn *elevator_may_queue_fn ;
3768 elevator_init_fn *elevator_init_fn ;
3769 elevator_exit_fn *elevator_exit_fn ;
3770};
3771#line 68 "include/linux/elevator.h"
3772struct elv_fs_entry {
3773 struct attribute attr ;
3774 ssize_t (*show)(struct elevator_queue * , char * ) ;
3775 ssize_t (*store)(struct elevator_queue * , char const * , size_t ) ;
3776};
3777#line 76 "include/linux/elevator.h"
3778struct elevator_type {
3779 struct kmem_cache *icq_cache ;
3780 struct elevator_ops ops ;
3781 size_t icq_size ;
3782 size_t icq_align ;
3783 struct elv_fs_entry *elevator_attrs ;
3784 char elevator_name[16U] ;
3785 struct module *elevator_owner ;
3786 char icq_cache_name[21U] ;
3787 struct list_head list ;
3788};
3789#line 97 "include/linux/elevator.h"
3790struct elevator_queue {
3791 struct elevator_type *type ;
3792 void *elevator_data ;
3793 struct kobject kobj ;
3794 struct mutex sysfs_lock ;
3795 struct hlist_head *hash ;
3796 unsigned char registered : 1 ;
3797};
3798#line 202 "include/linux/blkdev.h"
3799typedef void request_fn_proc(struct request_queue * );
3800#line 203 "include/linux/blkdev.h"
3801typedef void make_request_fn(struct request_queue * , struct bio * );
3802#line 204 "include/linux/blkdev.h"
3803typedef int prep_rq_fn(struct request_queue * , struct request * );
3804#line 205 "include/linux/blkdev.h"
3805typedef void unprep_rq_fn(struct request_queue * , struct request * );
3806#line 206 "include/linux/blkdev.h"
3807struct bvec_merge_data {
3808 struct block_device *bi_bdev ;
3809 sector_t bi_sector ;
3810 unsigned int bi_size ;
3811 unsigned long bi_rw ;
3812};
3813#line 214 "include/linux/blkdev.h"
3814typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
3815#line 216 "include/linux/blkdev.h"
3816typedef void softirq_done_fn(struct request * );
3817#line 217 "include/linux/blkdev.h"
3818typedef int dma_drain_needed_fn(struct request * );
3819#line 218 "include/linux/blkdev.h"
3820typedef int lld_busy_fn(struct request_queue * );
3821#line 219 "include/linux/blkdev.h"
3822typedef int bsg_job_fn(struct bsg_job * );
3823#line 220
3824enum blk_eh_timer_return {
3825 BLK_EH_NOT_HANDLED = 0,
3826 BLK_EH_HANDLED = 1,
3827 BLK_EH_RESET_TIMER = 2
3828} ;
3829#line 227 "include/linux/blkdev.h"
3830typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
3831#line 233 "include/linux/blkdev.h"
3832struct blk_queue_tag {
3833 struct request **tag_index ;
3834 unsigned long *tag_map ;
3835 int busy ;
3836 int max_depth ;
3837 int real_max_depth ;
3838 atomic_t refcnt ;
3839};
3840#line 242 "include/linux/blkdev.h"
3841struct queue_limits {
3842 unsigned long bounce_pfn ;
3843 unsigned long seg_boundary_mask ;
3844 unsigned int max_hw_sectors ;
3845 unsigned int max_sectors ;
3846 unsigned int max_segment_size ;
3847 unsigned int physical_block_size ;
3848 unsigned int alignment_offset ;
3849 unsigned int io_min ;
3850 unsigned int io_opt ;
3851 unsigned int max_discard_sectors ;
3852 unsigned int discard_granularity ;
3853 unsigned int discard_alignment ;
3854 unsigned short logical_block_size ;
3855 unsigned short max_segments ;
3856 unsigned short max_integrity_segments ;
3857 unsigned char misaligned ;
3858 unsigned char discard_misaligned ;
3859 unsigned char cluster ;
3860 unsigned char discard_zeroes_data ;
3861};
3862#line 270 "include/linux/blkdev.h"
3863struct request_queue {
3864 struct list_head queue_head ;
3865 struct request *last_merge ;
3866 struct elevator_queue *elevator ;
3867 struct request_list rq ;
3868 request_fn_proc *request_fn ;
3869 make_request_fn *make_request_fn ;
3870 prep_rq_fn *prep_rq_fn ;
3871 unprep_rq_fn *unprep_rq_fn ;
3872 merge_bvec_fn *merge_bvec_fn ;
3873 softirq_done_fn *softirq_done_fn ;
3874 rq_timed_out_fn *rq_timed_out_fn ;
3875 dma_drain_needed_fn *dma_drain_needed ;
3876 lld_busy_fn *lld_busy_fn ;
3877 sector_t end_sector ;
3878 struct request *boundary_rq ;
3879 struct delayed_work delay_work ;
3880 struct backing_dev_info backing_dev_info ;
3881 void *queuedata ;
3882 unsigned long queue_flags ;
3883 int id ;
3884 gfp_t bounce_gfp ;
3885 spinlock_t __queue_lock ;
3886 spinlock_t *queue_lock ;
3887 struct kobject kobj ;
3888 unsigned long nr_requests ;
3889 unsigned int nr_congestion_on ;
3890 unsigned int nr_congestion_off ;
3891 unsigned int nr_batching ;
3892 unsigned int dma_drain_size ;
3893 void *dma_drain_buffer ;
3894 unsigned int dma_pad_mask ;
3895 unsigned int dma_alignment ;
3896 struct blk_queue_tag *queue_tags ;
3897 struct list_head tag_busy_list ;
3898 unsigned int nr_sorted ;
3899 unsigned int in_flight[2U] ;
3900 unsigned int rq_timeout ;
3901 struct timer_list timeout ;
3902 struct list_head timeout_list ;
3903 struct list_head icq_list ;
3904 struct queue_limits limits ;
3905 unsigned int sg_timeout ;
3906 unsigned int sg_reserved_size ;
3907 int node ;
3908 unsigned int flush_flags ;
3909 unsigned char flush_not_queueable : 1 ;
3910 unsigned char flush_queue_delayed : 1 ;
3911 unsigned char flush_pending_idx : 1 ;
3912 unsigned char flush_running_idx : 1 ;
3913 unsigned long flush_pending_since ;
3914 struct list_head flush_queue[2U] ;
3915 struct list_head flush_data_in_flight ;
3916 struct request flush_rq ;
3917 struct mutex sysfs_lock ;
3918 bsg_job_fn *bsg_job_fn ;
3919 int bsg_job_size ;
3920 struct bsg_class_device bsg_dev ;
3921};
3922#line 876 "include/linux/blkdev.h"
3923struct blk_plug {
3924 unsigned long magic ;
3925 struct list_head list ;
3926 struct list_head cb_list ;
3927 unsigned int should_sort ;
3928};
3929#line 1208 "include/linux/blkdev.h"
3930struct blk_integrity_exchg {
3931 void *prot_buf ;
3932 void *data_buf ;
3933 sector_t sector ;
3934 unsigned int data_size ;
3935 unsigned short sector_size ;
3936 char const *disk_name ;
3937};
3938#line 1229 "include/linux/blkdev.h"
3939typedef void integrity_gen_fn(struct blk_integrity_exchg * );
3940#line 1230 "include/linux/blkdev.h"
3941typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
3942#line 1231 "include/linux/blkdev.h"
3943typedef void integrity_set_tag_fn(void * , void * , unsigned int );
3944#line 1232 "include/linux/blkdev.h"
3945typedef void integrity_get_tag_fn(void * , void * , unsigned int );
3946#line 1233 "include/linux/blkdev.h"
3947struct blk_integrity {
3948 integrity_gen_fn *generate_fn ;
3949 integrity_vrfy_fn *verify_fn ;
3950 integrity_set_tag_fn *set_tag_fn ;
3951 integrity_get_tag_fn *get_tag_fn ;
3952 unsigned short flags ;
3953 unsigned short tuple_size ;
3954 unsigned short sector_size ;
3955 unsigned short tag_size ;
3956 char const *name ;
3957 struct kobject kobj ;
3958};
3959#line 1292 "include/linux/blkdev.h"
3960struct block_device_operations {
3961 int (*open)(struct block_device * , fmode_t ) ;
3962 int (*release)(struct gendisk * , fmode_t ) ;
3963 int (*ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
3964 int (*compat_ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
3965 int (*direct_access)(struct block_device * , sector_t , void ** , unsigned long * ) ;
3966 unsigned int (*check_events)(struct gendisk * , unsigned int ) ;
3967 int (*media_changed)(struct gendisk * ) ;
3968 void (*unlock_native_capacity)(struct gendisk * ) ;
3969 int (*revalidate_disk)(struct gendisk * ) ;
3970 int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
3971 void (*swap_slot_free_notify)(struct block_device * , unsigned long ) ;
3972 struct module *owner ;
3973};
3974#line 1383
3975struct scsi_device;
3976#line 1383
3977struct scsi_device;
3978#line 1385 "include/linux/blkdev.h"
3979struct scsi_data_buffer {
3980 struct sg_table table ;
3981 unsigned int length ;
3982 int resid ;
3983};
3984#line 37 "include/scsi/scsi_cmnd.h"
3985struct scsi_pointer {
3986 char *ptr ;
3987 int this_residual ;
3988 struct scatterlist *buffer ;
3989 int buffers_residual ;
3990 dma_addr_t dma_handle ;
3991 int volatile Status ;
3992 int volatile Message ;
3993 int volatile have_data_in ;
3994 int volatile sent_command ;
3995 int volatile phase ;
3996};
3997#line 53 "include/scsi/scsi_cmnd.h"
3998struct scsi_cmnd {
3999 struct scsi_device *device ;
4000 struct list_head list ;
4001 struct list_head eh_entry ;
4002 int eh_eflags ;
4003 unsigned long serial_number ;
4004 unsigned long jiffies_at_alloc ;
4005 int retries ;
4006 int allowed ;
4007 unsigned char prot_op ;
4008 unsigned char prot_type ;
4009 unsigned short cmd_len ;
4010 enum dma_data_direction sc_data_direction ;
4011 unsigned char *cmnd ;
4012 struct scsi_data_buffer sdb ;
4013 struct scsi_data_buffer *prot_sdb ;
4014 unsigned int underflow ;
4015 unsigned int transfersize ;
4016 struct request *request ;
4017 unsigned char *sense_buffer ;
4018 void (*scsi_done)(struct scsi_cmnd * ) ;
4019 struct scsi_pointer SCp ;
4020 unsigned char *host_scribble ;
4021 int result ;
4022 unsigned char tag ;
4023};
4024#line 12 "include/linux/mod_devicetable.h"
4025typedef unsigned long kernel_ulong_t;
4026#line 38 "include/linux/mod_devicetable.h"
4027struct usb_device_id {
4028 __u16 match_flags ;
4029 __u16 idVendor ;
4030 __u16 idProduct ;
4031 __u16 bcdDevice_lo ;
4032 __u16 bcdDevice_hi ;
4033 __u8 bDeviceClass ;
4034 __u8 bDeviceSubClass ;
4035 __u8 bDeviceProtocol ;
4036 __u8 bInterfaceClass ;
4037 __u8 bInterfaceSubClass ;
4038 __u8 bInterfaceProtocol ;
4039 kernel_ulong_t driver_info ;
4040};
4041#line 215 "include/linux/mod_devicetable.h"
4042struct of_device_id {
4043 char name[32U] ;
4044 char type[32U] ;
4045 char compatible[128U] ;
4046 void *data ;
4047};
4048#line 584 "include/linux/mod_devicetable.h"
4049struct usb_ctrlrequest {
4050 __u8 bRequestType ;
4051 __u8 bRequest ;
4052 __le16 wValue ;
4053 __le16 wIndex ;
4054 __le16 wLength ;
4055};
4056#line 245 "include/linux/usb/ch9.h"
4057struct usb_device_descriptor {
4058 __u8 bLength ;
4059 __u8 bDescriptorType ;
4060 __le16 bcdUSB ;
4061 __u8 bDeviceClass ;
4062 __u8 bDeviceSubClass ;
4063 __u8 bDeviceProtocol ;
4064 __u8 bMaxPacketSize0 ;
4065 __le16 idVendor ;
4066 __le16 idProduct ;
4067 __le16 bcdDevice ;
4068 __u8 iManufacturer ;
4069 __u8 iProduct ;
4070 __u8 iSerialNumber ;
4071 __u8 bNumConfigurations ;
4072};
4073#line 267 "include/linux/usb/ch9.h"
4074struct usb_config_descriptor {
4075 __u8 bLength ;
4076 __u8 bDescriptorType ;
4077 __le16 wTotalLength ;
4078 __u8 bNumInterfaces ;
4079 __u8 bConfigurationValue ;
4080 __u8 iConfiguration ;
4081 __u8 bmAttributes ;
4082 __u8 bMaxPower ;
4083};
4084#line 335 "include/linux/usb/ch9.h"
4085struct usb_interface_descriptor {
4086 __u8 bLength ;
4087 __u8 bDescriptorType ;
4088 __u8 bInterfaceNumber ;
4089 __u8 bAlternateSetting ;
4090 __u8 bNumEndpoints ;
4091 __u8 bInterfaceClass ;
4092 __u8 bInterfaceSubClass ;
4093 __u8 bInterfaceProtocol ;
4094 __u8 iInterface ;
4095};
4096#line 355 "include/linux/usb/ch9.h"
4097struct usb_endpoint_descriptor {
4098 __u8 bLength ;
4099 __u8 bDescriptorType ;
4100 __u8 bEndpointAddress ;
4101 __u8 bmAttributes ;
4102 __le16 wMaxPacketSize ;
4103 __u8 bInterval ;
4104 __u8 bRefresh ;
4105 __u8 bSynchAddress ;
4106};
4107#line 594 "include/linux/usb/ch9.h"
4108struct usb_ss_ep_comp_descriptor {
4109 __u8 bLength ;
4110 __u8 bDescriptorType ;
4111 __u8 bMaxBurst ;
4112 __u8 bmAttributes ;
4113 __le16 wBytesPerInterval ;
4114};
4115#line 673 "include/linux/usb/ch9.h"
4116struct usb_interface_assoc_descriptor {
4117 __u8 bLength ;
4118 __u8 bDescriptorType ;
4119 __u8 bFirstInterface ;
4120 __u8 bInterfaceCount ;
4121 __u8 bFunctionClass ;
4122 __u8 bFunctionSubClass ;
4123 __u8 bFunctionProtocol ;
4124 __u8 iFunction ;
4125};
4126#line 732 "include/linux/usb/ch9.h"
4127struct usb_bos_descriptor {
4128 __u8 bLength ;
4129 __u8 bDescriptorType ;
4130 __le16 wTotalLength ;
4131 __u8 bNumDeviceCaps ;
4132};
4133#line 782 "include/linux/usb/ch9.h"
4134struct usb_ext_cap_descriptor {
4135 __u8 bLength ;
4136 __u8 bDescriptorType ;
4137 __u8 bDevCapabilityType ;
4138 __le32 bmAttributes ;
4139};
4140#line 792 "include/linux/usb/ch9.h"
4141struct usb_ss_cap_descriptor {
4142 __u8 bLength ;
4143 __u8 bDescriptorType ;
4144 __u8 bDevCapabilityType ;
4145 __u8 bmAttributes ;
4146 __le16 wSpeedSupported ;
4147 __u8 bFunctionalitySupport ;
4148 __u8 bU1devExitLat ;
4149 __le16 bU2DevExitLat ;
4150};
4151#line 821 "include/linux/usb/ch9.h"
4152struct usb_ss_container_id_descriptor {
4153 __u8 bLength ;
4154 __u8 bDescriptorType ;
4155 __u8 bDevCapabilityType ;
4156 __u8 bReserved ;
4157 __u8 ContainerID[16U] ;
4158};
4159#line 886
4160enum usb_device_speed {
4161 USB_SPEED_UNKNOWN = 0,
4162 USB_SPEED_LOW = 1,
4163 USB_SPEED_FULL = 2,
4164 USB_SPEED_HIGH = 3,
4165 USB_SPEED_WIRELESS = 4,
4166 USB_SPEED_SUPER = 5
4167} ;
4168#line 908
4169enum usb_device_state {
4170 USB_STATE_NOTATTACHED = 0,
4171 USB_STATE_ATTACHED = 1,
4172 USB_STATE_POWERED = 2,
4173 USB_STATE_RECONNECTING = 3,
4174 USB_STATE_UNAUTHENTICATED = 4,
4175 USB_STATE_DEFAULT = 5,
4176 USB_STATE_ADDRESS = 6,
4177 USB_STATE_CONFIGURED = 7,
4178 USB_STATE_SUSPENDED = 8
4179} ;
4180#line 253 "include/linux/pm_runtime.h"
4181struct usb_device;
4182#line 253
4183struct usb_device;
4184#line 255
4185struct wusb_dev;
4186#line 255
4187struct wusb_dev;
4188#line 256
4189struct ep_device;
4190#line 256
4191struct ep_device;
4192#line 257 "include/linux/pm_runtime.h"
4193struct usb_host_endpoint {
4194 struct usb_endpoint_descriptor desc ;
4195 struct usb_ss_ep_comp_descriptor ss_ep_comp ;
4196 struct list_head urb_list ;
4197 void *hcpriv ;
4198 struct ep_device *ep_dev ;
4199 unsigned char *extra ;
4200 int extralen ;
4201 int enabled ;
4202};
4203#line 75 "include/linux/usb.h"
4204struct usb_host_interface {
4205 struct usb_interface_descriptor desc ;
4206 struct usb_host_endpoint *endpoint ;
4207 char *string ;
4208 unsigned char *extra ;
4209 int extralen ;
4210};
4211#line 89
4212enum usb_interface_condition {
4213 USB_INTERFACE_UNBOUND = 0,
4214 USB_INTERFACE_BINDING = 1,
4215 USB_INTERFACE_BOUND = 2,
4216 USB_INTERFACE_UNBINDING = 3
4217} ;
4218#line 96 "include/linux/usb.h"
4219struct usb_interface {
4220 struct usb_host_interface *altsetting ;
4221 struct usb_host_interface *cur_altsetting ;
4222 unsigned int num_altsetting ;
4223 struct usb_interface_assoc_descriptor *intf_assoc ;
4224 int minor ;
4225 enum usb_interface_condition condition ;
4226 unsigned char sysfs_files_created : 1 ;
4227 unsigned char ep_devs_created : 1 ;
4228 unsigned char unregistering : 1 ;
4229 unsigned char needs_remote_wakeup : 1 ;
4230 unsigned char needs_altsetting0 : 1 ;
4231 unsigned char needs_binding : 1 ;
4232 unsigned char reset_running : 1 ;
4233 unsigned char resetting_device : 1 ;
4234 struct device dev ;
4235 struct device *usb_dev ;
4236 atomic_t pm_usage_cnt ;
4237 struct work_struct reset_ws ;
4238};
4239#line 203 "include/linux/usb.h"
4240struct usb_interface_cache {
4241 unsigned int num_altsetting ;
4242 struct kref ref ;
4243 struct usb_host_interface altsetting[0U] ;
4244};
4245#line 230 "include/linux/usb.h"
4246struct usb_host_config {
4247 struct usb_config_descriptor desc ;
4248 char *string ;
4249 struct usb_interface_assoc_descriptor *intf_assoc[16U] ;
4250 struct usb_interface *interface[32U] ;
4251 struct usb_interface_cache *intf_cache[32U] ;
4252 unsigned char *extra ;
4253 int extralen ;
4254};
4255#line 294 "include/linux/usb.h"
4256struct usb_host_bos {
4257 struct usb_bos_descriptor *desc ;
4258 struct usb_ext_cap_descriptor *ext_cap ;
4259 struct usb_ss_cap_descriptor *ss_cap ;
4260 struct usb_ss_container_id_descriptor *ss_id ;
4261};
4262#line 306 "include/linux/usb.h"
4263struct usb_devmap {
4264 unsigned long devicemap[2U] ;
4265};
4266#line 318
4267struct mon_bus;
4268#line 318 "include/linux/usb.h"
4269struct usb_bus {
4270 struct device *controller ;
4271 int busnum ;
4272 char const *bus_name ;
4273 u8 uses_dma ;
4274 u8 uses_pio_for_control ;
4275 u8 otg_port ;
4276 unsigned char is_b_host : 1 ;
4277 unsigned char b_hnp_enable : 1 ;
4278 unsigned int sg_tablesize ;
4279 int devnum_next ;
4280 struct usb_devmap devmap ;
4281 struct usb_device *root_hub ;
4282 struct usb_bus *hs_companion ;
4283 struct list_head bus_list ;
4284 int bandwidth_allocated ;
4285 int bandwidth_int_reqs ;
4286 int bandwidth_isoc_reqs ;
4287 struct dentry *usbfs_dentry ;
4288 struct mon_bus *mon_bus ;
4289 int monitored ;
4290};
4291#line 362
4292struct usb_tt;
4293#line 362
4294struct usb_tt;
4295#line 363
4296enum usb_device_removable {
4297 USB_DEVICE_REMOVABLE_UNKNOWN = 0,
4298 USB_DEVICE_REMOVABLE = 1,
4299 USB_DEVICE_FIXED = 2
4300} ;
4301#line 369 "include/linux/usb.h"
4302struct usb_device {
4303 int devnum ;
4304 char devpath[16U] ;
4305 u32 route ;
4306 enum usb_device_state state ;
4307 enum usb_device_speed speed ;
4308 struct usb_tt *tt ;
4309 int ttport ;
4310 unsigned int toggle[2U] ;
4311 struct usb_device *parent ;
4312 struct usb_bus *bus ;
4313 struct usb_host_endpoint ep0 ;
4314 struct device dev ;
4315 struct usb_device_descriptor descriptor ;
4316 struct usb_host_bos *bos ;
4317 struct usb_host_config *config ;
4318 struct usb_host_config *actconfig ;
4319 struct usb_host_endpoint *ep_in[16U] ;
4320 struct usb_host_endpoint *ep_out[16U] ;
4321 char **rawdescriptors ;
4322 unsigned short bus_mA ;
4323 u8 portnum ;
4324 u8 level ;
4325 unsigned char can_submit : 1 ;
4326 unsigned char persist_enabled : 1 ;
4327 unsigned char have_langid : 1 ;
4328 unsigned char authorized : 1 ;
4329 unsigned char authenticated : 1 ;
4330 unsigned char wusb : 1 ;
4331 unsigned char lpm_capable : 1 ;
4332 unsigned char usb2_hw_lpm_capable : 1 ;
4333 unsigned char usb2_hw_lpm_enabled : 1 ;
4334 int string_langid ;
4335 char *product ;
4336 char *manufacturer ;
4337 char *serial ;
4338 struct list_head filelist ;
4339 struct device *usb_classdev ;
4340 struct dentry *usbfs_dentry ;
4341 int maxchild ;
4342 struct usb_device **children ;
4343 u32 quirks ;
4344 atomic_t urbnum ;
4345 unsigned long active_duration ;
4346 unsigned long connect_time ;
4347 unsigned char do_remote_wakeup : 1 ;
4348 unsigned char reset_resume : 1 ;
4349 struct wusb_dev *wusb_dev ;
4350 int slot_id ;
4351 enum usb_device_removable removable ;
4352};
4353#line 986 "include/linux/usb.h"
4354struct usb_iso_packet_descriptor {
4355 unsigned int offset ;
4356 unsigned int length ;
4357 unsigned int actual_length ;
4358 int status ;
4359};
4360#line 1028
4361struct urb;
4362#line 1028
4363struct urb;
4364#line 1029 "include/linux/usb.h"
4365struct usb_anchor {
4366 struct list_head urb_list ;
4367 wait_queue_head_t wait ;
4368 spinlock_t lock ;
4369 unsigned char poisoned : 1 ;
4370};
4371#line 1046 "include/linux/usb.h"
4372struct urb {
4373 struct kref kref ;
4374 void *hcpriv ;
4375 atomic_t use_count ;
4376 atomic_t reject ;
4377 int unlinked ;
4378 struct list_head urb_list ;
4379 struct list_head anchor_list ;
4380 struct usb_anchor *anchor ;
4381 struct usb_device *dev ;
4382 struct usb_host_endpoint *ep ;
4383 unsigned int pipe ;
4384 unsigned int stream_id ;
4385 int status ;
4386 unsigned int transfer_flags ;
4387 void *transfer_buffer ;
4388 dma_addr_t transfer_dma ;
4389 struct scatterlist *sg ;
4390 int num_mapped_sgs ;
4391 int num_sgs ;
4392 u32 transfer_buffer_length ;
4393 u32 actual_length ;
4394 unsigned char *setup_packet ;
4395 dma_addr_t setup_dma ;
4396 int start_frame ;
4397 int number_of_packets ;
4398 int interval ;
4399 int error_count ;
4400 void *context ;
4401 void (*complete)(struct urb * ) ;
4402 struct usb_iso_packet_descriptor iso_frame_desc[0U] ;
4403};
4404#line 1468 "include/linux/usb.h"
4405struct usb_sg_request {
4406 int status ;
4407 size_t bytes ;
4408 spinlock_t lock ;
4409 struct usb_device *dev ;
4410 int pipe ;
4411 int entries ;
4412 struct urb **urbs ;
4413 int count ;
4414 struct completion complete ;
4415};
4416#line 920 "include/scsi/scsi_host.h"
4417struct us_data;
4418#line 920
4419struct us_data;
4420#line 921 "include/scsi/scsi_host.h"
4421struct us_unusual_dev {
4422 char const *vendorName ;
4423 char const *productName ;
4424 __u8 useProtocol ;
4425 __u8 useTransport ;
4426 int (*initFunction)(struct us_data * ) ;
4427};
4428#line 97 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/usb.h"
4429struct us_data {
4430 struct mutex dev_mutex ;
4431 struct usb_device *pusb_dev ;
4432 struct usb_interface *pusb_intf ;
4433 struct us_unusual_dev *unusual_dev ;
4434 unsigned long fflags ;
4435 unsigned long dflags ;
4436 unsigned int send_bulk_pipe ;
4437 unsigned int recv_bulk_pipe ;
4438 unsigned int send_ctrl_pipe ;
4439 unsigned int recv_ctrl_pipe ;
4440 unsigned int recv_intr_pipe ;
4441 char *transport_name ;
4442 char *protocol_name ;
4443 __le32 bcs_signature ;
4444 u8 subclass ;
4445 u8 protocol ;
4446 u8 max_lun ;
4447 u8 ifnum ;
4448 u8 ep_bInterval ;
4449 int (*transport)(struct scsi_cmnd * , struct us_data * ) ;
4450 int (*transport_reset)(struct us_data * ) ;
4451 void (*proto_handler)(struct scsi_cmnd * , struct us_data * ) ;
4452 struct scsi_cmnd *srb ;
4453 unsigned int tag ;
4454 char scsi_name[32U] ;
4455 struct urb *current_urb ;
4456 struct usb_ctrlrequest *cr ;
4457 struct usb_sg_request current_sg ;
4458 unsigned char *iobuf ;
4459 dma_addr_t iobuf_dma ;
4460 struct task_struct *ctl_thread ;
4461 struct completion cmnd_ready ;
4462 struct completion notify ;
4463 wait_queue_head_t delay_wait ;
4464 struct delayed_work scan_dwork ;
4465 void *extra ;
4466 void (*extra_destructor)(void * ) ;
4467 void (*suspend_resume_hook)(struct us_data * , int ) ;
4468 int use_last_sector_hacks ;
4469 int last_sector_retries ;
4470};
4471#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
4472struct freecom_cb_wrap {
4473 u8 Type ;
4474 u8 Timeout ;
4475 u8 Atapi[12U] ;
4476 u8 Filler[50U] ;
4477};
4478#line 72 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
4479struct freecom_xfer_wrap {
4480 u8 Type ;
4481 u8 Timeout ;
4482 __le32 Count ;
4483 u8 Pad[58U] ;
4484};
4485#line 91 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
4486struct freecom_status {
4487 u8 Status ;
4488 u8 Reason ;
4489 __le16 Count ;
4490 u8 Pad[60U] ;
4491};
4492#line 1 "<compiler builtins>"
4493
4494#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
4495void ldv_spin_lock(void) ;
4496#line 3
4497void ldv_spin_unlock(void) ;
4498#line 4
4499int ldv_spin_trylock(void) ;
4500#line 101 "include/linux/printk.h"
4501extern int printk(char const * , ...) ;
4502#line 320 "include/linux/kernel.h"
4503extern int sprintf(char * , char const * , ...) ;
4504#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
4505extern void *__memcpy(void * , void const * , size_t ) ;
4506#line 55
4507extern void *memset(void * , int , size_t ) ;
4508#line 220 "include/linux/slub_def.h"
4509extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
4510#line 223
4511void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
4512#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
4513void ldv_check_alloc_flags(gfp_t flags ) ;
4514#line 12
4515void ldv_check_alloc_nonatomic(void) ;
4516#line 14
4517struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
4518#line 173 "include/scsi/scsi_cmnd.h"
4519__inline static unsigned int scsi_bufflen(struct scsi_cmnd *cmd )
4520{ unsigned long __cil_tmp2 ;
4521 unsigned long __cil_tmp3 ;
4522 unsigned long __cil_tmp4 ;
4523
4524 {
4525 {
4526#line 175
4527 __cil_tmp2 = 88 + 16;
4528#line 175
4529 __cil_tmp3 = (unsigned long )cmd;
4530#line 175
4531 __cil_tmp4 = __cil_tmp3 + __cil_tmp2;
4532#line 175
4533 return (*((unsigned int *)__cil_tmp4));
4534 }
4535}
4536}
4537#line 10 "include/asm-generic/delay.h"
4538extern void __const_udelay(unsigned long ) ;
4539#line 197 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/usb.h"
4540extern int usb_stor_probe1(struct us_data ** , struct usb_interface * , struct usb_device_id const * ,
4541 struct us_unusual_dev * ) ;
4542#line 201
4543extern int usb_stor_probe2(struct us_data * ) ;
4544#line 87 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/transport.h"
4545extern int usb_stor_control_msg(struct us_data * , unsigned int , u8 , u8 , u16 ,
4546 u16 , void * , u16 , int ) ;
4547#line 95
4548extern int usb_stor_bulk_transfer_buf(struct us_data * , unsigned int , void * ,
4549 unsigned int , unsigned int * ) ;
4550#line 99
4551extern int usb_stor_bulk_srb(struct us_data * , unsigned int , struct scsi_cmnd * ) ;
4552#line 58 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
4553static void pdump(void *ibuffer , int length ) ;
4554#line 125
4555static int init_freecom(struct us_data *us ) ;
4556#line 137 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
4557static struct usb_device_id freecom_usb_ids[2U] = { {(__u16 )15U, (__u16 )1963U, (__u16 )64513U, (__u16 )0U, (__u16 )39321U, (unsigned char)0,
4558 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
4559 16777216UL},
4560 {(unsigned short)0, (unsigned short)0, (unsigned short)0, (unsigned short)0,
4561 (unsigned short)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
4562 (unsigned char)0, (unsigned char)0, 0UL}};
4563#line 141 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
4564struct usb_device_id const __mod_usb_device_table ;
4565#line 159 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
4566static struct us_unusual_dev freecom_unusual_dev_list[2U] = { {"Freecom", "USB-IDE", (__u8 )3U, (__u8 )241U, & init_freecom},
4567 {(char const *)0, (char const *)0, (unsigned char)0, (unsigned char)0, (int (*)(struct us_data * ))0}};
4568#line 167 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
4569static int freecom_readdata(struct scsi_cmnd *srb , struct us_data *us , unsigned int ipipe ,
4570 unsigned int opipe , int count )
4571{ struct freecom_xfer_wrap *fxfr ;
4572 int result ;
4573 unsigned long __cil_tmp8 ;
4574 unsigned long __cil_tmp9 ;
4575 unsigned char *__cil_tmp10 ;
4576 unsigned long __cil_tmp11 ;
4577 unsigned long __cil_tmp12 ;
4578 unsigned long __cil_tmp13 ;
4579 unsigned long __cil_tmp14 ;
4580 unsigned long __cil_tmp15 ;
4581 unsigned long __cil_tmp16 ;
4582 u8 (*__cil_tmp17)[58U] ;
4583 void *__cil_tmp18 ;
4584 void *__cil_tmp19 ;
4585 unsigned int *__cil_tmp20 ;
4586
4587 {
4588 {
4589#line 170
4590 __cil_tmp8 = (unsigned long )us;
4591#line 170
4592 __cil_tmp9 = __cil_tmp8 + 568;
4593#line 170
4594 __cil_tmp10 = *((unsigned char **)__cil_tmp9);
4595#line 170
4596 fxfr = (struct freecom_xfer_wrap *)__cil_tmp10;
4597#line 174
4598 *((u8 *)fxfr) = (u8 )129U;
4599#line 175
4600 __cil_tmp11 = (unsigned long )fxfr;
4601#line 175
4602 __cil_tmp12 = __cil_tmp11 + 1;
4603#line 175
4604 *((u8 *)__cil_tmp12) = (u8 )0U;
4605#line 176
4606 __cil_tmp13 = (unsigned long )fxfr;
4607#line 176
4608 __cil_tmp14 = __cil_tmp13 + 4;
4609#line 176
4610 *((__le32 *)__cil_tmp14) = (unsigned int )count;
4611#line 177
4612 __cil_tmp15 = (unsigned long )fxfr;
4613#line 177
4614 __cil_tmp16 = __cil_tmp15 + 8;
4615#line 177
4616 __cil_tmp17 = (u8 (*)[58U])__cil_tmp16;
4617#line 177
4618 __cil_tmp18 = (void *)__cil_tmp17;
4619#line 177
4620 memset(__cil_tmp18, 0, 58UL);
4621#line 179
4622 printk("<7>usb-storage: Read data Freecom! (c=%d)\n", count);
4623#line 182
4624 __cil_tmp19 = (void *)fxfr;
4625#line 182
4626 __cil_tmp20 = (unsigned int *)0;
4627#line 182
4628 result = usb_stor_bulk_transfer_buf(us, opipe, __cil_tmp19, 64U, __cil_tmp20);
4629 }
4630#line 184
4631 if (result != 0) {
4632 {
4633#line 185
4634 printk("<7>usb-storage: Freecom readdata transport error\n");
4635 }
4636#line 186
4637 return (3);
4638 } else {
4639
4640 }
4641 {
4642#line 190
4643 printk("<7>usb-storage: Start of read\n");
4644#line 191
4645 result = usb_stor_bulk_srb(us, ipipe, srb);
4646#line 192
4647 printk("<7>usb-storage: freecom_readdata done!\n");
4648 }
4649#line 194
4650 if (result > 1) {
4651#line 195
4652 return (3);
4653 } else {
4654
4655 }
4656#line 196
4657 return (0);
4658}
4659}
4660#line 200 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
4661static int freecom_writedata(struct scsi_cmnd *srb , struct us_data *us , unsigned int ipipe ,
4662 unsigned int opipe , int count )
4663{ struct freecom_xfer_wrap *fxfr ;
4664 int result ;
4665 unsigned long __cil_tmp8 ;
4666 unsigned long __cil_tmp9 ;
4667 unsigned char *__cil_tmp10 ;
4668 unsigned long __cil_tmp11 ;
4669 unsigned long __cil_tmp12 ;
4670 unsigned long __cil_tmp13 ;
4671 unsigned long __cil_tmp14 ;
4672 unsigned long __cil_tmp15 ;
4673 unsigned long __cil_tmp16 ;
4674 u8 (*__cil_tmp17)[58U] ;
4675 void *__cil_tmp18 ;
4676 void *__cil_tmp19 ;
4677 unsigned int *__cil_tmp20 ;
4678
4679 {
4680 {
4681#line 203
4682 __cil_tmp8 = (unsigned long )us;
4683#line 203
4684 __cil_tmp9 = __cil_tmp8 + 568;
4685#line 203
4686 __cil_tmp10 = *((unsigned char **)__cil_tmp9);
4687#line 203
4688 fxfr = (struct freecom_xfer_wrap *)__cil_tmp10;
4689#line 207
4690 *((u8 *)fxfr) = (u8 )1U;
4691#line 208
4692 __cil_tmp11 = (unsigned long )fxfr;
4693#line 208
4694 __cil_tmp12 = __cil_tmp11 + 1;
4695#line 208
4696 *((u8 *)__cil_tmp12) = (u8 )0U;
4697#line 209
4698 __cil_tmp13 = (unsigned long )fxfr;
4699#line 209
4700 __cil_tmp14 = __cil_tmp13 + 4;
4701#line 209
4702 *((__le32 *)__cil_tmp14) = (unsigned int )count;
4703#line 210
4704 __cil_tmp15 = (unsigned long )fxfr;
4705#line 210
4706 __cil_tmp16 = __cil_tmp15 + 8;
4707#line 210
4708 __cil_tmp17 = (u8 (*)[58U])__cil_tmp16;
4709#line 210
4710 __cil_tmp18 = (void *)__cil_tmp17;
4711#line 210
4712 memset(__cil_tmp18, 0, 58UL);
4713#line 212
4714 printk("<7>usb-storage: Write data Freecom! (c=%d)\n", count);
4715#line 215
4716 __cil_tmp19 = (void *)fxfr;
4717#line 215
4718 __cil_tmp20 = (unsigned int *)0;
4719#line 215
4720 result = usb_stor_bulk_transfer_buf(us, opipe, __cil_tmp19, 64U, __cil_tmp20);
4721 }
4722#line 217
4723 if (result != 0) {
4724 {
4725#line 218
4726 printk("<7>usb-storage: Freecom writedata transport error\n");
4727 }
4728#line 219
4729 return (3);
4730 } else {
4731
4732 }
4733 {
4734#line 223
4735 printk("<7>usb-storage: Start of write\n");
4736#line 224
4737 result = usb_stor_bulk_srb(us, opipe, srb);
4738#line 226
4739 printk("<7>usb-storage: freecom_writedata done!\n");
4740 }
4741#line 227
4742 if (result > 1) {
4743#line 228
4744 return (3);
4745 } else {
4746
4747 }
4748#line 229
4749 return (0);
4750}
4751}
4752#line 236 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
4753static int freecom_transport(struct scsi_cmnd *srb , struct us_data *us )
4754{ struct freecom_cb_wrap *fcb ;
4755 struct freecom_status *fst ;
4756 unsigned int ipipe ;
4757 unsigned int opipe ;
4758 int result ;
4759 unsigned int partial ;
4760 int length ;
4761 size_t __len ;
4762 void *__ret ;
4763 unsigned int tmp ;
4764 unsigned int tmp___0 ;
4765 unsigned int tmp___1 ;
4766 unsigned int tmp___2 ;
4767 unsigned long __cil_tmp16 ;
4768 unsigned long __cil_tmp17 ;
4769 unsigned char *__cil_tmp18 ;
4770 unsigned long __cil_tmp19 ;
4771 unsigned long __cil_tmp20 ;
4772 unsigned char *__cil_tmp21 ;
4773 unsigned long __cil_tmp22 ;
4774 unsigned long __cil_tmp23 ;
4775 unsigned long __cil_tmp24 ;
4776 unsigned long __cil_tmp25 ;
4777 unsigned long __cil_tmp26 ;
4778 unsigned long __cil_tmp27 ;
4779 unsigned long __cil_tmp28 ;
4780 unsigned long __cil_tmp29 ;
4781 u8 (*__cil_tmp30)[12U] ;
4782 void *__cil_tmp31 ;
4783 unsigned long __cil_tmp32 ;
4784 unsigned long __cil_tmp33 ;
4785 unsigned char *__cil_tmp34 ;
4786 void const *__cil_tmp35 ;
4787 unsigned long __cil_tmp36 ;
4788 unsigned long __cil_tmp37 ;
4789 u8 (*__cil_tmp38)[12U] ;
4790 void *__cil_tmp39 ;
4791 unsigned long __cil_tmp40 ;
4792 unsigned long __cil_tmp41 ;
4793 unsigned char *__cil_tmp42 ;
4794 void const *__cil_tmp43 ;
4795 unsigned long __cil_tmp44 ;
4796 unsigned long __cil_tmp45 ;
4797 u8 (*__cil_tmp46)[50U] ;
4798 void *__cil_tmp47 ;
4799 unsigned long __cil_tmp48 ;
4800 unsigned long __cil_tmp49 ;
4801 unsigned char *__cil_tmp50 ;
4802 void *__cil_tmp51 ;
4803 void *__cil_tmp52 ;
4804 unsigned int *__cil_tmp53 ;
4805 void *__cil_tmp54 ;
4806 unsigned int *__cil_tmp55 ;
4807 unsigned int __cil_tmp56 ;
4808 void *__cil_tmp57 ;
4809 unsigned int *__cil_tmp58 ;
4810 unsigned int __cil_tmp59 ;
4811 int __cil_tmp60 ;
4812 u8 __cil_tmp61 ;
4813 int __cil_tmp62 ;
4814 unsigned long __cil_tmp63 ;
4815 unsigned long __cil_tmp64 ;
4816 unsigned long __cil_tmp65 ;
4817 unsigned long __cil_tmp66 ;
4818 u8 (*__cil_tmp67)[12U] ;
4819 void *__cil_tmp68 ;
4820 unsigned long __cil_tmp69 ;
4821 unsigned long __cil_tmp70 ;
4822 u8 (*__cil_tmp71)[50U] ;
4823 void *__cil_tmp72 ;
4824 void *__cil_tmp73 ;
4825 unsigned int *__cil_tmp74 ;
4826 void *__cil_tmp75 ;
4827 unsigned int *__cil_tmp76 ;
4828 unsigned int __cil_tmp77 ;
4829 void *__cil_tmp78 ;
4830 unsigned int *__cil_tmp79 ;
4831 unsigned int __cil_tmp80 ;
4832 int __cil_tmp81 ;
4833 u8 __cil_tmp82 ;
4834 signed char __cil_tmp83 ;
4835 int __cil_tmp84 ;
4836 unsigned int *__cil_tmp85 ;
4837 unsigned int __cil_tmp86 ;
4838 u8 __cil_tmp87 ;
4839 int __cil_tmp88 ;
4840 unsigned long __cil_tmp89 ;
4841 unsigned long __cil_tmp90 ;
4842 __le16 __cil_tmp91 ;
4843 int __cil_tmp92 ;
4844 unsigned long __cil_tmp93 ;
4845 unsigned long __cil_tmp94 ;
4846 unsigned char *__cil_tmp95 ;
4847 unsigned char __cil_tmp96 ;
4848 unsigned long __cil_tmp97 ;
4849 unsigned long __cil_tmp98 ;
4850 __le16 __cil_tmp99 ;
4851 unsigned int __cil_tmp100 ;
4852 unsigned long __cil_tmp101 ;
4853 unsigned long __cil_tmp102 ;
4854 struct scsi_cmnd *__cil_tmp103 ;
4855 unsigned long __cil_tmp104 ;
4856 unsigned long __cil_tmp105 ;
4857 enum dma_data_direction __cil_tmp106 ;
4858 unsigned int __cil_tmp107 ;
4859 u8 __cil_tmp108 ;
4860 int __cil_tmp109 ;
4861 int __cil_tmp110 ;
4862 unsigned long __cil_tmp111 ;
4863 unsigned long __cil_tmp112 ;
4864 u8 __cil_tmp113 ;
4865 int __cil_tmp114 ;
4866 int __cil_tmp115 ;
4867 void *__cil_tmp116 ;
4868 void *__cil_tmp117 ;
4869 unsigned int *__cil_tmp118 ;
4870 unsigned int __cil_tmp119 ;
4871 int __cil_tmp120 ;
4872 unsigned int *__cil_tmp121 ;
4873 unsigned int __cil_tmp122 ;
4874 u8 __cil_tmp123 ;
4875 int __cil_tmp124 ;
4876 unsigned long __cil_tmp125 ;
4877 unsigned long __cil_tmp126 ;
4878 u8 __cil_tmp127 ;
4879 int __cil_tmp128 ;
4880 int __cil_tmp129 ;
4881 void *__cil_tmp130 ;
4882 unsigned int *__cil_tmp131 ;
4883 unsigned int __cil_tmp132 ;
4884 u8 __cil_tmp133 ;
4885 int __cil_tmp134 ;
4886 unsigned long __cil_tmp135 ;
4887 unsigned long __cil_tmp136 ;
4888 u8 __cil_tmp137 ;
4889 int __cil_tmp138 ;
4890 int __cil_tmp139 ;
4891 unsigned long __cil_tmp140 ;
4892 unsigned long __cil_tmp141 ;
4893 struct scsi_cmnd *__cil_tmp142 ;
4894 unsigned long __cil_tmp143 ;
4895 unsigned long __cil_tmp144 ;
4896 enum dma_data_direction __cil_tmp145 ;
4897 unsigned int __cil_tmp146 ;
4898
4899 {
4900 {
4901#line 245
4902 __cil_tmp16 = (unsigned long )us;
4903#line 245
4904 __cil_tmp17 = __cil_tmp16 + 568;
4905#line 245
4906 __cil_tmp18 = *((unsigned char **)__cil_tmp17);
4907#line 245
4908 fcb = (struct freecom_cb_wrap *)__cil_tmp18;
4909#line 246
4910 __cil_tmp19 = (unsigned long )us;
4911#line 246
4912 __cil_tmp20 = __cil_tmp19 + 568;
4913#line 246
4914 __cil_tmp21 = *((unsigned char **)__cil_tmp20);
4915#line 246
4916 fst = (struct freecom_status *)__cil_tmp21;
4917#line 248
4918 printk("<7>usb-storage: Freecom TRANSPORT STARTED\n");
4919#line 251
4920 __cil_tmp22 = (unsigned long )us;
4921#line 251
4922 __cil_tmp23 = __cil_tmp22 + 208;
4923#line 251
4924 opipe = *((unsigned int *)__cil_tmp23);
4925#line 252
4926 __cil_tmp24 = (unsigned long )us;
4927#line 252
4928 __cil_tmp25 = __cil_tmp24 + 212;
4929#line 252
4930 ipipe = *((unsigned int *)__cil_tmp25);
4931#line 255
4932 *((u8 *)fcb) = (u8 )33U;
4933#line 256
4934 __cil_tmp26 = (unsigned long )fcb;
4935#line 256
4936 __cil_tmp27 = __cil_tmp26 + 1;
4937#line 256
4938 *((u8 *)__cil_tmp27) = (u8 )0U;
4939#line 257
4940 __len = 12UL;
4941 }
4942#line 257
4943 if (__len > 63UL) {
4944 {
4945#line 257
4946 __cil_tmp28 = (unsigned long )fcb;
4947#line 257
4948 __cil_tmp29 = __cil_tmp28 + 2;
4949#line 257
4950 __cil_tmp30 = (u8 (*)[12U])__cil_tmp29;
4951#line 257
4952 __cil_tmp31 = (void *)__cil_tmp30;
4953#line 257
4954 __cil_tmp32 = (unsigned long )srb;
4955#line 257
4956 __cil_tmp33 = __cil_tmp32 + 80;
4957#line 257
4958 __cil_tmp34 = *((unsigned char **)__cil_tmp33);
4959#line 257
4960 __cil_tmp35 = (void const *)__cil_tmp34;
4961#line 257
4962 __ret = __memcpy(__cil_tmp31, __cil_tmp35, __len);
4963 }
4964 } else {
4965 {
4966#line 257
4967 __cil_tmp36 = (unsigned long )fcb;
4968#line 257
4969 __cil_tmp37 = __cil_tmp36 + 2;
4970#line 257
4971 __cil_tmp38 = (u8 (*)[12U])__cil_tmp37;
4972#line 257
4973 __cil_tmp39 = (void *)__cil_tmp38;
4974#line 257
4975 __cil_tmp40 = (unsigned long )srb;
4976#line 257
4977 __cil_tmp41 = __cil_tmp40 + 80;
4978#line 257
4979 __cil_tmp42 = *((unsigned char **)__cil_tmp41);
4980#line 257
4981 __cil_tmp43 = (void const *)__cil_tmp42;
4982#line 257
4983 __ret = __builtin_memcpy(__cil_tmp39, __cil_tmp43, __len);
4984 }
4985 }
4986 {
4987#line 258
4988 __cil_tmp44 = (unsigned long )fcb;
4989#line 258
4990 __cil_tmp45 = __cil_tmp44 + 14;
4991#line 258
4992 __cil_tmp46 = (u8 (*)[50U])__cil_tmp45;
4993#line 258
4994 __cil_tmp47 = (void *)__cil_tmp46;
4995#line 258
4996 memset(__cil_tmp47, 0, 50UL);
4997#line 260
4998 __cil_tmp48 = (unsigned long )srb;
4999#line 260
5000 __cil_tmp49 = __cil_tmp48 + 80;
5001#line 260
5002 __cil_tmp50 = *((unsigned char **)__cil_tmp49);
5003#line 260
5004 __cil_tmp51 = (void *)__cil_tmp50;
5005#line 260
5006 pdump(__cil_tmp51, 12);
5007#line 263
5008 __cil_tmp52 = (void *)fcb;
5009#line 263
5010 __cil_tmp53 = (unsigned int *)0;
5011#line 263
5012 result = usb_stor_bulk_transfer_buf(us, opipe, __cil_tmp52, 64U, __cil_tmp53);
5013 }
5014#line 269
5015 if (result != 0) {
5016 {
5017#line 270
5018 printk("<7>usb-storage: freecom transport error\n");
5019 }
5020#line 271
5021 return (3);
5022 } else {
5023
5024 }
5025 {
5026#line 276
5027 __cil_tmp54 = (void *)fst;
5028#line 276
5029 result = usb_stor_bulk_transfer_buf(us, ipipe, __cil_tmp54, 4U, & partial);
5030#line 278
5031 __cil_tmp55 = & partial;
5032#line 278
5033 __cil_tmp56 = *__cil_tmp55;
5034#line 278
5035 printk("<7>usb-storage: foo Status result %d %u\n", result, __cil_tmp56);
5036 }
5037#line 279
5038 if (result != 0) {
5039#line 280
5040 return (3);
5041 } else {
5042
5043 }
5044 {
5045#line 282
5046 __cil_tmp57 = (void *)fst;
5047#line 282
5048 __cil_tmp58 = & partial;
5049#line 282
5050 __cil_tmp59 = *__cil_tmp58;
5051#line 282
5052 __cil_tmp60 = (int )__cil_tmp59;
5053#line 282
5054 pdump(__cil_tmp57, __cil_tmp60);
5055 }
5056#line 292
5057 goto ldv_30703;
5058 ldv_30702:
5059 {
5060#line 293
5061 printk("<7>usb-storage: 20 second USB/ATAPI bridge TIMEOUT occurred!\n");
5062#line 294
5063 __cil_tmp61 = *((u8 *)fst);
5064#line 294
5065 __cil_tmp62 = (int )__cil_tmp61;
5066#line 294
5067 printk("<7>usb-storage: fst->Status is %x\n", __cil_tmp62);
5068#line 297
5069 *((u8 *)fcb) = (u8 )32U;
5070#line 298
5071 __cil_tmp63 = (unsigned long )fcb;
5072#line 298
5073 __cil_tmp64 = __cil_tmp63 + 1;
5074#line 298
5075 *((u8 *)__cil_tmp64) = (u8 )0U;
5076#line 299
5077 __cil_tmp65 = (unsigned long )fcb;
5078#line 299
5079 __cil_tmp66 = __cil_tmp65 + 2;
5080#line 299
5081 __cil_tmp67 = (u8 (*)[12U])__cil_tmp66;
5082#line 299
5083 __cil_tmp68 = (void *)__cil_tmp67;
5084#line 299
5085 memset(__cil_tmp68, 0, 12UL);
5086#line 300
5087 __cil_tmp69 = (unsigned long )fcb;
5088#line 300
5089 __cil_tmp70 = __cil_tmp69 + 14;
5090#line 300
5091 __cil_tmp71 = (u8 (*)[50U])__cil_tmp70;
5092#line 300
5093 __cil_tmp72 = (void *)__cil_tmp71;
5094#line 300
5095 memset(__cil_tmp72, 0, 50UL);
5096#line 303
5097 __cil_tmp73 = (void *)fcb;
5098#line 303
5099 __cil_tmp74 = (unsigned int *)0;
5100#line 303
5101 result = usb_stor_bulk_transfer_buf(us, opipe, __cil_tmp73, 64U, __cil_tmp74);
5102 }
5103#line 310
5104 if (result != 0) {
5105 {
5106#line 311
5107 printk("<7>usb-storage: freecom transport error\n");
5108 }
5109#line 312
5110 return (3);
5111 } else {
5112
5113 }
5114 {
5115#line 316
5116 __cil_tmp75 = (void *)fst;
5117#line 316
5118 result = usb_stor_bulk_transfer_buf(us, ipipe, __cil_tmp75, 4U, & partial);
5119#line 319
5120 __cil_tmp76 = & partial;
5121#line 319
5122 __cil_tmp77 = *__cil_tmp76;
5123#line 319
5124 printk("<7>usb-storage: bar Status result %d %u\n", result, __cil_tmp77);
5125 }
5126#line 320
5127 if (result != 0) {
5128#line 321
5129 return (3);
5130 } else {
5131
5132 }
5133 {
5134#line 323
5135 __cil_tmp78 = (void *)fst;
5136#line 323
5137 __cil_tmp79 = & partial;
5138#line 323
5139 __cil_tmp80 = *__cil_tmp79;
5140#line 323
5141 __cil_tmp81 = (int )__cil_tmp80;
5142#line 323
5143 pdump(__cil_tmp78, __cil_tmp81);
5144 }
5145 ldv_30703: ;
5146 {
5147#line 292
5148 __cil_tmp82 = *((u8 *)fst);
5149#line 292
5150 __cil_tmp83 = (signed char )__cil_tmp82;
5151#line 292
5152 __cil_tmp84 = (int )__cil_tmp83;
5153#line 292
5154 if (__cil_tmp84 < 0) {
5155#line 293
5156 goto ldv_30702;
5157 } else {
5158#line 295
5159 goto ldv_30704;
5160 }
5161 }
5162 ldv_30704: ;
5163 {
5164#line 326
5165 __cil_tmp85 = & partial;
5166#line 326
5167 __cil_tmp86 = *__cil_tmp85;
5168#line 326
5169 if (__cil_tmp86 != 4U) {
5170#line 327
5171 return (3);
5172 } else {
5173
5174 }
5175 }
5176 {
5177#line 328
5178 __cil_tmp87 = *((u8 *)fst);
5179#line 328
5180 __cil_tmp88 = (int )__cil_tmp87;
5181#line 328
5182 if (__cil_tmp88 & 1) {
5183 {
5184#line 329
5185 printk("<7>usb-storage: operation failed\n");
5186 }
5187#line 330
5188 return (1);
5189 } else {
5190
5191 }
5192 }
5193 {
5194#line 336
5195 __cil_tmp89 = (unsigned long )fst;
5196#line 336
5197 __cil_tmp90 = __cil_tmp89 + 2;
5198#line 336
5199 __cil_tmp91 = *((__le16 *)__cil_tmp90);
5200#line 336
5201 __cil_tmp92 = (int )__cil_tmp91;
5202#line 336
5203 printk("<7>usb-storage: Device indicates that it has %d bytes available\n", __cil_tmp92);
5204#line 338
5205 tmp = scsi_bufflen(srb);
5206#line 338
5207 printk("<7>usb-storage: SCSI requested %d\n", tmp);
5208 }
5209 {
5210#line 341
5211 __cil_tmp93 = (unsigned long )srb;
5212#line 341
5213 __cil_tmp94 = __cil_tmp93 + 80;
5214#line 341
5215 __cil_tmp95 = *((unsigned char **)__cil_tmp94);
5216#line 341
5217 __cil_tmp96 = *__cil_tmp95;
5218#line 342
5219 if ((int )__cil_tmp96 == 18) {
5220#line 342
5221 goto case_18;
5222 } else
5223#line 343
5224 if ((int )__cil_tmp96 == 3) {
5225#line 343
5226 goto case_3;
5227 } else
5228#line 344
5229 if ((int )__cil_tmp96 == 26) {
5230#line 344
5231 goto case_26;
5232 } else
5233#line 345
5234 if ((int )__cil_tmp96 == 90) {
5235#line 345
5236 goto case_90;
5237 } else {
5238 {
5239#line 348
5240 goto switch_default;
5241#line 341
5242 if (0) {
5243 case_18: ;
5244 case_3: ;
5245 case_26: ;
5246 case_90:
5247#line 346
5248 __cil_tmp97 = (unsigned long )fst;
5249#line 346
5250 __cil_tmp98 = __cil_tmp97 + 2;
5251#line 346
5252 __cil_tmp99 = *((__le16 *)__cil_tmp98);
5253#line 346
5254 length = (int )__cil_tmp99;
5255#line 347
5256 goto ldv_30709;
5257 switch_default:
5258 {
5259#line 349
5260 tmp___0 = scsi_bufflen(srb);
5261#line 349
5262 length = (int )tmp___0;
5263 }
5264 } else {
5265 switch_break: ;
5266 }
5267 }
5268 }
5269 }
5270 ldv_30709:
5271 {
5272#line 353
5273 tmp___2 = scsi_bufflen(srb);
5274 }
5275 {
5276#line 353
5277 __cil_tmp100 = (unsigned int )length;
5278#line 353
5279 if (__cil_tmp100 > tmp___2) {
5280 {
5281#line 354
5282 tmp___1 = scsi_bufflen(srb);
5283#line 354
5284 length = (int )tmp___1;
5285#line 355
5286 printk("<7>usb-storage: Truncating request to match buffer length: %d\n", length);
5287 }
5288 } else {
5289
5290 }
5291 }
5292 {
5293#line 361
5294 __cil_tmp101 = (unsigned long )us;
5295#line 361
5296 __cil_tmp102 = __cil_tmp101 + 288;
5297#line 361
5298 __cil_tmp103 = *((struct scsi_cmnd **)__cil_tmp102);
5299#line 361
5300 __cil_tmp104 = (unsigned long )__cil_tmp103;
5301#line 361
5302 __cil_tmp105 = __cil_tmp104 + 76;
5303#line 361
5304 __cil_tmp106 = *((enum dma_data_direction *)__cil_tmp105);
5305#line 361
5306 __cil_tmp107 = (unsigned int )__cil_tmp106;
5307#line 362
5308 if ((int )__cil_tmp107 == 2) {
5309#line 362
5310 goto case_2;
5311 } else
5312#line 394
5313 if ((int )__cil_tmp107 == 1) {
5314#line 394
5315 goto case_1;
5316 } else
5317#line 424
5318 if ((int )__cil_tmp107 == 3) {
5319#line 424
5320 goto case_3___0;
5321 } else {
5322 {
5323#line 428
5324 goto switch_default___0;
5325#line 361
5326 if (0) {
5327 case_2: ;
5328#line 364
5329 if (length == 0) {
5330#line 365
5331 goto ldv_30712;
5332 } else {
5333
5334 }
5335 {
5336#line 368
5337 __cil_tmp108 = *((u8 *)fst);
5338#line 368
5339 __cil_tmp109 = (int )__cil_tmp108;
5340#line 368
5341 __cil_tmp110 = __cil_tmp109 & 8;
5342#line 368
5343 if (__cil_tmp110 == 0) {
5344 {
5345#line 369
5346 printk("<7>usb-storage: SCSI wants data, drive doesn\'t have any\n");
5347 }
5348#line 370
5349 return (1);
5350 } else {
5351 {
5352#line 368
5353 __cil_tmp111 = (unsigned long )fst;
5354#line 368
5355 __cil_tmp112 = __cil_tmp111 + 1;
5356#line 368
5357 __cil_tmp113 = *((u8 *)__cil_tmp112);
5358#line 368
5359 __cil_tmp114 = (int )__cil_tmp113;
5360#line 368
5361 __cil_tmp115 = __cil_tmp114 & 3;
5362#line 368
5363 if (__cil_tmp115 != 2) {
5364 {
5365#line 369
5366 printk("<7>usb-storage: SCSI wants data, drive doesn\'t have any\n");
5367 }
5368#line 370
5369 return (1);
5370 } else {
5371
5372 }
5373 }
5374 }
5375 }
5376 {
5377#line 372
5378 result = freecom_readdata(srb, us, ipipe, opipe, length);
5379 }
5380#line 373
5381 if (result != 0) {
5382#line 374
5383 return (result);
5384 } else {
5385
5386 }
5387 {
5388#line 376
5389 printk("<7>usb-storage: FCM: Waiting for status\n");
5390#line 377
5391 __cil_tmp116 = (void *)fst;
5392#line 377
5393 result = usb_stor_bulk_transfer_buf(us, ipipe, __cil_tmp116, 64U, & partial);
5394#line 379
5395 __cil_tmp117 = (void *)fst;
5396#line 379
5397 __cil_tmp118 = & partial;
5398#line 379
5399 __cil_tmp119 = *__cil_tmp118;
5400#line 379
5401 __cil_tmp120 = (int )__cil_tmp119;
5402#line 379
5403 pdump(__cil_tmp117, __cil_tmp120);
5404 }
5405 {
5406#line 381
5407 __cil_tmp121 = & partial;
5408#line 381
5409 __cil_tmp122 = *__cil_tmp121;
5410#line 381
5411 if (__cil_tmp122 != 4U) {
5412#line 382
5413 return (3);
5414 } else
5415#line 381
5416 if (result > 1) {
5417#line 382
5418 return (3);
5419 } else {
5420
5421 }
5422 }
5423 {
5424#line 383
5425 __cil_tmp123 = *((u8 *)fst);
5426#line 383
5427 __cil_tmp124 = (int )__cil_tmp123;
5428#line 383
5429 if (__cil_tmp124 & 1) {
5430 {
5431#line 384
5432 printk("<7>usb-storage: operation failed\n");
5433 }
5434#line 385
5435 return (1);
5436 } else {
5437
5438 }
5439 }
5440 {
5441#line 387
5442 __cil_tmp125 = (unsigned long )fst;
5443#line 387
5444 __cil_tmp126 = __cil_tmp125 + 1;
5445#line 387
5446 __cil_tmp127 = *((u8 *)__cil_tmp126);
5447#line 387
5448 __cil_tmp128 = (int )__cil_tmp127;
5449#line 387
5450 __cil_tmp129 = __cil_tmp128 & 3;
5451#line 387
5452 if (__cil_tmp129 != 3) {
5453 {
5454#line 388
5455 printk("<7>usb-storage: Drive seems still hungry\n");
5456 }
5457#line 389
5458 return (1);
5459 } else {
5460
5461 }
5462 }
5463 {
5464#line 391
5465 printk("<7>usb-storage: Transfer happy\n");
5466 }
5467#line 392
5468 goto ldv_30712;
5469 case_1: ;
5470#line 396
5471 if (length == 0) {
5472#line 397
5473 goto ldv_30712;
5474 } else {
5475
5476 }
5477 {
5478#line 401
5479 result = freecom_writedata(srb, us, ipipe, opipe, length);
5480 }
5481#line 402
5482 if (result != 0) {
5483#line 403
5484 return (result);
5485 } else {
5486
5487 }
5488 {
5489#line 405
5490 printk("<7>usb-storage: FCM: Waiting for status\n");
5491#line 406
5492 __cil_tmp130 = (void *)fst;
5493#line 406
5494 result = usb_stor_bulk_transfer_buf(us, ipipe, __cil_tmp130, 64U, & partial);
5495 }
5496 {
5497#line 409
5498 __cil_tmp131 = & partial;
5499#line 409
5500 __cil_tmp132 = *__cil_tmp131;
5501#line 409
5502 if (__cil_tmp132 != 4U) {
5503#line 410
5504 return (3);
5505 } else
5506#line 409
5507 if (result > 1) {
5508#line 410
5509 return (3);
5510 } else {
5511
5512 }
5513 }
5514 {
5515#line 411
5516 __cil_tmp133 = *((u8 *)fst);
5517#line 411
5518 __cil_tmp134 = (int )__cil_tmp133;
5519#line 411
5520 if (__cil_tmp134 & 1) {
5521 {
5522#line 412
5523 printk("<7>usb-storage: operation failed\n");
5524 }
5525#line 413
5526 return (1);
5527 } else {
5528
5529 }
5530 }
5531 {
5532#line 415
5533 __cil_tmp135 = (unsigned long )fst;
5534#line 415
5535 __cil_tmp136 = __cil_tmp135 + 1;
5536#line 415
5537 __cil_tmp137 = *((u8 *)__cil_tmp136);
5538#line 415
5539 __cil_tmp138 = (int )__cil_tmp137;
5540#line 415
5541 __cil_tmp139 = __cil_tmp138 & 3;
5542#line 415
5543 if (__cil_tmp139 != 3) {
5544 {
5545#line 416
5546 printk("<7>usb-storage: Drive seems still hungry\n");
5547 }
5548#line 417
5549 return (1);
5550 } else {
5551
5552 }
5553 }
5554 {
5555#line 420
5556 printk("<7>usb-storage: Transfer happy\n");
5557 }
5558#line 421
5559 goto ldv_30712;
5560 case_3___0: ;
5561#line 426
5562 goto ldv_30712;
5563 switch_default___0:
5564 {
5565#line 430
5566 __cil_tmp140 = (unsigned long )us;
5567#line 430
5568 __cil_tmp141 = __cil_tmp140 + 288;
5569#line 430
5570 __cil_tmp142 = *((struct scsi_cmnd **)__cil_tmp141);
5571#line 430
5572 __cil_tmp143 = (unsigned long )__cil_tmp142;
5573#line 430
5574 __cil_tmp144 = __cil_tmp143 + 76;
5575#line 430
5576 __cil_tmp145 = *((enum dma_data_direction *)__cil_tmp144);
5577#line 430
5578 __cil_tmp146 = (unsigned int )__cil_tmp145;
5579#line 430
5580 printk("<7>usb-storage: freecom unimplemented direction: %d\n", __cil_tmp146);
5581 }
5582#line 433
5583 return (1);
5584 } else {
5585 switch_break___0: ;
5586 }
5587 }
5588 }
5589 }
5590 ldv_30712: ;
5591#line 437
5592 return (0);
5593}
5594}
5595#line 440 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
5596static int init_freecom(struct us_data *us )
5597{ int result ;
5598 char *buffer ;
5599 unsigned long __ms ;
5600 unsigned long tmp ;
5601 unsigned long __ms___0 ;
5602 unsigned long tmp___0 ;
5603 unsigned long __cil_tmp8 ;
5604 unsigned long __cil_tmp9 ;
5605 unsigned char *__cil_tmp10 ;
5606 unsigned long __cil_tmp11 ;
5607 unsigned long __cil_tmp12 ;
5608 unsigned int __cil_tmp13 ;
5609 u8 __cil_tmp14 ;
5610 u8 __cil_tmp15 ;
5611 u16 __cil_tmp16 ;
5612 u16 __cil_tmp17 ;
5613 void *__cil_tmp18 ;
5614 u16 __cil_tmp19 ;
5615 char *__cil_tmp20 ;
5616 unsigned long __cil_tmp21 ;
5617 unsigned long __cil_tmp22 ;
5618 unsigned int __cil_tmp23 ;
5619 u8 __cil_tmp24 ;
5620 u8 __cil_tmp25 ;
5621 u16 __cil_tmp26 ;
5622 u16 __cil_tmp27 ;
5623 void *__cil_tmp28 ;
5624 u16 __cil_tmp29 ;
5625 unsigned long __cil_tmp30 ;
5626 unsigned long __cil_tmp31 ;
5627 unsigned int __cil_tmp32 ;
5628 u8 __cil_tmp33 ;
5629 u8 __cil_tmp34 ;
5630 u16 __cil_tmp35 ;
5631 u16 __cil_tmp36 ;
5632 void *__cil_tmp37 ;
5633 u16 __cil_tmp38 ;
5634
5635 {
5636 {
5637#line 443
5638 __cil_tmp8 = (unsigned long )us;
5639#line 443
5640 __cil_tmp9 = __cil_tmp8 + 568;
5641#line 443
5642 __cil_tmp10 = *((unsigned char **)__cil_tmp9);
5643#line 443
5644 buffer = (char *)__cil_tmp10;
5645#line 449
5646 __cil_tmp11 = (unsigned long )us;
5647#line 449
5648 __cil_tmp12 = __cil_tmp11 + 220;
5649#line 449
5650 __cil_tmp13 = *((unsigned int *)__cil_tmp12);
5651#line 449
5652 __cil_tmp14 = (u8 )76;
5653#line 449
5654 __cil_tmp15 = (u8 )192;
5655#line 449
5656 __cil_tmp16 = (u16 )17222;
5657#line 449
5658 __cil_tmp17 = (u16 )0;
5659#line 449
5660 __cil_tmp18 = (void *)buffer;
5661#line 449
5662 __cil_tmp19 = (u16 )32;
5663#line 449
5664 result = usb_stor_control_msg(us, __cil_tmp13, __cil_tmp14, __cil_tmp15, __cil_tmp16,
5665 __cil_tmp17, __cil_tmp18, __cil_tmp19, 750);
5666#line 451
5667 __cil_tmp20 = buffer + 32UL;
5668#line 451
5669 *__cil_tmp20 = (char)0;
5670#line 452
5671 printk("<7>usb-storage: String returned from FC init is: %s\n", buffer);
5672#line 461
5673 __cil_tmp21 = (unsigned long )us;
5674#line 461
5675 __cil_tmp22 = __cil_tmp21 + 216;
5676#line 461
5677 __cil_tmp23 = *((unsigned int *)__cil_tmp22);
5678#line 461
5679 __cil_tmp24 = (u8 )77;
5680#line 461
5681 __cil_tmp25 = (u8 )64;
5682#line 461
5683 __cil_tmp26 = (u16 )9432;
5684#line 461
5685 __cil_tmp27 = (u16 )0;
5686#line 461
5687 __cil_tmp28 = (void *)0;
5688#line 461
5689 __cil_tmp29 = (u16 )0;
5690#line 461
5691 result = usb_stor_control_msg(us, __cil_tmp23, __cil_tmp24, __cil_tmp25, __cil_tmp26,
5692 __cil_tmp27, __cil_tmp28, __cil_tmp29, 750);
5693#line 463
5694 printk("<7>usb-storage: result from activate reset is %d\n", result);
5695#line 466
5696 __ms = 250UL;
5697 }
5698#line 466
5699 goto ldv_30723;
5700 ldv_30722:
5701 {
5702#line 466
5703 __const_udelay(4295000UL);
5704 }
5705 ldv_30723:
5706#line 466
5707 tmp = __ms;
5708#line 466
5709 __ms = __ms - 1UL;
5710#line 466
5711 if (tmp != 0UL) {
5712#line 467
5713 goto ldv_30722;
5714 } else {
5715#line 469
5716 goto ldv_30724;
5717 }
5718 ldv_30724:
5719 {
5720#line 469
5721 __cil_tmp30 = (unsigned long )us;
5722#line 469
5723 __cil_tmp31 = __cil_tmp30 + 216;
5724#line 469
5725 __cil_tmp32 = *((unsigned int *)__cil_tmp31);
5726#line 469
5727 __cil_tmp33 = (u8 )77;
5728#line 469
5729 __cil_tmp34 = (u8 )64;
5730#line 469
5731 __cil_tmp35 = (u16 )9464;
5732#line 469
5733 __cil_tmp36 = (u16 )0;
5734#line 469
5735 __cil_tmp37 = (void *)0;
5736#line 469
5737 __cil_tmp38 = (u16 )0;
5738#line 469
5739 result = usb_stor_control_msg(us, __cil_tmp32, __cil_tmp33, __cil_tmp34, __cil_tmp35,
5740 __cil_tmp36, __cil_tmp37, __cil_tmp38, 750);
5741#line 471
5742 printk("<7>usb-storage: result from clear reset is %d\n", result);
5743#line 474
5744 __ms___0 = 3000UL;
5745 }
5746#line 474
5747 goto ldv_30727;
5748 ldv_30726:
5749 {
5750#line 474
5751 __const_udelay(4295000UL);
5752 }
5753 ldv_30727:
5754#line 474
5755 tmp___0 = __ms___0;
5756#line 474
5757 __ms___0 = __ms___0 - 1UL;
5758#line 474
5759 if (tmp___0 != 0UL) {
5760#line 475
5761 goto ldv_30726;
5762 } else {
5763#line 477
5764 goto ldv_30728;
5765 }
5766 ldv_30728: ;
5767#line 476
5768 return (0);
5769}
5770}
5771#line 479 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
5772static int usb_stor_freecom_reset(struct us_data *us )
5773{
5774
5775 {
5776 {
5777#line 481
5778 printk("<2>freecom reset called\n");
5779 }
5780#line 484
5781 return (8195);
5782}
5783}
5784#line 488 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
5785static void pdump(void *ibuffer , int length )
5786{ char line[80U] ;
5787 int offset ;
5788 unsigned char *buffer ;
5789 int i ;
5790 int j ;
5791 int from ;
5792 int base ;
5793 int tmp ;
5794 int tmp___0 ;
5795 int tmp___1 ;
5796 int tmp___2 ;
5797 int tmp___3 ;
5798 int tmp___4 ;
5799 int tmp___5 ;
5800 int tmp___6 ;
5801 int tmp___7 ;
5802 int tmp___8 ;
5803 int tmp___9 ;
5804 int __cil_tmp21 ;
5805 unsigned long __cil_tmp22 ;
5806 char *__cil_tmp23 ;
5807 char *__cil_tmp24 ;
5808 unsigned long __cil_tmp25 ;
5809 unsigned char *__cil_tmp26 ;
5810 unsigned char __cil_tmp27 ;
5811 unsigned int __cil_tmp28 ;
5812 unsigned long __cil_tmp29 ;
5813 unsigned char *__cil_tmp30 ;
5814 unsigned char __cil_tmp31 ;
5815 unsigned int __cil_tmp32 ;
5816 unsigned long __cil_tmp33 ;
5817 unsigned long __cil_tmp34 ;
5818 unsigned long __cil_tmp35 ;
5819 unsigned char *__cil_tmp36 ;
5820 unsigned char __cil_tmp37 ;
5821 unsigned long __cil_tmp38 ;
5822 unsigned long __cil_tmp39 ;
5823 unsigned long __cil_tmp40 ;
5824 unsigned long __cil_tmp41 ;
5825 unsigned long __cil_tmp42 ;
5826 unsigned long __cil_tmp43 ;
5827 char *__cil_tmp44 ;
5828 unsigned long __cil_tmp45 ;
5829 char *__cil_tmp46 ;
5830 char *__cil_tmp47 ;
5831 int __cil_tmp48 ;
5832 unsigned long __cil_tmp49 ;
5833 char *__cil_tmp50 ;
5834 char *__cil_tmp51 ;
5835 unsigned long __cil_tmp52 ;
5836 char *__cil_tmp53 ;
5837 char *__cil_tmp54 ;
5838 unsigned long __cil_tmp55 ;
5839 unsigned char *__cil_tmp56 ;
5840 unsigned char __cil_tmp57 ;
5841 int __cil_tmp58 ;
5842 int __cil_tmp59 ;
5843 int __cil_tmp60 ;
5844 int __cil_tmp61 ;
5845 unsigned long __cil_tmp62 ;
5846 char *__cil_tmp63 ;
5847 char *__cil_tmp64 ;
5848 unsigned long __cil_tmp65 ;
5849 char *__cil_tmp66 ;
5850 char *__cil_tmp67 ;
5851 unsigned long __cil_tmp68 ;
5852 char *__cil_tmp69 ;
5853 char *__cil_tmp70 ;
5854 int __cil_tmp71 ;
5855 unsigned long __cil_tmp72 ;
5856 unsigned char *__cil_tmp73 ;
5857 unsigned char __cil_tmp74 ;
5858 unsigned int __cil_tmp75 ;
5859 int __cil_tmp76 ;
5860 unsigned long __cil_tmp77 ;
5861 unsigned char *__cil_tmp78 ;
5862 unsigned char __cil_tmp79 ;
5863 unsigned int __cil_tmp80 ;
5864 unsigned long __cil_tmp81 ;
5865 unsigned long __cil_tmp82 ;
5866 int __cil_tmp83 ;
5867 unsigned long __cil_tmp84 ;
5868 unsigned char *__cil_tmp85 ;
5869 unsigned char __cil_tmp86 ;
5870 unsigned long __cil_tmp87 ;
5871 unsigned long __cil_tmp88 ;
5872 unsigned long __cil_tmp89 ;
5873 unsigned long __cil_tmp90 ;
5874 unsigned long __cil_tmp91 ;
5875 unsigned long __cil_tmp92 ;
5876 char *__cil_tmp93 ;
5877
5878 {
5879#line 491
5880 offset = 0;
5881#line 492
5882 buffer = (unsigned char *)ibuffer;
5883#line 496
5884 offset = 0;
5885#line 497
5886 i = 0;
5887#line 497
5888 goto ldv_30747;
5889 ldv_30746: ;
5890 {
5891#line 498
5892 __cil_tmp21 = i & 15;
5893#line 498
5894 if (__cil_tmp21 == 0) {
5895#line 499
5896 if (i > 0) {
5897 {
5898#line 500
5899 __cil_tmp22 = (unsigned long )offset;
5900#line 500
5901 __cil_tmp23 = (char *)(& line);
5902#line 500
5903 __cil_tmp24 = __cil_tmp23 + __cil_tmp22;
5904#line 500
5905 tmp = sprintf(__cil_tmp24, " - ");
5906#line 500
5907 offset = tmp + offset;
5908#line 501
5909 j = i + -16;
5910 }
5911#line 501
5912 goto ldv_30744;
5913 ldv_30743: ;
5914 {
5915#line 502
5916 __cil_tmp25 = (unsigned long )j;
5917#line 502
5918 __cil_tmp26 = buffer + __cil_tmp25;
5919#line 502
5920 __cil_tmp27 = *__cil_tmp26;
5921#line 502
5922 __cil_tmp28 = (unsigned int )__cil_tmp27;
5923#line 502
5924 if (__cil_tmp28 > 31U) {
5925 {
5926#line 502
5927 __cil_tmp29 = (unsigned long )j;
5928#line 502
5929 __cil_tmp30 = buffer + __cil_tmp29;
5930#line 502
5931 __cil_tmp31 = *__cil_tmp30;
5932#line 502
5933 __cil_tmp32 = (unsigned int )__cil_tmp31;
5934#line 502
5935 if (__cil_tmp32 <= 126U) {
5936#line 503
5937 tmp___0 = offset;
5938#line 503
5939 offset = offset + 1;
5940#line 503
5941 __cil_tmp33 = tmp___0 * 1UL;
5942#line 503
5943 __cil_tmp34 = (unsigned long )(line) + __cil_tmp33;
5944#line 503
5945 __cil_tmp35 = (unsigned long )j;
5946#line 503
5947 __cil_tmp36 = buffer + __cil_tmp35;
5948#line 503
5949 __cil_tmp37 = *__cil_tmp36;
5950#line 503
5951 *((char *)__cil_tmp34) = (char )__cil_tmp37;
5952 } else {
5953#line 505
5954 tmp___1 = offset;
5955#line 505
5956 offset = offset + 1;
5957#line 505
5958 __cil_tmp38 = tmp___1 * 1UL;
5959#line 505
5960 __cil_tmp39 = (unsigned long )(line) + __cil_tmp38;
5961#line 505
5962 *((char *)__cil_tmp39) = (char)46;
5963 }
5964 }
5965 } else {
5966#line 505
5967 tmp___1 = offset;
5968#line 505
5969 offset = offset + 1;
5970#line 505
5971 __cil_tmp40 = tmp___1 * 1UL;
5972#line 505
5973 __cil_tmp41 = (unsigned long )(line) + __cil_tmp40;
5974#line 505
5975 *((char *)__cil_tmp41) = (char)46;
5976 }
5977 }
5978#line 501
5979 j = j + 1;
5980 ldv_30744: ;
5981#line 501
5982 if (j < i) {
5983#line 502
5984 goto ldv_30743;
5985 } else {
5986#line 504
5987 goto ldv_30745;
5988 }
5989 ldv_30745:
5990 {
5991#line 507
5992 __cil_tmp42 = offset * 1UL;
5993#line 507
5994 __cil_tmp43 = (unsigned long )(line) + __cil_tmp42;
5995#line 507
5996 *((char *)__cil_tmp43) = (char)0;
5997#line 508
5998 __cil_tmp44 = (char *)(& line);
5999#line 508
6000 printk("<7>usb-storage: %s\n", __cil_tmp44);
6001#line 509
6002 offset = 0;
6003 }
6004 } else {
6005
6006 }
6007 {
6008#line 511
6009 __cil_tmp45 = (unsigned long )offset;
6010#line 511
6011 __cil_tmp46 = (char *)(& line);
6012#line 511
6013 __cil_tmp47 = __cil_tmp46 + __cil_tmp45;
6014#line 511
6015 tmp___2 = sprintf(__cil_tmp47, "%08x:", i);
6016#line 511
6017 offset = tmp___2 + offset;
6018 }
6019 } else {
6020 {
6021#line 512
6022 __cil_tmp48 = i & 7;
6023#line 512
6024 if (__cil_tmp48 == 0) {
6025 {
6026#line 513
6027 __cil_tmp49 = (unsigned long )offset;
6028#line 513
6029 __cil_tmp50 = (char *)(& line);
6030#line 513
6031 __cil_tmp51 = __cil_tmp50 + __cil_tmp49;
6032#line 513
6033 tmp___3 = sprintf(__cil_tmp51, " -");
6034#line 513
6035 offset = tmp___3 + offset;
6036 }
6037 } else {
6038
6039 }
6040 }
6041 }
6042 }
6043 {
6044#line 515
6045 __cil_tmp52 = (unsigned long )offset;
6046#line 515
6047 __cil_tmp53 = (char *)(& line);
6048#line 515
6049 __cil_tmp54 = __cil_tmp53 + __cil_tmp52;
6050#line 515
6051 __cil_tmp55 = (unsigned long )i;
6052#line 515
6053 __cil_tmp56 = buffer + __cil_tmp55;
6054#line 515
6055 __cil_tmp57 = *__cil_tmp56;
6056#line 515
6057 __cil_tmp58 = (int )__cil_tmp57;
6058#line 515
6059 tmp___4 = sprintf(__cil_tmp54, " %02x", __cil_tmp58);
6060#line 515
6061 offset = tmp___4 + offset;
6062#line 497
6063 i = i + 1;
6064 }
6065 ldv_30747: ;
6066#line 497
6067 if (i < length) {
6068#line 498
6069 goto ldv_30746;
6070 } else {
6071#line 500
6072 goto ldv_30748;
6073 }
6074 ldv_30748:
6075#line 519
6076 __cil_tmp59 = length + -1;
6077#line 519
6078 from = __cil_tmp59 % 16;
6079#line 520
6080 __cil_tmp60 = length + -1;
6081#line 520
6082 __cil_tmp61 = __cil_tmp60 / 16;
6083#line 520
6084 base = __cil_tmp61 * 16;
6085#line 522
6086 i = from + 1;
6087#line 522
6088 goto ldv_30750;
6089 ldv_30749:
6090 {
6091#line 523
6092 __cil_tmp62 = (unsigned long )offset;
6093#line 523
6094 __cil_tmp63 = (char *)(& line);
6095#line 523
6096 __cil_tmp64 = __cil_tmp63 + __cil_tmp62;
6097#line 523
6098 tmp___5 = sprintf(__cil_tmp64, " ");
6099#line 523
6100 offset = tmp___5 + offset;
6101#line 522
6102 i = i + 1;
6103 }
6104 ldv_30750: ;
6105#line 522
6106 if (i <= 15) {
6107#line 523
6108 goto ldv_30749;
6109 } else {
6110#line 525
6111 goto ldv_30751;
6112 }
6113 ldv_30751: ;
6114#line 524
6115 if (from <= 7) {
6116 {
6117#line 525
6118 __cil_tmp65 = (unsigned long )offset;
6119#line 525
6120 __cil_tmp66 = (char *)(& line);
6121#line 525
6122 __cil_tmp67 = __cil_tmp66 + __cil_tmp65;
6123#line 525
6124 tmp___6 = sprintf(__cil_tmp67, " ");
6125#line 525
6126 offset = tmp___6 + offset;
6127 }
6128 } else {
6129
6130 }
6131 {
6132#line 526
6133 __cil_tmp68 = (unsigned long )offset;
6134#line 526
6135 __cil_tmp69 = (char *)(& line);
6136#line 526
6137 __cil_tmp70 = __cil_tmp69 + __cil_tmp68;
6138#line 526
6139 tmp___7 = sprintf(__cil_tmp70, " - ");
6140#line 526
6141 offset = tmp___7 + offset;
6142#line 528
6143 i = 0;
6144 }
6145#line 528
6146 goto ldv_30753;
6147 ldv_30752: ;
6148 {
6149#line 529
6150 __cil_tmp71 = base + i;
6151#line 529
6152 __cil_tmp72 = (unsigned long )__cil_tmp71;
6153#line 529
6154 __cil_tmp73 = buffer + __cil_tmp72;
6155#line 529
6156 __cil_tmp74 = *__cil_tmp73;
6157#line 529
6158 __cil_tmp75 = (unsigned int )__cil_tmp74;
6159#line 529
6160 if (__cil_tmp75 > 31U) {
6161 {
6162#line 529
6163 __cil_tmp76 = base + i;
6164#line 529
6165 __cil_tmp77 = (unsigned long )__cil_tmp76;
6166#line 529
6167 __cil_tmp78 = buffer + __cil_tmp77;
6168#line 529
6169 __cil_tmp79 = *__cil_tmp78;
6170#line 529
6171 __cil_tmp80 = (unsigned int )__cil_tmp79;
6172#line 529
6173 if (__cil_tmp80 <= 126U) {
6174#line 530
6175 tmp___8 = offset;
6176#line 530
6177 offset = offset + 1;
6178#line 530
6179 __cil_tmp81 = tmp___8 * 1UL;
6180#line 530
6181 __cil_tmp82 = (unsigned long )(line) + __cil_tmp81;
6182#line 530
6183 __cil_tmp83 = base + i;
6184#line 530
6185 __cil_tmp84 = (unsigned long )__cil_tmp83;
6186#line 530
6187 __cil_tmp85 = buffer + __cil_tmp84;
6188#line 530
6189 __cil_tmp86 = *__cil_tmp85;
6190#line 530
6191 *((char *)__cil_tmp82) = (char )__cil_tmp86;
6192 } else {
6193#line 532
6194 tmp___9 = offset;
6195#line 532
6196 offset = offset + 1;
6197#line 532
6198 __cil_tmp87 = tmp___9 * 1UL;
6199#line 532
6200 __cil_tmp88 = (unsigned long )(line) + __cil_tmp87;
6201#line 532
6202 *((char *)__cil_tmp88) = (char)46;
6203 }
6204 }
6205 } else {
6206#line 532
6207 tmp___9 = offset;
6208#line 532
6209 offset = offset + 1;
6210#line 532
6211 __cil_tmp89 = tmp___9 * 1UL;
6212#line 532
6213 __cil_tmp90 = (unsigned long )(line) + __cil_tmp89;
6214#line 532
6215 *((char *)__cil_tmp90) = (char)46;
6216 }
6217 }
6218#line 528
6219 i = i + 1;
6220 ldv_30753: ;
6221#line 528
6222 if (i <= from) {
6223#line 529
6224 goto ldv_30752;
6225 } else {
6226#line 531
6227 goto ldv_30754;
6228 }
6229 ldv_30754:
6230 {
6231#line 534
6232 __cil_tmp91 = offset * 1UL;
6233#line 534
6234 __cil_tmp92 = (unsigned long )(line) + __cil_tmp91;
6235#line 534
6236 *((char *)__cil_tmp92) = (char)0;
6237#line 535
6238 __cil_tmp93 = (char *)(& line);
6239#line 535
6240 printk("<7>usb-storage: %s\n", __cil_tmp93);
6241#line 536
6242 offset = 0;
6243 }
6244#line 537
6245 return;
6246}
6247}
6248#line 540 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
6249static int freecom_probe(struct usb_interface *intf , struct usb_device_id const *id )
6250{ struct us_data *us ;
6251 int result ;
6252 long __cil_tmp5 ;
6253 long __cil_tmp6 ;
6254 long __cil_tmp7 ;
6255 long __cil_tmp8 ;
6256 unsigned long __cil_tmp9 ;
6257 struct us_unusual_dev *__cil_tmp10 ;
6258 struct us_unusual_dev *__cil_tmp11 ;
6259 struct us_data **__cil_tmp12 ;
6260 struct us_data *__cil_tmp13 ;
6261 unsigned long __cil_tmp14 ;
6262 unsigned long __cil_tmp15 ;
6263 struct us_data **__cil_tmp16 ;
6264 struct us_data *__cil_tmp17 ;
6265 unsigned long __cil_tmp18 ;
6266 unsigned long __cil_tmp19 ;
6267 struct us_data **__cil_tmp20 ;
6268 struct us_data *__cil_tmp21 ;
6269 unsigned long __cil_tmp22 ;
6270 unsigned long __cil_tmp23 ;
6271 struct us_data **__cil_tmp24 ;
6272 struct us_data *__cil_tmp25 ;
6273 unsigned long __cil_tmp26 ;
6274 unsigned long __cil_tmp27 ;
6275 struct us_data **__cil_tmp28 ;
6276 struct us_data *__cil_tmp29 ;
6277
6278 {
6279 {
6280#line 546
6281 __cil_tmp5 = (long )(& freecom_usb_ids);
6282#line 546
6283 __cil_tmp6 = (long )id;
6284#line 546
6285 __cil_tmp7 = __cil_tmp6 - __cil_tmp5;
6286#line 546
6287 __cil_tmp8 = __cil_tmp7 / 24L;
6288#line 546
6289 __cil_tmp9 = (unsigned long )__cil_tmp8;
6290#line 546
6291 __cil_tmp10 = (struct us_unusual_dev *)(& freecom_unusual_dev_list);
6292#line 546
6293 __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
6294#line 546
6295 result = usb_stor_probe1(& us, intf, id, __cil_tmp11);
6296 }
6297#line 548
6298 if (result != 0) {
6299#line 549
6300 return (result);
6301 } else {
6302
6303 }
6304 {
6305#line 551
6306 __cil_tmp12 = & us;
6307#line 551
6308 __cil_tmp13 = *__cil_tmp12;
6309#line 551
6310 __cil_tmp14 = (unsigned long )__cil_tmp13;
6311#line 551
6312 __cil_tmp15 = __cil_tmp14 + 232;
6313#line 551
6314 *((char **)__cil_tmp15) = (char *)"Freecom";
6315#line 552
6316 __cil_tmp16 = & us;
6317#line 552
6318 __cil_tmp17 = *__cil_tmp16;
6319#line 552
6320 __cil_tmp18 = (unsigned long )__cil_tmp17;
6321#line 552
6322 __cil_tmp19 = __cil_tmp18 + 264;
6323#line 552
6324 *((int (**)(struct scsi_cmnd * , struct us_data * ))__cil_tmp19) = & freecom_transport;
6325#line 553
6326 __cil_tmp20 = & us;
6327#line 553
6328 __cil_tmp21 = *__cil_tmp20;
6329#line 553
6330 __cil_tmp22 = (unsigned long )__cil_tmp21;
6331#line 553
6332 __cil_tmp23 = __cil_tmp22 + 272;
6333#line 553
6334 *((int (**)(struct us_data * ))__cil_tmp23) = & usb_stor_freecom_reset;
6335#line 554
6336 __cil_tmp24 = & us;
6337#line 554
6338 __cil_tmp25 = *__cil_tmp24;
6339#line 554
6340 __cil_tmp26 = (unsigned long )__cil_tmp25;
6341#line 554
6342 __cil_tmp27 = __cil_tmp26 + 254;
6343#line 554
6344 *((u8 *)__cil_tmp27) = (u8 )0U;
6345#line 556
6346 __cil_tmp28 = & us;
6347#line 556
6348 __cil_tmp29 = *__cil_tmp28;
6349#line 556
6350 result = usb_stor_probe2(__cil_tmp29);
6351 }
6352#line 557
6353 return (result);
6354}
6355}
6356#line 592
6357extern void ldv_check_final_state(void) ;
6358#line 595
6359extern void ldv_check_return_value(int ) ;
6360#line 598
6361extern void ldv_initialize(void) ;
6362#line 601
6363extern int __VERIFIER_nondet_int(void) ;
6364#line 604 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
6365int LDV_IN_INTERRUPT ;
6366#line 607 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
6367void main(void)
6368{ struct usb_interface *var_group1 ;
6369 struct usb_device_id const *var_freecom_probe_6_p1 ;
6370 int res_freecom_probe_6 ;
6371 int ldv_s_freecom_driver_usb_driver ;
6372 int tmp ;
6373 int tmp___0 ;
6374
6375 {
6376 {
6377#line 673
6378 ldv_s_freecom_driver_usb_driver = 0;
6379#line 663
6380 LDV_IN_INTERRUPT = 1;
6381#line 672
6382 ldv_initialize();
6383 }
6384#line 676
6385 goto ldv_30799;
6386 ldv_30798:
6387 {
6388#line 680
6389 tmp = __VERIFIER_nondet_int();
6390 }
6391#line 682
6392 if (tmp == 0) {
6393#line 682
6394 goto case_0;
6395 } else {
6396 {
6397#line 735
6398 goto switch_default;
6399#line 680
6400 if (0) {
6401 case_0: ;
6402#line 685
6403 if (ldv_s_freecom_driver_usb_driver == 0) {
6404 {
6405#line 724
6406 res_freecom_probe_6 = freecom_probe(var_group1, var_freecom_probe_6_p1);
6407#line 725
6408 ldv_check_return_value(res_freecom_probe_6);
6409 }
6410#line 726
6411 if (res_freecom_probe_6 != 0) {
6412#line 727
6413 goto ldv_module_exit;
6414 } else {
6415
6416 }
6417#line 728
6418 ldv_s_freecom_driver_usb_driver = 0;
6419 } else {
6420
6421 }
6422#line 734
6423 goto ldv_30796;
6424 switch_default: ;
6425#line 735
6426 goto ldv_30796;
6427 } else {
6428 switch_break: ;
6429 }
6430 }
6431 }
6432 ldv_30796: ;
6433 ldv_30799:
6434 {
6435#line 676
6436 tmp___0 = __VERIFIER_nondet_int();
6437 }
6438#line 676
6439 if (tmp___0 != 0) {
6440#line 678
6441 goto ldv_30798;
6442 } else
6443#line 676
6444 if (ldv_s_freecom_driver_usb_driver != 0) {
6445#line 678
6446 goto ldv_30798;
6447 } else {
6448#line 680
6449 goto ldv_30800;
6450 }
6451 ldv_30800: ;
6452 ldv_module_exit: ;
6453 {
6454#line 744
6455 ldv_check_final_state();
6456 }
6457#line 747
6458 return;
6459}
6460}
6461#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
6462void ldv_blast_assert(void)
6463{
6464
6465 {
6466 ERROR: ;
6467#line 6
6468 goto ERROR;
6469}
6470}
6471#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
6472extern int __VERIFIER_nondet_int(void) ;
6473#line 768 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
6474int ldv_spin = 0;
6475#line 772 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
6476void ldv_check_alloc_flags(gfp_t flags )
6477{
6478
6479 {
6480#line 775
6481 if (ldv_spin != 0) {
6482#line 775
6483 if (flags != 32U) {
6484 {
6485#line 775
6486 ldv_blast_assert();
6487 }
6488 } else {
6489
6490 }
6491 } else {
6492
6493 }
6494#line 778
6495 return;
6496}
6497}
6498#line 778
6499extern struct page *ldv_some_page(void) ;
6500#line 781 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
6501struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
6502{ struct page *tmp ;
6503
6504 {
6505#line 784
6506 if (ldv_spin != 0) {
6507#line 784
6508 if (flags != 32U) {
6509 {
6510#line 784
6511 ldv_blast_assert();
6512 }
6513 } else {
6514
6515 }
6516 } else {
6517
6518 }
6519 {
6520#line 786
6521 tmp = ldv_some_page();
6522 }
6523#line 786
6524 return (tmp);
6525}
6526}
6527#line 790 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
6528void ldv_check_alloc_nonatomic(void)
6529{
6530
6531 {
6532#line 793
6533 if (ldv_spin != 0) {
6534 {
6535#line 793
6536 ldv_blast_assert();
6537 }
6538 } else {
6539
6540 }
6541#line 796
6542 return;
6543}
6544}
6545#line 797 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
6546void ldv_spin_lock(void)
6547{
6548
6549 {
6550#line 800
6551 ldv_spin = 1;
6552#line 801
6553 return;
6554}
6555}
6556#line 804 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
6557void ldv_spin_unlock(void)
6558{
6559
6560 {
6561#line 807
6562 ldv_spin = 0;
6563#line 808
6564 return;
6565}
6566}
6567#line 811 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
6568int ldv_spin_trylock(void)
6569{ int is_lock ;
6570
6571 {
6572 {
6573#line 816
6574 is_lock = __VERIFIER_nondet_int();
6575 }
6576#line 818
6577 if (is_lock != 0) {
6578#line 821
6579 return (0);
6580 } else {
6581#line 826
6582 ldv_spin = 1;
6583#line 828
6584 return (1);
6585 }
6586}
6587}
6588#line 995 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2016/dscv_tempdir/dscv/ri/43_1a/drivers/usb/storage/freecom.c.p"
6589void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
6590{
6591
6592 {
6593 {
6594#line 1001
6595 ldv_check_alloc_flags(ldv_func_arg2);
6596#line 1003
6597 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
6598 }
6599#line 1004
6600 return ((void *)0);
6601}
6602}