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