Showing error 1284

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/43_1a_cilled_safe_ok_nondet_linux-43_1a-drivers--usb--serial--ssu100.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 9131
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1/* Generated by CIL v. 1.3.7 */
   2/* print_CIL_Input is true */
   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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
4318      {
4319#line 14
4320      __bad_percpu_size();
4321      }
4322    } else {
4323      switch_break: /* CIL Label */ ;
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: /* CIL Label */ 
5752#line 266
5753      urb_value = urb_value;
5754#line 267
5755      goto ldv_27863;
5756      case_16: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ ;
5775      case_48: /* CIL Label */ 
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: /* CIL Label */ ;
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ ;
7337#line 472
7338      goto ldv_27920;
7339    } else {
7340      switch_break: /* CIL Label */ ;
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: /* CIL Label */ 
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ 
9034      {
9035#line 1330
9036      ssu100_attach(var_group3);
9037      }
9038#line 1337
9039      goto ldv_28045;
9040      case_4: /* CIL Label */ 
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: /* CIL Label */ 
9048      {
9049#line 1420
9050      ssu100_process_read_urb(var_group4);
9051      }
9052#line 1427
9053      goto ldv_28045;
9054      case_6: /* CIL Label */ 
9055      {
9056#line 1465
9057      ssu100_tiocmget(var_group1);
9058      }
9059#line 1472
9060      goto ldv_28045;
9061      case_7: /* CIL Label */ 
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: /* CIL Label */ 
9069      {
9070#line 1555
9071      ssu100_get_icount(var_group1, var_group5);
9072      }
9073#line 1562
9074      goto ldv_28045;
9075      case_9: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ ;
9090#line 1653
9091      goto ldv_28045;
9092    } else {
9093      switch_break: /* CIL Label */ ;
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}